Skip to content

Commit b899593

Browse files
committed
bump version to "0.20.0-alpha.1"
1 parent e3af081 commit b899593

File tree

3 files changed

+38
-7
lines changed

3 files changed

+38
-7
lines changed

Cargo.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "webrtc"
3-
version = "0.20.0"
3+
version = "0.20.0-alpha.1"
44
authors = ["Rain Liu <yliu@webrtc.rs>"]
55
edition = "2024"
66
license = "MIT/Apache-2.0"
@@ -17,7 +17,8 @@ runtime-tokio = ["dep:tokio"]
1717
runtime-smol = ["dep:smol", "dep:async-broadcast"]
1818

1919
[dependencies]
20-
rtc = { version = "0.9.0", path = "rtc/rtc" }
20+
rtc = { version = "0.20.0-alpha.1", path = "rtc/rtc" }
21+
2122
bytes = "1.11.1"
2223
async-trait = "0.1.89"
2324
log = "0.4.29"
@@ -29,13 +30,14 @@ smol = { version = "2.0.2", optional = true }
2930
async-broadcast = { version = "0.7", optional = true }
3031

3132
[dev-dependencies]
33+
signal = { version = "0.20.0-alpha.1", path = "rtc/examples/examples/signal", package = "rtc-signal" }
34+
3235
env_logger = "0.11.8"
3336
chrono = "0.4.43"
3437
clap = { version = "4.5.59", features = ["derive"] }
3538
anyhow = "1.0.102"
3639
ctrlc = "3.5.2"
3740
serde_json = "1.0.149"
38-
signal = { version = "0.9.0", path = "rtc/examples/examples/signal", package = "rtc-signal" }
3941
hyper = { version = "0.14.32", features = ["full"] }
4042
rand = "0.10.0"
4143

README.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,18 @@ alt="Recall.ai">
6565
## Overview
6666

6767
WebRTC.rs is an async-friendly WebRTC implementation in Rust, originally inspired by and largely rewriting the Pion
68-
stack. The project is currently evolving into a clean, ergonomic, runtime-agnostic implementation that works with any async runtime (Tokio, async-std, smol, embassy).
68+
stack. The project is currently evolving into a clean, ergonomic, runtime-agnostic implementation that works with any
69+
async runtime (Tokio, async-std, smol, embassy).
6970

7071
**Architecture:**
71-
- **[rtc](https://github.com/webrtc-rs/rtc)**: Sans-I/O protocol core with complete WebRTC stack (95%+ W3C API compliance)
72+
73+
- **[rtc](https://github.com/webrtc-rs/rtc)**: Sans-I/O protocol core with complete WebRTC stack (95%+ W3C API
74+
compliance)
7275
- **webrtc** (this crate): Async-friendly API with runtime abstraction layer
7376

74-
**📖 Learn more:** Read our [architecture blog post](https://webrtc.rs/blog/2026/01/31/async-friendly-webrtc-architecture.html) for design details and roadmap.
77+
**📖 Learn more:** Read
78+
our [architecture blog post](https://webrtc.rs/blog/2026/01/31/async-friendly-webrtc-architecture.html) for design
79+
details and roadmap.
7580

7681
### 🚨 Important Notice: v0.17.x Feature Freeze & v0.20.0+ Development
7782

@@ -85,29 +90,34 @@ stack. The project is currently evolving into a clean, ergonomic, runtime-agnost
8590
#### **What's Changing in upcoming v0.20.0+?**
8691

8792
The new architecture will address critical issues in v0.17.x:
93+
8894
- ❌ Callback hell and Arc explosion
8995
- ❌ Resources leak in callback
9096
- ❌ Tight Tokio coupling (cannot use async-std, smol, embassy)
9197

9298
**v0.20.0+ will provide:**
9399

94100
**Runtime Independence**
101+
95102
- Support for Tokio, async-std, smol, embassy via Quinn-style runtime abstraction
96103
- Feature flags: `runtime-tokio` (default), `runtime-async-std`, `runtime-smol`, `runtime-embassy`
97104

98105
**Clean Event Handling**
106+
99107
- Trait-based event handlers with native `async fn in trait`
100108
- No more callback Arc cloning or `Box::new(move |...| Box::pin(async move { ... }))`
101109
- Centralized state management with `&mut self`
102110

103111
**Sans-I/O Foundation**
112+
104113
- Protocol logic completely separate from I/O (via [rtc](https://github.com/webrtc-rs/rtc) crate)
105114
- Deterministic testing without real network I/O
106115
- Zero-cost abstractions
107116

108117
#### **How to Provide Feedback**
109118

110119
We're actively designing v0.20.0+ and welcome your input:
120+
111121
- Review the [architecture blog post](https://webrtc.rs/blog/2026/01/31/async-friendly-webrtc-architecture.html)
112122
- Join discussions on [GitHub Issues](https://github.com/webrtc-rs/webrtc/issues)
113123
- Chat with us on [Discord](https://discord.gg/4Ju8UHdXMs)
@@ -134,6 +144,25 @@ cargo doc --open
134144
cargo run --example data-channels
135145
```
136146

147+
## Semantic Versioning
148+
149+
This project follows [Semantic Versioning](https://semver.org/):
150+
151+
- **Patch** (`0.x.Y`): Bug fixes and internal improvements with no public API changes.
152+
- **Minor** (`0.X.0`): Backwards-compatible additions or deprecations to the public API.
153+
- **Major** (`X.0.0`): Breaking changes to the public API.
154+
155+
While the version is `0.x`, the minor version acts as the major — i.e., a minor bump may include breaking changes. Once
156+
`1.0.0` is released, full semver stability guarantees apply.
157+
158+
Pre-release versions are published with the following suffixes, in order of increasing stability:
159+
160+
- **`-alpha.N`**: Early preview. API is unstable and may change significantly.
161+
- **`-beta.N`**: Feature-complete for the release. API may still have minor changes.
162+
- **`-rc.N`**: Release candidate. No further API changes are expected unless critical issues are found.
163+
164+
For example: `1.0.0-alpha.1``1.0.0-beta.1``1.0.0-rc.1``1.0.0`.
165+
137166
## Open Source License
138167

139168
Dual licensing under both MIT and Apache-2.0 is the currently accepted standard by the Rust language community and has

rtc

0 commit comments

Comments
 (0)