Skip to content

Releases: irlserver/srtla_send

v2.8.0

05 Jan 00:04

Choose a tag to compare

What's Changed

  • feat: add extended KEEPALIVE with embedded connection info by @datagutt in #10
  • refactor(sender): replace blocking channel with async tokio::sync::mpsc
  • update dependencies

Full Changelog: v2.7.1...v2.8.0

v2.7.1

16 Nov 16:22

Choose a tag to compare

Testing new deb package workflow. Otherwise identical to 2.7.0

v2.7.0

16 Nov 16:10
59c6481

Choose a tag to compare

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

11 Nov 19:22

Choose a tag to compare

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

11 Nov 19:00

Choose a tag to compare

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.
  • 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

15 Oct 14:23
973c6a7

Choose a tag to compare

What's Changed

Full Changelog: v2.3.0...v.2.5.0

v2.3.0

05 Oct 21:51
64982c1

Choose a tag to compare

What's Changed

  • feat: enhance connection handling and timeout checks by @datagutt in #3

Full Changelog: v2.2.1...v2.3.0

v2.2.1

05 Sep 12:08
4fb30c7

Choose a tag to compare

v2.2.0

02 Sep 21:13

Choose a tag to compare

What's Changed

Full Changelog: v2.1.1...v2.2.0

v2.1.1

01 Sep 14:04
06c9c76

Choose a tag to compare

Full Changelog: v2.1.0...v2.1.1