Skip to content

Releases: webrtc-rs/webrtc

v0.20.0-alpha.1

01 Mar 06:34

Choose a tag to compare

v0.20.0-alpha.1 Pre-release
Pre-release

v0.17.1

06 Feb 04:00

Choose a tag to compare

v0.17.0

31 Jan 21:41

Choose a tag to compare

🚨 Important Notice: v0.17.0 Release and Future Direction

v0.17.x is the final feature release of the Tokio-coupled async WebRTC implementation.

  • v0.17.x branch: A dedicated branch will be created for v0.17.x that will receive bug fixes only (no new features).
  • Master branch: Will transition to a new Sans-IO based architecture built on top of webrtc-rs/rtc.

Why this change?

The project is shifting toward a Sans-IO WebRTC implementation that decouples the protocol logic from any specific async runtime. This new architecture will:

  • βœ… Support multiple async runtimes (Tokio, smol, async-std, etc.)
  • βœ… Provide a clean, protocol-centric Sans-IO core via webrtc-rs/rtc
  • βœ… Enable a truly runtime-agnostic, async-friendly WebRTC implementation in Rust

If you need Tokio-specific stability, please use the v0.17.x branch. If you want to adopt the new runtime-agnostic approach, follow development on the master branch.

What's Changed

New Contributors

Full Changelog: v0.14.0...v0.17.0

v0.14.0

20 Sep 17:58

Choose a tag to compare

What's Changed

  • Fix handling of AUD NAL units with size 2 by @Kleptine in #670
  • fix panics when parsing rtcp packets with invalid block sizes by @TimeToogo in #678
  • Implement ChaCha20_Poly1305 cipher suite by @wdouglass in #675
  • Make SRTP AES_256_GCM actually work by @TimeToogo in #677
  • Fix deadlock in data-channels-flow-control example. by @recap in #679
  • Handle replay after wrapping in replaydetector by @anders-avos in #681
  • Revert "Fix deadlock in data-channels-flow-control example. " by @rainliu in #682
  • stun: simplify MappedAddress Display implement by @cppcoffee in #683
  • stun: simplify stop_with_error by @cppcoffee in #684
  • stun: simplify UnknownAttributes Display by @cppcoffee in #685
  • turn: client binding direct use Option value by @cppcoffee in #686
  • turn: use ok_or() to simplify get_allocation() call by @cppcoffee in #687
  • turn: use ok_or() to simplify command_tx by @cppcoffee in #689
  • turn: introduced DEFAULT_MAX_RETRIES by @cppcoffee in #692
  • mdns: simplify resource pack function by @cppcoffee in #693
  • turn: simplify result_ch_rx by @cppcoffee in #691
  • dtls: refactor cipher suite error handling with ok_or() by @cppcoffee in #694
  • style: add blank lines between methods in DTLSConn impl by @cppcoffee in #695
  • refactor: remove unnecessary Cow::Borrowed wrapper in URL query parsing by @cppcoffee in #696
  • refactor(ice): replace magic numbers with named constants for STUN/TURN ports by @cppcoffee in #697
  • stun: use format! macro instead of string concatenation in Uri display by @cppcoffee in #698
  • ice/examples: improve error handling and formatting in ping_pong example by @cppcoffee in #699
  • refactor: apply clippy fixes across workspace by @cppcoffee in #703
  • mdns: allow reuse_port on non-Unix platforms when feature is enabled by @cppcoffee in #702
  • update dependencies rand by @a-wing in #707
  • util: Simplify timeout error handling in Buffer by @cppcoffee in #708
  • interceptor: Use futures::future::join_all in stats interceptor by @cppcoffee in #710
  • dtls: Add packet length validation in CBC decryption by @cppcoffee in #711
  • stun: simplify URI parsing logic by @cppcoffee in #712
  • do not used fixed sctp-ports 5000, but consult the negotiated ports by @KillingSpark in #706
  • interceptor: simplify NACK generator close_rx error handling by @cppcoffee in #714
  • sctp: Make most chunk handling errors non-fatal by @anders-avos in #716
  • Add function to export key data from DTLS connection by @TimeToogo in #718
  • [ice] Fix unhandled overflow panic in listen_udp_in_port_range by @lucamuscat in #719
  • fmtp: add Unicode case-folding support for parameter compariso by @cppcoffee in #721
  • Make use of the max-message-size SDP attribute in datachannels by @lucamuscat in #722
  • stun: simplify XorMappedAddress Display implementation by @cppcoffee in #725
  • Updated logo background by @mvel96 in #730
  • stun: simplify connection retrieval by @cppcoffee in #731
  • Require rand version 0.9.1 or greater, as rand::distr::Alphabetic does not exist in 0.9.0, which is currently allowed by @lucamuscat in #732
  • Remove unused dependencies by @lucamuscat in #733
  • sample_builder: fix panic on timestamp wrap by @ArtemMartus in #735

New Contributors

Full Changelog: v0.13.0...v0.14.0

v0.13.0

14 May 00:28

Choose a tag to compare

What's Changed

  • revert the support of Aes128CmHmacSha1_32 and AeadAes256Gcm
  • peer_connection: Only warn about unhandled incmoing RTP track by @haaspors in #642
  • Remove unused ErrTurnCredentials as it is no longer used. It was used… by @ris-work in #644
  • ice: Fix USE-CANDIDATE in controlled agent by @anders-avos in #647
  • track_local: Get rid of some unnecessary Mutexes and Options by @haaspors in #646
  • stun client: remove unnecessary mut by @petar-dambovaliev in #652
  • peer_connection: Make sure all packets are read through interceptor by @haaspors in #648
  • Use any available curve for dtls connection by @Mierunski in #654
  • docs: update Stream logo with latest brand asset by @tyaga001 in #655
  • updating the throughput calculation in data_channel_flow_control by @recap in #659
  • Fix: Invoke onClose handler upon receiving a notification by @harry0349 in #666
  • Change MIME_TYPE_HEVC from video/HEVC to video/H265 (#141) by @bzld-acn in #668

New Contributors

Full Changelog: v0.12.0...v0.13.0

v0.12.0

07 Dec 16:55

Choose a tag to compare

bump webrtc to v0.12.0

v0.11.0

02 May 01:06

Choose a tag to compare

bump webrtc to v0.11.0

v0.10.1

24 Feb 01:08

Choose a tag to compare

bump webrtc to v0.10.1

v0.10.0

23 Feb 05:14

Choose a tag to compare

bump webrtc to v0.10.0

v0.8.0

20 Jun 15:02

Choose a tag to compare

bump webrtc to v0.8.0