Releases: zerodenet/core
Release list
v0.0.15-rc.1
π¦ 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 (6)
- push self-contained flow lifecycle records
- extend passive relay health to UDP
- add passive relay health fallback
- integrate zero rule sets into routing
- add global latency probe and network mtu
- add zero rule library and zrs format
π Fixed (10)
- mark release script executable
- use libc TUNSETIFF constant
- remove Python version tooling dependency
- prevent protocol table overflow
- run blocking commands off reactor
- demote routine client lifecycle logs
- instantiate trojan adapter directly
- gate outbound stack optional layers
- restore isolated proxy feature checks
- stream probe results and reconcile tasks
π¨ Improved (155)
- unify live event subscriptions
- clear Rust 1.96 clippy warnings
- narrow adapter runtime capabilities
- enforce protocol capability ownership
- tighten protocol runtime boundaries
- centralize outbound projection in adapters
- move UDP transport execution into runtime
- remove redundant inbound support check
- keep inbound task lifecycle in runtime
- move outbound execution into runtime
- prepare UDP relay continuations before runtime
- move UDP relay dispatch into runtime
- move TCP relay execution into runtime
- split managed stream send facade
- split registered upstream control facade
- split managed relay handler facade
- split managed datagram manager facades
- split registered upstream handler facade
- split managed packet connection facade
- split managed tuple connection facade
- split managed cache insert facade
- split managed stream relay facade
- split upstream association lifecycle facade
- split packet path chain bridge facade
- split packet path chain facade
- split managed udp start dispatch facade
- split registered udp lifecycle facade
- split registered udp start facade
- split managed udp flow request models
- split packet session udp lifecycle helpers
- split no-client mux facade
- split handle command facade
- split udp dispatch forward facade
- split packet path datagram facade
- split route runtime facade
- split udp flow projection accessors
- split recorded mux route facades
- split tcp listener loop facade
- split udp dispatch lifecycle facade
- split quic listener loop facade
- split tcp ingress runtime facade
- split pipe facade
- split udp delivery helpers
- split udp ingress facade
- split mux runtime facades
- split stream udp facade
- split orchestration facade
- split tcp ingress contract facade
- split tcp ingress lifecycle facade
- split udp association lifecycle facade
- split udp flow sessions facade
- split inbound operation context facade
- split udp dispatch managed start facade
- split udp flow outbound projection facade
- split udp association contract facade
- split datagram udp lifecycle
- split packet session udp lifecycle
- split route runtime facade
- split udp flow state facade
- split udp dispatch facade
- split udp packet path facade
- split udp flow outbound facade
- split inbound listener operation facade
- split udp prepared operation facade
- split tcp prepared operation facade
- move outbound leaf claiming to registration boundary
- lift inbound config projection to adapters
- split config validation surfaces
- split validation from runtime
- drop outbound runtime leaf passthroughs
- drop inbound bind runtime passthrough
- drop runtime constructor passthroughs
- drop outbound leaf config wrappers
- drop listener config wrappers
- drop opened-route handler wrappers
- drop legacy route wrapper helpers
- make adapter handoff branching explicit
- accept protocol surfaces before runtime handoff
- drop protocol-side quic dispatch helpers
- keep outbound owner claim registry-private
- claim outbound leaves once per owner
- centralize heavy outbound leaf projection
- claim outbound leaves by protocol owner
- tighten heavy runtime input surfaces
- bundle heavy outbound build inputs
- bundle heavy inbound runtime inputs
- bundle heavy outbound runtime inputs
- hide legacy transport config constructors
- drop legacy simple protocol helper exports
- move simple protocol projection behind option refs
- move adapter config construction behind option refs
- move inbound adapter construction behind protocol runtimes
- move adapter profile construction behind protocol runtime
- move vless and vmess runtime state behind protocol handles
- drop protocol transport bridge objects
- move leaf metadata out of bridge types
- key managed handlers by resume metadata
- move bridge claims into registry
- rename error crate and drop adapter shim
- move runtime service factories to proxy
- thread runtime services through ingress
- collapse udp runtime services
- extract urltest runtime
- share ingress runtime services
- narrow ingress runtime dependencies
- narrow inbound listener orchestration
- narrow inbound listener execution runtime
- narrow listener loop runtime contracts
- add tcp ingress runtime context
- collapse post-accept route runtime context
- narrow post-accept route runtimes
- push udp session facades onto ingress runtime
- move udp dispatch onto ingress runtime
- unify udp ingress runtime context
- route udp runtime helpers through services
- rename stable transport boundary profiles
- rename socks5 inbound acceptor surface
- rename simpler inbound surfaces
- hide adapter config intermediates
- rename engine contract and seal transport plans
- own trojan outbound leaf config
- own inbound listener configs
- own vless vmess outbound leaf configs
- require explicit grpc service names
- move grpc and quic defaults to protocols
- preclaim udp hooks before leaf assembly
- claim runtime facts through tcp leaves
- require claimed packet-path leaves
- require claimed tcp and udp leaves
- claim non-transport tcp and udp leaves upfront
- claim packet-path adapter plans upfront
- claim packet-path leaves through opaque hooks
- claim transport bridge udp leaves upfront
- claim transport bridge tcp leaves upfront
- claim outbound leaves through opaque hooks
- collapse inventory claim staging
- own outbound runtime facts
- move raw-leaf test helpers out of inventory
- claim resolved outbounds before prepare
- shrink prepared udp plan state
- prepare udp outbounds before dispatch
- prepare tcp outbounds as opaque plans
- claim relay chains before inventory prepare
- route leaf prepare through claimed entries
- move udp relay prep behind claimed leaves
- shrink outbound leaf exposure
- move protocol integrations into protocol crates
- isolate binary lifecycle orchestration
- split runtime and application domains
- tighten architecture boundaries
- enforce runtime-owned data plane
- converge data-plane operations
- rename http_connect protocol to http
- complete focused capability architecture
- finish boundary closure across proxy transport and protocols
π§ Maintenance (7)
- ignore local Codex and docs pnpm files
- move inventory coverage to integration tests
- classify suffixed tags as prereleases
- stop tracking refactor notes
- lock udp flow facade roots
- lock managed udp facade roots
- construct trojan adapter directly
π Documentation (8)
- add airport panel integration
- clarify connector responsibilities
- document live flow lifecycle
- reorganize documentation site
- fix control plane menu label and route
- auto sidebar for guides protocols and control-plane api with Chinese menu
- auto sidebar generation from document titles
- unify and refresh documentation
π€ auto-generated by GitHub Actions
v0.0.15-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 (6)
- push self-contained flow lifecycle records
- extend passive relay health to UDP
- add passive relay health fallback
- integrate zero rule sets into routing
- add global latency probe and network mtu
- add zero rule library and zrs format
π Fixed (7)
- prevent protocol table overflow
- run blocking commands off reactor
- demote routine client lifecycle logs
- instantiate trojan adapter directly
- gate outbound stack optional layers
- restore isolated proxy feature checks
- stream probe results and reconcile tasks
π¨ Improved (154)
- clear Rust 1.96 clippy warnings
- narrow adapter runtime capabilities
- enforce protocol capability ownership
- tighten protocol runtime boundaries
- centralize outbound projection in adapters
- move UDP transport execution into runtime
- remove redundant inbound support check
- keep inbound task lifecycle in runtime
- move outbound execution into runtime
- prepare UDP relay continuations before runtime
- move UDP relay dispatch into runtime
- move TCP relay execution into runtime
- split managed stream send facade
- split registered upstream control facade
- split managed relay handler facade
- split managed datagram manager facades
- split registered upstream handler facade
- split managed packet connection facade
- split managed tuple connection facade
- split managed cache insert facade
- split managed stream relay facade
- split upstream association lifecycle facade
- split packet path chain bridge facade
- split packet path chain facade
- split managed udp start dispatch facade
- split registered udp lifecycle facade
- split registered udp start facade
- split managed udp flow request models
- split packet session udp lifecycle helpers
- split no-client mux facade
- split handle command facade
- split udp dispatch forward facade
- split packet path datagram facade
- split route runtime facade
- split udp flow projection accessors
- split recorded mux route facades
- split tcp listener loop facade
- split udp dispatch lifecycle facade
- split quic listener loop facade
- split tcp ingress runtime facade
- split pipe facade
- split udp delivery helpers
- split udp ingress facade
- split mux runtime facades
- split stream udp facade
- split orchestration facade
- split tcp ingress contract facade
- split tcp ingress lifecycle facade
- split udp association lifecycle facade
- split udp flow sessions facade
- split inbound operation context facade
- split udp dispatch managed start facade
- split udp flow outbound projection facade
- split udp association contract facade
- split datagram udp lifecycle
- split packet session udp lifecycle
- split route runtime facade
- split udp flow state facade
- split udp dispatch facade
- split udp packet path facade
- split udp flow outbound facade
- split inbound listener operation facade
- split udp prepared operation facade
- split tcp prepared operation facade
- move outbound leaf claiming to registration boundary
- lift inbound config projection to adapters
- split config validation surfaces
- split validation from runtime
- drop outbound runtime leaf passthroughs
- drop inbound bind runtime passthrough
- drop runtime constructor passthroughs
- drop outbound leaf config wrappers
- drop listener config wrappers
- drop opened-route handler wrappers
- drop legacy route wrapper helpers
- make adapter handoff branching explicit
- accept protocol surfaces before runtime handoff
- drop protocol-side quic dispatch helpers
- keep outbound owner claim registry-private
- claim outbound leaves once per owner
- centralize heavy outbound leaf projection
- claim outbound leaves by protocol owner
- tighten heavy runtime input surfaces
- bundle heavy outbound build inputs
- bundle heavy inbound runtime inputs
- bundle heavy outbound runtime inputs
- hide legacy transport config constructors
- drop legacy simple protocol helper exports
- move simple protocol projection behind option refs
- move adapter config construction behind option refs
- move inbound adapter construction behind protocol runtimes
- move adapter profile construction behind protocol runtime
- move vless and vmess runtime state behind protocol handles
- drop protocol transport bridge objects
- move leaf metadata out of bridge types
- key managed handlers by resume metadata
- move bridge claims into registry
- rename error crate and drop adapter shim
- move runtime service factories to proxy
- thread runtime services through ingress
- collapse udp runtime services
- extract urltest runtime
- share ingress runtime services
- narrow ingress runtime dependencies
- narrow inbound listener orchestration
- narrow inbound listener execution runtime
- narrow listener loop runtime contracts
- add tcp ingress runtime context
- collapse post-accept route runtime context
- narrow post-accept route runtimes
- push udp session facades onto ingress runtime
- move udp dispatch onto ingress runtime
- unify udp ingress runtime context
- route udp runtime helpers through services
- rename stable transport boundary profiles
- rename socks5 inbound acceptor surface
- rename simpler inbound surfaces
- hide adapter config intermediates
- rename engine contract and seal transport plans
- own trojan outbound leaf config
- own inbound listener configs
- own vless vmess outbound leaf configs
- require explicit grpc service names
- move grpc and quic defaults to protocols
- preclaim udp hooks before leaf assembly
- claim runtime facts through tcp leaves
- require claimed packet-path leaves
- require claimed tcp and udp leaves
- claim non-transport tcp and udp leaves upfront
- claim packet-path adapter plans upfront
- claim packet-path leaves through opaque hooks
- claim transport bridge udp leaves upfront
- claim transport bridge tcp leaves upfront
- claim outbound leaves through opaque hooks
- collapse inventory claim staging
- own outbound runtime facts
- move raw-leaf test helpers out of inventory
- claim resolved outbounds before prepare
- shrink prepared udp plan state
- prepare udp outbounds before dispatch
- prepare tcp outbounds as opaque plans
- claim relay chains before inventory prepare
- route leaf prepare through claimed entries
- move udp relay prep behind claimed leaves
- shrink outbound leaf exposure
- move protocol integrations into protocol crates
- isolate binary lifecycle orchestration
- split runtime and application domains
- tighten architecture boundaries
- enforce runtime-owned data plane
- converge data-plane operations
- rename http_connect protocol to http
- complete focused capability architecture
- finish boundary closure across proxy transport and protocols
π§ Maintenance (6)
- move inventory coverage to integration tests
- classify suffixed tags as prereleases
- stop tracking refactor notes
- lock udp flow facade roots
- lock managed udp facade roots
- construct trojan adapter directly
π Documentation (6)
- document live flow lifecycle
- reorganize documentation site
- fix control plane menu label and route
- auto sidebar for guides protocols and control-plane api with Chinese menu
- auto sidebar generation from document titles
- unify and refresh documentation
π€ auto-generated by GitHub Actions
v0.0.15-bate.1
π¦ 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 (3)
- integrate zero rule sets into routing
- add global latency probe and network mtu
- add zero rule library and zrs format
π Fixed (7)
- prevent protocol table overflow
- run blocking commands off reactor
- demote routine client lifecycle logs
- instantiate trojan adapter directly
- gate outbound stack optional layers
- restore isolated proxy feature checks
- stream probe results and reconcile tasks
π¨ Improved (153)
- narrow adapter runtime capabilities
- enforce protocol capability ownership
- tighten protocol runtime boundaries
- centralize outbound projection in adapters
- move UDP transport execution into runtime
- remove redundant inbound support check
- keep inbound task lifecycle in runtime
- move outbound execution into runtime
- prepare UDP relay continuations before runtime
- move UDP relay dispatch into runtime
- move TCP relay execution into runtime
- split managed stream send facade
- split registered upstream control facade
- split managed relay handler facade
- split managed datagram manager facades
- split registered upstream handler facade
- split managed packet connection facade
- split managed tuple connection facade
- split managed cache insert facade
- split managed stream relay facade
- split upstream association lifecycle facade
- split packet path chain bridge facade
- split packet path chain facade
- split managed udp start dispatch facade
- split registered udp lifecycle facade
- split registered udp start facade
- split managed udp flow request models
- split packet session udp lifecycle helpers
- split no-client mux facade
- split handle command facade
- split udp dispatch forward facade
- split packet path datagram facade
- split route runtime facade
- split udp flow projection accessors
- split recorded mux route facades
- split tcp listener loop facade
- split udp dispatch lifecycle facade
- split quic listener loop facade
- split tcp ingress runtime facade
- split pipe facade
- split udp delivery helpers
- split udp ingress facade
- split mux runtime facades
- split stream udp facade
- split orchestration facade
- split tcp ingress contract facade
- split tcp ingress lifecycle facade
- split udp association lifecycle facade
- split udp flow sessions facade
- split inbound operation context facade
- split udp dispatch managed start facade
- split udp flow outbound projection facade
- split udp association contract facade
- split datagram udp lifecycle
- split packet session udp lifecycle
- split route runtime facade
- split udp flow state facade
- split udp dispatch facade
- split udp packet path facade
- split udp flow outbound facade
- split inbound listener operation facade
- split udp prepared operation facade
- split tcp prepared operation facade
- move outbound leaf claiming to registration boundary
- lift inbound config projection to adapters
- split config validation surfaces
- split validation from runtime
- drop outbound runtime leaf passthroughs
- drop inbound bind runtime passthrough
- drop runtime constructor passthroughs
- drop outbound leaf config wrappers
- drop listener config wrappers
- drop opened-route handler wrappers
- drop legacy route wrapper helpers
- make adapter handoff branching explicit
- accept protocol surfaces before runtime handoff
- drop protocol-side quic dispatch helpers
- keep outbound owner claim registry-private
- claim outbound leaves once per owner
- centralize heavy outbound leaf projection
- claim outbound leaves by protocol owner
- tighten heavy runtime input surfaces
- bundle heavy outbound build inputs
- bundle heavy inbound runtime inputs
- bundle heavy outbound runtime inputs
- hide legacy transport config constructors
- drop legacy simple protocol helper exports
- move simple protocol projection behind option refs
- move adapter config construction behind option refs
- move inbound adapter construction behind protocol runtimes
- move adapter profile construction behind protocol runtime
- move vless and vmess runtime state behind protocol handles
- drop protocol transport bridge objects
- move leaf metadata out of bridge types
- key managed handlers by resume metadata
- move bridge claims into registry
- rename error crate and drop adapter shim
- move runtime service factories to proxy
- thread runtime services through ingress
- collapse udp runtime services
- extract urltest runtime
- share ingress runtime services
- narrow ingress runtime dependencies
- narrow inbound listener orchestration
- narrow inbound listener execution runtime
- narrow listener loop runtime contracts
- add tcp ingress runtime context
- collapse post-accept route runtime context
- narrow post-accept route runtimes
- push udp session facades onto ingress runtime
- move udp dispatch onto ingress runtime
- unify udp ingress runtime context
- route udp runtime helpers through services
- rename stable transport boundary profiles
- rename socks5 inbound acceptor surface
- rename simpler inbound surfaces
- hide adapter config intermediates
- rename engine contract and seal transport plans
- own trojan outbound leaf config
- own inbound listener configs
- own vless vmess outbound leaf configs
- require explicit grpc service names
- move grpc and quic defaults to protocols
- preclaim udp hooks before leaf assembly
- claim runtime facts through tcp leaves
- require claimed packet-path leaves
- require claimed tcp and udp leaves
- claim non-transport tcp and udp leaves upfront
- claim packet-path adapter plans upfront
- claim packet-path leaves through opaque hooks
- claim transport bridge udp leaves upfront
- claim transport bridge tcp leaves upfront
- claim outbound leaves through opaque hooks
- collapse inventory claim staging
- own outbound runtime facts
- move raw-leaf test helpers out of inventory
- claim resolved outbounds before prepare
- shrink prepared udp plan state
- prepare udp outbounds before dispatch
- prepare tcp outbounds as opaque plans
- claim relay chains before inventory prepare
- route leaf prepare through claimed entries
- move udp relay prep behind claimed leaves
- shrink outbound leaf exposure
- move protocol integrations into protocol crates
- isolate binary lifecycle orchestration
- split runtime and application domains
- tighten architecture boundaries
- enforce runtime-owned data plane
- converge data-plane operations
- rename http_connect protocol to http
- complete focused capability architecture
- finish boundary closure across proxy transport and protocols
π§ Maintenance (5)
- classify suffixed tags as prereleases
- stop tracking refactor notes
- lock udp flow facade roots
- lock managed udp facade roots
- construct trojan adapter directly
π Documentation (5)
- reorganize documentation site
- fix control plane menu label and route
- auto sidebar for guides protocols and control-plane api with Chinese menu
- auto sidebar generation from document titles
- unify and refresh documentation
π€ auto-generated by GitHub Actions
v0.0.15-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 zero rule library and zrs format
π Fixed (5)
- demote routine client lifecycle logs
- instantiate trojan adapter directly
- gate outbound stack optional layers
- restore isolated proxy feature checks
- stream probe results and reconcile tasks
π¨ Improved (153)
- narrow adapter runtime capabilities
- enforce protocol capability ownership
- tighten protocol runtime boundaries
- centralize outbound projection in adapters
- move UDP transport execution into runtime
- remove redundant inbound support check
- keep inbound task lifecycle in runtime
- move outbound execution into runtime
- prepare UDP relay continuations before runtime
- move UDP relay dispatch into runtime
- move TCP relay execution into runtime
- split managed stream send facade
- split registered upstream control facade
- split managed relay handler facade
- split managed datagram manager facades
- split registered upstream handler facade
- split managed packet connection facade
- split managed tuple connection facade
- split managed cache insert facade
- split managed stream relay facade
- split upstream association lifecycle facade
- split packet path chain bridge facade
- split packet path chain facade
- split managed udp start dispatch facade
- split registered udp lifecycle facade
- split registered udp start facade
- split managed udp flow request models
- split packet session udp lifecycle helpers
- split no-client mux facade
- split handle command facade
- split udp dispatch forward facade
- split packet path datagram facade
- split route runtime facade
- split udp flow projection accessors
- split recorded mux route facades
- split tcp listener loop facade
- split udp dispatch lifecycle facade
- split quic listener loop facade
- split tcp ingress runtime facade
- split pipe facade
- split udp delivery helpers
- split udp ingress facade
- split mux runtime facades
- split stream udp facade
- split orchestration facade
- split tcp ingress contract facade
- split tcp ingress lifecycle facade
- split udp association lifecycle facade
- split udp flow sessions facade
- split inbound operation context facade
- split udp dispatch managed start facade
- split udp flow outbound projection facade
- split udp association contract facade
- split datagram udp lifecycle
- split packet session udp lifecycle
- split route runtime facade
- split udp flow state facade
- split udp dispatch facade
- split udp packet path facade
- split udp flow outbound facade
- split inbound listener operation facade
- split udp prepared operation facade
- split tcp prepared operation facade
- move outbound leaf claiming to registration boundary
- lift inbound config projection to adapters
- split config validation surfaces
- split validation from runtime
- drop outbound runtime leaf passthroughs
- drop inbound bind runtime passthrough
- drop runtime constructor passthroughs
- drop outbound leaf config wrappers
- drop listener config wrappers
- drop opened-route handler wrappers
- drop legacy route wrapper helpers
- make adapter handoff branching explicit
- accept protocol surfaces before runtime handoff
- drop protocol-side quic dispatch helpers
- keep outbound owner claim registry-private
- claim outbound leaves once per owner
- centralize heavy outbound leaf projection
- claim outbound leaves by protocol owner
- tighten heavy runtime input surfaces
- bundle heavy outbound build inputs
- bundle heavy inbound runtime inputs
- bundle heavy outbound runtime inputs
- hide legacy transport config constructors
- drop legacy simple protocol helper exports
- move simple protocol projection behind option refs
- move adapter config construction behind option refs
- move inbound adapter construction behind protocol runtimes
- move adapter profile construction behind protocol runtime
- move vless and vmess runtime state behind protocol handles
- drop protocol transport bridge objects
- move leaf metadata out of bridge types
- key managed handlers by resume metadata
- move bridge claims into registry
- rename error crate and drop adapter shim
- move runtime service factories to proxy
- thread runtime services through ingress
- collapse udp runtime services
- extract urltest runtime
- share ingress runtime services
- narrow ingress runtime dependencies
- narrow inbound listener orchestration
- narrow inbound listener execution runtime
- narrow listener loop runtime contracts
- add tcp ingress runtime context
- collapse post-accept route runtime context
- narrow post-accept route runtimes
- push udp session facades onto ingress runtime
- move udp dispatch onto ingress runtime
- unify udp ingress runtime context
- route udp runtime helpers through services
- rename stable transport boundary profiles
- rename socks5 inbound acceptor surface
- rename simpler inbound surfaces
- hide adapter config intermediates
- rename engine contract and seal transport plans
- own trojan outbound leaf config
- own inbound listener configs
- own vless vmess outbound leaf configs
- require explicit grpc service names
- move grpc and quic defaults to protocols
- preclaim udp hooks before leaf assembly
- claim runtime facts through tcp leaves
- require claimed packet-path leaves
- require claimed tcp and udp leaves
- claim non-transport tcp and udp leaves upfront
- claim packet-path adapter plans upfront
- claim packet-path leaves through opaque hooks
- claim transport bridge udp leaves upfront
- claim transport bridge tcp leaves upfront
- claim outbound leaves through opaque hooks
- collapse inventory claim staging
- own outbound runtime facts
- move raw-leaf test helpers out of inventory
- claim resolved outbounds before prepare
- shrink prepared udp plan state
- prepare udp outbounds before dispatch
- prepare tcp outbounds as opaque plans
- claim relay chains before inventory prepare
- route leaf prepare through claimed entries
- move udp relay prep behind claimed leaves
- shrink outbound leaf exposure
- move protocol integrations into protocol crates
- isolate binary lifecycle orchestration
- split runtime and application domains
- tighten architecture boundaries
- enforce runtime-owned data plane
- converge data-plane operations
- rename http_connect protocol to http
- complete focused capability architecture
- finish boundary closure across proxy transport and protocols
π§ Maintenance (4)
- stop tracking refactor notes
- lock udp flow facade roots
- lock managed udp facade roots
- construct trojan adapter directly
π Documentation (5)
- reorganize documentation site
- fix control plane menu label and route
- auto sidebar for guides protocols and control-plane api with Chinese menu
- auto sidebar generation from document titles
- unify and refresh documentation
π€ auto-generated by GitHub Actions
v0.0.15-dev
π¦ 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
π Fixed (2)
- restore isolated proxy feature checks
- stream probe results and reconcile tasks
π¨ Improved (8)
- isolate binary lifecycle orchestration
- split runtime and application domains
- tighten architecture boundaries
- enforce runtime-owned data plane
- converge data-plane operations
- rename http_connect protocol to http
- complete focused capability architecture
- finish boundary closure across proxy transport and protocols
π€ auto-generated by GitHub Actions
v0.0.14
π¦ 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 (3)
- add udp policy controls
- 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 (799)
- split shared transport bridge glue
- migrate remaining inbound protocol glue
- shrink vless vmess trojan transport boundaries
- hide inbound mux udp relays behind protocol-owned trait
- route stream udp relays through protocol-owned trait
- normalize inbound mux routes before proxy dispatch
- normalize inbound accepted routes before proxy dispatch
- map protocol udp relays before runtime glue
- hide inbound mux udp relay packaging in protocols
- hide inbound udp relay details behind protocol bridges
- hide inbound tcp relay details behind protocol bridges
- tighten inbound protocol dispatch bridges
- tighten udp flow protocol surface
- tighten udp protocol boundary
- move vless vmess udp flow resumes into protocols
- normalize protocol udp connector glue
- collapse managed stream connector shells
- localize opened dispatch glue
- drop protocol bridge shell models
- inline opened-route dispatch handlers
- inline inbound protocol dispatch bridges
- drop tcp flow wrapper structs
- remove inbound stream request wrappers
- remove inbound handler wrapper
- remove inbound handler wrapper
- drop managed udp sender wrappers
- move connect profiles into protocol crate
- move mux pool state into protocols
- remove proxy inbound handler wrapper
- localize inbound relay glue for vless vmess trojan
- share no-response inbound protocol glue
- move vmess udp session ownership out of outbound
- move vless trojan udp request ownership into protocol
- move vless udp ownership into protocol
- finish trojan udp protocol ownership move
- move vless vmess trojan udp ownership into protocols
- tighten inbound and udp protocol boundaries
- move inbound mux classification into protocols
- 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 vles...
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