Releases: ngtcp2/ngtcp2
Releases · ngtcp2/ngtcp2
ngtcp2 v1.5.0
What's Changed
- Fix release script by @tatsuhiro-t in #1173
- autotools: Switch to tar-pax by @tatsuhiro-t in #1175
- Pack more QUIC packets on large PMTUD probes by @tatsuhiro-t in #1176
- Drop UDP datagram if it comes from a well-known port by @tatsuhiro-t in #1180
- Rework transmitting empty STREAM frame by @tatsuhiro-t in #1181
- Take into account SCID length when computing minimum packet size by @tatsuhiro-t in #1182
- More prohibited ports by @tatsuhiro-t in #1184
- client: Handle error from feed_data by @tatsuhiro-t in #1183
- server: Send stateless reset by @tatsuhiro-t in #1185
- crypto: Adjust token stack buffer sizes by @tatsuhiro-t in #1186
- crypto: Reduce NGTCP2_CRYPTO_TOKEN_RAND_DATALEN to 16 by @tatsuhiro-t in #1187
- Bump wolfssl to v5.7.0-stable by @tatsuhiro-t in #1188
- Group up integration test output by @tatsuhiro-t in #1190
- QUIC min Short packet is 22 by @tatsuhiro-t in #1191
- cmake: add BUILD_TESTING, fix MSVC with static + shared by @donny-dont in #1189
- adding "git submodule" and libev stuff by @kazu-yamamoto in #1192
- Bump munit by @tatsuhiro-t in #1194
- ci: Add macos-14 by @tatsuhiro-t in #1195
- server: Fix stateless reset buffer stack buffer overflow by @tatsuhiro-t in #1196
- Adopt std::to_array by @tatsuhiro-t in #1198
- Fix interop by @tatsuhiro-t in #1199
- server: Use std::span for sized binary data by @tatsuhiro-t in #1200
- client: Use std::span for sized binary data by @tatsuhiro-t in #1201
- examples: More std::span by @tatsuhiro-t in #1202
- std::unordered_map lookup by std::string_view by @tatsuhiro-t in #1203
- Refactor Buffer by @tatsuhiro-t in #1205
- interop: Support linux/arm64 by @tatsuhiro-t in #1206
- chore: Build multi-platform Docker image during CI by @larseggert in #1204
- interop: Build images on multiple runners by @tatsuhiro-t in #1207
- interop: Push multi platform images by @tatsuhiro-t in #1208
- Fix interop image tag by @tatsuhiro-t in #1209
- interop: Add missing h09 client/server by @tatsuhiro-t in #1210
- Refactor format_hex by @tatsuhiro-t in #1211
- CMakeLists(.txt): Add Build Test info on summary by @alagoutte in #1212
- Bump munit by @tatsuhiro-t in #1213
- server: Refactor packet write by @tatsuhiro-t in #1214
- Remove unused streq_l by @tatsuhiro-t in #1216
- Bump aws-lc to v1.26.0 by @tatsuhiro-t in #1217
- Fix nullptr dereference by @tatsuhiro-t in #1218
- Bump boringssl by @tatsuhiro-t in #1219
- Bump picotls by @tatsuhiro-t in #1220
New Contributors
- @kazu-yamamoto made their first contribution in #1192
- @larseggert made their first contribution in #1204
Full Changelog: v1.4.0...v1.5.0
ngtcp2 v1.4.0
What's Changed
- Erase sensitive data before freeing memory by @tatsuhiro-t in #1122
- Fix compile error with libstdc++6-14 by @tatsuhiro-t in #1123
- Make congestion controller use the current path MTU by @tatsuhiro-t in #1124
- Reduce malloc call in conn_new by @tatsuhiro-t in #1125
- Add missing FindJemalloc.cmake to EXTRA_DIST by @tatsuhiro-t in #1127
- Automate release process by @tatsuhiro-t in #1130
- Make Path MTU Discovery probes configurable by @tatsuhiro-t in #1128
- examples: Add --pmtud-probes option by @tatsuhiro-t in #1132
- Accept zero length UDP datagram payload and just return 0 by @tatsuhiro-t in #1134
- Deal with the case that send_quantum < max_udp_payload_size by @tatsuhiro-t in #1135
- Adjust simpleclient buffer to have default max_tx_udp_payload_size by @tatsuhiro-t in #1136
- Document about outgoing UDP datagram payload size by @tatsuhiro-t in #1137
- Move ngtcp2_settings_default_versioned to ngtcp2_settings.c by @tatsuhiro-t in #1138
- Refactor acktr by @tatsuhiro-t in #1139
- Cleanup free functions called from conn_new by @tatsuhiro-t in #1140
- Make functions that discard pkns callable from the other source files by @tatsuhiro-t in #1141
- Add typed ngtcp2_min and ngtcp2_max functions by @tatsuhiro-t in #1142
- Avoid setting 0 after memset by @tatsuhiro-t in #1143
- Move ngtcp2_transport_params functions to its own file by @tatsuhiro-t in #1144
- Remove unused ngtcp2_conversion_test.c by @tatsuhiro-t in #1145
- Move struct version to the last argument by @tatsuhiro-t in #1146
- git clone recursive by @tatsuhiro-t in #1147
- Update README.rst by @Karthikdasari0423 in #1150
- ngtcp2_conn_write_connection_close: Fix assertion failure by @tatsuhiro-t in #1154
- Fix assertion failure because of failing dup Connection ID check by @tatsuhiro-t in #1155
- fuzz: Add read_write_pkt fuzzer by @tatsuhiro-t in #1156
- Workaround llvm issue by @tatsuhiro-t in #1158
- fuzz: Add missing include by @tatsuhiro-t in #1159
- fuzz: Workaround llvm issue by @tatsuhiro-t in #1160
- Add 2 new ngtcp2_ccerr_type values by @tatsuhiro-t in #1161
- Add handshake fuzzer by @tatsuhiro-t in #1162
- docker: Use copy --link by @tatsuhiro-t in #1163
- Bump aws-lc to v1.23.0 by @tatsuhiro-t in #1164
- Bump boringssl by @tatsuhiro-t in #1165
- Bump picotls by @tatsuhiro-t in #1166
- Switch to distroless/base-nossl by @tatsuhiro-t in #1167
- Remove debug printf by @tatsuhiro-t in #1168
- Add padding to at most 1200 bytes by @tatsuhiro-t in #1169
- Add ngtcp2_ppe padding tests by @tatsuhiro-t in #1170
New Contributors
- @Karthikdasari0423 made their first contribution in #1150
Full Changelog: v1.3.0...v1.4.0
Important
The asc files are now signed with rsa4096/5339A2BE82E07DEC
. You can find it at keyserver.ubuntu.com.
ngtcp2 v1.3.0
What's Changed
- Do not run docker-build on tag by @tatsuhiro-t in #1085
- Speed up git clone by @tatsuhiro-t in #1086
- Use cmake -B consistently by @tatsuhiro-t in #1087
- Bump actions/cache from 3 to 4 by @dependabot in #1088
- Optimize STOP_SENDING by @tatsuhiro-t in #1089
- Fix retransmit frames on stream by @tatsuhiro-t in #1090
- Set NGTCP2_STRM_FLAG_RESET_STREAM when RESET_STREAM is sent by @tatsuhiro-t in #1091
- Add helper functions to encode/decode zero length transport parameter by @tatsuhiro-t in #1092
- Verify decoding truncated frames by @tatsuhiro-t in #1093
- Use typed frame type rather than ngtcp2_frame by @tatsuhiro-t in #1094
- Verify decoding truncated packet headers by @tatsuhiro-t in #1095
- Open a remote stream if RESET_STREAM is received by @tatsuhiro-t in #1096
- nghttp3 now requires git submodule by @tatsuhiro-t in #1098
- Migrate to munit from cunit by @tatsuhiro-t in #1099
- Rewrite ngtcp2_cbrt by @tatsuhiro-t in #1100
- Add missing munit header file to HFILES by @tatsuhiro-t in #1101
- Bump munit by @tatsuhiro-t in #1102
- Fix typo by @tatsuhiro-t in #1103
- Bump microsoft/setup-msbuild from 1 to 2 by @dependabot in #1104
- Remove pthread from BORINGSSL_LIBS by @tatsuhiro-t in #1105
- boringssl: Add certificate compression by @tatsuhiro-t in #1106
- Rewrite hexdump by @tatsuhiro-t in #1107
- hexdump: Add an extra whitespace after address by @tatsuhiro-t in #1108
- hexdump: Fix the last address is not shown by @tatsuhiro-t in #1110
- examples: Add include in GnuTLS example by @atlesn in #1111
- Use assert_stdsv_equal and print title by @tatsuhiro-t in #1112
- examples: Minor fixup by @tatsuhiro-t in #1113
- Bump aws-lc to v1.21.0 by @tatsuhiro-t in #1115
- Add security policy by @tatsuhiro-t in #1116
- Bump boringssl by @tatsuhiro-t in #1117
- Bump openssl by @tatsuhiro-t in #1119
- examples: Fix operator precedence error by @tatsuhiro-t in #1120
- Bump munit by @tatsuhiro-t in #1121
New Contributors
Full Changelog: v1.2.0...v1.3.0
Important
CUnit dependency has been removed. It is replaced with ngtcp2/munit that is managed by git submodule. Run git submodule update --init
before building from git.
ngtcp2 v1.2.0
What's Changed
- cmake: Require nghttp3 >= v1.0.0 by @tatsuhiro-t in #1026
- examples: Clarify stream limits by @tatsuhiro-t in #1032
- Bump actions/stale from 8 to 9 by @dependabot in #1033
- Avoid detecting OpenSSL 3.2 as quictls by @tatsuhiro-t in #1035
- Clarify the behavior when a stream is not found by @tatsuhiro-t in #1036
- Do not recognize boringssl as quictls by @tatsuhiro-t in #1038
- Bump github/codeql-action from 2 to 3 by @dependabot in #1037
- docker: Switch to bsslclient and bsslserver by @tatsuhiro-t in #1039
- interop: Switch to wolfssl by @tatsuhiro-t in #1040
- Revert "docker: Switch to bsslclient and bsslserver" by @tatsuhiro-t in #1041
- docker: Switch to wolfssl by @tatsuhiro-t in #1042
- Use wolfSSL in a README example by @tatsuhiro-t in #1043
- Add aws-lc as BoringSSL alternative by @tatsuhiro-t in #1044
- wolfSSL: Disable deprecated signature algorithms by @tatsuhiro-t in #1046
- Remove use of SSL_set_quic_transport_version by @tatsuhiro-t in #1047
- examples: Build with libressl by @tatsuhiro-t in #1048
- Fix zero len file by @tatsuhiro-t in #1049
- Assert that _BitScanReverse64 never fail by @tatsuhiro-t in #1051
- Revert "wolfSSL: Disable deprecated signature algorithms" by @tatsuhiro-t in #1052
- wolfssl: Enable --enable-keylog-export by @tatsuhiro-t in #1053
- h09client: Fix display ecn bits by @tatsuhiro-t in #1054
- Bump wolfSSL to v5.6.6-stable by @tatsuhiro-t in #1055
- ngtcp2_pkt_adjust_pkt_num: Take bytes rather than bits by @tatsuhiro-t in #1056
- Initial and Handshake packets are immediately acknowledged by @tatsuhiro-t in #1057
- Refactor by @tatsuhiro-t in #1058
- examples: Print remote HTTP/3 settings by @tatsuhiro-t in #1059
- Fix assertion failure on immediate migration by @tatsuhiro-t in #1060
- Add ngtcp2_window_filter tests by @tatsuhiro-t in #1061
- Fix gcc-13 warning by @tatsuhiro-t in #1062
- Fix persistent congestion by @tatsuhiro-t in #1064
- Port missing changes to h09server by @tatsuhiro-t in #1065
- Fix typo by @tatsuhiro-t in #1066
- Update docker by @tatsuhiro-t in #1067
- Fix docker build-arg by @tatsuhiro-t in #1069
- Revert "Send RESET_STREAM if stream is reset by client" by @tatsuhiro-t in #1071
- Return early when STOP_SENDING is received more than once by @tatsuhiro-t in #1072
- Do not send STOP_SENDING if RESET_STREAM has been received by @tatsuhiro-t in #1073
- Update doc by @tatsuhiro-t in #1074
- wolfssl: Just use QUIC v1 transport parameter codepoint by @tatsuhiro-t in #1075
- wolfssl: Disable ECH by @tatsuhiro-t in #1076
- Bump boringssl by @tatsuhiro-t in #1077
- Bump picotls by @tatsuhiro-t in #1078
- Remove sample_offset field from ngtcp2_ppe by @tatsuhiro-t in #1079
- ci: Build and verify aws-lc flavored builds by @tatsuhiro-t in #1080
- Update boringssl build procedure by @tatsuhiro-t in #1081
- Bump aws-lc to v1.20.0 by @tatsuhiro-t in #1082
- Update doc by @tatsuhiro-t in #1083
Full Changelog: v1.1.0...v1.2.0
ngtcp2 v1.1.0
What's Changed
- Extract ngtcp2_frame_chain to its own file by @tatsuhiro-t in #980
- Refactor ringbuf by @tatsuhiro-t in #981
- Fix typo by @tatsuhiro-t in #982
- Rename reset stream flags by @tatsuhiro-t in #983
- Remove unused ngtcp2_conn_resched_frames by @tatsuhiro-t in #984
- crypto: Fix bug that retry token AAD does not include QUIC version by @tatsuhiro-t in #985
- cmake: re-add two missing includes by @vszakats in #987
- Bump clang to 15 by @tatsuhiro-t in #992
- quictls: Prefetch objects to workaround 3.x perf regression by @tatsuhiro-t in #993
- Bump clang-format to 15 by @tatsuhiro-t in #994
- Bump quictls to 3.1.4+quic by @tatsuhiro-t in #995
- Deprecate NGTCP2_PROTO_VER_MIN and NGTCP2_PROTO_VER_MAX by @tatsuhiro-t in #996
- ngtcp2_conn_write_datagram conveniently accepts single buffer by @mikeswhite1 in #991
- windows: Fix warnings by @tatsuhiro-t in #999
- ptlsclient, ptlsserver: Support hq by @tatsuhiro-t in #1000
- h09client: Use util::write_token by @tatsuhiro-t in #1001
- Cpp ext by @tatsuhiro-t in #1002
- Use
__FILE_NAME__
instead of__FILE__
by @tatsuhiro-t in #1006 - examples: Rename extend_max_streams_bidi to extend_max_local_streams_bidi by @tatsuhiro-t in #1007
- Define varint identifiers as macros by @tatsuhiro-t in #1009
- Limit the number of NEW_CONNECTION_ID frames that are in-flight by @tatsuhiro-t in #1010
- Make frame type of type uint64_t by @tatsuhiro-t in #1011
- Fix doc by @tatsuhiro-t in #1012
- Fix assertion failure by @tatsuhiro-t in #1013
- Eliminate floating point computations by @tatsuhiro-t in #1014
- Bump actions/github-script from 6 to 7 by @dependabot in #1015
- client: Optimize a bit by @tatsuhiro-t in #1016
- Revert ignoring loss signal during startup by @tatsuhiro-t in #1018
- Rework app_limited by @tatsuhiro-t in #1019
- Remove unused strmq_nretrans by @tatsuhiro-t in #1020
- autotools: Check wolfSSL_is_quic is available by @tatsuhiro-t in #1021
- wolfSSL: Add more build options by @tatsuhiro-t in #1022
- h09client: Fix uninitialized variable by @tatsuhiro-t in #1023
New Contributors
- @mikeswhite1 made their first contribution in #991
Full Changelog: v1.0.0...v1.1.0
ngtcp2 v1.0.1
What's Changed
- crypto: Fix bug that retry token AAD does not include QUIC version by @tatsuhiro-t in #985
Full Changelog: v1.0.0...v1.0.1
ngtcp2 v1.0.0
What's Changed
- Simplify std::unique_ptr get and release by @tatsuhiro-t in #927
- Fix assertion failure by @tatsuhiro-t in #929
- Reset ppe pending state explicitly by @tatsuhiro-t in #931
- Print a correct program name after usage by @tatsuhiro-t in #932
- Rename all occurrences of bbr2 to bbrv2 by @tatsuhiro-t in #933
- Fix compile error with libressl by @tatsuhiro-t in #936
- Add dependabot to update actions by @tatsuhiro-t in #938
- Bump actions/checkout from 3 to 4 by @dependabot in #940
- Bump docker/login-action from 2 to 3 by @dependabot in #941
- Bump docker/setup-buildx-action from 2 to 3 by @dependabot in #939
- Bump docker/build-push-action from 4 to 5 by @dependabot in #942
- docker: Bump base image to debian 12 by @tatsuhiro-t in #943
- Add release script by @tatsuhiro-t in #944
- qlog: Support STREAMS_BLOCKED frame by @tatsuhiro-t in #945
- qlog: Add missing stream_id to stream_data_blocked by @tatsuhiro-t in #946
- Add tests for ngtcp2_qlog_write_frame by @tatsuhiro-t in #947
- Merge ngtcp2_crypto into ngtcp2_stream by @tatsuhiro-t in #948
- Bump quictls by @tatsuhiro-t in #937
- Bbrv2 tweak by @tatsuhiro-t in #949
- Support latest bbr only by @tatsuhiro-t in #950
- Add log event filter by @tatsuhiro-t in #951
- Add NGTCP2_LOG_EVENT_CC by @tatsuhiro-t in #952
- Simplify *pfrc == NULL and rv != NGTCP2_ERR_NOBUF conditions by @tatsuhiro-t in #953
- Simplify ngtcp2_vec_merge by @tatsuhiro-t in #954
- Log event cc fix by @tatsuhiro-t in #955
- ngtcp2_crypto_verify_retry_token: Return -1 if cil validation fails by @tatsuhiro-t in #956
- Rename NGTCP2_LOG_EVENT_RCV to NGTCP2_LOG_EVENT_LDC by @tatsuhiro-t in #957
- Shutdown stream between write stream calls by @tatsuhiro-t in #960
- Fix assertion failure by @tatsuhiro-t in #961
- Fix missing prefix for AF_INET macros in ngtcp2_crypto.c by @jpboivin in #958
- Rework how network families are defined with generic sock addr by @tatsuhiro-t in #962
- Refactor path validation by @tatsuhiro-t in #963
- Write MAX_STREAMS after RESET_STREAM as the original comment suggests by @tatsuhiro-t in #965
- Send RESET_STREAM if stream is reset by client by @tatsuhiro-t in #966
- Bump quictls to 3.1.3 by @tatsuhiro-t in #967
- Bump boringssl by @tatsuhiro-t in #968
- Bump picotls by @tatsuhiro-t in #969
- Not early anymore by @tatsuhiro-t in #970
- Fix uninitialized variables by @tatsuhiro-t in #971
- Check return values from openssl functions by @tatsuhiro-t in #972
- cmake: speed up warning option detection by @vszakats in #964
- cmake: delete unused detections, add missing #defines by @vszakats in #973
- Update examples/.gitignore by @tatsuhiro-t in #974
- cmake: Enable werror by @tatsuhiro-t in #975
- Require nghttp3 v1.0.0 by @tatsuhiro-t in #976
New Contributors
- @dependabot made their first contribution in #940
Full Changelog: v0.19.0...v1.0.0
ngtcp2 v0.19.1
Release Candidate (RC) 3 for v1.0.0
What's Changed
- Fix assertion failure by @tatsuhiro-t in #929
Full Changelog: v0.19.0...v0.19.1
ngtcp2 v0.19.0
Release Candidate (RC) 3 for v1.0.0
What's Changed
- Rework sending and receiving ECN bits by @tatsuhiro-t in #874
- CMSG_DATA does not necessarily return an aligned pointer by @tatsuhiro-t in #875
- Remove unused Endpoint ecn field by @tatsuhiro-t in #876
- Make ngtcp2_pkt_info.ecn of type uint8_t by @tatsuhiro-t in #877
- Fix displaying ecn bits by @tatsuhiro-t in #878
- Bump quictls by @tatsuhiro-t in #879
- Process STREAM_DATA_BLOCKED frame by @tatsuhiro-t in #881
- ngtcp2_conn_extend_max_stream_offset: Check stream type first by @tatsuhiro-t in #882
- Process DATA_BLOCKED frame by @tatsuhiro-t in #883
- Set QUIC bit to 1 in Version Negotiation packet by @tatsuhiro-t in #884
- Update doc by @tatsuhiro-t in #885
- Disable quic bit greasing by @tatsuhiro-t in #886
- Define token type by @tatsuhiro-t in #887
- server: Fix corrupted ECN output for a received packet by @tatsuhiro-t in #889
- Fix doc by @tatsuhiro-t in #888
- Send STREAM_DATA_BLOCKED by @tatsuhiro-t in #890
- Update strm->rx.max_offset before writing a frame to packet by @tatsuhiro-t in #891
- Send DATA_BLOCKED by @tatsuhiro-t in #892
- qlog: Write STREAM_DATA_BLOCKED and DATA_BLOCKED limits by @tatsuhiro-t in #893
- Fix version parameter text by @tatsuhiro-t in #895
- Rename NGTCP2_CC_ALGO_BBR2 to NGTCP2_CC_ALGO_BBR_V2 by @tatsuhiro-t in #897
- Return NGTCP2_ERR_INVALID_ARGUMENT if a given datagram is too large by @tatsuhiro-t in #900
- Write a log line in a single write(2) call by @tatsuhiro-t in #902
- bbr2: Change cwnd gain in ProbeBW_UP to 2.25 by @tatsuhiro-t in #903
- Fix assertion failure because 0RTT packet is not padded enough by @tatsuhiro-t in #904
- Do not send keep-alive PING in 0-RTT packet by @tatsuhiro-t in #905
- Allow server to send NEW_CONNECTION_ID in 0.5 RTT data by @tatsuhiro-t in #906
- Discard early key when early data is rejected by @tatsuhiro-t in #907
- No need to check state by @tatsuhiro-t in #908
- Tweak padding by @tatsuhiro-t in #910
- Fix handling of NGTCP2_ERR_STREAM_DATA_BLOCKED by @tatsuhiro-t in #911
- NGTCP2_MIN_COALESCED_PAYLOADLEN includes NGTCP2_STREAM_OVERHEAD by @tatsuhiro-t in #912
- Remove unused NGTCP2_CS_*_TLS_HANDSHAKE_FAILED state by @tatsuhiro-t in #913
- Add more STREAM_DATA_BLOCKED/DATA_BLOCKED emission tests by @tatsuhiro-t in #914
- picotls: max_early_data_size is of type size_t by @tatsuhiro-t in #917
- Use NGTCP2_INTERNAL_ERROR for NGTCP2_ERR_HANDSHAKE_TIMEOUT by @tatsuhiro-t in #918
- Make crypto static library targets explicitly STATIC by @jagerman in #919
- Map NGTCP2_ERR_PKT_NUM_EXHAUSTED and NGTCP2_ERR_INTERNAL to NGTCP2_INTERNAL_ERROR by @tatsuhiro-t in #920
- Simplify ngtcp2_strm_streamfrq_pop by @tatsuhiro-t in #921
- Add more test for a retransmission of zero length STREAM frame by @tatsuhiro-t in #922
- Bump boringssl by @tatsuhiro-t in #923
- Bump picotls by @tatsuhiro-t in #924
- Fix ECN largest acked sent time by @tatsuhiro-t in #925
New Contributors
Full Changelog: v0.18.0...v0.19.0
ngtcp2 v0.18.0
Release Candidate (RC) 2 for v1.0.0
What's Changed
- Fix make clang-format by @tatsuhiro-t in #857
- Fix ngtcp2_crypto_openssl remnants by @tatsuhiro-t in #859
- Bump macos to 12 by @tatsuhiro-t in #860
- Winline by @tatsuhiro-t in #863
- Revert "Add -Winline" by @tatsuhiro-t in #864
- Return void by @tatsuhiro-t in #865
- crypto: Handle errors from ngtcp2_crypto_ctx_tls(_early) by @tatsuhiro-t in #866
- reno, cubic: Adopt window filter for delivery rate sec by @tatsuhiro-t in #868
- Refine ngtcp2_conn_read_pkt and ngtcp2_conn_writev_* functions doc by @tatsuhiro-t in #870
- Add stale action to close issues without activity for a long time by @tatsuhiro-t in #871
- includes: fix duplicate includes by @bvdberg in #872
- Bump boringssl by @tatsuhiro-t in #873
New Contributors
Full Changelog: v0.17.0...v0.18.0