• v0.3.3 0781bfc9b1

    v0.3.3 Stable

    ric released this 2026-02-11 21:18:41 +00:00 | 0 commits to main since this release

    Added

    • Enforce enabled: false in .pages File: Sites can now be fully disabled by setting enabled: false
      • When enabled: false is set, the site returns 404 "Site is not available" for all requests
      • Enabled check runs before password check and content cache for immediate blocking
      • Enabled status cached with 60-second TTL to avoid API calls on every request
      • All cached data is automatically cleaned up when a site is disabled (custom domain mappings, Traefik routers, redirect middleware, content cache, password/enabled/settings cache)
      • Cleanup occurs on three paths: pages domain requests, custom domain requests, and registerCustomDomain
      • New functions: deregisterSite(), deregisterTraefikRouter(), cleanupRedirectMiddleware()
    • DeleteByPrefix Cache Method: Pattern-based cache deletion for bulk key removal
      • Added DeleteByPrefix(prefix string) to the Cache interface
      • MemoryCache: iterates map and deletes keys with matching prefix
      • RedisCache: uses cursor-based SCAN with MATCH pattern (non-blocking), then DEL

    Fixed

    • Disabled Site Content Cache Bypass: Enabled check now runs before content cache lookup, eliminating the window where stale content could be served after setting enabled: false
    • Disabled Site Password Cache Leak: Enabled check now runs before password check, preventing password cache from being re-populated for disabled sites
    • Reaper Script Key Casing: Fixed incorrect Redis key casing (entrypointsentryPoints, certresolvercertResolver)
    • Reaper Script enabled: false Support: Reaper now checks if sites are disabled and cleans them up accordingly

    Tests

    • Added 12 new tests covering deregistration, disabled sites, cache prefix deletion, and Redis integration

    Documentation

    • Added "Disabling a Site" sections to README.md, wiki, and troubleshooting docs
    • Updated reaper documentation with corrected key casing and enabled: false support
    Downloads