Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 19:58
4521496
  • Improved relay throughput by reducing allocations across host, client, receive, and broadcast hot paths.
  • Added relay backpressure handling to keep slow or overloaded recipients from degrading room performance.
  • Made unreliable relay traffic more robust by dropping payloads that are too large or when a recipient's reliable queue is already backed up.
  • Added protection for reliable relay queues by disconnecting recipients whose reliable backlog grows beyond the configured threshold.
  • Optimised single-recipient and broadcast relay paths, including special handling for one-client broadcasts.
  • Reworked relay frame creation to use LiteNetLib pooled packets where possible, stack allocation for small frames, and shared array pooling for larger frames.
  • Avoided unnecessary payload copies by reading incoming packets as spans and writing relay frames directly into the target buffers.
  • Reduced allocation pressure when relaying client-to-host and host-to-client data.
  • Introduced a reusable relay backpressure policy with clear thresholds for dropping unreliable traffic and disconnecting reliable recipients.
  • Added safeguards for oversized unreliable relay payloads before attempting to send them.
  • Added handling for LiteNetLib TooBigPacketException so rejected relay payloads are logged cleanly instead of flowing through the generic send failure path.
  • Snapshot broadcast recipients before sending, reducing lock contention while preserving consistent recipient handling.
  • Added log messages for dropped oversized unreliable payloads.
  • Added log messages for unreliable payloads dropped due to reliable queue backpressure.
  • Added log messages when recipients are disconnected because their reliable relay queue is backed up.
  • Added log messages when LiteNetLib rejects a relay payload as too large.

Full Changelog: v1.0.0...v1.1.0