v1.4.2
Release Notes
API/ABI Changes
SRT_MSGCTRL.srctime
now expects SRT internal clock timestamp (as returned from srt_time_now()). In previous versions a wallclock time in microseconds since the UNIX epoch was expected.- Several fields were added to the
CBytePerfMon
structure (statistics).
New Features and Enhancements
- FR #1103: Added support for C++11. Reworked timing and synchronization objects.
Three sources of timing are now available (selected via a build option):- POSIX
gettimeofday()
- default build mode (affected by discontinuous jumps in the system time); - POSIX
CLOCK_MONOTONIC
. CMake build option:-DENABLE_MONOTONIC_CLOCK=ON
. See--enable-monotonic-clock
in BuildOptions.md; - C++11
std::chrono::steady_clock
,std::thread
,std::mutex
, etc. CMake build option:-DENABLE_STDCXX_SYNC=ON
. See--enable-stdcxx-sync
in BuildOptions.md.
- POSIX
- PR #1367: Added SRT Source Time API support. It allows setting a source timestamp on a packet that corresponds to a packet creation/reception time. See the Time Access section of the API docs.
- PR #1362: Added an improved retransmission algorithm which reduces the retransmission overhead on a link. Set option SRTO_RETRANSMITALGO=1.
- PR #1203: Added SRTO_BINDTODEVICE option to bind a socket to a specified NIC.
SRTO_BINDTODEVICE
option reflects the system optionSO_BINDTODEVICE
for an SRT socket. - PR #1291: Customizable rejection reason code. SRT library now lets the application provide a code with rejection reason (in a listener callback) if connection request has been rejected by the application. See Rejection Codes in the Access Control guide.
- PR #1194: Added new rejection reason: on timeout. See
SRT_REJ_TIMEOUT
in API-functions.md. - PR #1283: Extended SRT statistics with pktSentUniqueTotal, pktRecvUniqueTotal. Statistics documentation now has a summary table for better navigation.
- PR #1024: Added srt_getversion() API function.
- PR #1510: Moved socket options documentation to a separate file APISocketOptions.md. It now has a summary table for better navigation.
- PR #1536: Socket options SRTO_INPUTBW and SRTO_OHEADBW are now readable.
- PR #1440: The logging functionality has been improved by means of defining new and more fine-grained Functional Areas (FA) to which log messages are assigned. This is done to prevent too many debug log messages from the library influencing performance with the debug logging turned on.
Fixed Issues
- PR #1500: Fixed bug: finding the listener's muxer only by port number was wrong.
- PR #1480: Fixed wrong reject reason on async connect.
- PR #1359: Fixed
CSndLossList::insert
with negative offset. - PR #1381: Fixed default binding for IPv6-target rendezvous.
- PR #1417: Fixed HS TSBPD flags check.
- PR #1431: Improved
CRcvLossList
protection from concurrent access. - PR #1388: Fixed error reporting on connect/accept.
- PR #1355: Correctly handle IPv4 connections on IPv6 listener.
- PR #1348: Fixed Moving Average for receiver and sender buffers. Also PR #1289.
- PR #1335: Protecting RCV buffer access.
- PR #1333: Fixed local storage depleted issue #486.
- PR #1332: Fixed restrictions on pre-bind only options.
- PR #1136: Avoid reporting packets rebuilt by FEC as lost.
- PR #1148: Improved inserting a serial element into sender's loss list.
- PR #1079: Fixed handling of stale loss report.
- PR #1078: Fixed closing the crypto control.
- PR #1067: Added CSync class as a high-level CV wrapper.
- PR #1077: Renamed legacy
UDT_EPOLL_*
symbols. - PR #1045: Eliminated ref_t. Some more convention fixes.
- PR #1010: Crypto: Reset the passphrase in memory on close for security reasons.
Deprecated or Renamed
- Removed deprecated socket options:
SRTO_TWOWAYDATA
,SRTO_TSBPDMAXLAG
,SRTO_CC
,SRTO_MAXMSG
,SRTO_MSGTTL
,SRTO_SNDPBKEYLEN
,SRTO_RCVPBKEYLEN
. - Removed deprecated option names:
SRTO_SMOOTHER
(useSRTO_CONGESTION
),SRTO_STRICTENC
(useSRTO_ENFORCEDENCRYPTION
),SRTO_TSBPDDELAY
(useSRTO_LATENCY
).
See PR #1364 for details.
Changelog
Click to expand/collapse
Core Functionality
c4e2106 Fixed ambiguous this_thread (#1572)
39916e0 Marked bonding experimental (#1563)
47216f3 Set default stability timeout to 80ms (#1565)
a263f89 Changed the IPE error message. epoll_remove nonexisting socket is not an IPE, as this function is used in API
77fe606 Removed SRTO_ESTINPUTBW (#1561)
6e7520b Changed priority rule to higher preferred. Set uint16_t as weight type. (#1550)
4100835 Fixed filling group data, now done by a common procedure (#1553)
eeddc4c Added UPDATE event raised when a member connection broken (#1509)
c576662 Not adding socket to group when address buffer is not set (#1544)
e756477 Added connection callback, called when the async connection succeeds or fails (#1487)
ac0cfdb Added SRTO_ESTINPUTBW option to get estimated input bitrate
bb29302 Made SRTO_INPUTBW and SRTO_OHEADBW readable
9953e9f Backup link selection to crop-active improved to find oldest active (#1473)
a95a6a4 Restored THREAD_PAUSED/THREAD_RESUMED macros for application specific thread watchdog. (#1534)
889085e Added retrieving weight setting in group data (#1529)
af33637 prevent socket fd leaks to child processes (#1465)
5469cd3 Fixed bug: if all group connection failed, E epoll event should be set on the group (#1527).
633da74 Fixed some problems in group code found during review (#1505)
6383693 Added length type wrapper in sockaddr_any for convenience. (#1492)
333d34f Fixed bug: finding listener's muxer by port is wrong (#1500)
6309f3e Moved socket group code to separate files (#1483)
de938bd Created fine-grained logging FA definitions (#1496)
3ad4518 A workaround for pthread_cancel on Android
29a8195 Fixed bug: write back actual sending time if no source time supplied (#1497)
87df928 Fixed bug: listener callback was changing SRTO_GROUPCONNECT option. (#1491)
98e86d1 High level logger FA definitions (#1440)
b631276 Fixed bug: merged update/add_usock. usock didn't regard the groups. (#1485)
cbe2503 Improved broken member link detection (#1474)
ea78da7 Fixed bug: check for IPv4 ONLY if BindToDevice is requested (#1482)
4aa6fbb Fixed wrong reject reason on async connect (#1480)
45c727d Fixed error handling in group connect (#1456)
94fb6df Added SRTO_BINDTODEVICE option (#1203).
907d1cc Removed remaining calls to SockaddrToString
c8eded9 Using sockaddr_any::str() instead of SockaddrToString(sockaddr_any&)
22dbf01 Set the remote address in the group member data for an accepted member socket (#1467)
c528488 Completed the list of per-member socket options (#1470)
7790171 Fix CSndLossList::insert with negative offset (#1359)
7e4554f Fixed fallback for memory allocation errors (#1459)
19f8b80 Minor changes to C++11 and posix sync (#1379)
06d3c75 Split-off POSIX sync version into a separate file (#1455)
931aae0 Fix the activation and stability check criteria (#1449)
c88ff88 Added proper error handling around sync resources (#1393)
cebb67e Pre-initialization of ISN for the group before connecting any socket (#1438)
f204c2c Update group member status basing on packet type (#1448)
4dcfa5d Added Drift Tracer socket option
e4ec8dc Reordered socket/eid removal on unsubscription (#1390)
b0c1520 Renamed SRTO_RETRANSMISSSION_ALGORITHM (#1439)
2f29eaa Fixed removing sockets from group members' rolled list after parallelly closed. (#1436)
72ba33e Fixed data usage in a logging instruction that contradicts the condition (#1426)
5ac3c0c Fixed default binding for IPv6-target rendezvous. (#1381)
088962b Fixed HS tbbpd flags check (#1417)
152cff9 Improved CRcvLossList protection from concurrent access (#1431)
3c334a0 Fixed error reporting on connect/accept. (#1388)
d2f0e8a Fixed wrong filling group data (#1412)
7ae4ba7 Replaced CGuard with corresponding lock (#1418):
b229e8a Fixed missing break after case
d2d8f34 Added smarter retransmission algorithm
589663f Default init duration. The default constructor does not set the value to 0.
19e5a22 Fixed duplicated variable name. Local variable len hides a parameter of the same name.
502bf3c Fixed static check warning. Result may overflow before it is converted to 64-bit integer.
89902fb Added null-check for buffer extraction procedure (#1391)
ee870de Fixed incorrect error check in fillGroupData (#1410).
18ede16 Fixed epoll edge triggered update event (#1407).
9654eb6 Fixed some typos in comments (#1399)
dc483ec Removed srt4udt.h and moved config items to CMake (#1386)
d6adfdb using the void keyword in function declaration
0e2201a Removed deprecated features from SRT C API (#1364)
6c1a591 Added SRT time API
4192a90 Converted srctime to int64_t from uint64_t
0e735e8 Applied clang-format on list.h and list.cpp
22247bb Renamed CSndLossList::remove() to removeUpTo(..)
47fe4eb Added access control public header file. (#1300)
ef28814 Moved extra C++ API to srt namespace (#1366)
6c847ba Fixed the use of SRT_NO_DEPRECATED (#1365)
d586c7f Correctly handle IPv4 connections on IPv6 listener (#1355)
d6fc3d8 Use the provided source time check in sender
d325514 Improved sockaddr_any to communicate with more system functions (#1356)
a78a999 Added round_val(double) function
ad0037c Calculate buffer MAvg with doubles instead of ints
37acb29 Shared moving average calc for RCV and SND buffers. Fixes #1272
0719045 Fixed bug in main backup: fixing seq on activation in rel mode (#1349)
79c11be Clang format on buffer.cpp
580d899 Minor fix of implicit conversion from int64_t to double
f0f1201 Removed triggerEvents from all cases but after readiness update (#1341)
a0994d1 Fixed restrictions on pre-bind only options
903e023 Protecting RCV buffer access (#1335)
e03dbc6 Added configuration object to group connection structure (#1314)
866ee17 Removed _[A-Z] identifiers (#1328)
238ed7e Fixed error handling for group connections
b8120b3 Fix for the indention
cd108bd remove the unneeded pointer check
76eb5b8 Fixed CUnitQueue::getNextAvailUnit(..) Refers to issue #486 getting available unit to receive a packet
db716aa CUnitQueue: get size and capacity
03a591b Fixed the new error reporting from a member connection (#1327)
49f5ec6 Added cast_optval template function (#1256)
6ecfaee Reworked the structures for config and status for groups (#1326)
a54fa41 Thread-name stub for non-naming platforms (#1259)
312578d Fixed: prevent calling swait on an empty epoll (#1317)
8e8a12b Added fixes to prevent crash when close-and-pack (#1315)
93a16a5 Added set_ prefix to write property accessors (#1319)
7315e92 Removed double underscore in custom identifiers (#1320)
590cb58 Fixed sync C++11 duration from (#1307)
34e415e Added group support for stats probing (#1303)
3979f83 Fixed MAVG msRcvBuf and msSndBuf (#1289)
01f05a1 Added SRTO_GROUPTYPE socket option (#1294)
0a694a7 srt_group_data(..) sets group size (#1222)
ed33cc4 Fixed comments for unique stats in srt.h
fec9b83 Added more info to TSBPD and mem logs
659693a Fixed drift histogram
9b6b124 Customizable reject reason code (#1291)
5ffcd7c Added timeout reject reason. (#1194)
c0690da Fixed MinGW warnings (#1288)
744d3cc Implemented new Group handshake extension format (#1285)
b081e92 Fixed C++11 build (win) (#1281)
15cd807 Added lacking setting back of the size (#1284)
32134d2 Added unique send/receive stats (#1283)
6ba37fd Fixed not-read-ready case in srt-live-transmit (#1278)
4538740 Fixed disbinding order of epoll and socket/group (#1127)
d1288ec Demoted too heavy error logs into warnings (#1271)
8dec818 Renamed USE_STDCXX_CHRONO to ENABLE_STDCXX_SYNC
4890d23 C++11 version of sync module
2cdc4d2 Minor adjustments for sync timing compliance (#1269)
7cc7da5 Thread-local error for C++11 and pthreads (#1244)
ee5ce47 Minor fixes of static analyzer errors reported by SonarCloud
d38d7e2 Use APIError in more places
b0cb857 Renamed priority to weight. Extra checks at srt_group_data. (#1254)
91c9ada Fixed: copy whole size of the block of a HS extension (#1249)
c26933a Replaced single-pass while with if (#1240)
55034d2 Added sync::CThread wrapper
3279bba CGlobEvent hides g_Sync
c09ff38 Fixed bug: setting broken flag too early.
689bd7c Fixed correct usage of next-exp in extension loop.
9f7d93b srt_rendezvous(..): removed local-remote port check
4b38161 Changed HS Extension Group value to 8
0c5c379 Fixed srt_rendezvous() returns value
1a81827 Added constants for "trap" representations for msgno and seqno (#1197)
7fda365 Bugfixes for balancing groups (#1190)
6598a13 All CVs are now monotonic if enabled
ee0efb5 Replaced CTimer with new CTimer
6edebec Fixed bug msgno -1. Applied const to getTopMsg
c258f80 BALANCING GROUPS: prefax and utilities
6e435c0 BACKUP GROUPS: Implementation (#1178)
e4d479b Redesigned SRTO_GROUPCONNECT option. (#1150)
10d31bf Introducing sync::CEvent (#1149)
978c46c Added srt_getversion() API function
a52a22f Added accept_bond function for multi-listener accept-waiting (#1153)
ef3ae72 BACKUP GROUPS: refactoring changes (#1167)
6fa2545 Fixed wrong order flag in FEC rebuilts.
d2dfb7c Avoid reporting packets rebuilt by FEC as lost.
8601382 Added ability to specify ET and NOET epoll event in one call (#1151)
c3591c4 Fixed remaining wrong uses of sequence numbers (#1155)
93d7601 Improve insert serial element
57bc0b2 Minor refactoring of CSndLossList::insert
1d7b391 Bugfix: ISN override with 0 (#1145)
e792f0a Changed group API: source per site can be specified (#1137)
7ea1776 Changed log level to heavy in CChannel::sendto
27bd609 Added implementation for broadcast groups (#1124)
ded3434 Added lacking includes to packetfilter_api.h (#1128)
b41749d Handshake and internal processing for socket groups (#1119)
6783aa7 API injections for socket groups (#1115)
4d2865e Minor: pulled processCtrlLossReport() func out of the bigger processCtrl() function
2e25c45 Internal structures and basic management for socket groups (#1109)
0621f6e Applied clang-format to list.cpp
4592a44 Renamed CSndLossList and CRcvLossList members.
9982370 Minor: added consts to EventVariant
8cc579c Complementary changes for socket groups lay-ground (#1083)
55940c6 Removed an unnecessary null pointer check (#1110)
819041a Minor refactoring for pre-group lay-ground (#1106)
44d9486 Added enhanced allocation functions for CPacket (#1107)
d9efe2f Fixed catching exception by value
fc2213b Replaced pthread CVs to CCondVar wrapper
f360b24 Added CCondVar Condition variable wrapper class
500cac2 Added steady_clock typedef to CUDT Minor refactoring
39fa861 Moved tsbpd state setting to correct place (#1100)
eee6628 Use -1 as no-forced-isn (#1099)
565a911 Added assert to CSndLossList::popLostSeq() to confirm that empty list has the head position equal to -1
8c97c83 Added CSndLossList::updateElement()
90d6bbc Added CSndLossList::coalesce(...)
4f706b6 Added CSndLossList::insertHead(..) function
b908304 Changes in the buffer classes (bonding) (#1095)
2689d9a Added circular buffer and tests (#1094)
b8c70ec Epoll improvements for upcoming socket groups (#1086)
c59d413 Complementary timeout bugfix for #1057 (#1085)
4700f21 Fixed rexmit packet time Issue introduced by PR #929
0bb830e Added enhancement to API functions (#1075)
4f41130 A new way of socket ID generation (#1076)
712119f Fixed: incorrect waiting timeout in send/receive functions (#1057)
3923aa2 Short function replacements (#1074)
a080a3f Minor refactoring needed for socket groups (#1071)
617fb80 Fixed handling of stale loss report (#1079)
c0dcd8b Bugfix: close the crypto under correct conditions
47b2553 Added CSync class as high level CV wrapper (#1067)
166253d Renamed legacy UDT_EPOLL_* symbols (#1077)
68a9788 Update srt4udt.h
c6c29f8 Eliminated ref_t. Some more convention fixes (#1045)
f343c80 Major! Added mutex wrapper class
440a60a Replaced CTimer::sleep()
a3e3aa6 Renamed CRcvQueue::m_PassLock and m_PassCond to m_BufferLock and m_BufferCond
89cdbf3 Added duration formatting and example usage (#1062)
81216d0 Remove side effects from operands. The right-hand operands of && and
1b8bda9 Removed unnecessary condition check
ce07720 Fixed STON definition: removed size_t
eef66e5 Family-independent sockets (#1017)
fdb20ff Merge pull request #1052 from ethouris/dev-fix-timeout-watchdog
872f8f8 Corrected reacording of the right time
c052c3b Restore mistakenly removed connection watchdog timer in control packets
98eccc9 Renamed CUDTUnited::m_ControlLock
42e4e43 Fixed next send time (CSndUList)
c480159 Enhancement in utilities (#1013)
439e3f7 Fixed busy waiting build
8a44c9d Fixing monotonic clock usage
3b7302d Fixed warning "catching polymorphic type by value"
7b515e7 Fixed CBytePerfMon typedef in udt.h
f0d1074 Pragma once in sync.h insured with #ifndef
2e85c8e Minor fix of the debug function CRcvBuffer::readMsgHeavyLogging(...)
3ac83b2 Cleanup: removed srt::sync from core.cpp
24858ec Fixed sync duration from int64_t Fixes #1033
0f23a53 Fixes for CUDTException class. (#1023)
8bc7398 Fixed frequency of timers checking Microseconds were wrongfully treated as milliseconds.
2b480a2 Fixed: attribute syntax for C++11 and higher (#1027)
66a64c2 Fixed initialization in LogConfig (#1022)
5d59202 Major! Steady clock is now used everywhere.
51782ac Added fixes for assignment copy compliance
1e05b5a Improvements and fixes in sockaddr_any (#1006)
0a27cdb Added checks around CC (#1011)
e55ce4a Crypto: Reset the passphrase in memory on close for security reasons
6aff9ea Deleted srtcore/ATTIC/ccc files (not used)
517cc63 Made order in includes
9dbd817 Short Functions: freeUnitAt, shift. Minor log improvements and refax. (#1003)
579cfb6 htonl and ntohl moved to CPacket
d279fb2 Delete hcrypt_xpt_sta.c. It has no usage in SRT.
Unit Tests
4e2ae60 Refax of TestEnforcedEncryption to keep on the stable results (#1535)
614695e CMuxer behavior with IPv4 and IPv6 listeners bound to the same port number (#1508)
9d552bf Added fixes for failing tests (#1498)
a043ba4 Added Ubuntu and MacOS C++11 CI builds
3af5bdc Added explicit braces to avoid ambiguous else
dcf7e3c Added thread state check in TestConnection.Multiple (#1389)
c2bc705 Handle spurious wake up in WaitFor test.
941b914 Avoid fail of WaitForTwoNotifyOne on Win.
a29ce3b Added a fast-connect-and-close unit test (#1323)
f923683 SndLossList: expect result from insert
ebe4e74 Added tests for CUnitQueue Covers some issues related to Local storage depleted issue #486
ba8f63b Listener callback without encryption
4c71d90 Fixed tests when ENABLE_STDCXX_SYNC=ON
acb4c87 Sync FormatTime test enabled on MacOS
db097fa Added file transmission test (#1238)
978731c Increased connection timeout tolerance from 500 +/- 50 ms to 500 +/- 80 ms
ba879a7 Fixing enforced enc tests B2-B4 (#1161)
7b62251 Added some CSndLossList tests InsertPopTwoSerialElems InsertCoalesce
f2ad874 Fixed enforced ENC blocking mode test
4efb129 Added CSndLossList tests The following tests are failing due to #1000
f9202c0 Added new test for epoll (#923)
7845bc4 Updated sync tests by using sync::Mutex
314d26c Added test for monotonic clock
7c410ea Added SyncDuration.DurationFrom test
8519cb6 Tests for sync timers
Build Scripts (CMake, etc.)
f0a712a Bump version to 1.4.2
8003749 Added ENABLE_SOCK_CLOEXEC build option enabled by default (#1562).
065fd9c Changed generation of the SRT header file FA section (#1495)
8ba040e Travis build with make -j$(nproc). (#1454)
73c6b37 Travis: Build with ninja instead of make on Linux (#981)
8b87d19 Fixed Linux build with STDCXX SYNC enabled
2f75c33 add -h short option support
e449d32 Added support for conditionals in MAF syntax (#1392)
10ed37b Merged pull request #1373 (fixed CMake build)
e2b0032 Added .vscode to gitignore
ef2f129 Merge branch #1373
f778995 Fixed call error for utility-test. Added enforced C++11 when C++11-sync
8b689a7 Fixed setting C++ std for uriparser-test
3e87ca1 Appveyor vs2019 static ssl fix (#1346)
696bf4e Fixed unhandled C++03 with cmake
1a5fc35 Wrong arguments used on target name in srt_set_stdcxx
d237b56 Fixed C++ standard with old cmake and syntax specification
99d7e73 Fixed support for configurable C++ standard (#1363)
2fd5c0d Add C++11 Windows build to GitHub Actions CI
c811d77 Added C++11 Build Option
106bead Broaden Darwin check to include iOS, tvOS and watchOS (#1241)
2c5c544 Fix GTest include dirs (#1217)
98d2991 Enable brew update with TravisCI macOS builds as a workaround to a TravisCI issue
3623d47 Fixed handling of WITH_COMPILER_TYPE (#958)
ee06fa2 Removed HAICRYPT_API definition
60ae023 HaiCrypt exports deleted from cmake
489d75f Fixed attributes for C++11 - before test on Mac and Windows
7bf96c7 Fixed cmake system name Android
bbd3d55 Removed haicrypt_virtual. CMake has problem with empty targets
fe7bcd9 Added MONOTONIC_CLOCK Travis build
a004d4a Fixed CRYSPR test build with ENABLE_ENCRYPTION=OFF
579bb76 clang format short func alignment AllowShortBlocksOnASingleLine.
f35744b Added SonarCloud integration
dffe656 Added .clang-format file
e3440ff Fixed build break
Sample Applications
2641221 Created changelog generator script for release notes (#1554)
81199ac Fixed stransmit processing a socket twice
c9742e7 Added verbose to file option (#1530)
a3f2833 Fixed crash by having destructor but not copy rules in srt-test-live (#1528)
935ee33 Test app fixed group parameter handling (#1516)
3539fb0 Added absolute time in CSV stats of srt-live-transmit (#1489)
4b82ef4 Fixed wrong use of sockaddr_any in apps (#1453)
495eff4 Fixed TCP ::connect for macOS
211f905 use the correct length for bind
ff878d1 Added buffering command-line option to srt-live-transmit (#1427).
62cdcbb Added source time to sample apps (#1422).
1f73150 Fixed epoll-waiting for accept to the right place - in srt-test-live
(#1428)
59f617f Added support for timestamp passing to SRT target in srt-test-live (#1406)
742e2f1 Fixed IPv6 handling in srt-live-transmit (#1372)
92abcd6 Replaced CreateAddrInet with CreateAddr that handles IPv6 (#1360)
0aa49c7 Added support for IPv6 in UriParser (#1358)
b661b48 Fixed bug in srt-file-transmit: setting transtype=file at the right place (#1334)
1674dbf Fixed: exit when media creation failed (#1329)
77fada8 Fixed a typo in examples (#1330)
24ce1ae LUA Dissector: Add methods to parse SRT_CMD_FILTER and SRT_CMD_GROUP (#1325)
e6f2c62 Lua dissector: Fixed the error parsing stream ID and extension fields (#1304)
b629e44 Added support for the new group API (#1286)
def5ace Fixed suflip app as example. Fixes #1227 (#1280)
346175c LUA SRT dissector for wireshark (#1206)
b7be08e Fixed invalid default caller mode for group connections (#1248)
6bbac22 Fixed rendezvous handling in SRT pre-configure (#1198)
a4ff6ab Fixed tunnel bug: hangup when killing a dead tunnel (#1228)
e63b77d Handle properly LOG FA specification in the app (#1187)
46e859a Fixed typos "exitting"
3ce49d0 BACKUP GROUPS: applications (#1179)
5ef0056 Added SRT library version in help
57c2088 Added examples for bonding (#1143)
c385249 Added multipoint-bonding testing application (#1146)
8011324 Added rcvbuf and sndbuf UDP socket options
3c8da2c Application support for socket groups (testing app only) (#1139)
41b394c Fixed wrong variadic type detection (#1135)
a1dc1b2 Fixed <*> case handling in helptext-type-parser and -opt:val case (#1133)
1c9f2ef Removed excessive break statements
808d86b Application improvements (#1014)
acd703f Added binding a socket used for multicast to the adapter address, if adapter was specified (#970)
c2e3fa6 Moved some functions to apputil.cpp file
Documentation
c0f11c8 Fixed the 'since v1.5.0' field in the docs (#1567)
122df96 Minor updates to Developers' Guide (#1555)
405a8ce Updated information about usage of UPDATE flag (#1558)
59b1a20 Updated documentation for SRT_EPOLL_UPDATE (#1556)
93bd416 Fixed SRTO_RETRANSMITALGO type to int32_t
4ee1780 Added modified API.md and new APISocketOptions.md (#1510)
5c21170 Added URI query option drifttracer
a755d8f Added documentation for generated files (#1494)
4b1935a stransmit: listed URI-mapped socket options
3f11506 stransmit: Fixed formatting
6a28da9 Created the Developer's guide (#1475)
055375a Fixed after .status was renamed to .sockstate (#1463)
3007edd Added SRTO_DRIFTTRACER option
c05a78c Access control guidelines: reserve single-character keys (#1421)
aee2c20 Fixed and completed type information for socket options (#1385)
2cb4bdf Added SRTO_RETRANSMISSION_ALGORITHM socket option
cb4b067 Replaced CreateAddrInet with CreateAddr (#1408)
2a7fa31 Introduced groups statistics for Connection Bonding (#1295)
2b3934d Added SRT Time API to docs
86fae29 Added documentation for some lacking build options
220699a Updated docs regarding source time
f649224 Updated documentation about group configuration and status functions (#1339)
a15bed2 srt_bstats() -> srt_bistats()
c623090 Remove the duplicate field
96d9731 Updated Windows build instructions (#1312)
703d08a Improved drop stats docs (#1298)
82f79b8 Fixed typos in doc sources (#1316)
e7adb3f Added cookbook and RFC to README
9f7068d Minor fixes to pktSentUniqueTotal, pktRecvUniqueTotal statistics (#1296)
7cf736f Introduced pktSentUnique, pktRecvUnique socket statistics (#1263)
f573c59 Fixed FEC URI example usage of "packetfiler". (#1290)
603a34d Added a note on UDP buffer size in srt-live-transmit (#1239)
ebfc612 Fixed -s option desc of srt-live-transmit (#1247)
37d9539 Added supplement information for packetfilter option (#1230)
48a14cf Revised accumulated statistics, added summary table (#1216)
6fa2f72 Minor fix of srt-live-transmit doc (rendezvous)
1a569ab Fixed typos "permon -> Performance monitor" (#1205)
727bb9f Add returned values of srt_rendezvous() and srt_connect_bind()
7ceb6f9 BACKUP GROUPS: documentation (#1169)
847994a Added a note regarding accept time and failing accept-timeout tests (#1160)
935e931 Fixing bonding intro doc (#1157)
bee3eb8 Added srt_getversion() API documentation
f00086d Added short doc about bonding (#1117)
3dd5b75 Updated documentation for SRT bonding (#1123)
3a696ec Renamed stransmit.md->srt-live-transmit.md
040b324 Updated stransmit.md
d60a758 Deleted pthreads as git submodule Updated build instructions in readme accordingly
763cc98 Removed recommendation for SO_SNDBUF exposed option (#1065)