Skip to content

Latest commit

 

History

History
1357 lines (1181 loc) · 91.4 KB

CHANGELOG.md

File metadata and controls

1357 lines (1181 loc) · 91.4 KB

libre Changelog

All notable changes to libre will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[v3.15.0] - 2024-08-28

What's Changed

  • misc: remove HAVE_INET6 by @sreimers in #1159
  • dns/rr: fix dns_rr_print underflow by @sreimers in #1162
  • test/async: remove AI_ADDRCONFIG by @sreimers in #1165
  • retest: update usage message by @robert-scheck in #1166
  • add filter_registrar option by @maximilianfridrich in #1160
  • sa: add utility function to check if address is multicast by @cmfitch1 in #1168
  • tls/sni: skip SNI check if we are client or server_name absent by @maximilianfridrich in #1169
  • tls/sni: do not enable client verification when SNI matching is done by @maximilianfridrich in #1172
  • dd: Dependency Descriptor RTP header extension by @alfredh in #1170
  • aubuf: add AUBUF_TRACE mode with id by @sreimers in #1174
  • sip/transp: add client certificate to all TLS transports by @maximilianfridrich in #1173
  • tmr: add TMR_INIT by @sreimers in #1177
  • sipsess/reply: fix heap-use-after-free bug by @sreimers in #1179
  • version 3.15.0 by @alfredh in #1180

New Contributors

  • @cmfitch1 made their first contribution in #1168

Full Changelog: https://github.com/baresip/re/compare/v3.14.0...v3.15.0

[v3.14.0] - 2024-07-23

What's Changed

  • aumix: use mutex_alloc() by @alfredh in #1142
  • sipreg/reg.c: stop retrying registers early after 401/407 by @maximilianfridrich in #1143
  • aumix: add locking in aumix_source_count() by @alfredh in #1145
  • test: init err in test_sip_auth_encode() by @alfredh in #1146
  • sipreg: refactor response_handler else optimization by @sreimers in #1147
  • vidmix: improve mutex usage by @alfredh in #1148
  • udp/mcast: use group scopeid as interface for IPv6 by @maximilianfridrich in #1149
  • .clangd: suppress -Wgnu-zero-variadic-macro-arguments by @maximilianfridrich in #1150
  • ci/build: use only macos-latest by @sreimers in #1153
  • cmake: fix resolv on FreeBSD by @sreimers in #1152
  • test: use h264_stap_decode_annexb() by @alfredh in #1151
  • sipsess/reply: terminate session if no (PR)ACK received after 64*T1 by @maximilianfridrich in #1155
  • rtcp: send BYE manually by @alfredh in #1154
  • cmake: check accept4 only on linux by @sreimers in #1157
  • cmake: fix iOS HAVE_ROUTE_LIST and darwin dns by @sreimers in #1158
  • test: check if header and payload is set by @alfredh in #1161

Full Changelog: https://github.com/baresip/re/compare/v3.13.0...v3.14.0

[v3.13.0] - 2024-06-19

What's Changed

  • http/client: use dynamically sized buffers for PEM setters by @maximilianfridrich in #1117
  • tls: allow secure TLS renegotiation by @maximilianfridrich in #1121
  • tls: always enable USE_OPENSSL_SRTP by @alfredh in #1122
  • main: remove call to openssl init by @alfredh in #1120
  • sip/transp: Allow ACK w/o Max-Forwards header by @juha-h in #1124
  • net: remove NET_ADDRSTRLEN by @alfredh in #1123
  • ci/ios: increase min deployment target by @sreimers in #1126
  • tls/http: add certificate chain setters by @maximilianfridrich in #1125
  • sipsess/connect: set sess->established immediately on 200 receival by @maximilianfridrich in #1128
  • test/cmake: add crypt32 linking for WIN32 by @sreimers in #1130
  • ci/sanitizers: use clang-17 by @sreimers in #1131
  • ci/sanitizer: add undefined behavior sanitizer by @sreimers in #1132
  • sip: verify call-id, to-tag, cseq of INVITE response by @maximilianfridrich in #1129
  • ci: remove one unneeded directory change by @alfredh in #1134
  • test: change GENERATOR_SSRC from define to type by @alfredh in #1133
  • tls: refactoring SNI ctx usage for libressl support by @sreimers in #1136
  • test: add test_rtcp_loop() by @alfredh in #1137
  • ci/coverage: increase min coverage by @sreimers in #1138
  • ci/coverage: use json summary and upload html details by @sreimers in #1139
  • sip: add host param to sip_send_conn by @sreimers in #1141

Full Changelog: https://github.com/baresip/re/compare/v3.12.0...v3.13.0

[v3.12.0] - 2024-05-15

What's Changed

  • cmake: fix static library build (vcpkg) by @alfredh in #1096
  • h264: add STAP-A decode with long startcodes by @alfredh in #1101
  • sess,request: deref request and ctrans immediately by @maximilianfridrich in #1099
  • ua: enforce magic cookie in Via branch by @maximilianfridrich in #1102
  • sip/auth: SHA-256 digest algorithm support by @sreimers in #1103
  • ci/coverage: increase min. coverage by @sreimers in #1106
  • rtp: fix correct logging text by @alfredh in #1109
  • types: fix RE_ARG_SIZE gcc bit fields by @sreimers in #1110
  • fmt: use re_fprintf instead of DEBUG_WARNING to avoid deadlock by @alfredh in #1112
  • dbg: remove support for logfile by @alfredh in #1111
  • test: add usage of rtcp_msg_print() by @alfredh in #1105
  • http/client: add setter to disable tls server verification by @maximilianfridrich in #1114
  • dbg: mutex should be unlocked while calling print handler by @alfredh in #1113
  • Update README.md by @alfredh in #1115
  • http/request: reset body mbuf pos on re-sending by @maximilianfridrich in #1116
  • bump version by @alfredh in #1118
  • cmake: bump soversion by @alfredh in #1119

Full Changelog: https://github.com/baresip/re/compare/v3.11.0...v3.12.0

[v3.11.0] - 2024-04-09

What's Changed

  • ci/clang-analyze: bump clang version and fix status-bugs by @sreimers in #1079
  • main: Flush list of deleted fhs on fd_poll errors by @Lastique in #1081
  • main: Use slist for fhs delete list. by @Lastique in #1082
  • http/server: fix wrong sizeof in verify_msg by @akscf in #1083
  • ci/sanitizers: add mmap rnd_bits workaround by @sreimers in #1086
  • rtcp: add printing of TWCC packet by @alfredh in #1084
  • include: add re_h264.h to re.h by @alfredh in #1087
  • sdp: add sdp media lattr apply function the same way as for rattr by @cHuberCoffee in #1089
  • av1: improve packetizer by @alfredh in #1088
  • test: minor H.264 improvements by @alfredh in #1090
  • tls: add session resumption setter by @maximilianfridrich in #1091
  • thread/posix: optimize handler and fix gcc arm32 warning by @sreimers in #1093
  • h264: fix for Annex-B bitstreams with 4-byte startcode by @alfredh in #1092
  • ci/arch: add armv7 check by @sreimers in #1085
  • main,httpauth: fix different from the declaration by @jobo-zt in #1095
  • httpauth: fix doxygen comment by @alfredh in #1097

New Contributors

  • @akscf made their first contribution in #1083

Full Changelog: https://github.com/baresip/re/compare/v3.10.0...v3.11.0

[v3.10.0] - 2024-03-06

What's Changed

  • transp: deref qent only if qentp is not set by @maximilianfridrich in #1061
  • sipsess: fix doxygen comments by @alfredh in #1062
  • aufile: fix doxygen comment by @alfredh in #1063
  • ci/codeql: bump action v3 by @sreimers in #1064
  • misc: text2pcap helpers (RTP/RTCP capturing) by @sreimers in #1065
  • ci/mingw: bump upload/download-artifact and cache versions by @sreimers in #1066
  • transp,tls: add TLS client verification by @maximilianfridrich in #1059
  • fmt/text2pcap: cleanup by @sreimers in #1067
  • ci/android: cache openssl build by @sreimers in #1068
  • ci/misc: fix double push/pull runs by @sreimers in #1069
  • fmt/text2pcap: fix coverity return value warning by @sreimers in #1070
  • sipsess/listen: improve glare handling by @maximilianfridrich in #1071
  • conf: add conf_get_i32 by @sreimers in #1072

Full Changelog: https://github.com/baresip/re/compare/v3.9.0...v3.10.0

[v3.9.0] - 2024-01-31

