github coturn/coturn 4.12.0

17 days ago

coturn 4.12.0

This release focuses on high-throughput UDP relay performance, new multiplexed peer relay mode, improved load testing tools, and documentation cleanup.

Highlights

  • Added optional --multiplex-peer mode, which uses shared per-thread IPv4/IPv6 relay sockets instead of one relay port per allocation.

    • Helps lift the usual relay port range allocation ceiling.
    • Uses exact peer IP:port demultiplexing.
    • Rejects EVEN-PORT allocations in this mode.
    • Documented in docs/multiplex-peer.md.
  • Added Linux UDP fast paths:

    • --udp-recvmmsg for batched UDP receives.
    • --udp-gso for UDP-GSO relay send batching when used with multiplex-peer.
    • sendmmsg/recvmmsg improvements across relay, peer, and uclient paths.
  • Improved turnutils_uclient load generation:

    • Multi-threaded listener/receive pool.
    • Sender thread pool.
    • UDP-GSO send batching.
    • recv_pps reporting.
    • --no-even-port option for clean multiplex-peer testing.

Added

  • New turnserver options:

    • --multiplex-peer
    • --multiplex-peer-port
    • --udp-recvmmsg
    • --udp-recvmmsg-log
    • --udp-gso
  • New turnutils_uclient options:

    • --listener-threads
    • --sender-threads
    • --no-even-port
  • CI coverage for uclient thread pools, UDP-GSO, recv PPS reporting, and multiplex-peer tests.

Fixed

  • Fixed TTL/TOS type conversion.
  • Fixed a memory leak introduced by the recvmmsg path.
  • Removed stale --ne option from turnserver --help.
  • Fixed fuzzing dictionary encoding for HTTP end-of-header bytes.

Changed

  • Updated bundled khash.
  • Restored CodeQL permissions, category, and manual build mode.
  • Updated examples and docs for CLI behavior, invalid packet handling, RFC5780 behavior, and current command-line options.

Documentation

  • Added multiplex-peer design and implementation guide.
  • Synced turnserver, turnutils, and man page documentation with current options.
  • Added DeepWiki link to the README.

Contributors

Thanks to:

  • Corey Siltala
  • Gustavo Garcia
  • Kai Ren
  • Pavel Punsky
  • nfuhler

Don't miss a new coturn release

NewReleases is sending notifications on new releases.