Skip to content

Releases: aws/s2n-quic

v1.61.0

01 Jul 22:07
2a24e62
Compare
Choose a tag to compare

Release Summary

  • feat(s2n-quic-core, s2n-quic-dc): Access inner context for generated metrics Subscribers

What's Changed

Full Changelog: v1.60.0...v1.61.0

Release v1.60.0

25 Jun 22:52
1e1d8d5
Compare
Choose a tag to compare

Release Summary

  • Bump S2N-QUIC's MSRV to 1.82.0
  • (s2n-quic-dc) Increase background handshake jitter
  • (s2n-quic-dc) Emit additional events for TCP connects
  • (s2n-quic-dc) Add event for connection-open deduplication
  • (s2n-quic-dc) Expose HandshakingPath to access entry/error after handshake completes
  • (s2n-quic-dc) Properly detect truncated streams

What's Changed

New Contributors

Full Changelog: v1.59.0...v1.60.0

v1.59.0

29 May 20:34
8f54b57
Compare
Choose a tag to compare

Release summary

  1. Rx and Tx packet processing tasks are now properly terminated when the client endpoint is dropped, resolving a memory leak.
  2. Change signature of user callback provided for on_path_secrets_ready to be able to fail the handshake. The callback is still provided using the register_make_application_data function and can return an error message in case the handshake should be cancelled.
  3. Support for h3 v0.0.8 that has breaking changes on its API. This was implemented by referring to h3-quinn v0.10.0.

What's Changed

New Contributors

Full Changelog: v1.58.0...v1.59.0

Release v1.58.0

08 May 23:15
5f323b7
Compare
Choose a tag to compare

Release Summary

  • Close the connection when pto backoff exceeds maximum value

What's Changed

  • build(deps): update lru requirement from 0.13 to 0.14 by @dependabot in #2607
  • doc: automatically update CI artifacts by @boquan-fang in #2606
  • fix(s2n-quic-dc): remove send inflight_timer by @camshaft in #2609
  • fix(s2n-quic-dc): only actively poll RPC response by @camshaft in #2608
  • fix(s2n-quic-dc): correctly propagate stream flow errors by @camshaft in #2610
  • fix(s2n-quic-dc): only send PTO packets when there are outstanding stream segments by @camshaft in #2612
  • fix(s2n-quic-dc): arm recv idle timer on init by @camshaft in #2613
  • fix(s2n-quic-dc): prioritize recovery ACK ranges over stream by @camshaft in #2614
  • events: Adds event for missing packet space when processing a packet by @maddeleine in #2615
  • fix(s2n-quic-transport): Fixes s2n-quic TLS state incongruity when s2n-tls returns pending frequently by @maddeleine in #2574
  • fix(s2n-quic-transport): handle pto overflows in connection migration by @boquan-fang in #2620
  • chore: Remove wireshark ppa repository by @anupamym in #2622
  • fix(s2n-quic-transport) Ensures packet number about to be skipped is not the first packet by @maddeleine in #2619
  • ci: run daily CI jobs and report the result to CloudWatch by @boquan-fang in #2624
  • build(deps): update bach requirement from 0.0.12 to 0.1.0 by @dependabot in #2625
  • fix(s2n-quic-dc): correctly process IPv6 on recv path by @camshaft in #2626
  • chore: pin idna_adapter to v1.2.0 by @boquan-fang in #2632
  • chore: restrict steps for daily ci run for scheduled jobs only by @boquan-fang in #2633
  • chore: release v1.58.0 by @boquan-fang in #2634

New Contributors

Full Changelog: v1.57.0...v1.58.0

v1.57.0

09 Apr 23:41
0498b94
Compare
Choose a tag to compare

Release Summary

This release includes a non-trivial number of fixes and features for s2n-quic-dc and an optimization of Bytes read in s2n-quic-core.

What's Changed

Full Changelog: v1.56.0...v1.57.0

v1.56.0

26 Mar 21:21
d31522c
Compare
Choose a tag to compare

Release Summary

  • Adds on_key_exchange_group event to indicate the key exchange group negotiated during the TLS handshake. The event also indicates if a key encapsulation mechanism was part of the group by setting contains_kem to true.
  • fix(s2n-quic-dc): correct background handshake rate