What's Changed

  • http: fix doxygen by @cspiel1 in #1033
  • types: remove old ARRAY_SIZE macro by @alfredh in #1034
  • cmake: bump minimum to version 3.14 by @alfredh in #1030
  • test: use re_is_aligned() by @alfredh in #1035
  • sipsess: refactor and simplify SDP negotiation state by @maximilianfridrich in #1016
  • bump year by @sreimers in #1038
  • cmake,pc: fix static library build by @alfredh in #1036
  • rx thread activate by @cspiel1 in #1037
  • test: fix cppcheck warnings by @alfredh in #1040
  • test: move test_rtcp_decode_badmsg() to separate testcase by @alfredh in #1041
  • rtp: lock more fields from rtcp_sess by @cspiel1 in #1039
  • rtp: lock rtcp_set_srate() by @cspiel1 in #1043
  • test: HAVE_INET6 is always defined by @alfredh in #1046
  • ci: add run-on-arch for ARM64 linux by @alfredh in #1045
  • httpauth: digest verification rfc 7616 by @cHuberCoffee in #1044
  • tmr: prevent race condition on cancel by @sreimers in #1048
  • aubuf: fix coverity defect by @alfredh in #1051
  • btrace: fix coverity warning by @alfredh in #1049
  • ci/win: downgrade openssl by @sreimers in #1054
  • docs: update README by @alfredh in #1053
  • http: client - set scopeid fixes HTTP requests for IPv6ll by @cspiel1 in #1055
  • rtp: add rtp_source_ prefix to RTP source api by @alfredh in #1052
  • rtp: make struct rtp_source public by @alfredh in #1057
  • rtp: sess - fix coverity warning by @cspiel1 in #1058
  • mk: bump version to 3.9.0 by @alfredh in #1060

Full Changelog: https://github.com/baresip/re/compare/v3.8.0...v3.9.0

[v3.8.0] - 2023-12-27

What's Changed

  • Update README.md by @alfredh in #1013
  • rem/aufile: aufile_get_length use aufmt_sample_size by @larsimmisch in #1011
  • rem/aufile: test and fix aufile_set_position nread by @larsimmisch in #1010
  • ci/ssl: bump assets release by @sreimers in #1014
  • readme: update supported openssl versions by @sreimers in #1015
  • ci: upgrade android to openssl 3.2.0 by @alfredh in #1017
  • sipsess/connect: don't create a dialog for 100 responses by @maximilianfridrich in #1018
  • aubuf: fix build with re_trace_event by @cspiel1 in #1019
  • trace: fix coverity warnings by @alfredh in #1024
  • aumix: fix coverity defect in destructor by @alfredh in #1025
  • main: fix doxygen comment by @alfredh in #1026
  • connect: do not enforce Contact header in 1XX responses with To tag by @maximilianfridrich in #1028
  • test/sipsess: test re-INVITE with wait for ACK by @cspiel1 in #1027
  • dialog: fix rtags of forking INVITE by @maximilianfridrich in #1023
  • cmake: add RE_LIBS config and add atomic check by @sreimers in #1029
  • ci: use actions/checkout@v4 by @robert-scheck in #1031

Full Changelog: https://github.com/baresip/re/compare/v3.7.0...v3.8.0

[v3.7.0] - 2023-11-06

