Skip to content

Releases: zerodenet/zero

v0.0.14-rc

Choose a tag to compare

@github-actions github-actions released this 30 Jun 06:44

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (2)

  • route by inbound tag
  • add TransportKind and InboundTransport for transport dispatch

๐Ÿ› Fixed (8)

  • gate reality-only test and mux APIs
  • account ordinary udp upstream responses
  • flush stream-framed protocol responses
  • restore managed relay flow reuse
  • preserve socks5 udp outbound attribution
  • preserve inbound tag in panel trace route
  • add feature gates on establish_*_outbound match arms, split start.rs
  • initialize UDP session rate limits matching TCP path

๐Ÿ”จ Improved (761)

  • hide stream udp responder buffers
  • move stream udp read buffers into protocols
  • move datagram udp inbound tracking into protocols
  • centralize socks5 udp associate protocol glue
  • centralize datagram udp inbound relay glue
  • centralize mux udp inbound relay glue
  • route vless udp inbound through stream relay glue
  • centralize stream udp inbound relay glue
  • thin shadowsocks inbound adapter
  • thin trojan hysteria2 profile adapters
  • thin socks5 mieru tcp adapters
  • delegate socks5 command dispatch
  • delegate vless vmess inbound session dispatch
  • delegate trojan mieru inbound session dispatch
  • delegate socks5 udp relay classification
  • wrap socks5 udp associate responses
  • wrap hysteria2 udp inbound responses
  • wrap shadowsocks udp inbound responses
  • wrap trojan mieru udp inbound responses
  • wrap stream udp inbound responses in protocols
  • wrap mux udp inbound responses in protocols
  • move mux pool key specs into protocols
  • centralize inbound udp pipe dispatch
  • group mux tcp handoff inputs
  • share vmess mux tcp handoff
  • share socks5 udp response writes
  • share datagram udp response writes
  • share mux udp response writes
  • share stream udp response writes
  • unify socks5 udp direct responses
  • share inbound udp chain responses
  • share inbound udp direct responses
  • thin mieru inbound profile adapter
  • thin vmess inbound profile adapter
  • thin vless inbound adapter config
  • thin socks5 shadowsocks config adapters
  • thin vless vmess config adapters
  • move vless fallback recording stream to transport
  • share inbound tls async socket glue
  • keep inbound udp response models protocol-owned
  • send socks5 direct udp responses as client models
  • submit socks5 udp dispatch as neutral request
  • drop inbound udp ip response shims
  • drop inbound udp sender response shims
  • route inbound udp direct responses through client models
  • wrap hysteria2 udp responses
  • wrap trojan mieru udp responses
  • wrap vless vmess udp responses
  • wrap socks5 udp client responses
  • narrow socks5 udp dispatch bridge
  • split vmess udp inbound glue
  • split mux udp inbound glue
  • split hysteria2 udp inbound glue
  • split stream udp inbound glue
  • hide tcp outbound result variants
  • centralize tcp outbound result construction
  • hide mux pool key endpoints behind protocol accessors
  • centralize udp association lifecycle identity
  • narrow udp association identity bridge
  • thin mux pool key construction
  • move inbound stream wrapping into protocol
  • neutralize stream udp inbound dispatch
  • route inbound udp through neutral dispatch
  • move inbound udp relay classification into protocol
  • move inbound mux server state into protocol
  • move inbound mux server state into protocol
  • encapsulate packet path cache identity
  • neutralize tcp outbound results
  • keep inbound udp session tracking protocol-owned
  • keep inbound profile materialization protocol-owned
  • keep outbound password materialization protocol-owned
  • keep tcp password materialization protocol-owned
  • keep auth user materialization protocol-owned
  • keep inbound user materialization protocol-owned
  • delegate mux pool keys to protocols
  • hide inbound cipher detail from proxy
  • derive udp inbound protocol from dispatch parts
  • keep udp dispatch tracking protocol-owned
  • keep udp dispatch tracking protocol-owned
  • hide udp associate dispatch view details
  • classify inbound sessions in protocol
  • classify trojan and mieru inbound sessions
  • classify inbound transport sessions in protocol
  • classify inbound mux opened streams
  • shrink inbound mux task models
  • route custom tcp metering through runtime
  • centralize udp response attribution
  • centralize upstream udp response accounting
  • use structured socks5 upstream udp responses
  • keep udp response decoding in protocol
  • use inbound udp response accounting
  • centralize inbound udp response accounting
  • expose packet-path carrier codec
  • move http redirect selection to runtime
  • narrow inbound profile config adapters
  • move vless vmess inbound user config helpers
  • move inbound auth config helper to protocol
  • hide inbound mux identity context
  • hide inbound udp session response gating
  • hide inbound udp response session lookup
  • hide inbound mux action state
  • hide inbound mux stream state
  • hide inbound mux downlink handling
  • hide managed udp codec sharing
  • hide inbound udp dispatch recording
  • move mux tcp relays into protocols
  • move mux stream tables into protocols
  • hide encoded upstream udp response send
  • return inbound udp response length
  • hide inbound udp session recording
  • hide inbound udp session recording
  • hide inbound mux downlink channel
  • move inbound mux writer pump to protocol
  • store managed udp resumes directly
  • build inbound tls acceptor in adapter
  • build inbound tls acceptor in adapter
  • build inbound tls acceptor in adapter
  • hide tcp target from proxy adapter
  • move mux transport identity into protocol
  • move mux transport identity into protocol
  • use neutral quic profile in connector
  • move tls profile materialization out of adapters
  • keep xhttp udp relay mode in transport
  • borrow stream udp dispatch parts
  • borrow vless vmess udp dispatch parts
  • delegate xhttp inbound mode selection
  • hide inbound udp session keys
  • hide stream udp dispatch fields
  • hide inbound udp dispatch fields
  • hide vless vmess udp dispatch fields
  • keep mux inbound sessions protocol-owned
  • use neutral packet path datagram endpoint
  • keep packet path datagram key opaque
  • wrap mux pool connections in protocol key
  • keep pool identities protocol-owned
  • hide udp response model from adapter runtime
  • name redirect selection as proxy glue
  • consume inbound udp dispatch parts directly
  • keep inbound udp dispatch parts protocol-owned
  • keep mux api under protocol module
  • keep mux api under protocol module
  • keep udp associate decisions protocol-owned
  • keep mux frame helpers off root api
  • keep wire helpers off root api
  • keep data phase internals off root api
  • keep shared helpers off root api
  • delegate hysteria2 connect responses
  • centralize stack socket address conversion
  • use platform socks5 udp relay address conversion
  • delegate vmess mux payload framing
  • delegate vless mux payload framing
  • centralize inbound source address conversion
  • use neutral socks5 udp response targets
  • share socks5 inbound auth bridge
  • use socks5 relay socket address
  • delegate udp direct response endpoints
  • delegate inbound udp sender targets
  • delegate stream udp response targets
  • route vless mux writer through facade
  • delegate mux udp payload decode
  • use vmess inbound mux session facade
  • use vless inbound mux session facade
  • delegate socks5 udp associate reply
  • delegate http connect inbound replies
  • delegate socks5 inbound replies
  • use socks5 tcp outbound profile
  • use mieru tcp outbound profile
  • use trojan tcp outbound profile
  • use hysteria2 outbound profile
  • delegate hysteria2 datagram inbound reads
  • delegate vmess udp inbound reads
  • delegate vless udp inbound reads
  • delegate mieru udp inbound reads
  • thin hysteria2 packet path codec bridge
  • thin shadowsocks packet path codec bridge
  • consume trojan udp dispatch view
  • consume hysteria2 udp dispatch view
  • consume mieru udp dispatch view
  • delegate socks5 udp dispatch classification
  • normalize inbound profile config bridges
  • thin mieru inbound profile bridge
  • thin vless reality inbound profile
  • thin vless vmess inbound profiles
  • thin socks5 inbound auth adapters
  • route vmess mux tcp through pipe
  • delegate inbound udp dispatch parts
  • delegate vless vmess udp dispatch decode
  • trim hysteria2 inbound request config
  • pass vless inbound transport config through adapter
  • move vless inbound profile to protocol
  • move socks5 inbound auth to protocol
  • move vmess inbound profile to protocol
  • move mieru inbound auth profile to protocol
  • move trojan inbound auth profile to protocol
  • move vless reality inbound profile to protocol
  • move vless inbound user store to protocol
  • move socks5 udp direct response target to protocol
  • move hysteria2 inbound quic auth to protocol
  • move shadowsocks udp client routing to protocol session
  • move vless inbound mux actions to protocol
  • move vmess inbound mux actions to protocol
  • move vmess tcp session setup to protocol config
  • move vmess tcp mux identity to protocol
  • move vless flow classification to protocol
  • move hysteria2 auth handshake to protocol
  • move socks5 udp association identity to protocol
  • move vless deferred stream wrapping to protocol
  • move shadowsocks tcp stream wrapping to protocol
  • move inbound mux session mapping to protocols
  • share udp response accounting in remaining inbounds
  • centralize inbound udp response accounting
  • move inbound auth identity to protocols
  • move tcp mux identity build to protocols
  • move vless vmess mux identity build to protocols
  • move shadowsocks inbound udp response send to protocol
  • trim hysteria2 inbound udp dispatch glue
  • route mieru inbound udp through udp pipe
  • wrap vmess inbound mux server in protocol session
  • wrap vless inbound mux server in protocol session
  • move socks5 udp dns request...
