# Unreleased
# 0.6.3
* Add warning log when exceeding max number of pairs #587
* Add fuzz to Nightly CI #585
* Add new loss based BWE controlled #579 #582 #583
* Add new `vendored` feature flag affecting openssl #580
* Make use of sha1 crate an optional feature #577
* Dedupe remote ICE candidates #576 #578
* Correctly handle per m-line Absolute Send Time #575
* Correctly handle per m-line TWCC #573
* Configure RTX ratio cap via `StreamTx::set_rtx_cache` #570
* Match remote candidate of stun request by priority #569
* Improve timeouts during DTLS handshake #565
* Do not decrypt already received packets #554
* Test for SRTP replay attack #555
* refactor(ice): always use latest timing config #568
* Fix RTX stops working after packet loss spike #566
* Add Sub trait impl (back) to MediaTime #560
* Make start of talkspurt information available for sample api #559
* Do not disconnect whilst we still check new candidates #489
* Ensure lexical ordering of SDP-formatted candidates follows priority #557
# 0.6.2
* Fix edge case breaking DTLS #531
* Bump sctp-proto to be compatible with libdatachannel #558
* Ensure not risk of ROC on initial sequence number #553
* API for getting stream_id/track_id from a=msid #550
* Use a=extmap-allow-mixed SDP attribute #551
* Change the unix_time function to return libc::time_t (32-bit compat) #533
* Fix bug using unreliable channels by default #548
* New add_channel_with_config() for configured data channels #548
# 0.6.1
* Force openssl to be >=0.10.66 #545
* Fix bug when replacing redundant ice candidates #544
* Add playout_delay builder function #543
# 0.6.0
* Doc updates
* IceAgent make timeout values configurable #537
* Log more details when failing to decrypt SRTP #536
* Remember max SeqNo per SSRC for reuse ROC #535
* Only update NACK/TWCC registers after succesful SRTP decrypt #528
* Fix bug when changing StreamRx SSRC #522
* Simplify StreamRx lookup state cache #522
* Fix bug in TWCC time delta #524
* Make MediaTime nominator unsigned (breaking) #521
* Provide reason for timeout #520
* Reject ice-lite - ice-lite scenario #519
* Fix bug in ice agent roles for ice-lite #519
* DLTS cert serial number as random instead of sequential #518
* IceAgent make timing advance (TA) configurable #515
* Use sha1 crate instead of the deprecated sha-1 #512
* Bump sctp-proto to 0.2.2 #511
* Adjust logging levels to be less noisy #510
* Fix crash when using VLA (or other) optional RTP exts with SDP #509
* Re-add manually invalidated IceAgent candidates #508
* New API to reset BWE state #506
* Change parameter in BWE algo to match libwebrtc #506
# 0.5.1
* Expose STUN packet split_username() fn #505
* IceAgent fix to not invalidate unrelated remote candidates #504
* Expose ice credentials as configuration option #502
* Bug fix in lazy NACK handling #501
* Net structs Transmit/Receive serde Serializable #500
* Payload matching for VP9 #499
* IceAgent allow invalidating remote candidates #498
* Avoid panic on too early DTLS traffic #495
* `IceAgent::handle_packet` return false if packet not accepted #493
* Don't panic on STUN requests for unknown NICs #493
* Improve IceAgent `accepts_message` to avoid panic in some situations #488
# 0.5.0
* Opus DTX support #492
* RtcConfig does not generate the ICE creds #491
* Accept all good remote address candidates, not just the nominated #487
* Improve performance by only calling `init_time` once #479
* Fix SCTP channel ID allocation bug when reusing channels #470
* Fix bug causing nomination of ICE candidate pair that isn't better #463
* Lower STUN_TIMEOUT for quicker connection checking #462
* Fix bug making SCTP fail under packet loss #482
* Add `base` parameter to `Candidate::server_reflexive` (breaking) #455
* Refactor all OpenSSL (and other crypto code) to mod crypto #449
* Fix bugs in RTX PT selection for BWE padding #454
* Don't enable NACK timers unless there are stream to nack
* Fix bug in BWE trendline estimator
* Fix (unlikely) nack overflow error
* Speed up twcc register updates using max_seq()
* Parse `StunMessage` without allocations (and huge STUN parsing cleanup)
* Introduce top-level `ice` module having `ice::IceAgent` for standalone usage
* Remove `StunError::Other` because it was unused
* Optional parser for VLA (Video Layers Allocation) RTP header extension
* Chat example send PLI on RTC sequence interruption
* VP9 contiguity checks in depacketizer
* Improved VP9 support with parsing layer metadata
* Fix race in chat example on client disconnect
* MediaTime improve safety with Frequency newtype (breaking)
* Header extension abs_send_time is now an Instant
* Handle more optional a=candidate parameters
* Support REMB (receiver estimated maximum bitrate) feedback packets (breaking)
# 0.4.1
* Generated DTLS certificates set issuer/subject for compat with OBS/libdatachannel
# 0.4.0
* Allow SDP RID with `~` prefix (to indicate paused state)
* Fix problem with using RTX for audio
* Make IceCandidate serializable to SDP form (to/from_sdp_string)
* UserExtensionValues set_arc/get_arc to avoid cloning
* Provide correct Rid for repaired RTP headers
* Support 2-byte header extensions
* Remove a statistics performance bottleneck
* New ICE Candidate types `server_reflexive` and `relayed`
# 0.3.0
* Fix bad bug causing SCTP packets to not send
* Improve performance by reducing Event enum size
* SdpPendingOffer mergable into new OFFER
* Improved VP8 temporal layer handling
* Fix bug in discovering RTX channels due to NACK not being enabled
* Improve NACK sending with multiple fixes to receive register
* Fix bug where RTX channel would be allocated for audio m-lines
* Delay creation of DtlsCert to avoid unnecessary start-up time
* Writer take Into<Vec<u8>> to make it possible to avoid extra allocation (breaking)
* Refactor internal time handling (unix epoch translation)
* Fix bug in signaling media discontinuity
* User RTP header extensions
# 0.2.0
* Possible to disable DTLS fingerprint verification
* Manually set local ice credentials
* enable_raw_packets for debugging RTP/RTCP
* ICE restart
* SRTP: Implement AEAD_AES_128_GCM and use it by default
* Better FMTP matching of VP8 and H264
* Fix incorrect handling of header extensions
* Fix incorrect handling of PT-codec assignment
* Dynamic SSRC via MID-only RTP headers
* Fix various undeflow and padding bugs
* VP8: parse out metata
* Clean separation of RtxCache from PacketizingBuffer.
* Major refactor of Media/Stream handling (we call it "kaboom")
* RTP Mode (directly using RTP packets)
* Bandwidth Estimation (BWE)
* Direct API for SDP-free control
* SDP Api to formalize SDP handling
# 0.1.0
* First published version