What's Changed

  • trace: add id handling by @sreimers in #981
  • fmt/pl: add pl_alloc_str by @sreimers in #983
  • ci/freebsd: limit runtime to 20 mins by @sreimers in #985
  • Httpauth digest response by @cHuberCoffee in #944
  • dialog: REVERT fix rtags of forking INVITE with 100rel (#947) by @juha-h in #986
  • ice: AI_V4MAPPED doesn't exist on OpenBSD by @landryb in #989
  • test: call - add call on-hold/resume test by @cspiel1 in #990
  • async: fix re_async_cancel mqueue handling by @sreimers in #995
  • async: clear callback function pointer after use (#992) by @cspiel1 in #993
  • Update README.md: Fix link in section Examples. by @Wolf-SO in #991
  • ci/abi: bump version by @sreimers in #1000
  • rtp: make flag rtcp_mux atomic by @cspiel1 in #997
  • cmake,udp: improve QOS_FLOWID and PQOS_FLOWID detection by @sreimers in #1002
  • types: extend RE_ARG to 32 by @sreimers in #1003
  • sip/transp: add win32 local transport addr fallback by @sreimers in #1001
  • cmake/config: set HAVE_THREADS only if threads.h by @sreimers in #1005
  • ci/freebsd: update vmactions/freebsd-vm@v1 by @sreimers in #1006
  • Coverity httpauth fixes by @sreimers in #1007
  • rem/aufile: fix aufile_get_length calculations by @larsimmisch in #1008

New Contributors

  • @Wolf-SO made their first contribution in #991

Full Changelog: https://github.com/baresip/re/compare/v3.6.0...v3.7.0

[v3.6.2] - 2023-11-06

What's Changed

sip/transp: add win32 local transport addr fallback (fixes TCP/TLS register)

[v3.6.1] - 2023-11-03

What's Changed

ice: AI_V4MAPPED doesn't exist on OpenBSD #989 dialog: REVERT fix rtags of forking INVITE with 100rel (#947) #986 debian: fix version number

[v3.6.0] - 2023-10-17

What's Changed

  • ci/coverage: increase min. coverage by @sreimers in #958
  • Implement aufile_set_position by @larsimmisch in #943
  • dialog: fix rtags of forking INVITE with 100rel by @maximilianfridrich in #947
  • tls/alloc: set default min proto TLS 1.2 by @sreimers in #948
  • test: init err to 0 in sdp test (cppcheck) by @alfredh in #959
  • main: fd_listen fhs alloc rewrite by @sreimers in #805
  • Expand RE_BREAKPOINT macro on ARM64 by @larsimmisch in #961
  • jbuf: trace data for plot by @cspiel1 in #964
  • trace: use global trace log by @sreimers in #965
  • main: use ifdef for RE_TRACE_ENABLED by @sreimers in #966
  • test/hexdump: hide output by @sreimers in #968
  • trace: remove global default trace json by @sreimers in #969
  • ci/ssl: use tools repo and new assets by @sreimers in #972
  • fmt: doxygen correction in print.c by @cspiel1 in #973
  • trace: use only explicit RE_TRACE_ENABLED by cmake by @sreimers in #974
  • cmake: enable C11 for Windows (not MINGW) by @alfredh in #970
  • ci/coverage: lower min. coverage by @sreimers in #975
  • jbuf: move jbuf to baresip by @cspiel1 in #971
  • ci/coverage: improve coverage (enable trace) by @sreimers in #976
  • ci: bump [email protected] by @sreimers in #977
  • ice: mDNS refactoring by @sreimers in #934
  • trace: add flush worker and optimize memory usage by @sreimers in #967
  • rtp: fix video jitter calculation and add arrival time rtp header by @sreimers in #978
  • ci: remove DARWIN compile flag from iOS build by @alfredh in #979
  • thread: add trace thread name logging by @sreimers in #980
  • ci/coverage: reduce min. coverage by @sreimers in #982

Full Changelog: https://github.com/baresip/re/compare/v3.5.1...v3.6.0

[v3.5.1] - 2023-09-12

What's Changed

  • cmake: fix RELEASE definition for older cmake releases by @sreimers in #953
  • ci/build: add release build check by @sreimers in #954
  • cmake: fix definitions for older cmake by @sreimers in #955

Full Changelog: https://github.com/baresip/re/compare/v3.5.0...v3.5.1

[v3.5.0] - 2023-09-12

What's Changed

  • ci/sonar: update scanner and java version by @sreimers in #895
  • ci/sonar: fix java distribution by @sreimers in #897
  • udp: add doxygen comments by @alfredh in #896
  • tls: fix some doxygen warnings by @alfredh in #894
  • mk: add release target by @sreimers in #901
  • types: add re_assert and re_assert_se definition by @sreimers in #900
  • btrace improvements by @sreimers in #902
  • Safe RE_VA_ARG helpers by @sreimers in #758
  • mbuf: add safe mbuf_printf by @sreimers in #899
  • auth: cast time_t timestamp by @sreimers in #903
  • mbuf: add mbuf_write_ptr and mbuf_read_ptr by @sreimers in #898
  • ci/mingw: remove cmake workaround by @sreimers in #906
  • tls: assume OpenSSL version 1.1.1 or later by @alfredh in #907
  • cmake: cleanup, remove unused define USE_OPENSSL_DTLS by @alfredh in #908
  • test/turn: use mutex instead atomic by @sreimers in #909
  • stun: remove unused struct members by @alfredh in #910
  • stun: complete doxygen for struct by @alfredh in #912
  • tcp,udp: full IPv6 dual-stack socket support by @sreimers in #911
  • aufile: add methods to get size in bytes/length in ms by @larsimmisch in #913
  • async: signal ESHUTDOWN to all open worker callbacks by @sreimers in #915
  • dns/client: fix async getaddr query abort (not thread safe) by @sreimers in #914
  • async,dns/client: replace ESHUTDOWN with ECANCELED and optimize err handling by @sreimers in #918
  • sip: remove unused local variable by @cspiel1 in #920
  • dns/client: optimize udp timeout by @sreimers in #916
  • ice: add candidate sdp mdns support by @sreimers in #917
  • ice/icesdp: fix freeaddrinfo by @sreimers in #923
  • retest: fix format string in test_listcases for size_t argument by @cHuberCoffee in #922
  • httpauth: http digest challenge request using RFC 7616 by @cHuberCoffee in #919
  • types: fix RE_ARG_SIZE default argument promotions by @sreimers in #924
  • sip: fix TCP source port by @cspiel1 in #921
  • fmt/print: add 64-bit length modifier %Li, %Ld and %Lu by @sreimers in #905
  • fmt/print: improve print RE_VA_ARG debugging by @sreimers in #925
  • sip/request: fix check return code (found by coverity) by @sreimers in #926
  • httpauth/digest: use %L instead of PRI*64 macros by @sreimers in #927
  • types: add RE_ARG_SIZE struct pl (avoids wrong print fmt %r usage) by @sreimers in #928
  • dns/client: fix getaddrinfo err handling and mem_ref dnsc by @sreimers in #929
  • rtp/rtp_debug: fix printf size format by @sreimers in #933
  • main: optimize re_lock and re_unlock by @alfredh in #935
  • hexdump: fix format and add test by @alfredh in #936
  • test: fix bug in performance test format by @alfredh in #937
  • types: remove some duplicated error codes by @alfredh in #939
  • test: minor improvements in remain test by @alfredh in #931
  • dbg: remove unused functions by @sreimers in #941
  • cmake/re-config: add default CMAKE_BUILD_TYPE and fix RELEASE definition by @sreimers in #945

New Contributors

  • @larsimmisch made their first contribution in #913

Full Changelog: https://github.com/baresip/re/compare/v3.4.0...v3.5.0

[v3.4.0] - 2023-08-09

What's Changed

  • rtpext: uniform parameter name fixes doxygen warning by @cspiel1 in #868
  • mk: add rem to doxygen inputs by @cspiel1 in #869
  • vidmix: allow different pixel format by @sreimers in #864
  • ajb doxygen by @cspiel1 in #870
  • aes: correct parameters for stub by @cspiel1 in #872
  • ci/build: fail on cmake and compile warnings by @sreimers in #873
  • fmt: fix format string in fmt_timestamp() by @alfredh in #874
  • hmac,md5,sha: add mbedtls backend by @cspiel1 in #871
  • test: no need to rewind freshly allocated mbuf by @alfredh in #876
  • httpauth: basic challenge creation and verification functions by @cHuberCoffee in #875
  • Fix include of re_thread.h in re_tmr.h by @nielsavonds in #879
  • btrace: fix WIN32_LEAN_AND_MEAN macro redefine by @jobo-zt in #880
  • aumix: add record sum handler by @sreimers in #877
  • ci/win: disable x86 testing by @sreimers in #883
  • sipsess: allow UPDATE and INFO in early dialog by @maximilianfridrich in #878
  • prefix macro VERSION by @cspiel1 in #882
  • main: use HAVE_SIGNAL in init.c by @cspiel1 in #881
  • test: change to ASSERT_XXX macros, remove EXPECT_XXX macros by @alfredh in #885
  • fmt: handy functions for pointer-length objects by @cHuberCoffee in #884
  • test: add TWCC test from Chrome 114 packet by @alfredh in #886
  • sipsess/listen: Fix target_refresh_handler by @maximilianfridrich in #888
  • ci/mingw: downgrade cmake by @sreimers in #890
  • cmake: fix target include path for subdir projects by @sreimers in #891

New Contributors

  • @nielsavonds made their first contribution in #879
  • @jobo-zt made their first contribution in #880

Full Changelog: https://github.com/baresip/re/compare/v3.3.0...v3.4.0

[v3.3.0] - 2023-07-05

What's Changed

  • jbuf: use float ratio by @sreimers in #817
  • src: fix some typos by @alfredh in #828
  • jbuf: constant jbuf_put() by @cspiel1 in #821
  • ci/coverity: split up prepare and make steps by @sreimers in #832
  • vidmix: coverity fix by @alfredh in #830
  • sys/fs: fix fs_stdio_hide resource leak by @sreimers in #833
  • http: coverity fix by @alfredh in #834
  • avc: fix coverity by @alfredh in #835
  • sys: fix return value by @alfredh in #836
  • Do not automatically make new call when 3xx response is received by @juha-h in #829
  • sipreg: supports PNS custom contact URI by @codyit in #837
  • ci: add iOS platform by @alfredh in #838
  • ci/mingw: use cv2pdb for debug info conversion by @sreimers in #839
  • main: fix warning on Windows by @alfredh in #842
  • http: add compile-time check for USE_TLS by @alfredh in #841
  • test: check if USE_TLS is defined by @alfredh in #843
  • thread: fix WIN32 mingw warning by @sreimers in #844
  • src: fix doxygen warnings by @alfredh in #847
  • rtpext: add doxygen comments by @alfredh in #846
  • jbuf: enable old frame drop warnings by @sreimers in #848
  • md5: add support for native Windows Wincrypt API by @alfredh in #850
  • rtpext: add support for Two-Byte headers by @alfredh in #849
  • sha: add support for Windows native API by @alfredh in #851
  • cmake: change '-lm' to 'm' in LINKLIBS by @alfredh in #854
  • hmac: add support for native Windows API by @alfredh in #853
  • CI: Add support for building Windows ARM by @alfredh in #855
  • async: add work mutex handling by @sreimers in #857
  • SIP/TCP use source port for Via header by @cspiel1 in #824
  • sip: use TCP source port for Contact header by @cspiel1 in #858
  • cmake: remove obsolete $<INSTALL_INTERFACE:include for re-objs by @alfredh in #860
  • vidmix: always clear frames (avoid artifacts) by @sreimers in #861
  • http: use correct formatting %zu for size_t by @alfredh in #866

New Contributors

  • @codyit made their first contribution in #837

Full Changelog: https://github.com/baresip/re/compare/v3.2.0...v3.3.0

[v3.2.0] - 2023-05-31

What's Changed

  • btrace: add win32 support by @sreimers in #767
  • cmake,thread: OpenBSD support by @landryb in #773
  • main/init: add exception signal handlers by @sreimers in #765
  • ua: unescape incoming Refer-To header by @maximilianfridrich in #770
  • main: add debug boolean to re_thread_check() by @sreimers in #775
  • btrace: add addr2line handling by @sreimers in #764
  • cmake: add optional static and shared build options by @sreimers in #778
  • main/init: enable win32 signal handler by @sreimers in #779
  • uric/contact: fix display name and contact header uri escaping by @maximilianfridrich in #762
  • ci/analyze: update clang and use analyze-build by @sreimers in #781
  • main: use mtx_recursive by @sreimers in #782
  • test: fix printf formating by @alfredh in #783
  • main: add re_thread_enter/leave polling check by @sreimers in #784
  • main/init: remove ContextRecord->Rip (not available on all platforms) by @sreimers in #790
  • sipsess: fix RSeq header and rel_seq numbering by @maximilianfridrich in #796
  • websock: add proto support by @sreimers in #798
  • sip/transp: fix websock_accept proto by @sreimers in #800
  • sip/transp: remove unneeded websocket tcp tmr by @sreimers in #801
  • aubuf: activate overrun/underrun statistics by @cspiel1 in #803
  • cmake: add libre namespace export by @sreimers in #786
  • revert uri escaping commits by @maximilianfridrich in #802
  • jbuf: refactor frame calculation by @sreimers in #788
  • jbuf: frame fixes by @sreimers in #806
  • sip: add missing WS and WSS transport decoder for VIA headers by @pitti98 in #809
  • ice: Fix conncheck callback called multiple times by @pitti98 in #807
  • jbuf: JBUF_FIXED should also keep min wish size by @sreimers in #813
  • ci: compile choco openssl with --x86 for 32-bits by @alfredh in #814
  • jbuf: fix possible division by zero by @sreimers in #815
  • fix some cppcheck warnings by @alfredh in #816
  • test/ice: fix cppcheck by @sreimers in #818
  • tls/openssl: fix cppcheck warnings by @sreimers in #820
  • base64: fix cppcheck warnings by @sreimers in #819
  • main/init: fix upper signal handling by @sreimers in #822
  • include: fix some typos by @alfredh in #825

New Contributors

  • @landryb made their first contribution in #773
  • @pitti98 made their first contribution in #809

Full Changelog: https://github.com/baresip/re/compare/v3.1.0...v3.2.0

[v3.1.0] - 2023-04-27

What's Changed

  • ci: bump mingw openssl to 3.1.0 by @alfredh in #738
  • thread: add cnd_timedwait() by @sreimers in #736
  • Add tls and http apis for post handshake by @fAuernigg in #713
  • ci/sanitizers: add multi thread testing by @sreimers in #741
  • ci/win: use separate retest step by @sreimers in #742
  • thread: fix pthread_setname_np thread pointer deref by @sreimers in #744
  • ci: add FreeBSD test by @sreimers in #745
  • cmake: bump minimum version of OpenSSL to 1.1.1 by @alfredh in #746
  • ci: avoid hardcoded OpenSSL path on macOS by @robert-scheck in #747
  • sip,uri,test: Escape SIP URIs by @maximilianfridrich in #740
  • udp: add a lock for the helpers list by @cspiel1 in #732
  • rem/vidmix: add position index handling by @sreimers in #749
  • aubuf: set auframe fields correct in read_auframe loop by @cspiel1 in #750
  • list: refactor/optimize list_insert_sorted by @sreimers in #748
  • ci/freebsd: remove openssl-devel by @sreimers in #755
  • tmr: add tmr_continue() by @vanrein in #754
  • ci,cmake: replace C99 check by strict C99 and C11 checks by @sreimers in #759
  • atomic: Fix missing memory order arguments in MSVC atomic functions by @Lastique in #766
  • thread: remove win32 SetThreadDescription by @sreimers in #768

Full Changelog: https://github.com/baresip/re/compare/v3.0.0...v3.1.0


[v3.0.0] - 2023-03-20

What's Changed

  • main: allow poll_method change only before setup by @sreimers in #681
  • main: add more details to re_debug() by @alfredh in #689
  • merge rem into re by @alfredh in #683
  • tmr,main: thread safe tmr handling by @sreimers in #690
  • tmr,main: add tmrl_count by @sreimers in #694
  • main: add re_thread_async_main_id and re_thread_async_main_cancel by @sreimers in #697
  • merge retest into re by @alfredh in #695
  • tls: add doxygen comment to dtls_recv_packet() by @alfredh in #699
  • test: use TEST_ERR by @sreimers in #700
  • test: use TEST_ERR by @sreimers in #701
  • hmac: remove unused SHA_BLOCKSIZE by @alfredh in #703
  • async: fix cancel memory leaks by @sreimers in #705
  • ci: windows Debug/Release by @alfredh in #704
  • cmake: add extra source files for aes and hmac by @alfredh in #708
  • test: remove libpthread from LINKLIBS by @alfredh in #710
  • hmac: add stateless HMAC-SHA256 wrapper by @alfredh in #706
  • thread: add thread name handling by @sreimers in #709
  • ci: add support for Android by @alfredh in #707
  • test: fix convert C99 by @sreimers in #717
  • dbg: remove pre-C99 fallbacks by @sreimers in #718
  • test: remove CMAKE_C_STANDARD by @alfredh in #714
  • sdp/media: fix ccheck list_unlink warning by @sreimers in #715
  • jbuf: allocate mutex and lock also jbuf_debug() by @cspiel1 in #693
  • sys/fs: fix fs_fopen read only mode (should not create file) by @sreimers in #719
  • ci/ssl: update OpenSSL/LibreSSL by @sreimers in #720
  • http: fix read_file on win32 (wrong filesize) and use mbuf by @fAuernigg in #711
  • sys: add sys_getenv() by @sreimers in #721
  • rtp: Don't check RTCP socket if rtcp-mux is enabled by @Lastique in #723
  • tls: remove return statement that is not needed by @alfredh in #724
  • sha: add sha256_printf() by @alfredh in #725
  • cmake: add rem headers to install by @sreimers in #727
  • cmake: merge REM_HEADERS by @sreimers in #728
  • tls: set mbuf pos and end at the same time by @alfredh in #729
  • misc: add Makefile helpers and exclude retest from all target by @sreimers in #726
  • sa: add sa_struct_get_size() to check size by @alfredh in #730
  • rtcp: make rtcp_calc_rtt() public by @alfredh in #731
  • test: add HAVE_UNIXSOCK=0 support by @sreimers in #734
  • aubuf: set sample format when frame is read by @cspiel1 in #737

Full Changelog: https://github.com/baresip/re/compare/v2.12.0...v3.0.0


[v2.12.0] - 2023-02-15

What's Changed

  • tls: remove ifdef DTLS_CTRL_HANDLE_TIMEOUT by @alfredh in #634
  • cmake: increment required version by @cspiel1 in #642
  • dtls: add logging of DTLS packet content-type by @alfredh in #641
  • dtls: add single connection mode by @alfredh in #643
  • ice: reduce conncheck start timer by @alfredh in #640
  • async,main: make re_thread_async itself thread safe by @sreimers in #644
  • av1: remove old packetizer by @alfredh in #645
  • av1: fix chrome interop by @alfredh in #646
  • av1: minor cleanups by @alfredh in #649
  • trace: fix new json start by @sreimers in #648
  • make rtcp interval configureable by @sreimers in #650
  • sa: proposal to always enable struct sockaddr_in6 by @alfredh in #651
  • ci: rename ccheck to lint by @alfredh in #653
  • ci: extend coverage test with retest+select by @alfredh in #652
  • main: remove poll support by @sreimers in #654
  • ci: use Ninja as CMake generator by @alfredh in #656
  • ci/abi: fix abidiff paths by @sreimers in #657
  • PRACK refactoring by @maximilianfridrich in #630
  • types: add RE_ prefix to ARRAY_SIZE() by @alfredh in #658
  • cmake: add USE_TRACE option (default OFF) by @sreimers in #660
  • add re prefix by @alfredh in #659
  • tcp: add RE_TCP_BACKLOG by @sreimers in #661
  • Fix doxygen warnings by @alfredh in #662
  • mbuf: docs and setters/getters by @alfredh in #663
  • tcp,cmake: use accept4 if supported by @sreimers in #665
  • tcp: remove SO_LINGER socket option by @sreimers in #664
  • rtcp: update documentation by @alfredh in #666
  • tcp: check SO_ERROR only for active connections by @sreimers in #667
  • cmake: add HAVE_RESOLV by @sreimers in #668
  • hash: add hash_debug by @sreimers in #670
  • list: improve list_apply performance by @sreimers in #669
  • rtp: add doxygen comments by @alfredh in #671
  • rtp: extra dox for rtcp_encode by @alfredh in #672
  • ci: add thread and address sanitizer by @sreimers in #673
  • Do not change glibc feature selection macros in unsupported ways by @fweimer-rh in #674
  • auth: replace ETIME with ETIMEDOUT by @sreimers in #675
  • cmake: add min. OpenSSL 1.1.0 version requirement by @sreimers in #680
  • ci: fix flaky azure mirrors by @sreimers in #682
  • tls: remove obsolete openssl version check and fix libressl build by @cspiel1 in #679
  • ci/ssl: fix openssl root dir by @sreimers in #677
  • main: add re_thread_async_main for re_global only by @sreimers in #685
  • atomic: fix win32 atomic load const warnings by @sreimers in #688
  • atomic: fix __iso_volatile_load64 deref by @sreimers in #691
  • bump version numbers to 2.12.0 by @alfredh in #692

New Contributors

  • @fweimer-rh made their first contribution in #674

Full Changelog: https://github.com/baresip/re/compare/v2.11.0...v2.12.0


[v2.11.0] - 2023-01-11

What's Changed

  • net/types: move socket helpers and rename RE_ERRNO_SOCK and RE_BAD_SOCK by @sreimers in #608
  • sys: fix fileno warning by @alfredh in #612
  • tls: clear session callbacks in destructor by @cspiel1 in #611
  • tls: use long SSL state strings for logging by @cspiel1 in #613
  • tls: Set session only once before Client Hello by @cspiel1 in #607
  • udp: add optional send/recv handler by @alfredh in #602
  • tls: remove deprecated tls_set_selfsigned() by @alfredh in #614
  • main: allow for init twice by @alfredh in #615
  • cmake: add check_c_compiler_flag for atomic-implicit-seq-cst warning by @sreimers in #617
  • http,tcp: add http_listen_fd and tcp_sock_alloc_fd by @sreimers in #618
  • tcp_sock_alloc_fd: fix fdc initializing by @sreimers in #619
  • sa,unixsock: add unix domain socket support by @sreimers in #600
  • mk: remove makefiles by @sreimers in #620
  • RTP Resend by @sreimers in #626
  • TLS server support SNI based certificate selection by @cspiel1 in #596
  • sipsess/request.c: return error code in sipsess_request_alloc by @maximilianfridrich in #631
  • ice: add ANSI output with Green and Red colors by @alfredh in #632
  • docs: update reference to TLS 1.2 by @alfredh in #633
  • cmake, sa: enable unix sockets, if HAVE_UNIXSOCK is undefined by @fAuernigg in #636
  • trice: refresh doxygen comments by @alfredh in #635
  • tls: add error handling for BIO_reset by @cspiel1 in #638
  • dns/client: fix rrlv reference cache handling by @sreimers in #637

Full Changelog: https://github.com/baresip/re/compare/v2.10.0...v2.11.0


[v2.10.0] - 2022-12-06

What's Changed

  • h264: add STAP-A by @alfredh in #584
  • tls: SSL_get_peer_certificate is deprecated by @sreimers in #585
  • sipreg fix contact handler expires evaluation by @cspiel1 in #581
  • ice: local candidate policy config by @sreimers in #589
  • h265: add missing NAL types by @alfredh in #590
  • rtpext: move from baresip to re by @alfredh in #591
  • mk: add rtpext to Makefile build by @cspiel1 in #594
  • mk: add makefile deprecation warning by @sreimers in #595
  • fs: use dup/dup2 for stdio hide and restore by @sreimers in #597
  • dns: fix dnsc_conf_set memory leak by @alfredh in #598
  • cmake: add TRACE_SSL compile definition by @cspiel1 in #599
  • cmake: add ZLIB_INCLUDE_DIRS by @sreimers in #601
  • cmake/pkgconfig: fix prefix variable by @cspiel1 in #603
  • ci/valgrind: use ubuntu-20.04 by @sreimers in #606

Full Changelog: https://github.com/baresip/re/compare/v2.9.0...v2.10.0


[v2.9.0] - 2022-11-01

What's Changed

  • cmake,make: bump version and set dev identifier by @cspiel1 in #553
  • udp: remove udp_send_anon() by @alfredh in #550
  • cmake: enable export symbols for backtrace by @sreimers in #554
  • README.md: Update build instructions for cmake by @robert-scheck in #556
  • cmake: improve kqueue and epoll detection by @sreimers in #558
  • fs: add fs_stdio_hide() and fs_stdio_restore() helpers by @sreimers in #559
  • json: remove unknown type warning by @alfredh in #560
  • http: fix warning arguments by @alfredh in #561
  • net_if_getlinklocal: use AF from input parameter by @alfredh in #565
  • fmt: add str_itoa by @sreimers in #569
  • SDP support for udp by @vanrein in #538
  • tls: remove some warnings by @alfredh in #567
  • fmt: add pl_trim functions by @cspiel1 in #557
  • aes/openssl: remove obsolete version check by @alfredh in #572
  • http: use str_dup() instead of unsafe strcpy() by @alfredh in #574
  • doxygen: update comments by @alfredh in #577
  • reg: remove obsolete void cast by @cspiel1 in #576
  • Tls connect debug by @alfredh in #573
  • mk: update doxygen file by @alfredh in #578
  • ci: use actions/checkout@v3 by @sreimers in #579
  • tls: remove ifdef from public API by @alfredh in #580
  • sip: sip_conncfg_set pass by reference by @alfredh in #582
  • dnsc get conf and skip hash alloc without hash size changes by @fAuernigg in #575
  • sdp/media: fix reorder codecs (restore old behavior) by @juha-h in #583
  • list: fix list_flush head and tail by @sreimers in #586
  • prepare 2.9.0 by @alfredh in #587

New Contributors

  • @vanrein made their first contribution in #538

Full Changelog: https://github.com/baresip/re/compare/v2.8.0...v2.9.0


[v2.8.0] - 2022-10-01

  • Update README.md by @alfredh in #503
  • thread: fix win32 thrd_create return values by @sreimers in #506
  • cmake: bump min. version 3.10 by @sreimers in #504
  • cmake: add USE_JBUF option by @alfredh in #507
  • http/https requests with large body by @fAuernigg in #485
  • http/client: fix possible null pointer dereference by @sreimers in #509
  • ci: test choco install no-progress by @alfredh in #510
  • bitv: remove deprecated module by @alfredh in #513
  • types,fmt: use re_restrict by @sreimers in #514
  • refer out of dialog by @cspiel1 in #508
  • UPDATE bugfix by @maximilianfridrich in #516
  • sip/auth: fix mem_zalloc return check by @sreimers in #518
  • Update media fixes by @cspiel1 in #515
  • dns, http: add dnsc_getaddrinfo_enabled. prevent reset of getaddrinfo enabled by @fAuernigg in #519
  • rtp: Improve media synchronization by @Lastique in #418
  • conf: check if returned size is larger than buffer by @alfredh in #523
  • udp: remove very old iOS hack by @alfredh in #524
  • tcp: remove very old iOS hack by @alfredh in #525
  • Use CMake for debian packages by @sreimers in #522
  • crc32: add re wrapper by @alfredh in #526
  • ci: convert valgrind to cmake by @alfredh in #529
  • ci: convert ssl build to cmake by @alfredh in #530
  • ci: convert fedora to cmake by @alfredh in #531
  • ci: convert coverage to cmake by @alfredh in #532
  • ci: migrate to cmake by @alfredh in #533
  • cmake: add LINKLIBS and make backtrace and zlib optional by @sreimers in #534
  • C99 compatibility by @sreimers in #536
  • pcp: fix cppcheck warning by @alfredh in #540
  • fmt/print: fix cppcheck overflow warning by @sreimers in #542
  • tls: remove SHA1 fingerprint (deprecated) by @alfredh in #527
  • send DTMF via hidden call by @cspiel1 in #537
  • sipreg: avoid sending un-REGISTER periodically by @cspiel1 in #543
  • cmake,mk: bump the tentative next release with pre-release identifier by @sreimers in #546
  • sipsess/update: Add Contact header to UPDATE by @maximilianfridrich in #545
  • cmake: fix shared API soversion (aligned with make) by @sreimers in #549

v2.7.0 - 2022-09-01

  • async: add re_thread_async by @sreimers in #462
  • atomic: Add support for gcc __sync intrinsics by @Lastique in #467
  • btrace: fix gcc 4.3.5 warnings by @cspiel1 in #468
  • h264: fix gcc 4.3.5 warnings by @cspiel1 in #469
  • async: add guard by @sreimers in #474
  • dns/client: add async getaddrinfo usage by @sreimers in #470
  • async: make work handler and callback optional by @sreimers in #481
  • BareSip. Add a state update action to the main loop to unblock pollin… by @viordash in #480
  • dns,net: fix build of asyn_getaddrinfo on gcc 4.3.5 (#482) by @cspiel1 in #483
  • dns/client: fix getaddrinfo duplicates by @sreimers in #486
  • http/client: fix dnsc_conf initialization by @sreimers in #487
  • tmr: tmr_start_dbg use const char for file arg by @sreimers in #488
  • base64: Encoding/Decoding with URL and Filename Safe Alphabet by @sreimers in #471
  • misc: fix c11 err handling by @sreimers in #476
  • cmake: move definitions to re-config.cmake by @sreimers in #491
  • ci/mingw: fix make retest by @sreimers in #492
  • cmake: add pkgconfig by @sreimers in #493
  • Fix error: ‘NI_MAXSERV’ undeclared by @widgetii in #495
  • Fix error: storage size of ‘ifrr’ isn’t known by @widgetii in #496
  • ci/musl: add alpine/musl build by @sreimers in #499
  • Correctly update local media format ids to match those in the offer by @juha-h in #498
  • debian: fix prefix by @juha-h in #501

v2.6.0 - 2022-08-01

  • ice: change one warning to notice by @alfredh in #421
  • Fix compilation error on musl: __GNUC_PREREQ macro defined only for libc library by @widgetii in #422
  • sip: add RFC 3262 support by @maximilianfridrich in #419
  • bfcp: Add support for TCP transport for BFCP by @Lastique in #411
  • strans/accept: fix cancel/rejection by @maximilianfridrich in #423
  • hash: add hash_list_idx() by @sreimers in #427
  • tls: Add a method to set OpenSSL certificate by @Lastique in #426
  • sipsess: fix PRACK offer/answer behavior by @maximilianfridrich in #430
  • thread: thrd_error fixes by @sreimers in #431
  • sipsess: fix coverity warnings by @maximilianfridrich in #433
  • main: add re_nfds() and poll_method_get() getters by @sreimers in #435
  • fmt/print: fix local_itoa casting by @sreimers in #437
  • leb128: switch to uint64_t by @alfredh in #436
  • types,mk: remove HAVE_STDBOOL_H by @sreimers in #439
  • fmt/print: snprintf restrict declarations by @sreimers in #438
  • net: minor cleanup in linux route code by @alfredh in #440
  • sip: add RFC 3311 support by @maximilianfridrich in #425
  • rtmp: check upper bound for amf array by @alfredh in #441
  • rtcp: check TWCC count range (Coverity fix) by @alfredh in #442
  • mem: Align data to natural alignment by @Lastique in #416
  • ci/misc: bump [email protected] by @sreimers in #444
  • net: linux/rt: init gw to correct af by @alfredh in #447
  • rtp: Add rtcp_send declaration to the public header by @Lastique in #448
  • Main method best by @alfredh in #449
  • cmake: add explicit /volatile:ms (required for arm) by @sreimers in #451
  • mem: Make nrefs atomic by @Lastique in #446
  • atomic: add some short atomic alias helpers by @sreimers in #452
  • ci/build: replace deprecated macos-10.15 by @sreimers in #454
  • Improve RFC 3262 by @maximilianfridrich in #450
  • atomic: rename helpers by @sreimers in #455
  • cmake,make: add clang atomic-implicit-seq-cst warning by @sreimers in #453
  • cmake: add missing includes to install by @paresy in #456
  • Fix prack handling by @maximilianfridrich in #457
  • mem: Correct memory clobbering size by @Lastique in #458
  • mem: Correct calculation of total mem size in mem_status by @Lastique in #459
  • tls: Securely clear memory from private key material by @Lastique in #460
  • fmt/str_error: always print error number by @sreimers in #461
  • thread: add cnd_broadcast posix/win32 fallbacks by @sreimers in #463
  • list: add list_move() helper by @sreimers in #464
  • thread: fix thread_create_name ENOMEM by @sreimers in #465

v2.5.0 - 2022-07-01

  • av1: add doxygen comments by @alfredh in #384
  • rtp: add function to calc sequence number diff by @alfredh in #385
  • CI fixes by @sreimers in #387
  • trace: C11 mutex by @alfredh in #390
  • trace: init refactor by @sreimers in #391
  • jbuf: use C11 mutex by @alfredh in #392
  • av1: define and make AV1_AGGR_HDR_SIZE public by @alfredh in #393
  • main: add re_thread_check() for NON-RE thread calls by @sreimers in #389
  • cmake: add HAVE_SIGNAL on UNIX by @sreimers in #394
  • av1: add av1_obu_count() by @alfredh in #395
  • thread: add mtx_alloc by @sreimers in #396
  • rtp: C11 mutex by @alfredh in #397
  • lock: remove deprecated module by @alfredh in #398
  • Added sippreg_unregister API function by @juha-h in #400
  • av1 work by @alfredh in #402
  • rtp: add rtp_is_rtcp_packet() by @alfredh in #405
  • Fix mutex alloc destroy by @sreimers in #406
  • av1: minor fixes and doxygen comments by @alfredh in #407
  • rtp: Add support for RFC5104 PSFB FIR by @Lastique in #408
  • jbuf: Add drain method by @Lastique in #409
  • uag: add timestamps to SIP trace by @cspiel1 in #412
  • fmt/fmt_timestamp: some cleanup by @sreimers in #413
  • main: refactor libre_init and re_global handling by @sreimers in #404
  • main: Add support for external threads attaching/detaching re context by @Lastique in #414
  • mem: Fix formatting for nrefs and size. by @Lastique in #415

v2.4.0 - 2022-06-01

What's Changed

  • ci: test centos -> fedora by @alfredh in #340
  • Tls bio opaque by @alfredh in #341
  • main: remove usage of crypto_set_id_callback() by @alfredh in #342
  • jbuf: in adaptive mode do not manipulate min buffer size by @cspiel1 in #343
  • av1 obu by @alfredh in #345
  • jbuf: improve adaptive mode by @cspiel1 in #344
  • av1 packetizer by @alfredh in #346
  • av1: depacketizer by @alfredh in #347
  • h265: move from rem to re by @alfredh in #348
  • jbuf: avoid reducing of wish size too early by @cspiel1 in #349
  • ci/build: add ubuntu 22.04 (beta) by @sreimers in #351
  • h264: move from rem to re by @alfredh in #350
  • add C11 thread, mutex and condition API by @sreimers in #249
  • thread: use pthread as default fallback by @sreimers in #354
  • mem: use new C11 mutex locking by @sreimers in #352
  • dbg: use C11 thread mutex by @sreimers in #356
  • thread: add thread-local storage functions by @sreimers in #355
  • main/openssl: cleanup by @sreimers in #358
  • cmake: sort warning flags by @alfredh in #359
  • doxygen: update comments by @alfredh in #360
  • main: use C11 thread mutex by @sreimers in #357
  • make: disable warning flag -Wdeclaration-after-statement by @alfredh in #363
  • cleanup pthread by @sreimers in #362
  • update doxygen comments by @alfredh in #366
  • ci/coverage: downgrade gcovr by @sreimers in #365
  • tls: print openssl error queue if accept failed by @alfredh in #367
  • main: fd_setsize -1 for RLIMIT_NOFILE value by @sreimers in #368
  • jbuf: flush on RTP timeout by @cspiel1 in #370
  • thread: add mtx_destroy by @sreimers in #371
  • dns: add query cache by @sreimers in #369
  • mem,btrace: fix struct alignment by @sreimers in #372
  • av1: change start flag to continuation flag (inverse) by @alfredh in #375
  • tmr: add tmr_start_dbg by @sreimers in #373
  • ice: rename to local pref by @alfredh in #376
  • tls: Switch from EVP_sha1() to EVP_sha256() when using it for X509_sign() by @robert-scheck in #377

v2.3.0 - 2022-05-01

  • cmake: use static build as default target (improves subdirectory usage) by @sreimers in #311
  • jbuf: fix RELEASE build with DEBUG_LEVEL 6 by @cspiel1 in #313
  • fmt/pl: use unsigned type before negation by @sreimers in #312
  • fmt/pl: rewrite negative handling (avoid undefined behavior) by @sreimers in #314
  • http/request: fix possbile null pointer dereference by @sreimers in #316
  • sdp: check sdp_bandwidth lower bound by @sreimers in #317
  • main: use re_sock_t by @sreimers in #315
  • ccheck: check all CMakeLists.txt files by @sreimers in #320
  • list: O(1) sorted insert if we expect append in most cases by @cspiel1 in #318
  • add pcp protocol by @alfredh in #321
  • cmake: define RELEASE for release builds by @alfredh in #323
  • Mem lock win32 by @alfredh in #324
  • pcp: fix win32 warning by @alfredh in #325
  • ci/msvc: treat all compiler warnings as errors by @sreimers in #326
  • cmake: add MSVC /W3 compile option by @sreimers in #327
  • cmake: add FreeBSD and OpenBSD by @sreimers in #329
  • md5: remove fallback implementation by @sreimers in #328
  • cmake: add runtime and development install components by @sreimers in #330
  • mem: remove low/high block size stats by @alfredh in #331
  • mem: add error about missing locking by @alfredh in #332
  • set TCP source port in Via and Contact header by @cspiel1 in #334
  • remove sys_rel_get and epoll_check by @alfredh in #335
  • support tls session reuse by @fAuernigg in #333
  • rand: init only needed for libc rand by @alfredh in #336
  • tls: fix crash in debug warn msg by @fAuernigg in #337
  • mem: init g_memLock directly by @alfredh in #339
  • prepare for version 2.3.0 by @alfredh in #338

v2.2.2 - 2022-04-09

  • sha256: add wrapper by @alfredh in #306
  • workflow: upgrade to openssl 3.0.2 by @alfredh in #305
  • aubuf adaptive jitter buffer by @cspiel1 in #303
  • Improve WIN32 UDP socket handling by @sreimers in #296
  • tcp: remove tcp_conn_fd by @alfredh in #308
  • tcp: improve win32 socket and error handling by @sreimers in #309

v2.2.1 - 2022-04-01

  • cmake: add packaging by @sreimers in #299
  • sha: add sha 256 and 512 digest length OpenSSL compats by @sreimers in #300
  • main: use Winsock2.h by @sreimers in #302
  • cmake: for Android platform dont enable ifaddrs/getifaddrs by @alfredh in #304
  • sa/sa_is_loopback: check full IPv4 loopback range (127.0.0.0/8) by @sreimers in #301

v2.2.0 - 2022-03-28

  • tls: fix coverity defect by @alfredh in #270
  • http/client: read_file check ftell return value by @sreimers in #272
  • udp: fix coverity defect by @alfredh in #271
  • cmake: add detection of HAVE_ARC4RANDOM by @alfredh in #269
  • Fix coverity issues by @sreimers in #273
  • Support adding CRLs by @fAuernigg in #274
  • json/decode: fix possible out of bound access, if code changes by @sreimers in #275
  • tls/tls_add_crlpem: use const by @sreimers in #276
  • udp: fix coverity defect by @alfredh in #279
  • dns: fix Coverity Defect by @alfredh in #278
  • tls: use const pointer for tls_add_capem() by @cspiel1 in #277
  • srtp/srtcp: add sanity check for rtcp->tag_len by @sreimers in #280
  • shim: new module from rew by @alfredh in #282
  • Trice module by @alfredh in #283
  • retest trice by @alfredh in #284
  • Add try_into conversion helper and drop gcc 4.8 support by @sreimers in #286
  • rtp: fix signed/unsigned warning on WIN32 by @alfredh in #287
  • fix build error on openbsd arm64 (raspberry pi) by @jimying in #290
  • cmake: disable C extensions (like make) by @sreimers in #292
  • fmt: add bool decode from struct pl by @cspiel1 in #293
  • sdp: a utility function for decoding SDP direction by @cspiel1 in #294
  • sa/sa_ntop: check inet_ntop() return value by @sreimers in #295
  • sa_pton: use sa_addrinfo for interface suffix by @alfredh in #297

New Contributors

  • @jimying made their first contribution in #290

v2.1.1 - 2022-03-12

Fixes

  • mk: fix ABI versioning #268

v2.1.0 - 2022-03-11

What's Changed

  • Tls sipcert per acc by @cHuberCoffee in #96
  • ToS for video and sip by @cspiel1 in #98
  • sdp: in media_decode() reset rdir if port is zero by @cspiel1 in #99
  • mk/re: add variable length array (-Wvla) compiler warning by @sreimers in #100
  • Macos openssl by @sreimers in #105
  • pkg-config version check by @sreimers in #107
  • sa: add setter and getter for scope id by @cspiel1 in #108
  • net: in net_dst_source_addr_get() make parameter dst const by @cspiel1 in #109
  • Avoid 'ISO C90 forbids mixed declarations and code' warnings by @juha-h in #112
  • SIP redirect callbackfunction by @cHuberCoffee in #111
  • add secure websocket tls context by @sreimers in #113
  • fmt: add string to bool function by @cspiel1 in #115
  • fix clang analyze warnings by @sreimers in #114
  • fmt: support different separators for parameter parsing by @cspiel1 in #117
  • Refactor inet_ntop and inet_pton by @sreimers in #118
  • add essential fields check by @I-mpossible in #119
  • sa: add support for interface suffix for IPv6ll by @cspiel1 in #116
  • net: fix net_if_getname IPv6 support by @sreimers in #120
  • udp: add udp_recv_helper by @alfredh in #122
  • sa: fix build for old systems by @cspiel1 in #121
  • sa/addrinfo: fix openbsd (drop AI_V4MAPPED flag) by @sreimers in #125
  • ci/codeql: add scan-build by @sreimers in #128
  • Fixed debian changelog version by @juha-h in #129
  • IPv6 link local support by @cspiel1 in #106
  • sip: add fallback transport for transp_find() by @cspiel1 in #132
  • SIP default protocol by @cspiel1 in #131
  • remove orphaned files by @viordash in #136
  • outgoing calls early callid by @cspiel1 in #135
  • sip: fix possible "???" dns srv queries by skipping lines without srvid by @cHuberCoffee in #133
  • odict: hide struct odict_entry by @sreimers in #130
  • tls: add keylogger callback function by @cHuberCoffee in #140
  • http/client: support other auth token types besides bearer by @fAuernigg in #142
  • tls: fix client certificate replacement by @cHuberCoffee in #145
  • http/client: support dns ipv6 by @fAuernigg in #141
  • rtp: add payload-type helper by @alfredh in #148
  • sip: check consistency between CSeq method and that of request line by @I-mpossible in #146
  • Fix win32 by @viordash in #149
  • fix warnings from PVS-Studio C++ static analyzer by @viordash in #150
  • RTP inbound telephone events should not lead to packet loss by @cspiel1 in #151
  • support inet6 by default in Win32 project by @viordash in #154
  • sdp: differentiate between media line disabled or rejected by @cHuberCoffee in #134
  • move network check to module by @cspiel1 in #152
  • odict: move odict_compare from retest to re by @fAuernigg in #153
  • sip: reuse transport protocol of first request in dialog (#143) by @cspiel1 in #144
  • json: fix parsing json containing only single value by @fAuernigg in #155
  • ice: fix checklist by @alfredh in #156
  • mk: add compile_commands.json (clang only) by @sreimers in #157
  • sdp: debug print session and media direction by @cspiel1 in #158
  • add btrace module (linux/unix only) by @sreimers in #160
  • mk: add CC_TEST header check by @sreimers in #162
  • init dst address by @cspiel1 in #164
  • ice: check if candpair exist before adding by @alfredh in #165
  • mk: add CC_TEST cache by @sreimers in #163
  • btrace: use HAVE_EXECINFO by @sreimers in #166
  • Coverity by @sreimers in #170
  • icem: remove dead code (found by coverity 240639) by @sreimers in #171
  • hash: switch to simpler "fast algorithm" by @ydroneaud in #173
  • dns: fix dnsc_alloc with IPv6 disabled by @sreimers in #174
  • mk: deprecate HAVE_INET6 by @sreimers in #175
  • Fix for btrace print for memory leaks by @cspiel1 in #177
  • set sdp laddr to SIP src address by @cspiel1 in #172
  • sdp: include all media formats in SDP offer by @cHuberCoffee in #176
  • ci: add centos 7 build test by @sreimers in #179
  • sip: move sip_auth_encode to public api for easier testing by @sreimers in #181
  • sipsess: do not call desc handler on shutdown by @cspiel1 in #182
  • stream flush rtp socket by @cspiel1 in #185
  • ci: fix macos openssl build by @sreimers in #188
  • http: HTTP Host header conform to RFC for IPv6 addresses by @cspiel1 in #189
  • Increased debian compatibility level from 9 to 10 by @juha-h in #192
  • mk: move darwin dns LFLAGS to re.mk (fixes static builds) by @sreimers in #193
  • build infrastructure: silent and verbose modes by @abrodkin in #194
  • mk: use posix regex for sed CC major version detection by @sreimers in #195
  • dns: fix parse_resolv_conf for OpenBSD by @sreimers in #196
  • sip: add optional TCP source port by @cspiel1 in #198
  • ci: add mingw build and test by @sreimers in #199
  • net: remove net_hostaddr by @sreimers in #200
  • ci/centos7: add openssl by @sreimers in #203
  • hmac: use HMAC() api (fixes OpenSSL 3.0 deprecations) by @sreimers in #202
  • md5: use EVP_Digest for newer openssl versions by @sreimers in #204
  • sha: add new sha1() api by @sreimers in #205
  • OpenSSL 3.0 by @sreimers in #206
  • udp: add win32 qos support by @sreimers in #186
  • ci/mingw: fix dependency checkout by @sreimers in #207
  • ice: remove ice_mode by @alfredh in #147
  • Codeql security by @sreimers in #208
  • aubuf insert auframes sorted by @cspiel1 in #209
  • ci: add valgrind by @sreimers in #214
  • tls: remove code for openssl 0.9.5 by @alfredh in #215
  • ice: remove unused file by @alfredh in #217
  • main: remove obsolete OPENWRT epoll check by @alfredh in #218
  • dns,http,sa: fix HAVE_INET6 off warnings by @sreimers in #219
  • preliminary support for cmake by @alfredh in #220
  • make,cmake: set SOVERSION to major version by @sreimers in #221
  • mk: remove MSVC project files, use cmake instead by @alfredh in #223
  • natbd: remove module (deprecated) by @alfredh in #225
  • sha: remove backup implementation by @alfredh in #224
  • sha,hmac: use Apple CommonCrypto if defined by @alfredh in #226
  • stun: add stun_generate_tid by @alfredh in #227
  • add cmakelint by @sreimers in #228
  • Cmake version by @alfredh in #229
  • cmake: add option to enable/disable rtmp module by @alfredh in #230
  • lock: use rwlock by default by @sreimers in #232
  • cmake: fixes for MSVC 16 by @alfredh in #233
  • json: fix win32 warnings by @alfredh in #234
  • ci: add cmake build by @sreimers in #222
  • mqueue: fix win32 warnings by @alfredh in #235
  • tcp: fix win32 warnings by @alfredh in #236
  • cmake: fix target_link_libraries for win32 by @alfredh in #238
  • stun: fix win32 warnings by @alfredh in #237
  • udp: fix win32 warnings by @alfredh in #239
  • tls: fix win32 warnings by @alfredh in #241
  • remove HAVE_INTTYPES_H by @alfredh in #231
  • udp: fix win32 warnings by @alfredh in #242
  • cmake: minor fixes by @alfredh in #244
  • cmake: fix MSVC ninja by @sreimers in #243
  • tcp: fix win32 warnings by @alfredh in #245
  • udp: fix win32 msvc warnings by @sreimers in #246
  • rtmp: fix win32 warning by @sreimers in #247
  • bfcp: fix win32 warning by @sreimers in #248
  • tls: fix libressl 3.5 by @sreimers in #250
  • fix coverity scan warnings by @sreimers in #251
  • Allow hanging up call that has not been ACKed yet by @juha-h in #252
  • mk,cmake: add backtrace support and fix linking on OpenBSD by @sreimers in #254
  • github: add CMake and Windows workflow by @alfredh in #255
  • Windows (VS 2022/Ninja) by @sreimers in #257
  • cmake: fixes for Android by @alfredh in #258
  • tmr: reuse tmr_jiffies_usec by @alfredh in #259
  • trace: use gettid as thread_id on linux by @sreimers in #213
  • tmr: use CLOCK_MONOTONIC_RAW if defined by @alfredh in #260
  • add atomic support by @sreimers in #261
  • Sonarcloud by @sreimers in #262
  • sip: fix gcc 6.3.0 warning for logical expression (#256) by @cspiel1 in #263
  • add transport-cc rtcp feedback support by @fippo in #264

New Contributors

  • @I-mpossible made their first contribution in #119
  • @viordash made their first contribution in #136
  • @ydroneaud made their first contribution in #173
  • @abrodkin made their first contribution in #194

v2.0.1 - 2021-04-22

Fixed

  • tmr: fix FreeBSD and OpenBSD #97
  • mk: fix clang analyze CFLAGS

Changed

  • tls: different return values for tls_get_ca_chain_field() #94

v2.0.0 - 2021-04-10

Added

  • .gitignore: add ctags and vim swp files to gitignore #31
  • tls: add tls_add_capem() for adding CA cert as PEM string #33
  • httpauth: Add digest support for http clients #33
  • httpauth: Add basic authentication for HTTP clients #33
  • dns: add set function for DNS config #33
  • http/client: support IPv6 #33
  • http/client: use const parameter for set laddr(6) functions #33
  • http/client: add set function for timeout #33
  • http/client: add http_client_add_capem() #33
  • http/client: add set functions for client certificate and private key #33
  • http: add HTTP request connection with authorization #33
  • http: setting of timeouts for http client #35
  • http: set default path for http requests #35
  • tls: set selfsigned Elliptic Curve (EC) function #17
  • tls: extend server verification by host name check (SNI) #45
  • jbuf: adapative jitter buffer #41
  • tmr: add tmr_jiffies_usec() - get accurate microseconds #52
  • fmt: add pl_i32() that converts pl to int32_t #60
  • fmt: add pl_i64() that converts pl to int64_t #60
  • mk/re: add C11 and Atomic detection #61
  • ci: add abi check #39
  • trace: add re_trace api #48
  • Add function that resets the timeout timer for a connection of the HTTP server. #88
  • add error trace helpers #87
  • sip/auth: add algorithm=MD5 #86
  • sys: filesystem isdir function
  • tls: use ENOENT in tls_add_cafile_path as error code
  • tls: more generic function to set cafile and capath
  • mk: add .so name versioning, resolves #32
  • mk/re: add clang shorten-64-to-32 warning
  • mk/re: document new library/header prioritised order with custom SYSROOT
  • mk/re: info double colon rule (#64) #64
  • udp: Add function udp_open for socket without bind
  • rtp: Add rtp_open which creates an RTP object only for sending. #77
  • sip: add decode function for SIP transport
  • sip: SIP/TLS Server Name Indication (#67) #67
  • transp: add flag to disable SIP TLS server verification #76

Removed

  • openssl: remove obsolete function tls_set_hostname() #33
  • mk/re: remove gcc 2.x/3.x support #58
  • ci: drop ubuntu 16.04 support - end of life

Changed

  • http/client: cleanup doxygen #33
  • http/client: use host of http_req for the host name validation #37
  • main: disable MAIN_DEBUG, TMR_DEBUG and increase MAX_BLOCKING to 500ms #43
  • sipreg: dont't force digest challenge for register #49
  • mk/re: do not override LIBRE_INC, LIBRE_SO and LIBRE_PATH #62
  • readme: update supported systems and add tiers #81
  • tls: use ENOTDIR in tls_add_cafile_path if capath is not a dir #84
  • tls: check capath is directory
  • net: get default source addr from udp local test socket #66
  • Update chklist.c #70
  • Update icesdp.c #69
  • mk: cross build changes (#63) #63
  • sip: use sip_transp_decode() #71
  • tls: tls_get_issuer/subject return the info of the first loaded ca #80

Fixed

  • dns/client: fix HAVE_INET6 and win32/vcxproj: updates #28
  • http: fix segfault in response.c #35
  • http/request: parameter NULL check for http_reqconn_send() #37
  • http/client: fix conn_idle #46
  • http/httpreq: mem leak fix #47
  • sip/request: fix msg->scode null pointer dereference
  • rtmp/conn: initialize err
  • mk/re: fix LIBRE_SO static detection
  • dns/res: Properly process IPV4 and IPV6 addresses (DARWIN) #56
  • sip/keepalive: fix codeql cpp/integer-multiplication-cast-to-long
  • fmt/time: fix codeql gmtime warning
  • mk/re: fix gcc 4.x and newer compiler warnings
  • sys: add _BSD_SOURCE 1 for compatibility reasons #92
  • fix weak self-signed certificates #68
  • net/tls: fixing shorten-64-to-32 warnings #65
  • http: add missing newline to warning #78
  • http: fix file read for client certificates
  • mk/re: do not override LIBRE_INC, LIBRE_SO and LIBRE_PATH #62
  • tls: safety NULL pointer check in tls_add_ca() #79

Contributors (many thanks)

v1.1.0 - 2020-10-04

Added

  • tls: functions to get the certificate issuer and subject #18
  • uri: Added path field to struct uri and its decode to uri_decode #22
  • tcp: add tcp_connect_bind #24
  • http: support bind to laddr in http_request #24
  • sipreg: support Cisco REGISTER keep-alives #19
  • sip: websocket support #26

Fixed

  • tls/openssl: fix X509_NAME win32/wincrypt.h conflict
  • dns: listen on IPv4 and IPv6 socket #27
  • main: fix/optimize windows file descriptors #25

Contributors (many thanks)

  • Alfred E. Heggestad
  • Christian Spielberger
  • Christoph Huber
  • Franz Auernigg
  • Juha Heinanen
  • johnjuuljensen
  • Sebastian Reimers

v1.0.0 - 2020-09-08

Added

  • sip: add trace
  • sdp: sdp_media_disabled API function #2
  • tls: add tls_set_selfsigned_rsa #6
  • tls: add functions to verify server cert, purpose and hostname #10
  • http: client should set SNI #10
  • http: client should use tls functions to verify server certs, purpose and hostname #10
  • sipreg: add proxy expires field and get function #13
  • sipreg: make re-register interval configurable #13

Changed

  • debian: Automatic cleanup after building debian package

Fixed

  • Set SDK path (SYSROOT) using xcrun (fix building on macOS 10.14)
  • tcp: close socket on windows if connection is aborted or reset #1
  • rtmp: Fix URL path parsing (creytiv#245)
  • ice: various fixes [baresip/baresip#925]
  • openssl/tls: replace deprecated openssl 1.1.0 functions #5

Contributors (many thanks)

  • Alfred E. Heggestad
  • Christian Spielberger
  • Christoph Huber
  • Franz Auernigg
  • juha-h
  • Juha Heinanen
  • Richard Aas
  • Sebastian Reimers