This release includes 1 security fix for security teams reviewing exposed deployments.
Published 15d
Reverse Proxies & Load Balancers
✓ No known CVEs patched
This release patches 1 known CVE
Topics
docker
go
homepage
letsencrypt
microservice
proxy
+2 more
self-hosted
startpage
Affected surfaces
auth
Summary
AI summaryBroad release touches Full Changelog, Bug Fixes, deps, and build. Breaking: Remove GET /api/v1/auth/logout; clients must use POST to log out
Full changelog
Breaking Changes
- Auth API: Remove the GET
/api/v1/auth/logoutendpoint; API clients must use POST to log out. (c834e08) - Build: Replace root Makefile workflows with Shadowtree recipes for builds, tests, code generation, documentation, and maintenance. (75bbb43)
- Build/Benchmark: Replace the benchmark shell scripts with the typed Shadowtree benchmark recipe. (db6b04c)
Bug Fixes
- Agent/Proxy: Validate modern agent proxy headers while retaining legacy fallback, bound the agent reverse-proxy cache, and roll back partial routes when setup is canceled. (3e6b564)
- Entrypoint: Normalize host parsing for route lookup, wildcard matching, and short links so port-bearing IPv6 hosts and exact FQDN routes resolve correctly. (40bb20c)
- Goutils/Reverse Proxy: Preserve configured targets and replay recreatable request bodies when reverse proxies retry after a scheme mismatch. (https://github.com/yusing/goutils/commit/129c2215b8fd4ab18d3ff90cfcd04370243db78a, https://github.com/yusing/goutils/commit/cdc35dd93cc2080815071718114fb0acba0adae3)
- MaxMind: Start periodic MaxMind database updates after a successful local database load. (8270004)
- Agent/Health Checks: Honor context deadlines during UDP DTLS health-check handshakes. (16f2718)
- Autocert: Skip renewal scheduling for local and pseudo certificate providers based on their configured provider type. (58fdec4)
- ACL: Parse IPv6 IP and CIDR ACL matchers correctly while rejecting malformed timezone and country matchers. (ab13451)
- Agent Setup: Clean up registered agents, providers, and started routes when agent verification or configuration persistence fails. (756a840)
- Idlewatcher: Keep the active provider and dependency list in place when an idlewatcher reload fails. (6bb1788)
- Configuration Reload: Continue receiving watcher events while configuration reload flushing is in progress. (9eeac4e)
- Notifications: Keep the previous notification dispatcher active after a failed reload and prevent notification enqueue races during shutdown. (d6bad5d)
- Stream Routes: Close rejected TCP clients promptly and evict closed UDP sessions from stream route tracking. (6da33e7)
- File API: Reject file-validation requests with missing or unsupported
typevalues with HTTP 400. (a41e54e)
Improvements
- Build: Update container builds and Go module toolchains to Go 1.26.5. (b5a16c5)
Security
- WebUI/Logs: Escape HTML in ANSI-rendered error and autocert renewal logs to prevent log content from being injected into the WebUI. (https://github.com/yusing/godoxy-webui/commit/871fc3e2201827a78899453ba803c2006127af09)
New Features
- Goutils/Synk: Track active pooled-buffer capacity in pprof pool statistics and remove stale entries after garbage collection. (https://github.com/yusing/goutils/commit/c91ae6e146a4464c03034e311bab715d330187d0)
Full Changelog
- f723af7 chore(deps): update goutils submodule
- d44ea67 fix(shadowtree): run targeted package tests
- 5157e9a refactor(shadowtree): consolidate build configuration
- 0c8f16a fix(shadowtree): correct variable expansion
- b5a16c5 chore(build): bump Go toolchain to 1.26.5
- 04a574f chore(deps): bump Go module dependencies
- 2fdbf84 fix(build): align Shadowtree module configuration
- 5a28b76 fixup! fix(proxy): harden route and agent proxy handling
- 3e6b564 fix(proxy): harden route and agent proxy handling
- b0421bd chore(deps): update goutils submodule
- 8270004 fix(maxmind): always start update scheduler
- 16f2718 fix(stream): honor UDP healthcheck context deadline
- 58fdec4 fix(autocert): use configured provider for renewal skip
- a41e54e fix(file): enforce validate file type binding
- ab13451 fix(acl): parse IPv6 matcher rules
- 756a840 fix(agent): clean up verified agents on setup failures
- 6bb1788 fix(idlewatcher): rebuild reload deps
- d6abde0 chore(deps): update webui submodule
- 9eeac4e fix(watcher): preserve reload events
- 0be8e24 fix(rules-cheatsheet-gen): collect mutation targets before building command docs
- 2cb764e chore(deps): update webui submodule
- d6bad5d fix(notif): publish dispatchers after reload commit
- 3dcf8fb fix(dnsproviders): use local goutils module
- 6da33e7 fix(stream): close rejected tcp clients and evict closed udp sessions
- 40bb20c fix(entrypoint): normalize host parsing and scheme retry handling
- b4fd06b refactor(minify): use promise-based asset discovery and stricter errors
- 76f860d chore(deps): update webui submodule
- c834e08 fix(auth): remove GET logout route
- e922160 chore(deps): update webui submodule
- 79412b3 refactor: prune unused helper shims and test-only APIs
- db6b04c chore(build): migrate benchmark script into Shadowtree recipe
- 983469d chore(deps): update webui submodule
- f20d43e chore(build): streamline shadowtree recipes
- e2c71ce chore: add git agent ignore patterns
- 1cd7046 chore(deps): update webui submodule
- c7bd687 chore(build): update shadowtree recipe wiring and webui
- e92ff97 docs(readme): streamline quick start and feature overview
- 61761e1 fix(update-wiki): collapse wrapped API descriptions in frontmatter
- 75bbb43 chore(build): migrate recipes to shadowtree
- 710d3f4 chore(deps): prune unused reverseproxy deps
- f244ea4 refactor(route): split routing contracts and implementations
- c91ae6e feat(synk): track in-use pool memory
- 82fa038 chore: bump Go version to 1.26.5
- 946864c chore(deps): bump Go module dependencies
- 129c221 fix(reverseproxy): preserve bodies across scheme retries
- e3d0e77 fix(websocket): honor debug no-ping query flag
- 606e7c5 fix(eventqueue): receive during flush
- 6b321e7 fix(io): stop bidirectional pipes on context cancellation
- 3a8c8fc refactor(strings,http): optimize case folding and equality fast paths
- cdc35dd fix(http): preserve target URL when retrying reverse proxy schemes
- d30fa24 refactor(strings,http): optimize helpers and add coverage
- 5cac9e1 chore(deps): drop unused reverseproxy quic-go dependencies
- 612f04e chore(deps): update wiki submodule
- e391f48 chore(wiki): update eventqueue docs
- 63e76a9 chore(deps): update docs and tooling packages
- f21ed80 refactor(components): extract reusable form and control helpers
- 79a107f fix(auth): switch logout button to POST API call
- 871fc3e fix(components): escape ANSI-rendered HTML in error and autocert logs
- dbcca73 chore(deps): update wiki submodule
- 3077368 chore(webui): switch shadowtree config to node profile
- 85f6dc9 refactor(api): replace ContentType enum with literals
- 2299348 chore(webui): migrate build recipes to shadowtree
Breaking Changes
- Remove GET `/api/v1/auth/logout`; clients must use POST to log out.
- Replace root Makefile workflows with Shadowtree recipes for builds, tests, code generation, documentation, and maintenance.
- Replace benchmark shell scripts with typed Shadowtree benchmark recipe.
Security Fixes
- Escape HTML in ANSI-rendered error and autocert renewal logs to prevent injection into the WebUI.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About godoxy
High-performance reverse proxy and container orchestrator for self-hosters
Related context
Related tools
Beta — feedback welcome: [email protected]