Releases: OpenRTMP/librtmp2-server
Releases · OpenRTMP/librtmp2-server
Release list
librtmp2-server 0.6.0
What's Changed
- fix(db): remove duplicate with_conn under test-support by @cursor[bot] in #245
- fix: cluster accept-loop resilience, config precedence, generation leak (BUG-5/6/7/11) by @AlexanderWagnerDev in #246
- ci(sonar): pin install-action SHA and merge integration test coverage by @cursor[bot] in #247
- Update taiki-e/install-action digest to 6db3a28 by @renovate[bot] in #248
- ci(sonar): fix coverage merge after cargo-llvm-cov dropped --append by @cursor[bot] in #250
- fix(bug-hunter): cluster rejoin fencing, close/auth ordering, snapshot install timeouts (3 findings) by @AlexanderWagnerDev in #249
- Answer publishes and plays from an in-memory key cache; re-run benchmarks against SRS 8.0 by @AlexanderWagnerDev in #251
- Release 0.6.0 by @AlexanderWagnerDev in #252
Full Changelog: v0.5.0...v0.6.0
librtmp2-server 0.5.0
What's Changed
- perf(rtmp): multi-core sharding by default, faster connects and joins — auth wake-up, group commit, off-thread close, batched stats, epoll by @AlexanderWagnerDev in #243
Full Changelog: v0.4.3...v0.5.0
librtmp2-server 0.4.3
What's Changed
- ci(sonar): import Rust LCOV coverage for SonarCloud quality gate by @cursor[bot] in #239
- fix: prevent RTMP poll-loop CPU spin, cluster media-address loss and sharded revocation gaps by @AlexanderWagnerDev in #240
- Fix dual-stack RTMP and RTMPS wildcard listeners by @AlexanderWagnerDev in #241
- Release v0.4.3 by @AlexanderWagnerDev in #242
Full Changelog: v0.4.2...v0.4.3
librtmp2-server 0.4.2
What's Changed
- perf(db,rtmp): cache the play-key lookup + wake the poll loop on socket readiness by @claude[bot] in #233
- Keep fast poll interval until viewer's first frame is relayed by @claude[bot] in #234
- Refresh cross-server benchmark numbers on current main by @claude[bot] in #235
- Fix subprocess command injection findings and pin Alpine runtime by @AlexanderWagnerDev in #237
- perf(poll): cut redundant DbRtmpBridge lock acquisitions per poll tick by @claude[bot] in #236
Full Changelog: v0.4.1...v0.4.2
librtmp2-server 0.4.1
What's Changed
- Add SRS as a fourth benchmark comparison target by @claude[bot] in #231
- chore(release): prepare v0.4.1 with librtmp2 0.9.1 by @AlexanderWagnerDev in #232
Full Changelog: v0.4.0...v0.4.1
librtmp2-server 0.4.0
What's Changed
- chore(deps): update rust crate rand to v0.10.3 by @renovate[bot] in #224
- fix(cluster): bind mTLS node identity by @AlexanderWagnerDev in #225
- fix: resolve Bug Hunter audit findings (cluster media, ownership, auth, snapshot) by @AlexanderWagnerDev in #226
- docs: add a terminal demo to the README by @claude[bot] in #227
- Add real, reproducible RTMP benchmarks vs nginx-rtmp and MediaMTX by @claude[bot] in #228
- Move RTMP publish/play authorization off the poll thread by @claude[bot] in #229
- fix(deps): update rust crate librtmp2 to 0.9.0 by @renovate[bot] in #230
New Contributors
Full Changelog: v0.3.0...v0.4.0
librtmp2-server 0.3.0
What's Changed
- chore(deps): update rust crate tokio-rustls to v0.26.5 by @renovate[bot] in #188
- fix(security): cluster auth tracker saturation DoS (#185) by @cursor[bot] in #186
- chore(deps): update actions/checkout action to v7 by @renovate[bot] in #189
- chore(deps): update rust crate rustls to v0.23.44 by @renovate[bot] in #193
- fix(security): reject symlink LRTMP2_DB paths on open by @cursor[bot] in #191
- Pin third-party GitHub Actions to full commit SHA hashes by @AlexanderWagnerDev in #194
- fix(cluster): prevent failed join from poisoning ClusterMeta by @cursor[bot] in #196
- chore(deps): update rust crate reqwest to v0.13.5 by @renovate[bot] in #199
- Add recording, HLS, push relay and exec media outputs by @AlexanderWagnerDev in #198
- fix(security): cap aggregate cluster frame read memory budget by @cursor[bot] in #201
- fix(db): prevent stats flush from resurrecting inactive sessions by @AlexanderWagnerDev in #207
- chore(deps): update rust crate uuid to v1.26.1 by @renovate[bot] in #205
- fix(security): restrict media recording and HLS file permissions by @cursor[bot] in #204
- fix(cluster): align InitCache timeline and sticky delete markers by @AlexanderWagnerDev in #208
- fix(cluster): fan out live media inbound and retry rejected subscribe by @AlexanderWagnerDev in #209
- chore(deps): update rust crate rustls to v0.23.45 by @renovate[bot] in #211
- fix(ci): move HLS redirect canonicalize calls to spawn_blocking by @cursor[bot] in #210
- chore(deps): update rust crate clap to v4.6.7 by @renovate[bot] in #212
- chore(deps): update docker/setup-buildx-action action to v4.4.0 by @renovate[bot] in #214
- chore(deps): update docker/build-push-action action to v7.4.0 by @renovate[bot] in #213
- chore(deps): update docker/setup-qemu-action action to v4.4.0 by @renovate[bot] in #215
- ci: align SonarQube Cloud workflow with Free plan by @AlexanderWagnerDev in #216
- fix(security): enforce play-key connection cap on HLS requests by @cursor[bot] in #218
- chore(deps): update docker/setup-buildx-action action to v4.4.1 by @renovate[bot] in #220
- chore(deps): update sonarsource/sonarqube-scan-action action to v8.2.2 by @renovate[bot] in #221
- chore(release): bump version to 0.3.0, librtmp2 dependency to 0.8.1 by @AlexanderWagnerDev in #222
Full Changelog: v0.2.2...v0.3.0
librtmp2-server 0.2.2
What's Changed
- fix(docker): use rust-musl-cross builder for riscv64 multi-arch by @cursor[bot] in #153
- fix(docker): vendor OpenSSL for musl cross builds by @AlexanderWagnerDev in #155
- fix(ci): rustfmt for cluster network and join proof handler by @cursor[bot] in #159
- Fix dual-role RTT persistence and stats group lookup by @AlexanderWagnerDev in #160
- fix(ci): rustfmt for media hub preauth slot guard by @cursor[bot] in #163
- chore(deps): update rust crate uuid to v1.24.1 by @renovate[bot] in #164
- fix(security): prevent cluster heartbeat address hijack without mTLS by @cursor[bot] in #166
- fix(security): block cluster join SSRF via peer address validation by @cursor[bot] in #171
- chore(deps): update rust crate uuid to v1.25.0 by @renovate[bot] in #172
- Security: harden cluster admin_proof replay without breaking plaintext accounting by @cursor[bot] in #169
- chore(deps): update rust crate uuid to v1.26.0 by @renovate[bot] in #176
- Gate cluster media Subscribe to stop secret-only stream siphoning (#177) by @cursor[bot] in #178
- fix(security): harden CLUSTER_SECRET validation and cluster auth lockout by @cursor[bot] in #182
- chore(release): bump version to 0.2.2 by @AlexanderWagnerDev in #184
Full Changelog: v0.2.1...v0.2.2
librtmp2-server 0.2.1
What's Changed
- fix(docker): Alpine runtime, keep bookworm builder by @AlexanderWagnerDev in #144
- fix(cluster): make the cluster feature actually build and work by @AlexanderWagnerDev in #145
- fix(docker): don't require a librtmp2 git rev that no longer exists by @AlexanderWagnerDev in #146
- fix(cluster): require admin_proof for ClientWrite admin commands by @cursor[bot] in #148
- style(server): rustfmt dual-role delete drain test (CI autofix) by @cursor[bot] in #150
- fix(cluster): harden admin proof, dual-role drain, delete timeout by @AlexanderWagnerDev in #151
- chore(release): v0.2.1 by @AlexanderWagnerDev in #152
Full Changelog: v0.2.0...v0.2.1
librtmp2-server 0.2.0
What's Changed
- fix(http): keep deleted_streams until RTMP drain completes by @cursor[bot] in #132
- feat: add optional OpenRaft HA clustering by @AlexanderWagnerDev in #133
- fix(deps): update rust crate openraft to v0.9.25 by @renovate[bot] in #141
- fix(deps): update librtmp2 digest to bb756ba by @renovate[bot] in #140
- fix(deps): update rust crate sha2 to 0.11 by @renovate[bot] in #142
- fix(deps): update rust crate x509-parser to 0.18 by @renovate[bot] in #143
Full Changelog: v0.1.9...v0.2.0