Read more

v0.0.14-beta

v0.0.14-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jun 10:59

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (1)

  • add TransportKind and InboundTransport for transport dispatch

๐Ÿ› Fixed (2)

  • add feature gates on establish_*_outbound match arms, split start.rs
  • initialize UDP session rate limits matching TCP path

๐Ÿ”จ Improved (6)

  • split vmess.rs (1006 lines) into 5 domain submodules
  • split vless.rs (1355 lines) into 7 domain submodules
  • remove unused super::* imports, fix api.rs ListenConfig import
  • extract per-protocol establish_*_outbound methods from dispatch match
  • split model.rs into 8 domain modules
  • converge bind dispatch to single ProtocolAdapter path

๐Ÿ”ง Maintenance (1)

  • replace hand-rolled date math with time crate, rewrite AGENTS.md

๐Ÿค– auto-generated by GitHub Actions

v0.0.13

Choose a tag to compare

@github-actions github-actions released this 16 Jun 06:17

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (16)

  • add close_reason to completed flows
  • DNS cache + Fake IP query commands
  • trace_route returns the matched rule
  • structured field-level error diagnostics (error.details[])
  • implement QUIC packet-path carrier for UDP relay chains
  • implement XHTTP stream-one single-connection transport
  • close all 3 remaining VLESS gaps per incomplete.md
  • add MuxConnectionPool::open_udp_stream() for MUX UDP outbound
  • per-client-session UDP flow isolation for SIP022 3.2.4
  • bound 2022 drain with wall-clock timeout
  • SIP022 3.1.3 TCP detection-prevention (single-read + drain)
  • SIP022 3.2.4 UDP sliding-window replay filter
  • implement SIP022 2022 UDP server response path
  • add SIP022 3.1.5 server-side replay salt pool
  • implement SIP022 2022-edition TCP request/response headers
  • diagnostics.probe_outbound โ€” sync single-node latency probe

