github yusing/godoxy v0.29.8

3 hours ago

Breaking Changes

  • Auth API: Remove the GET /api/v1/auth/logout endpoint; 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. (yusing/goutils@129c221, yusing/goutils@cdc35dd)
  • 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 type values 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. (yusing/godoxy-webui@871fc3e)

New Features

  • Goutils/Synk: Track active pooled-buffer capacity in pprof pool statistics and remove stale entries after garbage collection. (yusing/goutils@c91ae6e)

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

goutils

  • 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

webui

  • 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

Don't miss a new godoxy release

NewReleases is sending notifications on new releases.