Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 06:03
· 27 commits to main since this release
67d7c0c
  • Snapshot generation age is checked continuously, including while the transport stays online. Old payloads in a
    receive backlog cannot keep advancing remote replay after its delay/prediction budget is exhausted. This holds
    the declared playback time and retains histories; it does not invent missing movement or hide present-position lag.

  • GameClient.receiveState / StateReceiver: shared reconnect recovery for authoritative snapshot streams. It
    resets or retains application histories by policy, holds playback through offline and online-without-fresh-data
    phases, and accepts recovery only after a usable current-connection snapshot on the selected stream. New sessions
    always reset. Idle snapshot headers can release recovery; rejected deltas, queued old state and unrelated streams
    cannot. Raw callbacks and wire protocol 4 are unchanged. The party example uses the shared receiver.

  • AdaptivePlayback.updateDelay(dtMs) separates delay adaptation from cursor movement. The receiver learns valid
    recovery-header lateness while holding its cursor, so a slower new route can recover without advancing old state.

  • A proven RTC recovery now clears retry backoff, so an intermittent network outage does not inherit debt from an
    earlier recovered outage. Duplicate rtc-reset controls for an already-stopped attempt no longer increase that
    debt. This changes no wire bytes or application API. The native gate repeats three recoveries and injects duplicate
    resets; OS-level one-way UDP checks also retain their original failing observation and the candidate rerun.

  • Queued traffic on a socket retired by session takeover is ignored, including a repeated hello. It cannot reclaim
    the player or produce misleading new protocol errors while its close is still in flight. Unauthenticated binary
    traffic on a new connection remains rejected.