Skip to content

latest

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Jun 19:54
58505cf

πŸš€ Features

  • Extract tuic-core, add tokio-quiche backend, runtime backend switch by @Itsusinn
  • (wind-tuiche) Verify TUIC auth token via BoringSSL keying-material exporter by @Itsusinn
  • Support ACME and self-signed certs on the quiche backend by @Itsusinn
  • (wind-tuiche) Hot-reload TLS certificates via a ConnectionHook by @Itsusinn
  • Try enabling the quiche backend on 32-bit targets by @Itsusinn
  • Naive UoT v2 relay, QUIC congestion control in wind-core, wind-tuiche tracing spans (#18) by @Itsusinn
  • (wind-quic) Unified QUIC abstraction over quinn and quiche (#20) by @Itsusinn
  • (wind-tuic) HTTP/3 masquerade for non-TUIC clients (#24) by @Itsusinn
  • (hooks) Downstream extensibility hooks for inbound auth, traffic stats & connection management (#29) by @Itsusinn
  • (hooks) Add Protocol::Naive variant (#30) by @Itsusinn
  • (wind-tuic) ActiveConnections registry for per-user limits + kick (#31) by @Itsusinn
  • (wind-acme,wind-core) Shared cert + ActiveConnections for server hosts (#32) by @Itsusinn
  • (wind-acme) Depend on rustls-acme main-fork via submodule (#33) by @Itsusinn
  • (wind-acl) Generic ACL/routing engine unifying Clash + Hysteria rules (#34) by @Itsusinn
  • (acl) Wind-acl-ir IR + engine, replacing wind-acl (#36) by @Itsusinn
  • (wind-geodata) Add GeoSite/GeoIP loader with rkyv zero-copy mmap support by @Itsusinn
  • (wind-tuic) Add effective_name() and Display to CongestionControl enums (#46) by @Itsusinn
  • (quic) Per-algorithm congestion-control tuning (#47) by @Itsusinn

πŸ› Bug Fixes

  • (test) DirectCallback no longer swallows UDP relay errors silently by @Itsusinn
  • (wind-tuic) Set max_early_data_size to u32::MAX for 0-RTT by @Itsusinn
  • Complete the cancellation chain across all binaries and crates (#22) by @Itsusinn
  • (wind-geodata) Correctness fixes, mmap validation, and tests (#40) by @Itsusinn
  • (codspeed) Fix v4 mode mismatch and add walltime instrument (#41) by @Itsusinn
  • (quiche) Preserve final traffic sample on connection close (#43) by @Itsusinn
  • (wind-base) Bind direct UDP relay dual-stack for IPv6 targets (#48) by @Itsusinn
  • (tuic) Clean up connection child resources (#49) by @Itsusinn
  • (wind-core) Reap idle half-closed relays (#50) by @Itsusinn

🚜 Refactor

  • Drop wind_core log macros, instrument spawns, attempt tracing-test by @Itsusinn
  • (tuic-core) Replace manual byte parsing with nom streaming parsers by @Itsusinn
  • (tuic) Unify wind-tuiche into wind-tuic over the wind-quic abstraction (#21) by @Itsusinn
  • (acl) [breaking] Separate tuic legacy ACL from real apernet ACL by @Itsusinn
  • (tuic) Carry id/user on the per-connection tracing span (#44) by @Itsusinn

πŸ“š Documentation

  • Add full-project code review report by @Itsusinn
  • (specs) Acl-ir intermediate representation spec (#35) by @Itsusinn
  • Rewrite ACL IR specifications (#37) by @Itsusinn

⚑ Performance

  • Add CodSpeed performance benchmarking (#38) by @codspeed-hq[bot]

🎨 Styling

  • Migrate OutboundAction to #[async_trait], Router to RPITIT + Send by @Itsusinn
  • Rustfmt the new quiche integration tests by @Itsusinn
  • Apply cargo fmt to tuic-core by @Itsusinn
  • Apply cargo +nightly fmt by @Itsusinn
  • Cargo fmt by @Itsusinn

πŸ§ͺ Testing

  • Regression tests + IPv6-dual-stack fix for SOCKS5 UDP source check by @Itsusinn
  • Integration test verifying PR2 log-level demotion by @Itsusinn
  • Simplify PR2 log-capture helper by @Itsusinn
  • Switch PR2 log-noise check to tracing-test (no-env-filter feature) by @Itsusinn
  • Cap UDP payload at 9 KiB on macOS in PR2 log-noise test by @Itsusinn
  • Rephrase comment to placate typos linter by @Itsusinn
  • Rephrase comment to placate typos linter by @Itsusinn
  • Feed dispatch_udp a real first packet in routing test by @Itsusinn
  • Rephrase comment to placate typos linter (third time) by @Itsusinn
  • Add quiche backend, 0-RTT, and cert hot-reload integration tests by @Itsusinn
  • Fix quiche UDP relay test on CI (avoid dual-stack setsockopt) by @Itsusinn
  • (tuic) Add 0-RTT integration tests for quinn and quiche backends (#26) by @Itsusinn
  • Expand coverage (graceful shutdown, pure fns, SOCKS5 TCP) + client auto-reconnect (#28) by @Itsusinn

πŸ› οΈ Builds

  • Re-enable datagram-socket patch for musl cross-compilation by @Itsusinn
  • Gate quiche backend behind a cargo feature, enabled per-target in CI by @Itsusinn

βš™οΈ Miscellaneous Tasks

  • Cargo +nightly fmt --all by @Itsusinn
  • Cargo +nightly fmt by @Itsusinn
  • Exclude vendored patches/ from the typos spell-check by @Itsusinn
  • (wind-dns) Upgrade hickory-resolver 0.25 β†’ 0.26 (#19) by @Itsusinn
  • Add log filter by @Itsusinn
  • (ci) Cap sccache at 850M per target (#23) by @Itsusinn
  • Strip redundant comments and PR-number test prefixes (#25) by @Itsusinn
  • (traffic) Add batch summary logging to flush_once (#42) by @Itsusinn
  • (codspeed) Conditionally run walltime on Macro Runners (#45) by @Itsusinn

Concurrency

  • PR3 β€” session lifecycle, leak/panic fixes, graceful shutdown by @Itsusinn

Deps

  • Upgrade tokio-quiche 0.18 -> 0.19 (quiche 0.29) by @Itsusinn

Protocol

  • PR2 β€” codec robustness, uni-stream finish, fragment validation by @Itsusinn

Quality

  • PR5 β€” perf, quality, and dead-code cleanups by @Itsusinn
  • Drop WIND_OVERRIVE_VERSION fallback by @Itsusinn

Routing

  • PR4 β€” rule/config/dispatcher correctness pass by @Itsusinn

Security

  • PR1 β€” secure defaults, auth/0-RTT/source validation hardening by @Itsusinn

New Contributors ❀️

  • @Itsusinn made their first contribution in #50
  • @codspeed-hq[bot] made their first contribution in #38