Bug Fixes
- Core/Idlewatcher: Idle routes that are also dependencies keep their configured sleep timeout after reload (508a4f1, #263)
- Core/DNS: deSEC DNS record updates no longer fail with rejected PATCH requests (03668ff, #235)
- WebUI/Homepage: Dashboard icon scraping returns failures without endless background retries (c67dabf)
- Failed scrapes are cached for one minute instead of retried indefinitely
- Canceled requests remain eligible for a later retry
- Icon requests use the route middleware pipeline with a GoDoxy user agent and no client address
- Core/Proxy: Requests without a client address no longer emit an empty X-Forwarded-For header (yusing/goutils@b7df9d8, #260)
- Existing nonempty forwarded chains are preserved
- Core/Middleware: CIDR whitelists may omit allow lists to deny all non-bypassed requests (2983eeb, #261)
- Bypass-only route rules can inherit entrypoint CIDRs without duplicating them
- WebUI configuration validation also accepts omitted allow lists (yusing/godoxy-webui@7453ffa)
Full Changelog
- 508a4f1 fix(idlewatcher): don't adopt a dependency's config on reload (#263)
- 09281bc docs(rules): clarify glob matcher syntax and path matching
- 03668ff fix(dnsproviders): pin deSEC dependency to omit empty subname
- bb67072 chore(deps): update Go module dependencies
- a1ccbc2 chore(deps): update webui submodule
- 2a07fe6 chore(deps): update goutils submodule
- c67dabf fix(homepage): bound icon scraping retries and cache failures
- 2983eeb fix(middleware): support empty CIDR whitelist allow lists