|
2 | 2 |
|
3 | 3 | ## Unreleased
|
4 | 4 |
|
5 |
| -## Prior to 0.4.0 |
| 5 | +## 0.5.0 |
6 | 6 |
|
7 |
| -Before 0.4.0 there was no changelog, previous changes are sometimes, but not always, available in the [GitHub Releases](https://github.com/webrtc-rs/webrtc/releases). |
| 7 | +### Changes |
| 8 | + |
| 9 | +#### Breaking changes |
| 10 | + |
| 11 | +* The serialized format for `RTCIceCandidateInit` has changed to match what the specification i.e. keys are camelCase. [#153 Make RTCIceCandidateInit conform to WebRTC spec](https://github.com/webrtc-rs/webrtc/pull/153) contributed by [jmatss](https://github.com/jmatss). |
| 12 | +* Improved robustness when proposing RTP extension IDs and handling of collisions in these. This change is only breaking if you have assumed anything about the nature of these extension IDs. [#154 Fix RTP extension id collision](https://github.com/webrtc-rs/webrtc/pull/154) contributed by [k0nserv](https://github.com/k0nserv) |
| 13 | +* Transceivers will now not stop when either or both directions are disabled. That is, applying and SDP with `a=inactive` will not stop the transceiver, instead attached senders and receivers will pause. A transceiver can be resurrected by setting direction back to e.g. `a=sendrecv`. The desired direction can be controlled with the newly introduced public method `set_direction` on `RTCRtpTransceiver`. |
| 14 | + * [#201 Handle inactive transceivers more correctly](https://github.com/webrtc-rs/webrtc/pull/201) contributed by [k0nserv](https://github.com/k0nserv) |
| 15 | + * [#210 Rework transceiver direction support further](https://github.com/webrtc-rs/webrtc/pull/210) contributed by [k0nserv](https://github.com/k0nserv) |
| 16 | + * [#214 set_direction add missing Send + Sync bound](https://github.com/webrtc-rs/webrtc/pull/214) contributed by [algesten](https://github.com/algesten) |
| 17 | + * [#213 set_direction add missing Sync bound](https://github.com/webrtc-rs/webrtc/pull/213) contributed by [algesten](https://github.com/algesten) |
| 18 | + * [#212 Public RTCRtpTransceiver::set_direction](https://github.com/webrtc-rs/webrtc/pull/212) contributed by [algesten](https://github.com/algesten) |
| 19 | + * [#268 Fix current direction update when applying answer](https://github.com/webrtc-rs/webrtc/pull/268) contributed by [k0nserv](https://github.com/k0nserv) |
| 20 | + * [#236 Pause RTP writing if direction indicates it](https://github.com/webrtc-rs/webrtc/pull/236) contributed by [algesten](https://github.com/algesten) |
| 21 | +* Generated the `a=msid` line for `m=` line sections according to the specification. This might be break remote peers that relied on the previous, incorrect, behaviour. This also fixes a bug where an endless negotiation loop could happen. [#217 Correct msid handling for RtpSender](https://github.com/webrtc-rs/webrtc/pull/217) contributed by [k0nserv](https://github.com/k0nserv) |
| 22 | +* Improve data channel id negotiation. We've slightly adjust the public interface for creating pre-negotiated data channels. Instead of a separate `negotiated: Option<bool>` and `id: Option<u16>` in `RTCDataChannelInit` there's now a more idiomatic `negotiated: Option<u16>`. If you have a pre-negotiated data channel simply set `negotiated: Some(id)` when creating the data channel. |
| 23 | + * [#237 Fix datachannel id setting for 0.5.0 release](https://github.com/webrtc-rs/webrtc/pull/237) contributed by [stuqdog](https://github.com/stuqdog) |
| 24 | + * [#229 Revert "base id updating on whether it's been negotiated, not on its …](https://github.com/webrtc-rs/webrtc/pull/229) contributed by [melekes](https://github.com/melekes) |
| 25 | + |
| 26 | + * [#226 base id updating on whether it's been finalized, not on its value](https://github.com/webrtc-rs/webrtc/pull/226) contributed by [stuqdog](https://github.com/stuqdog) |
| 27 | + |
| 28 | + |
| 29 | +#### Other improvememnts |
| 30 | + |
| 31 | +We made various improvements and fixes since 0.4.0, including merging all subcrates into a single git repo. The old crate repos are archived and all development will now happen in https://github.com/webrtc-rs/webrtc/. |
| 32 | + |
| 33 | +* We now provide stats reporting via the standardized `RTCPeerConnection::get_stats` method. |
| 34 | + * [#277 Implement Remote Inbound Stats](https://github.com/webrtc-rs/webrtc/pull/277) contributed by [k0nserv](https://github.com/k0nserv) |
| 35 | + * [#220 Make stats types pub so they can be used directly](https://github.com/webrtc-rs/webrtc/pull/220) contributed by [k0nserv](https://github.com/k0nserv) |
| 36 | + * [#225 Add RTP Stats to stats report](https://github.com/webrtc-rs/webrtc/pull/225) contributed by [k0nserv](https://github.com/k0nserv) |
| 37 | + * [#189 Serialize stats](https://github.com/webrtc-rs/webrtc/pull/189) contributed by [sax](https://github.com/sax) |
| 38 | + * [#180 Get stats from peer connection](https://github.com/webrtc-rs/webrtc/pull/180) contributed by [sax](https://github.com/sax) |
| 39 | + |
| 40 | +* [#278 Fix async-global-executor](https://github.com/webrtc-rs/webrtc/pull/278) contributed by [k0nserv](https://github.com/k0nserv) |
| 41 | +* [#276 relax regex version requirement](https://github.com/webrtc-rs/webrtc/pull/276) contributed by [melekes](https://github.com/melekes) |
| 42 | +* [#244 Update README.md instructions after monorepo merge](https://github.com/webrtc-rs/webrtc/pull/244) contributed by [k0nserv](https://github.com/k0nserv) |
| 43 | +* [#241 move profile to workspace](https://github.com/webrtc-rs/webrtc/pull/241) contributed by [xnorpx](https://github.com/xnorpx) |
| 44 | +* [#240 Increase timeout to "fix" test breaking](https://github.com/webrtc-rs/webrtc/pull/240) contributed by [algesten](https://github.com/algesten) |
| 45 | +* [#239 One repo (again)](https://github.com/webrtc-rs/webrtc/pull/239) contributed by [algesten](https://github.com/algesten) |
| 46 | +* [#234 Fix recent clippy lints](https://github.com/webrtc-rs/webrtc/pull/234) contributed by [k0nserv](https://github.com/k0nserv) |
| 47 | +* [#224 update call to DataChannel::accept as per data pr #14](https://github.com/webrtc-rs/webrtc/pull/224) contributed by [melekes](https://github.com/melekes) |
| 48 | +* [#223 dtls_transport: always set remote certificate](https://github.com/webrtc-rs/webrtc/pull/223) contributed by [melekes](https://github.com/melekes) |
| 49 | +* [#216 Lower case mime types for comparison in fmpt lines](https://github.com/webrtc-rs/webrtc/pull/216) contributed by [k0nserv](https://github.com/k0nserv) |
| 50 | +* [#211 Helper to trigger negotiation_needed](https://github.com/webrtc-rs/webrtc/pull/211) contributed by [algesten](https://github.com/algesten) |
| 51 | +* [#209 MID generator feature](https://github.com/webrtc-rs/webrtc/pull/209) contributed by [algesten](https://github.com/algesten) |
| 52 | +* [#208 update deps + loosen some requirements](https://github.com/webrtc-rs/webrtc/pull/208) contributed by [melekes](https://github.com/melekes) |
| 53 | +* [#205 data_channel: handle stream EOF](https://github.com/webrtc-rs/webrtc/pull/205) contributed by [melekes](https://github.com/melekes) |
| 54 | +* [#204 [peer_connection] allow persistent certificates](https://github.com/webrtc-rs/webrtc/pull/204) contributed by [melekes](https://github.com/melekes) |
| 55 | +* [#202 bugfix-Udp connection not close (reopen #174) #195](https://github.com/webrtc-rs/webrtc/pull/202) contributed by [shiqifeng2000](https://github.com/shiqifeng2000) |
| 56 | +* [#199 Upgrade ICE to 0.7.0](https://github.com/webrtc-rs/webrtc/pull/199) contributed by [k0nserv](https://github.com/k0nserv) |
| 57 | +* [#194 Add AV1 MimeType and RtpCodecParameters](https://github.com/webrtc-rs/webrtc/pull/194) contributed by [billylindeman](https://github.com/billylindeman) |
| 58 | +* [#188 Improve operations debuggability](https://github.com/webrtc-rs/webrtc/pull/188) contributed by [k0nserv](https://github.com/k0nserv) |
| 59 | +* [#187 Fix SDP for rejected tracks to conform to RFC](https://github.com/webrtc-rs/webrtc/pull/187) contributed by [k0nserv](https://github.com/k0nserv) |
| 60 | +* [#185 Adding some debug and display traits](https://github.com/webrtc-rs/webrtc/pull/185) contributed by [sevensidedmarble](https://github.com/sevensidedmarble) |
| 61 | +* [#179 Fix example names in README](https://github.com/webrtc-rs/webrtc/pull/179) contributed by [ethagnawl](https://github.com/ethagnawl) |
| 62 | +* [#176 Time overflow armv7 workaround](https://github.com/webrtc-rs/webrtc/pull/176) contributed by [frjol](https://github.com/frjol) |
| 63 | +* [#171 close DTLS conn upon err](https://github.com/webrtc-rs/webrtc/pull/171) contributed by [melekes](https://github.com/melekes) |
| 64 | +* [#170 always start sctp](https://github.com/webrtc-rs/webrtc/pull/170) contributed by [melekes](https://github.com/melekes) |
| 65 | +* [#167 Add offer/answer/pranswer constructors for RTCSessionDescription](https://github.com/webrtc-rs/webrtc/pull/167) contributed by [sax](https://github.com/sax) |
| 66 | + |
| 67 | +#### Subcrate updates |
| 68 | + |
| 69 | +The various sub-crates have been updated as follows: |
| 70 | + |
| 71 | +* util: 0.5.3 => 0.6.0 |
| 72 | +* sdp: 0.5.1 => 0.5.2 |
| 73 | +* mdns: 0.4.2 => 0.5.0 |
| 74 | +* stun: 0.4.2 => 0.4.3 |
| 75 | +* turn: 0.5.3 => 0.6.0 |
| 76 | +* ice: 0.6.4 => 0.8.0 |
| 77 | +* dtls: 0.5.2 => 0.6.0 |
| 78 | +* rtcp: 0.6.5 => 0.7.0 |
| 79 | +* rtp: 0.6.5 => 0.6.7 |
| 80 | +* srtp: 0.8.9 => 0.9.0 |
| 81 | +* scpt: 0.4.3 => 0.6.1 |
| 82 | +* data: 0.3.3 => 0.5.0 |
| 83 | +* interceptor: 0.7.6 => 0.8.0 |
| 84 | +* media: 0.4.5 => 0.4.7 |
| 85 | + |
| 86 | +Their respective change logs are found in the old, now archived, repositories and within their respective `CHANGELOG.md` files in the monorepo. |
| 87 | + |
| 88 | +### Contributors |
| 89 | + |
| 90 | +A big thanks to all the contributors that have made this release happen: |
| 91 | + |
| 92 | +* [morajabi](https://github.com/morajabi) |
| 93 | +* [sax](https://github.com/sax) |
| 94 | +* [ethagnawl](https://github.com/ethagnawl) |
| 95 | +* [xnorpx](https://github.com/xnorpx) |
| 96 | +* [frjol](https://github.com/frjol) |
| 97 | +* [algesten](https://github.com/algesten) |
| 98 | +* [shiqifeng2000](https://github.com/shiqifeng2000) |
| 99 | +* [billylindeman](https://github.com/billylindeman) |
| 100 | +* [sevensidedmarble](https://github.com/sevensidedmarble) |
| 101 | +* [k0nserv](https://github.com/k0nserv) |
| 102 | +* [stuqdog](https://github.com/stuqdog) |
| 103 | +* [neonphog](https://github.com/neonphog) |
| 104 | +* [melekes](https://github.com/melekes) |
| 105 | +* [jmatss](https://github.com/jmatss) |
| 106 | + |
| 107 | + |
| 108 | +## Prior to 0.5.0 |
| 109 | + |
| 110 | +Before 0.5.0 there was no changelog, previous changes are sometimes, but not always, available in the [GitHub Releases](https://github.com/webrtc-rs/webrtc/releases). |
0 commit comments