# 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> 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