v1.5.1
Release Notes
API / ABI / Integration Changes
API/ABI version: 1.5.
Some minor changes touching, but not affecting the API/ABI compliance:
- PR #2440: The SRT API file srt.h defines macros
MJ
andMN
and almost immediately undefines them. Those short names could potentially conflict with macros in 3rd party applications. Renamed macroMN
toSRT_EMN
andMJ
toSRT_EMJ
. - PR #2451: Fixed DLL build when using
mingw-w64
that supports__declspec(dllexport)
and__declspec(import)
specifiers.
Improvements and Important Bug Fixes
- PR #2333: Added support for OpenSSL EVP API. Can be enabled with the help of the
-DUSE_ENCLIB=openssl-evp
CMake build option. - PR #2408: Improved timing for idle connections. TSBPD time base (TsbpdTimeBase) and clock drift (Drift) values are adjusted to take the TSBPD wrapping period into account even if there are no data packets transmitted over the connection.
- PR #2384, #2395: Data race fixes for
CRcvQueue
andCUnitQueue
. - PR #2405: Improved receiver performance via
CUnitQueue
changes. - PR #2416: Fixed the calculation of the
byteRcvLoss
statistic. This is a fix for the issue #2414 introduced in PR #2212. Affected version is v1.5.0. - PR #2413, #2425: Fixed data races in crypto library in the case of
mbedTLS
. - PR #2391: Fixed the
sendBroadcast()
function message length. - PR #2398: Added
ENABLE_BONDING
socket option to the Windows PowerShell build script.
Documentation
- PR #2454: Added description of package managers supporting the SRT library to Build Instructions.
Contributors
@maxsharabayko, @jeandube, @oviano, @robUx4, @mbakholdina, @ethouris, @gou4shi1, @maksqwe, @lewk2, @Adela0814
Changelog
Click to expand/collapse
API/ABI
453b276 SRT version raised to 1.5.1.
ec52c45 Export functions in mingw-w64 when building as a DLL (#2451).
daf838e Renamed macro MN to SRT_EMN, MJ to SRT_EMJ.
Core Functionality
646bf2c Remove MSG_TRUNC logging
293a677 Removed unused struct HaveState
96d0c12 Fixed missing reject reason types (logging). (#2436)
8941831 Changed cond notification naming. Added and used new sync utilities. (#2429)
eae2749 Update TSBPD base time and clock drift on an idle connection. (#2408)
e50ccde Applied clang-format on CPacket.
666ee63 Fixed outlen_p value in EVP_AES_EcbCipher (crysprOpenSSL_EVP_AES_EcbCipher).
f0b2003 Minor CSndBuffer edits. (#2430)
fe98265 CCryptoControl: Partially removed dependency on CUDT. (#2424)
5ae3b00 Removed unused struct FByOldestActive.
7f12138 Initialize CRYSPR in startup() (#2425)
1b30573 Remove unused variable
e48f43d Fixed SRT_ASSERT definition for non-MSVC compilers (#2423).
ee398a3 Small refactor of the crysprFallback_MsEncrypt
618db39 Fixed byteRcvLoss
stats
088e27d Create MbedTLS ctx in PBKDF (#2413)
ced76c7 Increased CUnitQueue block allocation speed. Allocates 128 additional units at the start and every time 90% of units are taken. Previously was allocating only 32 units.
a51ec39 Protect CUnit::m_iFlag
from data race using an atomic. Refactored common allocation code CUnitQueue::allocateEntry(..).
b5055db Minor clean-up fix rethrowing an exception.
c3fed9c CRcvQueue
tracks IP version instead of CUnitQueue
830c599 CUnitQueue::increase()
: Do not adjust taken units. The adjustment was intended to patch issues around m_iCount. Those are not present anymore.
cdafca5 Fix sendBroadcast()
message length (#2391).
c5f613e Added OpenSSL EVP API support to HaiCrypt (#2333).
5070037 Cookie contest log msg downgraded to Debug
bb6c493 Rethrow an exception without copying it.
c9e48bd Made CRcvQueue::m_counter
atomic to avoid data race. Used for setting the RcvQueue:: worker thread name for logging.
6a489e1 Fixed suspicious (HCRYPT_CTX_F_ENCRYPT & ctx->flags ? ..).
2de9e6e Explicitly compare with an enum type. Fixes #2374.
61170ad Fixed local variable 'i' hiding previous local declaration. Fixes #2371.
88aab43 Fixed 'false' value implicitly casting to an integer. Handle handling failure of fillHsExtKMRSP(..)
. Fixed some other minor conversion warnings. Fixes #2372.
Sample Applications and Scripts
0bc3b03 List contributors using the changelog generation script (#2456)
Unit Tests
3ed8bfa Fixed a typo: cypto -> crypto.
086dfe9 Fixed TestIPv6.v6_calls_v4
0153f69 Minor fix for Bonding.CloseGroupAndSocket (#2406).
04407e6 SyncRandom.GenRandomInt: Increase tolerance (#2385)
Build Scripts (CMake, etc.)
95d82c4 Only install headers if CMAKE_INSTALL_INCLUDEDIR is available
91a4373 Only install pkg-config files if CMAKE_INSTALL_LIBDIR is available
3709471 Use the default TARGETS installation folder when possible
286b43e Don't force RUNTIME targets in CMAKE_INSTALL_BINDIR
3170590 Install scripts/srt-ffplay in the bin directory
ea84103 Always use GNUInstallDirs
bb6fede Add variable telling if DESTINATION is needed with install()
6b70452 Add 'ENABLE BONDING' option to Windows PowerShell build script (#2398).
Documentation
90d2f07 Fixed the version to 1.5.1 and did some minor changes to build options summary table.
82f742b Added Packet Managers section to Build Instructions.
286b3aa Updated the Debian badge in ReadMe
89e11eb Fixed Time Access link in API-functions.
5812e1f Fixed a typo in srt_epoll_uwait