v1.5.5-rc.0
Pre-releaseRelease Notes
API / ABI / Integration Changes
- PR #3109: Fixed global initialization and consistency of
startup()andcleanup()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_bListeningto be lock-free and switchedm_GlobControlLockto shared mutex - PR #3190: Improved attribute handling; using
std::shared_mutexwhen 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
sendmsgcall - 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
tsbpdmight missm_bClosingflag 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
ConnectNonBlockingtest to prevent early connection by delayinglisten() - 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-transmitstops 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.