Skip to content

Releases: mycrl/turn-rs

v3.3.2

31 Dec 22:46
Compare
Choose a tag to compare
  • Remove async_trait dependency to reduce heap allocation overhead.
  • Unified abstraction of tcp and udp servers with separate implementations.
  • tcp packet reads use double buffer queues to improve performance.

v3.3.1

31 Dec 18:05
Compare
Choose a tag to compare

What's Changed

  • feat: allow generic observer by @lherman-cs in #118
  • Fix patch for version 3.3.0 by @mycrl in #120
  • api, hooks, and mimalloc can be turned on via compilation options to improve performance without turning on certain features.
  • If you don't bind any ports, just exit the process.
  • Fix the problem of untimely cleaning of session information after session disconnection.
  • statistic counters are not monotonically increasing #119

New Contributors

Full Changelog: v3.3.0...v3.3.1

v3.3.1-beta.1

31 Dec 16:40
Compare
Choose a tag to compare

v3.3.1-beta

31 Dec 15:57
Compare
Choose a tag to compare
v3.3.1-beta Pre-release
Pre-release

What's Changed

  • feat: allow generic observer by @lherman-cs in #118
  • Fix patch for version 3.3.0 by @mycrl in #120
  • More compilation options
  • Direct exit when not binding any ports

New Contributors

Full Changelog: v3.3.0...v3.3.1-beta

Deprecation: v3.3.0

27 Dec 16:40
e797b78
Compare
Choose a tag to compare
Deprecation: v3.3.0 Pre-release
Pre-release

There are problems with the external API design and the internal session key design. It does not affect normal use, but there are design errors. Since this version is not used by anyone at the moment, this version will be abandoned.

What's Changed

  • New test case.
  • Fixed incorrect parsing of RequestedTransport property.
  • Added support for DontFragment, AdditionalAddressFamily, RequestedAddressFamily, EvenPort and ReservationToken attributes.
  • Replaced the unsafe implementation of the stun parser with a safe implementation.
  • New simpler and faster implementation of turn state management.
  • Remove ambiguity in previous turn-rs implementations of CreatePermission and ChannelBind.
  • New external interface that distinguishes between transport protocols and interfaces.
  • Adapted to the new driver version 3.3.

v3.3.0-beta.2

24 Dec 16:12
Compare
Choose a tag to compare
v3.3.0-beta.2 Pre-release
Pre-release

What's Changed

  • Fix the error code of turn response.

v3.3.0-beta.1

23 Dec 15:38
Compare
Choose a tag to compare
v3.3.0-beta.1 Pre-release
Pre-release

What's Changed

  • New test case.
  • Fixed incorrect parsing of RequestedTransport property.
  • Added support for DontFragment, AdditionalAddressFamily, RequestedAddressFamily, EvenPort and ReservationToken attributes.
  • Replaced the unsafe implementation of the stun parser with a safe implementation.
  • New simpler and faster implementation of turn state management.
  • Remove ambiguity in previous turn-rs implementations of CreatePermission and ChannelBind.
  • New external interface that distinguishes between transport protocols and interfaces.

New Contributors

Full Changelog: v3.2.0...v3.3.0-beta.1

v3.2.0

27 Nov 19:39
Compare
Choose a tag to compare

What's Changed

  • Rw: Optimize internal mutex lock performance.
  • Feat: Configuration items can be set directly on the cli.
  • Feat: Integrated Prometheus Metrics Exporter. #101
  • Fix: Firefox no candidates responded. #105
  • Rw: A single socket supports only one address assignment.
  • Rw: A single socket can be bound to only one channel.

New Cli

  • --auth-static-credentials - Static user password.
  • --auth-static-auth-secret - Static authentication key value (string) that applies only to the TURN REST API.
  • --log-level - An enum representing the available verbosity levels of the logger.
  • --api-bind - This option specifies the http server binding address used to control the turn server.
  • --api-hooks - This option is used to specify the http address of the hooks service.
  • --turn-realm - TURN server realm.
  • --turn-interfaces - TURN server listen interfaces.

REST API Change

GET /session?addr=&username= - Session[]

  • allocated_channels - uint16[] - List of channel numbers that have been assigned to the session
  • allocated_ports - uint16[] - List of port numbers that have been assigned to the session
  • channel? - uint16 - Channel numbers that have been assigned to the session
  • port? - uint16 - Port numbers that have been assigned to the session

GET - /session/statistics?addr= - Statistics

  • error_pkts - uint64 - The number of packets error by the current session/s

v3.2.0-beta.1

25 Nov 19:25
Compare
Choose a tag to compare

What's Changed

  • A single socket can be bound to only one channel.

v3.2.0-beta

24 Nov 22:18
Compare
Choose a tag to compare

What's Changed