-
v2.0.0
Stablereleased this
2026-08-20 17:19:00 +00:00 | 15 commits to main since this release- Breaking Change: The single
publish-static-sitebackend binary is replaced by two flavor binaries.publish-static-site-singlesite(one apex repo per tenant,apex_path∈ {htdocs-ssl,subs-ssl/www}) andpublish-static-site-multisite(many subdomains or path segments,apex_path∈ {subs-ssl,htdocs-ssl/path}). Operators must pick the matching binary and adjust theirapex_pathvalue to one of the per-flavor allowed set. Existing single-binary deployments no longer start. - Breaking Change: The wire-protocol
X-Publish-Static-Site-Versionheader advances fromv1tov2. Av1.xbackend now rejects any action pinned to@v2with HTTP 426; consumers still pinned to@v1continue to receive the lastv1.xrelease. Major-version parity between backend and actions is enforced byversion_middleware.go:RequireCompatible. - Breaking Change:
config-mateis bumped from v1 to v2 (forge.sebatec.eu/ses/config-mate/v2 v2.0.0). Operators usingsilent-missing-configsemantics must verify their config files load under v2. - Added: Multisite
apex_pathmodes —subs-ssl(subdomain, default) andhtdocs-ssl/path(path under the apex) — with strict per-flavor validation. - Added: Multisite
pathURL mode — many repos/branches served underhttps://<site_base_host>/<repo>/<branch>/viamode: path. The defaultmode: subdomainis unchanged. - Added: Hidden-prefix mount — the backend now exposes its API at
/_publish-static-site/*for non-FCGI deployments (Caddy, plain HTTP) alongside the existing FastCGI mount. Both routes share auth and handlers. - Added:
--dry-runflag on the multisite backend to surface the resolved deploy layout without touching disk. - Added: Apex-on-main-ref policy plus per-tenant repo whitelist to restrict which refs/branches can deploy.
- Added:
deploy_rootoverride (siteconfig) for tenants who need the on-disk root outside the default Hostsharing layout. - Changed:
subdomain_reposconfig key renamed tomulti_repo_patternsas part of the multisite config overhaul. The new key covers bothsubs-ssl(subdomain) andhtdocs-ssl/path(path segment) layouts; the previous key is rejected on startup. - Improved: Major-version parity check between backend and action bundles — a header mismatch now returns HTTP 426 with both versions in the JSON body for diagnostics.
- Fixed: e2e harness now uses a random port and the hidden-prefix mount, removing the previous hard-coded port collision.
- Updated: Dev and CI tooling — TypeScript
^7, Prettier3.9.6, esbuild^0.28.2,github.com/go-chi/chi/v5v5.3.2. - Updated: Documentation restructured into Diátaxis layout (
docs/explanations/,docs/how-to/,docs/reference/,docs/tutorials/); READMEs slimmed to orientation.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Breaking Change: The single