Skip to content

Commit 82c60ec

Browse files
committed
reorg workspace and bump version to v0.17.0
1 parent d7d19ca commit 82c60ec

File tree

19 files changed

+172
-132
lines changed

19 files changed

+172
-132
lines changed

Cargo.lock

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,31 @@ resolver = "2"
2121

2222
[profile.dev]
2323
opt-level = 0
24+
25+
[workspace.package]
26+
version = "0.17.0"
27+
authors = ["Rain Liu <yliu@webrtc.rs>"]
28+
edition = "2021"
29+
license = "MIT/Apache-2.0"
30+
homepage = "https://webrtc.rs"
31+
documentation = "https://docs.rs/webrtc"
32+
repository = "https://github.com/webrtc-rs/webrtc"
33+
keywords = ["sansio", "networking", "protocols"]
34+
categories = ["network-programming"]
35+
36+
[workspace.dependencies]
37+
webrtc = { version = "0.17.0", path = "webrtc" }
38+
data = { version = "0.17.0", path = "data", package = "webrtc-data" }
39+
dtls = { version = "0.17.0", path = "dtls" }
40+
ice = { version = "0.17.0", path = "ice", package = "webrtc-ice" }
41+
interceptor = { version = "0.17.0", path = "interceptor" }
42+
mdns = { version = "0.17.0", path = "mdns", package = "webrtc-mdns" }
43+
media = { version = "0.17.0", path = "media", package = "webrtc-media" }
44+
rtcp = { version = "0.17.0", path = "rtcp" }
45+
rtp = { version = "0.17.0", path = "rtp" }
46+
sctp = { version = "0.17.0", path = "sctp", package = "webrtc-sctp" }
47+
sdp = { version = "0.17.0", path = "sdp" }
48+
srtp = { version = "0.17.0", path = "srtp", package = "webrtc-srtp" }
49+
stun = { version ="0.17.0", path = "stun" }
50+
turn = { version = "0.17.0", path = "turn" }
51+
util = { version = "0.17.0", path = "util", package = "webrtc-util", default-features = false }