๐Ÿ› Fixed (5)

  • fmt โ€” rustfmt 1.9.0 reformats query.rs/protocol.rs test code
  • guard blake3-only calls so crypto-without-blake3 compiles
  • gate session/segment modules on crypto so no_std path compiles
  • release notes skipped prerelease tags + scoped commits
  • relay-stream TLS client fingerprint now interoperates

๐Ÿ”จ Improved (2)

  • pass client_session_id through all UDP inbound adapters
  • move inline #[cfg(test)] modules to crate tests/ dirs

๐Ÿ”ง Maintenance (6)

  • add XHTTP stream-one UDP relay final-hop e2e coverage
  • add pre-commit hook mirroring CI static checks + fix rustfmt
  • auto update version shell
  • remove audit docs after implementation complete
  • extend UDP probe to validate sliding-window replay rejection
  • add SIP022 2022 UDP server-response interop probe

๐Ÿ“– Documentation (24)

  • remove implemented items from gap/suggestion lists
  • trim incomplete.md to outstanding gaps only
  • document zero-ztls; drop stale zero-web from CLAUDE.md
  • sync Mieru to supported per metadata
  • mark relay-stream TLS client fingerprint as implemented
  • document runtime pid/config_path/started_at + command permissions
  • sync push location, DNS query model, rule_set interval
  • sync XHTTP stream-one rename and QUIC deprecation
  • update non_reality_tls_fingerprint entry โ€” confirmed removed from metadata.rs
  • sync protocol-capabilities VLESS limitation codes to current state
  • sync protocol README status table to actual metadata descriptors
  • fix consistency gaps between docs and code
  • sync incomplete.md to current implementation status
  • update protocol-capabilities to reflect audit findings
  • add VLESS gap audit and implementation plan
  • sync protocol READMEs and capability matrix to current code
  • sync docs to current code implementation
  • remove closed per-session UDP routing gap
  • sync stale SS 2022 docs to current spec-complete state
  • document SIP022 3.2.4 UDP routing-by-session-id gap
  • SIP022 is now spec-complete (all sections implemented)
  • note Zero->Zero validation of 2022 TCP outbound pipeline
  • readme world change
  • fix dead links breaking vitepress build

