Releases: aws/s2n-quic
Releases · aws/s2n-quic
v1.80.0
Release Summary
- fix(s2n-quic-dc): Drain authenticated closure on shutdown, preventing TCP-level RSTs
- Integrated offloading feature into dc-quic server
What's Changed
Other Changes 🔧
- fix(s2n-quic-dc): log when handshake/accept paths exit silently by @mhelkey in #3069
- fix(s2n-quic-core): one extra failed decryption beyond RFC specification by @boquan-fang in #3078
- fix(s2n-quic-dc): Drain authenticated closure on shutdown by @Mark-Simulacrum in #3077
- feat: Adds a benchmark for a single dc-quic handshake by @maddeleine in #3079
- feat: Server offloading in dc-quic by @maddeleine in #3061
- chore: v1.80.0 release by @maddeleine in #3082
Full Changelog: v1.79.0...v1.80.0
v1.79.0
Release Summary
- fix(s2n-quic-dc): Enforce dcQUIC streams over TCP have contiguous packet payloads, not just packet numbers
- fix(s2n-quic-dc): Adjust packet rejection for dcQUIC streams over UDP when metadata fails verificaton
- fix(s2n-quic-dc): Avoid each Receiver Clone drop attempting to delete receiver socket
- feat(s2n-quic): Support connection close formatter on quic endpoints
- feat(s2n-quic-dc): Send detailed transport error information over the wire
What's Changed
Other Changes 🔧
- docs: Add some documentation for TCP acceptor by @Mark-Simulacrum in #3051
- fix(s2n-quic-dc): Set recv buffer size to be u16::MAX in shared cache application server by @mehnazyunus in #3060
- fix(s2n-quic-dc): Add large payload test to behavior suite by @mehnazyunus in #3062
- chore: add typos and copyright checks to local test script by @WesleyRosenblum in #3066
- fix(interop): temporarily disable kwik for rebind-addr and rebind-port by @jmayclin in #3070
- fix(s2n-quic-dc): Validate stream IDs fit into maximum encodable size by @Mark-Simulacrum in #3067
- feat(s2n-quic-dc): Send detailed transport error information over the wire by @ben-r-smith in #3065
- fix(dc): Reject & treat MAX KeyId as maybe-seen in receiver by @Mark-Simulacrum in #3072
- fix(dc): Don't delete receiver socket immediately by @Mark-Simulacrum in #3073
- feat(s2n-quic-dc): Tighten enforcement for streams by @Mark-Simulacrum in #3064
- chore: v1.79.0 release by @jmayclin in #3075
Full Changelog: v1.78.0...v1.79.0
v1.78.0
Release Summary
- Implement an option to take in prioritized socket in s2n-quic's IO. A s2n-quic endpoint drains from the prioritized socket more frequently than the other socket. #3014
- feat(s2n-quic): Expose client_cert_chain_der from s2n-tls handshakes #3037
- feat(s2n-quic-dc): Expose customizing the event subscriber registered with s2n-quic endpoints #3054
What's Changed
Other Changes 🔧
- feat(s2n-quic-platform): prioritized socket for s2n-quic's IO by @boquan-fang in #3014
- fix(s2n-quic-transport): typo fix by @boquan-fang in #3029
- fix(s2n-quic-dc): Avoid propagating rehandshake task cancellation as a panic by @ben-r-smith in #3028
- chore: add scs-dev team as code owners of dc folder by @WesleyRosenblum in #3033
- feat(s2n-quic): Expose client_cert_chain_der from s2n-tls handshakes by @Mark-Simulacrum in #3037
- feat: Turning on PTO jitter in dc-quic by @maddeleine in #3038
- fix(interop): temporarily disable mvfst for rebind-addr and rebind-port by @boquan-fang in #3043
- docs(s2n-quic-crypto): clarify PRK zeroization by @kaukabrizvi in #3042
- docs(s2n-quic): note protocol fields in tracing output by @kaukabrizvi in #3044
- fix(s2n-quic-transport): perform AEAD decryption before duplicate check by @kaukabrizvi in #3041
- fix(s2n-quic-core): ensure Map::clear() maintains empty invariant by @camshaft in #3047
- chore(duvet): mark one of section 9 requirements as an exception by @boquan-fang in #3049
- fix: typos in s2n-quic by @boquan-fang in #3052
- fix(s2n-quic-dc): Wire event_subscriber into s2n-quic endpoints by @Mark-Simulacrum in #3054
- chore(s2n-quic): v1.78.0 release by @boquan-fang in #3056
New Contributors
- @ben-r-smith made their first contribution in #3028
Full Changelog: v1.77.0...v1.78.0
v1.77.0
Release Summary
- feat(s2n-quic-dc-metrics): Support skipping sparse metrics emission #3002
- feat(s2n-quic-dc): Support querying event context on streams #3000
- feat(s2n-quic-dc): Support s2n-tls connection pooling; feat(s2n-quic-dc): Move server TLS builder to a Builder field; feat(s2n-quic-dc): Support configurable server stream TLS handshake timeouts #3004
- fix(s2n-quic-dc): Avoid excluding last poll from enqueued sojourn time #2988
- feat(s2n-quic-dc): Expose acceptor timing to application #3006
- feat(s2n-quic): Add a few frame and datagram lengths #3007
- feat(s2n-quic-dc): Instrument connect_tls with latency/error event tracking #2993
- feat(s2n-quic-dc-metrics): Expose Unit::Float in s2n-quic-dc-metrics #3011
- feat(s2n-quic-dc): Expose peer certificate chain for TLS streams #3009
- Send
MtuProbingCompleteframe inNormalmode instead ofMtuProbingmode. In this way,MtuProbingCompletecan be coalesced with other frames which reduces the number ofPADDINGframes and total packets in total to be sent. #2999
What's Changed
Other Changes 🔧
- feat(s2n-quic-dc): Initial server TLS support by @Mark-Simulacrum in #2989
- feat(s2n-codec): add list utilities for decoding by @jmayclin in #2997
- feat(s2n-quic-dc-metrics): Support skipping sparse metrics emission by @Mark-Simulacrum in #3002
- feat(s2n-quic-dc): Support querying event context on streams by @Mark-Simulacrum in #3000
- feat(s2n-quic-dc): Support per-acceptor TLS configuration and connection pooling by @Mark-Simulacrum in #3004
- fix(s2n-quic-dc): Avoid excluding last poll from enqueued sojourn time by @Mark-Simulacrum in #2988
- feat(s2n-quic-dc): Expose acceptor timing to application by @Mark-Simulacrum in #3006
- feat(s2n-quic): Add frame and datagram lengths by @Mark-Simulacrum in #3007
- refactor(s2n-events): Reduce generated diffs when changing metric definitions by @Mark-Simulacrum in #2993
- feat(s2n-quic-dc-metrics): Expose Unit::Float in s2n-quic-dc-metrics by @Mark-Simulacrum in #3011
- feat(s2n-quic-dc): Expose peer certificate chain for TLS streams by @Mark-Simulacrum in #3009
- test(s2n-quic-dc): Add test for unauthenticated closure by @Mark-Simulacrum in #3012
- feat(s2n-quic-dc): Expose client handshake limiter configuration by @Mark-Simulacrum in #3016
- chore(specs): remove a connection migration duvet TODO annotation by @boquan-fang in #3018
- fix(s2n-events): Avoid recursion limit in ID constants by @Mark-Simulacrum in #3017
- chore: add retry citation and cleanup by @WesleyRosenblum in #3019
- ci(interop): automate required.json updates from interop results by @WesleyRosenblum in #3020
- fix(ci): don't commit temp files to interop update PR by @WesleyRosenblum in #3022
- fix(s2n-quic-core): move MtuProbingComplete frame sending out of MtuProbing mode by @boquan-fang in #2999
- chore(s2n-quic): v1.77.0 release by @boquan-fang in #3025
Full Changelog: v1.76.0...v1.77.0
v1.76.0
Release Summary:
- feat(s2n-quic-dc): Support client TLS streams
- feat(s2n-quic-dc): Split out missing credentials from Local errors
- fix(s2n-quic-dc-metrics): Fix panic on large Counter increments (>u32::MAX)
What's Changed
Other Changes 🔧
- fix(s2n-quic-dc): limit background handshake concurrency by @Mark-Simulacrum in #2968
- fix(ci): trigger title check upon pull request and title update by @jouho in #2984
- feat(s2n-quic-dc): Split out unknown path secret in acceptor from Local errors by @Mark-Simulacrum in #2985
- feat(s2n-quic-dc): Initial client TLS streams support by @Mark-Simulacrum in #2983
- chore(s2n-quic-transport): fix typos for naturally by @boquan-fang in #2994
- build(deps): update rand to v0.10 by @boquan-fang in #2987
- fix(s2n-quic-dc-metrics): Avoid panicking in Counter::increment with >u32::MAX count by @Mark-Simulacrum in #2995
- chore(s2n-quic): v1.76.0 release by @maddeleine in #2996
Full Changelog: v1.75.0...v1.76.0
v1.75.0
Release Summaries:
- Fix incrementing deduplicated metrics for initial handshake entry #2980
- Expose PathSecretId from stream handles #2973
- Add From net::IpAddr impl for IpAddress #2979
- Split TCP stream connect errors further #2971
What's Changed
Other Changes 🔧
- chore(s2n-quic-dc) Add path secret state builder by @mhelkey in #2950
- chore(s2n-quic-dc): use cfg_if for gating in io.rs by @boquan-fang in #2969
- ci(interop): bump network simulator image by @kaukabrizvi in #2972
- chore(s2n-quic-transport): use try_recv from futures_channel crate by @boquan-fang in #2977
- fix(s2n-quic-dc): Fix incrementing deduplicated metrics by @Mark-Simulacrum in #2980
- feat(s2n-quic-dc): expose PathSecretId from stream handles by @Mark-Simulacrum in #2973
- Add Fromnet::IpAddr impl for IpAddress by @Mark-Simulacrum in #2979
- feat(s2n-quic-dc): Split TCP stream connect errors further by @Mark-Simulacrum in #2971
- chore(s2n-quic): v1.75.0 release by @boquan-fang in #2982
New Contributors
- @kaukabrizvi made their first contribution in #2972
Full Changelog: v1.74.0...v1.75.0
v1.74.0
Release Summary:
Fix MtuProbingComplete frame bugs in s2n-quic-core and s2n-quic-dc.
What's Changed
Other Changes 🔧
- fix: send frame during inital probing and add event for dc endpoints by @boquan-fang in #2944
- chore: s2n-quic release 1.74.0 by @boquan-fang in #2966
Full Changelog: v1.73.0...v1.74.0
v1.73.0
Release Summary
- dcQUIC endpoints won't send MtuProbingComplete frame if their peers don't support that frame. #2958
- Bump MSRV to 1.88.0. #2935
- fix(s2n-quic-dc): Retry binding to same port on UDP + TCP for longer. #2948
What's Changed
Other Changes 🔧
- docs: Adds some caveats to the datagram documentation by @maddeleine in #2933
- chore(s2n-quic): bump MSRV to 1.88.0 by @boquan-fang in #2935
- ci: address flaky fuzz test by @jouho in #2934
- ci(QNS): Revert "temporarily disable neqo (#2724)" by @boquan-fang in #2936
- fix(s2n-quic-core): one more effort to acquire credits in worker by @boquan-fang in #2939
- chore(s2n-quic-tests): use ConnectionInfo from s2n_quic by @boquan-fang in #2942
- feat(s2n-quic-dc): Support path secret eviction upon UnknownPathSecret packet by @mhelkey in #2943
- CI: update typos.toml for msg_controllen and cpy by @boquan-fang in #2953
- fix(s2n-quic-dc): Retry binding to same port on UDP + TCP for longer by @Mark-Simulacrum in #2948
- fix: MtuProbingComplete shouldn't be sent if peer doesn't support it by @boquan-fang in #2958
- chore(s2n-quic): v1.73.0 release by @boquan-fang in #2959
New Contributors
Full Changelog: v1.72.0...v1.73.0
v1.72.0
Release Summary
- Fix MtuProbingCompleteSupport transport parameter encoding.
What's Changed
Other Changes 🔧
- chore(s2n-quic-dc): allow usage of deprecated set_linger method in tokio by @boquan-fang in #2930
- fix(s2n-quic-core): MtuProbingCompleteSupport transport parameter encoding by @boquan-fang in #2931
- chore(s2n-quic): v1.72.0 release by @boquan-fang in #2932
Full Changelog: v1.71.0...v1.72.0
v1.71.0
Release Summary
- Add source breakdown for tcp_io_errors #2915.
- Applications can thread application-specific context from connection attempts to their Subscriber implementations. Track de-duplicated requests by reason, allowing subscribers to access the information. #2920
- Add MtuProbingComplete dc extension frame to achieve synchronization. #2919
What's Changed
Other Changes 🔧
- s2n-quic-dc: split acceptor error events by source by @Mark-Simulacrum in #2915
- feat(s2n-quic-core): add MtuProbingComplete frame by @boquan-fang in #2919
- feat(s2n-quic-dc): Track de-duplicated handshake requests and support metrics on the reason by @Mark-Simulacrum in #2920
- chore(s2n-quic): v1.71.0 release by @boquan-fang in #2921
Full Changelog: v1.70.0...v1.71.0