README.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,22 @@ stack. The project is under active development and should be considered early st
7272
The [Examples](https://github.com/webrtc-rs/webrtc/blob/master/examples/examples/README.md) demonstrate how to build
7373
media and data-channel applications using webrtc-rs.
7474

75-
The project is shifting its focus toward a Sans-IO WebRTC implementation in Rust.
76-
Going forward, the [webrtc-rs/webrtc](https://github.com/webrtc-rs/webrtc) crate will be built on top of the
77-
[webrtc-rs/rtc](https://github.com/webrtc-rs/rtc) crate, which provides a clean, protocol-centric Sans-IO core.
78-
This architecture enables a fully async-friendly WebRTC implementation in Rust.
75+
## 🚨 Important Notice: v0.17.x Release and Future Direction
76+
77+
**v0.17.x is the final feature release of the Tokio-coupled async WebRTC implementation.**
78+
79+
- **v0.17.x branch**: A dedicated branch will be created for v0.17.x that will receive **bug fixes only** (no new features).
80+
- **Master branch**: Will transition to a new Sans-IO based architecture built on top of [webrtc-rs/rtc](https://github.com/webrtc-rs/rtc).
81+
82+
### **Why this change?**
83+
84+
The project is shifting toward a Sans-IO WebRTC implementation that decouples the protocol logic from any specific async runtime. This new architecture will:
85+
86+
- ✅ Support multiple async runtimes (Tokio, smol, async-std, etc.)
87+
- ✅ Provide a clean, protocol-centric Sans-IO core via [webrtc-rs/rtc](https://github.com/webrtc-rs/rtc)
88+
- ✅ Enable a truly runtime-agnostic, async-friendly WebRTC implementation in Rust
89+
90+
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.
7991

8092
## Features
8193

data/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[package]
22
name = "webrtc-data"
3-
version = "0.12.0"
4-
authors = ["Rain Liu <yliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of WebRTC DataChannel API"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/webrtc-data"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/data"
1111

1212
[dependencies]
13-
util = { version = "0.12.0", path = "../util", package = "webrtc-util", default-features = false, features = ["conn", "marshal"] }
14-
sctp = { version = "0.13.0", path = "../sctp", package = "webrtc-sctp" }
13+
util = { workspace = true, default-features = false, features = ["conn", "marshal"] }
14+
sctp.workspace = true
1515

1616
tokio = { version = "1.32.0", features = [
1717
"fs",

dtls/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[package]
22
name = "dtls"
3-
version = "0.13.0"
4-
authors = ["Rain Liu <yuliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of DTLS"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/dtls"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/dtls"
1111

1212
[dependencies]
13-
util = { version = "0.12.0", path = "../util", package = "webrtc-util", default-features = false, features = ["conn"] }
13+
util = { workspace = true, default-features = false, features = ["conn"] }
1414

1515
byteorder = "1"
1616
rand_core = "0.6"

examples/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ repository = "https://github.com/webrtc-rs/webrtc/tree/master/examples"
1313

1414

1515
[dev-dependencies]
16-
webrtc = { path = "../webrtc" }
16+
webrtc.workspace = true
1717

1818
tokio = { version = "1.32.0", features = ["full"] }
1919
env_logger = "0.11.3"

ice/Cargo.toml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
[package]
22
name = "webrtc-ice"
3-
version = "0.14.0"
4-
authors = ["Rain Liu <yliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of ICE"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/webrtc-ice"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/ice"
1111

1212
[dependencies]
13-
util = { version = "0.12.0", path = "../util", package = "webrtc-util", default-features = false, features = ["conn", "vnet", "sync"] }
14-
turn = { version = "0.11.0", path = "../turn" }
15-
stun = { version = "0.9.0", path = "../stun" }
16-
mdns = { version = "0.10.0", path = "../mdns", package = "webrtc-mdns" }
13+
util = { workspace = true, default-features = false, features = ["conn", "vnet", "sync"] }
14+
turn.workspace = true
15+
stun.workspace = true
16+
mdns.workspace = true
1717

1818
arc-swap = "1"
1919
async-trait = "0.1"

interceptor/Cargo.toml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
[package]
22
name = "interceptor"
3-
version = "0.15.0"
4-
authors = ["Rain Liu <yliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of Pluggable RTP/RTCP processors"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/interceptor"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/interceptor"
1111

1212
[dependencies]
13-
util = { version = "0.12.0", path = "../util", package = "webrtc-util", default-features = false, features = ["marshal", "sync"] }
14-
rtp = { version = "0.14.0", path = "../rtp" }
15-
rtcp = { version = "0.14.0", path = "../rtcp" }
16-
srtp = { version = "0.16.0", path = "../srtp", package = "webrtc-srtp" }
13+
util = { workspace = true, default-features = false, features = ["marshal", "sync"] }
14+
rtp.workspace = true
15+
rtcp.workspace = true
16+
srtp.workspace = true
1717

1818
tokio = { version = "1.32.0", features = ["sync", "time"] }
1919
async-trait = "0.1"

mdns/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
[package]
22
name = "webrtc-mdns"
3-
version = "0.10.0"
4-
authors = ["Rain Liu <yuliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of mDNS"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/webrtc-mdns"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/mdns"
1111

1212
[features]
1313
default = ["reuse_port"]
1414
reuse_port = []
1515

1616
[dependencies]
17-
util = { version = "0.12.0", path = "../util", package = "webrtc-util", default-features = false, features = ["ifaces"] }
17+
util = { workspace = true, default-features = false, features = ["ifaces"] }
1818

1919
tokio = { version = "1.32.0", features = [
2020
"fs",

media/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[package]
22
name = "webrtc-media"
3-
version = "0.11.0"
4-
authors = ["Rain Liu <yliu@webrtc.rs>"]
5-
edition = "2021"
3+
version.workspace = true
4+
authors.workspace = true
5+
edition.workspace = true
66
description = "A pure Rust implementation of WebRTC Media API"
7-
license = "MIT OR Apache-2.0"
7+
license.workspace = true
88
documentation = "https://docs.rs/webrtc-media"
9-
homepage = "https://webrtc.rs"
9+
homepage.workspace = true
1010
repository = "https://github.com/webrtc-rs/webrtc/tree/master/media"
1111

1212
[dependencies]
13-
rtp = { version = "0.14.0", path = "../rtp" }
13+
rtp.workspace = true
1414

1515
byteorder = "1"
1616
bytes = "1"

0 commit comments

Comments
 (0)