Skip to content

Releases: rust-proxy/wind

latest

18 Jun 16:33
89b1d68

Choose a tag to compare

latest Pre-release
Pre-release

🚀 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

🐛 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

🚜 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

📚 Documentation

  • Add full-project code review report by @Itsusinn

🎨 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

🧪 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

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 ❤️