๐Ÿค– auto-generated by GitHub Actions

v0.0.13-rc

v0.0.13-rc Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 15 Jun 11:04

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (10)

  • close all 3 remaining VLESS gaps per incomplete.md
  • add MuxConnectionPool::open_udp_stream() for MUX UDP outbound
  • per-client-session UDP flow isolation for SIP022 3.2.4
  • bound 2022 drain with wall-clock timeout
  • SIP022 3.1.3 TCP detection-prevention (single-read + drain)
  • SIP022 3.2.4 UDP sliding-window replay filter
  • implement SIP022 2022 UDP server response path
  • add SIP022 3.1.5 server-side replay salt pool
  • implement SIP022 2022-edition TCP request/response headers
  • diagnostics.probe_outbound โ€” sync single-node latency probe

๐Ÿ› Fixed (5)

  • fmt โ€” rustfmt 1.9.0 reformats query.rs/protocol.rs test code
  • guard blake3-only calls so crypto-without-blake3 compiles
  • gate session/segment modules on crypto so no_std path compiles
  • release notes skipped prerelease tags + scoped commits
  • relay-stream TLS client fingerprint now interoperates

๐Ÿ”จ Improved (2)

  • pass client_session_id through all UDP inbound adapters
  • move inline #[cfg(test)] modules to crate tests/ dirs

๐Ÿ”ง Maintenance (5)

  • add pre-commit hook mirroring CI static checks + fix rustfmt
  • auto update version shell
  • remove audit docs after implementation complete
  • extend UDP probe to validate sliding-window replay rejection
  • add SIP022 2022 UDP server-response interop probe

๐Ÿ“– Documentation (16)

  • update non_reality_tls_fingerprint entry โ€” confirmed removed from metadata.rs
  • sync protocol-capabilities VLESS limitation codes to current state
  • sync protocol README status table to actual metadata descriptors
  • fix consistency gaps between docs and code
  • sync incomplete.md to current implementation status
  • update protocol-capabilities to reflect audit findings
  • add VLESS gap audit and implementation plan
  • sync protocol READMEs and capability matrix to current code
  • sync docs to current code implementation
  • remove closed per-session UDP routing gap
  • sync stale SS 2022 docs to current spec-complete state
  • document SIP022 3.2.4 UDP routing-by-session-id gap
  • SIP022 is now spec-complete (all sections implemented)
  • note Zero->Zero validation of 2022 TCP outbound pipeline
  • readme world change
  • fix dead links breaking vitepress build

๐Ÿค– auto-generated by GitHub Actions

v0.0.13-beta

v0.0.13-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Jun 14:56

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (1)

  • diagnostics.probe_outbound โ€” sync single-node latency probe

๐Ÿ› Fixed (5)

  • fmt โ€” rustfmt 1.9.0 reformats query.rs/protocol.rs test code
  • guard blake3-only calls so crypto-without-blake3 compiles
  • gate session/segment modules on crypto so no_std path compiles
  • release notes skipped prerelease tags + scoped commits
  • relay-stream TLS client fingerprint now interoperates

๐Ÿ”จ Improved (1)

  • move inline #[cfg(test)] modules to crate tests/ dirs

๐Ÿ“– Documentation (2)

  • readme world change
  • fix dead links breaking vitepress build

๐Ÿค– auto-generated by GitHub Actions

v0.0.12

Choose a tag to compare

@github-actions github-actions released this 12 Jun 05:37

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes


๐Ÿค– auto-generated by GitHub Actions

v0.0.12-beta

v0.0.12-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Jun 05:46

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-linux-x86_64.tar.gz
macOS x86_64 zero-darwin-x86_64.tar.gz
macOS aarch64 zero-darwin-aarch64.tar.gz
Windows x86_64 zero-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes


๐Ÿค– auto-generated by GitHub Actions

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 10 Jun 07:36

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-v0.0.11-linux-x86_64.tar.gz
macOS x86_64 zero-v0.0.11-darwin-x86_64.tar.gz
macOS aarch64 zero-v0.0.11-darwin-aarch64.tar.gz
Windows x86_64 zero-v0.0.11-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (1)

  • VMess partial upgrade, docs restructure, Chinese localization

๐Ÿ› Fixed (1)

  • escape HTML tags in docs, make docs build non-blocking in CI

๐Ÿ”ง Maintenance (1)

  • bump version to v0.0.11

