Releases: irlserver/srtla_send
Releases · irlserver/srtla_send
v2.8.0
v2.7.1
v2.7.0
Documentation
- Expanded README with runtime toggles, monitoring/debugging, expected behavior, troubleshooting, and performance tuning guidance.
New Features
- Enhanced default mode: exponential NAK decay, burst detection, RTT-aware quality scoring, minimal hysteresis, optional smart exploration, and a Classic mode toggle.
- Per-packet timing-aware switch dampening and last-switch tracking for smoother routing and load distribution.
Refactor
- Connection selection and congestion strategies reorganized into distinct, pluggable modules.
Tests
- Added/updated tests for modes, selection, exploration, recovery, timing, and quality scoring.
Chores
- Test helpers enabled under an internal test feature.
Full Changelog: v2.6.1...v2.7.0
v2.6.1
fix(connection): respect startup grace period in timeout detection
Previously, connections would be incorrectly marked as timed out during
the initial registration phase, causing false 'Failed to establish any
initial connections' or 'no available connections' errors. This fix
ensures that connections within the startup grace period (1.5s) are not
considered timed out, matching the C implementation behavior while
maintaining proper timeout detection for established connections that
lose connectivity.
Changes:
- Modified is_timed_out() to check startup_grace_deadline_ms for initial connections
- Updated mark_for_recovery() to immediately mark connections as timed out (matching C behavior of setting last_rcvd = 1)
- All tests pass with the new logic
v2.6.0
What's Changed
- Updated the congestion control logic to introduce progressive recovery rates based on the time since the last NAK.
- The recovery rates are now categorized as follows:
- 25% for recent NAKs (<5 seconds)
- 50% for 5-7 seconds
- 100% for 7-10 seconds
- 200% for 10+ seconds
- Additionally, added tests to validate the new recovery rates and their behavior under fast recovery mode, ensuring accurate window adjustments based on timing constraints.
- The recovery rates are now categorized as follows:
- Replaced last_keepalive_ms field with last_sent (Instant-based) to track all data sends, not just keepalives
- Added comprehensive bitrate tracking for logging purposes
- Refactored connection state into organized sub-structs (RttTracker, CongestionControl, BitrateTracker, ReconnectionState)
- Split large sender.rs and connection.rs files into modular components
- Integrated mimalloc as the global allocator on non-Windows platforms
- Updated deprecated rand::thread_rng() to rand::rng()
Full Changelog: v.2.5.0...v2.6.0
v.2.5.0
v2.3.0
v2.2.1
v2.2.0
v2.1.1
Full Changelog: v2.1.0...v2.1.1