Releases: zerodenet/zero
Release list
v0.0.14-rc
๐ฆ 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...
v0.0.14-beta
๐ฆ 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
๐ฆ 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
supportedper 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
๐ฆ 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
๐ฆ 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
๐ฆ 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
๐ฆ 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
๐ฆ 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
๐ฆ 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
๐ฆ 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