๐Ÿ“– Documentation (3)

  • add tiered capability classification for Shadowsocks and VMess
  • sync protocol documentation with VMess implementation
  • add protocols section, document 2022 password validation, update capabilities

๐Ÿค– auto-generated by GitHub Actions

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 08 Jun 11:19

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-v0.0.10-linux-x86_64.tar.gz
macOS x86_64 zero-v0.0.10-darwin-x86_64.tar.gz
macOS aarch64 zero-v0.0.10-darwin-aarch64.tar.gz
Windows x86_64 zero-v0.0.10-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (1)

  • emit structured ipc.connected / ipc.disconnected events

๐Ÿ› Fixed (2)

  • ๆŠŠ connections.join_next() ๆ”ถๅ‰ฒๅˆ†ๆ”ฏ็งปๆˆ tokio::select! ็‹ฌ็ซ‹ๅˆ†ๆ”ฏ๏ผŒไฟฎๆމ cannot find value result in this scope
  • add --branch=main to Cloudflare Pages deploy command

๐Ÿ”จ Improved (1)

  • migrate Shadowsocks and Hysteria2 UDP to UdpDispatch

๐Ÿ”ง Maintenance (5)

  • change license from MIT to MPL-2.0
  • update project metadata and READMEs to snake_case
  • update all tests for snake_case API and config
  • remove backup files, add .gitignore
  • bump workspace version to 0.0.9

๐Ÿ“– Documentation (11)

  • sync project docs with mixed UDP, SS relay chain, and Mieru username changes
  • update architecture for KernelPipe boundary and protocol capabilities
  • update architecture.md and CLAUDE.md for UDP dispatch convergence
  • sync with protocol capability model and relay chain support
  • sync documentation with protocol capability model and relay chain support
  • sync all documentation to snake_case wire format
  • audit and fix all control-plane docs โ€” version refs, wildcard, IPC logging
  • add id field to all IPC request examples (Query/Command/Subscribe)
  • update version references in http-api and cli docs (0.0.2 -> 0.0.9)
  • fix IPC protocol query format โ€” request is tagged object, not bare string
  • add .wrangler to gitignore, use dynamic latest release link

๐Ÿค– auto-generated by GitHub Actions

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 04 Jun 06:55

๐Ÿ“ฆ Assets

Platform Archive
Linux x86_64 zero-v0.0.9-linux-x86_64.tar.gz
macOS x86_64 zero-v0.0.9-darwin-x86_64.tar.gz
macOS aarch64 zero-v0.0.9-darwin-aarch64.tar.gz
Windows x86_64 zero-v0.0.9-windows-x86_64.zip

Quick download (latest): https://github.com/\zerodenet/zero/releases/latest/download/zero-{platform}.{ext}

๐Ÿ“ Changes

๐Ÿš€ Added (6)

  • IPC multiplexing โ€” id-based request-response pairing + persistent connection
  • per-dispatcher H2 chain manager โ€” completes chain migration
  • per-dispatcher Trojan and Mieru chain managers
  • per-dispatcher chain-outbound manager with async response polling
  • generic UDP dispatch โ€” protocol-agnostic routing for all inbound UDP paths
  • bug fixes, docs overhaul, panel connector, vmess crypto, hardening

๐Ÿ› Fixed (6)

  • pass TLS fingerprint cipher suites through to ztls in connect_tls13_upstream
  • session metering, double-counting, and pre-existing compile error
  • VLESS UDP SOCKS5 upstream response handling and dead code cleanup
  • restore structured TLS parsing in ztls::util after incorrect refactor
  • update session_observability test expectations to match relay-only byte tracking
  • update test imports after ztls refactor, fix direct inbound test, suppress vmess body AEAD warnings

๐Ÿ”จ Improved (2)

  • drop zero-protocol- prefix from protocol crate names
  • unify VLESS chain response polling into chain_tasks JoinSet

๐Ÿ”ง Maintenance (3)

  • bump workspace version to 0.0.9
  • cargo fmt fix
  • split protocol crate versions to track upstream references

๐Ÿ“– Documentation (5)

  • correct VLESS TLS fingerprint gap โ€” ztls already used, just needs parameter passthrough
  • rewrite protocols/README.md and remove outdated TODO.md files
  • add protocol README.md files with version tracking and alignment status
  • remove docs/versions/ โ€” version notes belong in GitHub releases, not repo docs
  • update test commands to use shortened protocol crate names

๐Ÿค– auto-generated by GitHub Actions