Releases: n0-computer/noq
Releases Β· n0-computer/noq
Release list
v1.1.0
1.1.0 - 2026-07-20
β°οΈ Features
- (noq) Introduce noq::Connection::authenticated - (3e926fa)
- (proto) Allow ProtectedHeader::decode to use a generic reference - (8f80192)
- (proto) Use path idle timeout for validation when opening a new path (#721) - (b570682)
- (proto) Make Connection::poll_timeout immutable - (a17cb24)
- (udp) Implement kernel receive timestamps on Linux/Android - (b454d17)
π Bug Fixes
- (noq) Handle overdue timers without polling the async timer - (f165c03)
- (proto) Congestion: avoid double-reducing CUBIC fast convergence - (4cfbafa)
- (proto) Congestion: preserve excess CUBIC cwnd increment - (6039c93)
- (proto) Set loss detection timer on path validation failure - (f847bb0)
- (proto) Avoid double-emitting
Drainingevent, causing an active_connections underflow (#748) - (883ca63) - (proto) Fix coalescing loop to avoid coalescing in Initial space (#747) - (0a445dd)
- (proto) Reject DATAGRAMs larger than the send buffer - (1e8a5a9)
- (proto) Use binary search in ArrayRangeSet - (ba90d78)
- (proto) Drop Initials silently when saturated - (f2968cf)
- (readme) Use correct crates.io badge link in README.md (#756) - (ab91554)
- (udp) Log sendmsg errors on debug (#759) - (603c5e6)
- (proto) Deprecate UdpStats::ios as io-operations can't be measured from this crate (#725) - (d6e525d41)
- Patches for Redox targets - (5c05d21)
π Refactor
- (noq) Use let-else in drive_timer - (ef3fce8)
- (proto) Make
state.rshandle emitting events instead of callers (#753) - (22fbed2) - (udp) Extract linux module - (0fcc14b)
- (udp) Extract apple_fast module - (2cc4e3f)
π Documentation
- (noq) Expand RecvStream::is_0rtt docs - (497973c)
- (noq) Document SendStream::stopped for detecting 0-RTT rejection - (7e2de91)
- (proto) Tweak Window docstrings - (4586890)
- (udp) Clean up docstrings - (1411814)
π§ͺ Testing
- (noq) Improve 0-RTT integration test - (190ef12)
- (proto) Implement bandwidth-limited routing (#720) - (41cbdbe)
βοΈ Miscellaneous Tasks
- (ci) Fix docs cleanup job (#751) - (d0456ce)
- (proto) Apply suggestions from clippy 1.96 - (ccfad4d)
- (proto) Demote error! log to debug! log (#741) - (bbfd024)
- Update for rust 1.97 (#745) - (21eea63)
- Improve semver checks for stable releases (#734) - (9663986)
- Add more guidance on llm use (#752) - (b6b47f1)
- Run daily CI jobs 2 hours earlier (#758) - (403ce63)
- Improve
CONTRIBUTING.md(#761) - (193b807) - Remove version number from noq dependency in the
docs/book- (14853b4) - Update
protoandudpdependency versions innoq. - (474d034) - Release - (92a164e)
v1.0.1
π Bug Fixes
- (migration) Do not update local_ip for probing packets (#715) - (af0fa65)
- (noq-udp) Set Windows ioctls to suppress ICMP errors on recv (#707) - (5a0d249)
- (proto) Move pending path responses to PacketNumberSpace (#708) - (b9b9fcf)
- (proto) Ignore PATH_CIDS_BLOCKED when it refers to abandoned paths (#710) - (8ca5916)
- (proto) Use correct info in retransmission of
*_BLOCKEDframes (#716) - (147892a) - (proto) Avoid
active_connectionsunderflow (#717) - (32467e4) - (proto) ObservedAddr retransmission by creating a path-specific retransmittable data queue (#705) - (c37f064)
- (proto) Improve queuing and sending of OBSERVED_ADDR frames (#722) - (4b7a6e1)
- (proto) Ensure stats reported in
Discardedevents are updated (#728) - (288323b)
π Refactor
- (multipath) Track OpenStatus on PacketNumberSpace (#711) - (abdd49b)
- (qnt) Higher priority for add and remove address frames (#709) - (611ecf3)
βοΈ Miscellaneous Tasks
- (ci) Enable merge queue trigger for patchay tests - (854eebd)
v1.0.0
β°οΈ Features
π Bug Fixes
- (bbr3) Call on_packet_sent when ACK-eliciting data is sent (#689) - (9eb1729)
- (multipath) Store abandoned paths in ArrayRangeSet (#691) - (9764042)
- (multipath) Ignore PATH_RESPONSE once the path is abandoned (#700) - (cc44e08)
- (noq-proto) Never emit
PathEvent::Establishedafter a path has been abandoned (#695) - (000e1bb) - (proto) Prevent PATH_CHALLENGE/RESPONSE from being sent in datagrams that can't be expanded (#699) - (6c5e246)
- (qlog) Avoid another panic for an invariant (#702) - (8c712cd)
- (quic) Tail-loss probes in Initial space must be padded (#698) - (2a342d1)
π Refactor
- (logging) Improve Display of PATH_ABANDON frame (#706) - (16805f8)
- (proto) Simplify AddressDiscovery::Role (#693) - (7ae29bd)
- (tests) Do not use so many star imports (#677) - (c706ab2)
- (tests) Do not allow dead code by default (#678) - (7d5f1ab)
- (tests) Introduce ConnPairBuilder (#680) - (33dba68)
π§ͺ Testing
- (proto) Take
Transmit::src_ipinto account forManyToManyRouting(#673) - (616dc26) - (proto) Add failing proptest seed from CI (#609) - (cf013f8)
- Add tests for easy-hard NAT combinations (#685) - (cc8822e)
Deps
v.1.0.0-rc.0
β°οΈ Features
- (noq) [breaking] Return Closed struct from Connection::on_closed with path stats (#617) - (3fc2e28)
- (proto) Accept off-path probe packets (#608) - (4a310f7)
- (proto) Replace BBR with BBRv3 + breaking Controller API changes (#611) - (0ac6b46)
- (proto) Client-side off-path nat traversal (#614) - (98e626f)
- (proto) [breaking] Set default max concurrent multipath paths to 8 (instead of 12) (#620) - (a60749c)
- (proto) [breaking] Rename NAT traversal config and expose multipath default value (#621) - (e25d7dd)
- (proto) Send NAT probes with off-path PATH_RESPONSE (#619) - (058aaab)
- (proto) Better NAT probe retry intervals (#623) - (262697c)
- (quinn-udp) Make Apple fast datapath opt-in - (f52aa14)
- (tests) Add a router with NAT functionality to proto tests (#596) - (b7e2317)
- Make negotiated_key_exchange_group always available (#633) - (fe19376)
π Bug Fixes
- (noq-proto) Do not recreate path state for already abandonend paths (#631) - (8c353b8)
- (perf) Suppress table output in JSON mode - (72400f3)
- (proto) Use approximate comparison for network paths (#635) - (9e1f1ad)
- (qlog) Emit RTT values in milliseconds (#639) - (c904e92)
- (unix) Disable GSO after probing - (bee7381)
- Reuse existing socket for probing GRO/GSO support - (db87183)
- Remove opportunistic GRO syscall - (dfa247c)
- Resolve
sendmsg_x/recvmsg_xviadlsym- (c435c08) - Gate perf Path import on json-output + restore deny.toml entries - (79b20f4)
π Refactor
- (noq) Atomic path ref counts (#626) - (c64cf98)
- (noq-proto) [breaking] Get ring and aws_lc_rs out of public API (#640) - (437d0c1)
- (proto) Improve state of off-path nat probes (#600) - (0c0e020)
- (proto) Raise limit of path responses kept around per
PathData(#622) - (a49f066) - (proto) Introduce
CanonicalIpPortto fix IP canonicalization issues (#629) - (c711967) - (proto) Do not log as error (#632) - (7ce9294)
- (proto) Remove some obsolete warnings (#634) - (d5a09ef)
- (quinn-udp) Extract
decode_socket_addrhelper - (fe9e1e7) - (quinn-udp) Extract
ControlMetadatahelper - (a22790d) - (quinn-udp) Split fast&slow send/recv paths - (6127c0f)
- (quinn-udp) Add
retry_if_interruptedhelper - (609ddba) - Remove
gromodule - (5ec5e64) - [breaking] Cleanup single path based expectations (#616) - (fd36bc5)
- [breaking] Return previous path status from Path::set_status (#638) - (1facdd9)
- Rename write_chunk to write_bytes and write_chunks to write_bytes_many (#536) - (f4ec777)
- Rename read_chunk to read_bytes and make it return just a Bytes (#535) - (a0f988a)
π Documentation
- (quinn) Improve
Connection::close_reason()documentation - (1fdd690) - Fix book build with mdbook 0.5.2 - (bd83f7e)
- Clarify that
Event::ConnectionLostis not emitted on local close - (476c7bc)
βοΈ Miscellaneous Tasks
- (clippy) Fix clippy and cargo-deny for new rust release (#597) - (d64959b)
- (docs) Improve docs of PacketNumberSpace vs PathData a little (#598) - (c13d711)
- Run iroh's patchbay tests in CI (#601) - (7d73657)
- Add semver check (#605) - (2e1739d)
- Bump rustls-webpki to 0.103.13 (RUSTSEC-2026-0104) - (93a2710)
- Clean up stale deny.toml entries (unused license/skips) - (8a8119b)
- Sync with quinn@main (#606) - (877dcca)
- Reexport all public noq-proto types at noq level (#615) - (ecd08ae)
- Fail cargo-make flows for warnings (#624) - (ee806ab)
- Change deps to be more explicit - (307adcd)
noq-proto
noq
v0.18.0
noq-v0.18.0 chore: Release noq version 0.18.0