Skip to content

v1.5.5-rc.0

Pre-release
Pre-release

Choose a tag to compare

@cl-ment cl-ment released this 02 Sep 08:38
· 34 commits to master since this release

Release Notes

API / ABI / Integration Changes

  • PR #3109: Fixed global initialization and consistency of startup() and cleanup() functions
  • PR #3089: Fixed invalid socket options being applied to group sockets
  • PR #3096 #3077 #3075: Fixed invalid socket options being applied to group sockets
  • PR #3110: Added support for Windows on ARM64
  • PR #3152: Added support for platforms lacking pthread_condattr_setclock (Android version <= 21)

Internal Improvements

  • PR #3189: Improved internal locking system: Reworked m_bListening to be lock-free and switched m_GlobControlLock to shared mutex
  • PR #3190: Improved attribute handling; using std::shared_mutex when compiling with C++17

Important Bug Fixes

  • PR #3214: Fixed reentrancy of srt_strerror()
  • PR #3212: Fixed invalid cookie contest calculation.
  • PR #3210: Fixed crash when adding a string-typed option to a group configuration object
  • PR #3200: Fixed incorrect number of sockets returned by srt_epoll_uwait
  • PR #3179: Fixed inconsistent thread-related objects' state after fork()
  • PR #3166: Fixed issues found by thread and memory sanitizers
  • PR #3140: Fixed unexpected blocking behavior in sendmsg call
  • PR #3105: Fixed stalled connection that should break on rogue NAK/ACK reception
  • PR #3102: Fixed some misleading error messages
  • PR #3084: Fixed wrong 'connection lost' error when sending to group in non-blocking pending state
  • PR #1709: Fixed bug where tsbpd might miss m_bClosing flag set in the meantime
  • PR #3136: Fixed caller-accepting connection without packetfilter while requested by a caller (now: late-rejection)

Build

  • PR #3167: Changed minimum cmake version to 3.5 (required by cmake 4.0+ version)
  • PR #3182: Updated iOS build scripts
  • PR #3139: Added support for HarmonyOS (OHOS)
  • PR #3112: Added deprecation warning for Windows + PThreads builds
  • PR #3097 #3117: Fixed static OpenSSL build failure

Unit Tests:

  • PR #3190: Added an option to disable test discovery when unit tests enabled
  • PR #3086: Extended socket option unit tests to include group sockets
  • PR #3085: Added additional bonding-related Unit tests
  • PR #3150: Fixed ConnectNonBlocking test to prevent early connection by delaying listen()
  • PR #3143: Fixed test issues to improve CI reliability

Sample Applicatons:

  • PR #3122: Fixed binding to local interface when sending to UDP endpoint
  • PR #3126: Fixed multicast bind address selection on Windows
  • PR #3108: Fixed issue where srt-live-transmit stops listening after disconnect (#2997)

Documentation

  • PR #3125: Fixed documentation for socket options
  • PR #3079: Fixed link to rejection codes documentation

Contributors

@ethouris @lelegard @lilinxiong @maxsharabayko @samumbach @sergeiignatov @SPAleksey @yaruno @cl-ment

Changelog

Click to expand/collapse

Core Functionality

52ceecd Fix SIGABRT when bonding option is too long (#3210)
9b97cfa Fixed reentrancy problem of srt_strerror (#3214)
5138f37 Cleanup SRT state after a fork() (issue #3177) (#3179)
265d0e4 Fixed invalid cookie contest calculation (#3212)
d720b8c Rework m_bListening to lock-free and m_GlobControlLock to use shared mutex (#3189)
7497397 Fixed bug in srt_epoll_uwait: wrong number of sockets returned
21370a7 Fixed problems found by thread and memory sanitizers (#3166)
dca5399 Automatic call of startup() and cleanup() #3098 (#3109)
4d0e984 Fixed accidental blocking on sendmsg call
8a89a3a Clarified conditions for setting IPTOS/TTL options. Added UT (#3096).
f8e1bd6 Late-rejection when listener responds with no packet filter
f3a8fe3 Fixed bug: tsbpd might miss m_bClosing flag setting, flag not always properly set. (#1709)
d69b065 Fixed socket options that are not allowed to be set on a group (#3089).
5cd2414 Fix stalled connection that should break after rogue NAK/ACK reception
a6b9959 Fixed misleading error message for listening socket (#3102).
1ec61fc Apply conditional to setting a macro for IPv6 on Mac (#3092).
b252637 Make field for bandwidth atomic to avoid thread clash (#3093).
f109fb1 Fixed: attempt to send to a group in connection-pending state (nonblocking) reported wrong 'connection lost' error
5f16494 Fixed getting SRTO_RCVBUF and SRTO_SNDBUF on a group.
833880b Fixed deriving string options by a group. SRTO_STREAMID, SRTO_PACKETFILTER are directly affected. SRTO_PASSPHRASE was derived correctly.
eb5b73f Fix CUDTGroup::getOpt(..): check value length in group config storage. The storage could have empty strings, and dereferencing the first element must not happen.

Unit Tests

952f949 Fixing ConnectNonBlocking: delay listen to prevent connection from being established too early
ee03ae9 Fixed tests to avoid mistakes in CI (#3143)
00e14f7 Extending socket options test to group options (#3086).
59e2c9c Added more tests for bonding (#3085).
3931af6 Minor clean up of socket options tests (#3076).
6ab86d8 Extended Bonding.Options test with Stream ID and linger set/get check.
e9160f9 Added optional test discovery. Added improvements for attributes. Enabled std shared mutex if compiling with C++17 (#3190)

Build Scripts (CMake, etc.)

725e2d4 Update Ubuntu runners to Lastest. (#3180)
5d80411 Update iOS build scripts (#3182)
0c570a1 Remove SonarQube
d6d0e5a Compilation of SRT on platforms that do not support the pthread_condattr_setclock function. (#3152)
19113e6 Update cxx11-macos.yaml (#3170)
0def1b1 Update for compatibility with CMake 4.x (#3167)
0976f76 support OHOS(harmonyOS) system compile (#3139)
df81ecd Fixed outdated SonarQube configuration (#3124).
7b77d4c Fix use of the OPENSSL_USE_STATIC_LIBS CMake option (#3117).
fd56385 Added deprecation warning for Windows+PThreads configuration (#3112).
63bf962 Fix Windows installers (#3113).
bc8a084 Added support for Windows on Arm64 (#3110).

Sample Applications

697dce0 Fixed correct bind address selection for windows multicast (#3126).
ce0a888 FIX srt-live-transmit stops listening after SRT disconnect #2997... (#3108)

Documentation

8bc76ac Documentation fixes for socket options (#3125).
cdbe5f5 Updated conan badge links.
87850b7 Fixed link to rejection codes document.