What's Changed

  • feat(s2n-quic-platform): add ancillary instructions for bpf assembler by @camshaft in #2522
  • test(s2n-quic-dc): fix flaky UDP stream tests by @camshaft in #2528
  • feat(s2n-quic-dc): add SendOnly UDP socket by @camshaft in #2529
  • feat(s2n-quic-dc): add WithMap router by @camshaft in #2527
  • refactor(s2n-quic-dc): rename source_stream_port to source_queue_id by @camshaft in #2526
  • feat(s2n-quic-dc): add channel recv buffer impl by @camshaft in #2506
  • refactor(s2n-quic-dc): wire up recv buffer trait to stream workers by @camshaft in #2530
  • test(s2n-quic-dc): only run UDP stream tests on linux for now by @camshaft in #2531
  • refactor(s2n-quic-sim): replace unmaintained humantime library with jiff by @boquan-fang in #2532
  • fix(s2n-quic-dc): don't restrict TCP writes to limits for UDP by @WesleyRosenblum in #2534
  • feat(s2n-quic-dc): wire up the recv pool for tokio clients by @camshaft in #2533
  • fix(s2n-quic-dc): correct background handshake rate by @Mark-Simulacrum in #2536
  • feat(s2n-quic-dc): add source_queue_id to control packets by @camshaft in #2537
  • build(deps): use up to date aws-lc-rs by @boquan-fang in #2540
  • test(s2n-quic-dc): allow params to be specified for test credentials by @camshaft in #2538
  • test(s2n-quic-core): add location to state transitions by @camshaft in #2541
  • fix(s2n-quic-dc): skip sending empty packets in udp acceptor by @camshaft in #2544
  • build(deps): update zerocopy requirement from 0.7 to 0.8 by @boquan-fang in #2547
  • chore: include Need By Date section in github issue template by @boquan-fang in #2542
  • refactor(s2n-quic-dc): add control_frames fn to control packets by @camshaft in #2543
  • fix(s2n-quic-dc): fix recv worker draining state by @camshaft in #2545
  • build(deps): update h3 requirement from 0.0.6 to 0.0.7 by @dependabot in #2552
  • build(deps): bump docker/login-action from 3.3.0 to 3.4.0 by @dependabot in #2551
  • fix(s2n-quic-dc): synchronize dispatch queue closure by @camshaft in #2553
  • test(s2n-quic-dc): add debug assertions to descriptor free lists by @camshaft in #2539
  • test(s2n-quic-dc): add request/response tests by @camshaft in #2546
  • fix(s2n-quic-dc): clamp send quantum to max syscall size by @camshaft in #2549
  • ci: Fixes parsing of MSRV by @maddeleine in #2555
  • feat(s2n-quic-dc): wire up recv pool to server by @camshaft in #2556
  • build(deps): update bach requirement from 0.0.10 to 0.0.11 by @dependabot in #2561
  • test(s2n-quic-dc): wire up bach::net by @camshaft in #2560
  • feat(s2n-quic-dc): support key association in dispatch queue allocator by @camshaft in #2563
  • Allow pass TLS context from third-party TLS provider to application layer by @taikulawo in #2448
  • test(s2n-quic-dc): use bach for request/response tests by @camshaft in #2564
  • events: emit on_key_exchange_group event by @WesleyRosenblum in #2566
  • test(s2n-quic-dc): disable UDP stream fuzz sims for CI by @camshaft in #2570
  • chore: release 1.56.0 by @jmayclin in #2568

New Contributors

Full Changelog: v1.55.0...v1.56.0

Release V1.55.0

10 Mar 18:21
25e2706
Compare
Choose a tag to compare

Release Summary:

  • New API added to allow users to change connection limits based on the information in the TLS handshake, such as server name and application protocol. Previously users could only change connection limits based on their peer's remote address.
  • Expose dc::Path creation event in s2n-quic Subscriber.
  • Connection migrations are now allowed even when the disable_active_migration is set to true, as it is not possible to distinguish between the peer performing an active migration, and a NAT rebind.
  • feat(dc): Support storing arbitrary application-provided data in Entry.

What's Changed

Full Changelog: v1.54.0...v1.55.0

Release v1.54.0

27 Feb 01:29
65d6b6e
Compare
Choose a tag to compare

Summary

  • Expand the DataDroppedReason to include the expanded MigrationDenyReason, which would explain more specifically why a connection migration was denied, not just that it was denied.
  • We currently consider the full 4-tuple (local + remote IP addresses and ports) when identifying a path. This seems to be an overly strict interpretation, we should really only be considering the peer address when deciding if it tried to migrate.
  • Fix an issue where clients may (unknowingly) rebind ports/IPs mid-handshake and not be able to complete the handshake.
  • Allow users to configure only_v6 settings through a new Tokio IO API.

What's Changed

Full Changelog: v1.52.1...v1.54.0

v1.52.1

23 Jan 05:36
36fbf86
Compare
Choose a tag to compare

Summary

  • Fixes an issue with IPv4-mapped local addresses causing issues if packets are arriving on both IPv4 and IPv4-mapped spaces.

What's Changed

Full Changelog: v1.52.0...v1.52.1

v1.52.0

07 Jan 23:47
2f357d5
Compare
Choose a tag to compare

Summary

  • Adds a new event, on_connection_close_frame_received. This event contains additional details from the CONNECTION_CLOSE frame received from the peer, particularly the reason the connection closed (if provided).
  • Adds stream batching functionality to s2n-quic sending behavior. Stream batching is a sending strategy which provides each stream with the opportunity to fill up a packet "batch-size" times, before then passing that priority to the next stream.
  • Adds address and connection ID information to the on_datagram_dropped event. NOTE: This is a breaking change if your application stores the DatagramDropped events, as a named lifetime was added to the struct.

What's Changed

New Contributors

Full Changelog: v1.51.0...v1.52.0