github yusing/godoxy v0.31.0

5 hours ago

Bug Fixes

  • Auth/OIDC: Expired OIDC sessions recover without redirecting API or WebSocket requests (4abcde8, 54e1f6b, 03c5c7c, bed607b, yusing/godoxy-webui@1d71a48)
    • Session probes silently refresh valid OIDC cookies and return 401 without an identity-provider redirect when login is required
    • The dashboard reloads the current document after mounted API authentication expires (yusing/godoxy-webui@1d71a48)
    • Production and development frontend fallbacks leave all /api/v1 routes to API authentication (03c5c7c, bed607b)
  • Homepage/Icons: Dashboard application icons load reliably across cached and proxied routes (8201da4, 4be4032, 09c3280, c123781)
    • Exact icon references take priority over unique matches that differ only by hyphens (8201da4)
    • Legacy icon caches are migrated and empty caches load correctly (4be4032)
    • Scraped icons resolve route matchers, variables, and relative targets against the selected application (09c3280)
    • Icon scraping no longer triggers authentication forwarding, access logs, or idle-route wakeups (c123781)
  • Docker/Proxmox Streams: Live Docker and Proxmox views preserve complete stream records (a188269, acbcc91, yusing/goutils@8bf1c14, yusing/godoxy-webui@d5d50b4)
    • Raw TTY container logs are reconstructed as complete lines (a188269)
    • Log history survives same-route refreshes and retains consecutive identical records (yusing/godoxy-webui@d5d50b4)
    • Docker stats and Proxmox statistics, journal, and tail streams preserve complete record boundaries (acbcc91, yusing/goutils@8bf1c14)
    • Docker stream bodies close when their WebSocket clients disconnect
  • WebUI/Config: Unsaved configuration drafts survive navigation and failed saves (yusing/godoxy-webui@673b9fe, yusing/godoxy-webui@09a97ea)
  • WebUI/Servers: Server metrics display correctly for agent names containing dots (yusing/godoxy-webui@7b6f08f)
  • Health/Docker: Docker health checks restore the GoDoxy failure fallback (4b4d9dc)
    • Older Docker daemon API negotiation is no longer intercepted as a container inspection
    • Initialization and inspection failures use the configured GoDoxy fallback while valid Docker unhealthy results remain unchanged
  • Health/Checks: Health-check errors no longer repeat dial target details (5bef817)

New Features

  • TLS/DNS: Infomaniak is available as a DNS-01 certificate provider (036951d, #250, #251)

Improvements

  • TLS/ACME: Automatic certificate issuance has been updated for lego v5 (2ad48b9, #248)
    • Legacy provider aliases and existing certificate key types remain compatible
    • Multiple certificate providers should use matching resolver lists because lego applies resolvers process-wide
  • WebUI/Settings: Settings use unified section navigation and scrolling (yusing/godoxy-webui@cbc6b56)

Breaking Changes

  • Build/Toolchain: Source builds now require Go 1.27 (3dd1bf9, #252)
  • Core/Serialization: Configurable Sonic JSON support has been removed (5d91817, #253)
    • The USE_SONIC_JSON setting is ignored because JSON serialization always uses encoding/json/v2
    • Duration values remain encoded as nanosecond numbers

Security

  • Auth/OIDC: OIDC login state is isolated per authentication attempt (2ba0d54, 4abcde8)
    • Concurrent tabs retain their own safe local return paths and queries (2ba0d54)
    • Only the matching signed transaction is consumed, and tampered state is rejected (2ba0d54)
    • Refreshed identities are checked against the configured access rules (4abcde8)

Full Changelog

  • 6f52e6a fix(http): suppress closed HTTP/2 stream flushes
  • 86088fc fix(api): serialize middleware validation hints
  • 8201da4 fix(homepage): resolve icons across hyphen separators
  • 5bef817 fix(health): simplify redundant dial error details
  • 6142aef chore(deps): update webui submodule
  • 09c3280 fix(homepage): preserve route context during icon scraping
  • c123781 fix(http): distinguish internal requests from user traffic
  • 30c137c chore(deps): update webui submodule
  • fd3926d chore(deps): update webui submodule
  • cdbb54c chore(deps): update Go module dependencies
  • de03460 refactor: apply go fix
  • adca637 fix(webui): preserve rendered logs
  • a188269 fix(docker): support TTY container logs
  • acbcc91 fix(streams): preserve WebSocket record boundaries
  • 66c100a chore(deps): update webui submodule
  • 1c46426 docs(api): regenerate session probe schema
  • 4083415 fix(recipes): preserve Go test interfaces
  • 54e1f6b fix(auth): make session probes non-navigating
  • 2ba0d54 fix(auth): isolate OIDC login transactions
  • b9959a0 chore(deps): update goutils submodule
  • bed607b fix(webui): bypass document auth for dev API routes
  • 4be4032 fix(icons): handle icon cache formats reliably
  • b14c30e test(auth): add end-to-end OIDC refresh coverage
  • 4abcde8 fix(auth): handle refreshed OIDC sessions at request boundaries
  • 03c5c7c fix(webui): exclude all API routes from frontend fallback
  • 4b4d9dc fix(health): restore Docker failure fallback
  • 5d91817 refactor: migrate JSON from sonic to encoding/json/v2 (#253)
  • 3dd1bf9 chore: bump modules to Go 1.27 (#252)
  • 036951d feat(dnsproviders): add Infomaniak DNS-01 provider (#250) (#251)
  • 2ad48b9 refactor(autocert): migrate ACME integration to lego v5 (#248)
  • dc98456 chore(deps): tidy Go module dependencies

goutils

  • a9d3aed fix(http): suppress Go 1.27 stream close errors
  • ca36815 fix(errs): encode text marshalers as JSON strings
  • 82f70b5 chore(deps): update Go module dependencies
  • 8bf1c14 fix(websocket): frame streamed records
  • b66f369 fix(events): preserve JSON event write boundaries
  • 40e656a refactor(strings): migrate JSON serialization to encoding/json/v2
  • fb8566d refactor: apply go fix modernization
  • ce24de9 chore: bump modules to Go 1.27
  • fb9193e chore: go mod tidy on all subpackages

webui

  • 609cdc4 chore(deps): update wiki submodule
  • cbc6b56 refactor(settings): consolidate sections into SectionedForm
  • 7b6f08f fix(servers): support dotted agent metric keys
  • d5d50b4 fix(logs): preserve rendered history
  • ca8bf8a docs(api): regenerate session probe bindings
  • cd3e2e7 docs(auth): update implementation reference
  • 09a97ea fix(config): preserve new-file save lifecycle
  • 673b9fe fix(config): protect unsaved configuration drafts
  • 1d71a48 fix(webui): recover expired OIDC sessions
  • 98c3144 chore(deps): update wiki submodule
  • 349639e chore(wiki): update Docker health fallback docs
  • 9e15267 chore: update Go base image and wiki documentation
  • 1272f2a chore(deps): update wiki submodule for json/v2 docs (#18)
  • 95ad1fe chore(deps): update wiki submodule

Don't miss a new godoxy release

NewReleases is sending notifications on new releases.