Skip to content

v0.4.0

Choose a tag to compare

@eareimu eareimu released this 19 Dec 08:30
· 143 commits to main since this release

Summary

Core & Network
Rewrote interface monitoring and packet assembly for better stability. Improved connection lifecycle management, added connection metrics, and implemented Sink/Stream traits for stream IO.

Identity
Introduced identity-based signing and verification mechanisms, enabling secure identity authentication and verification for both client and server.

Client and Server
Enhanced client capabilities with built-in DNS resolution support and optimized interface binding logic for better connectivity. Optimize QuicListeners API

Community
Added support for R2CN.

Toolchain
Modernized the codebase by adopting Rust 2024 edition and upgrading the Minimum Supported Rust Version (MSRV) to 1.88.

Improvements
Improved TLS state handling and Windows compatibility. Implemented various performance optimizations around buffer management and idle timer handling.

What's Changed

  • fix: remove TooManyPart error for parsing BindUri by @huster-zhangpeng in #613
  • fix: compatibility with windows interface names by @huster-zhangpeng in #614
  • fix: use the interface's ip to test liveness at first by @huster-zhangpeng in #615
  • feat: rewrite quic packets assembly by @eareimu in #616
  • fix: remove incorrect assertions and boundary judgments by @eareimu in #618
  • docs: fix typo in README_CN.md by @ytlm in #617
  • fix(qinterface): recreate the path when its interface is rebound by @eareimu in #619
  • fix: compatible with traversal by @eareimu in #620
  • ci: rename gm-quic-multi-path to fix benchmark ci by @eareimu in #621
  • feat: publish endpoint address when binding interface by @metah3m in #622
  • build(deps): update x509-parser requirement from 0.17 to 0.18 by @dependabot[bot] in #623
  • build(deps): update windows-sys requirement from 0.60 to 0.61 by @dependabot[bot] in #624
  • fix: correct typo in builder function name for crypto provider by @stevefan1999-personal in #629
  • feat: fine-grained control over client auth behavior, remove or downgrade logs, fix the definition of error that violates the standard library design by @eareimu in #628
  • feat: miscellaneous by @eareimu in #635
  • feat: support R2CN by @huster-zhangpeng in #634
  • build(deps): update netdev requirement from 0.31 to 0.39 by @dependabot[bot] in #632
  • Replace u8 with Dir enum in FrameType for stream direction by @Copilot in #637
  • docs: add Dependencies and MSRV badge by @huster-zhangpeng in #638
  • Add connection-level metrics for QUIC stream data volumes by @Copilot in #640
  • fix(readme): code examples by @eareimu in #644
  • Replace raw u8 flags with typed enums in FrameType by @Copilot in #643
  • feat: agent, client builtin dns by @eareimu in #646
  • build(deps): update darling requirement from 0.21 to 0.23 by @dependabot[bot] in #645
  • feat: release v0.4.0 by @eareimu in #647

New Contributors

Full Changelog: v0.3.0...v0.4.0