Repository navigation
gosite 0.65.5
Releases 0.65.0 through 0.65.5. No tags existed for 0.65.x before this release, so none of these versions were installable from a tag.
0.65.5
Cache keys carry the environment
- Changed: cache keys include
APP_ENV. The page, blog, SEO and purge keys
are<project>:<env>:cache:. Production and QA sharing one Redis no longer
read or purge each other's pages. WithAPP_ENVempty the prefix is
unchanged. The cache rebuilds after the deploy; app state keys do not move.
See MIGRATIONS.md, "0.65.5". - Added:
seo.WithCachePrefix. Takes the full cache prefix from
config.CacheKeyPrefix().WithProjectstays for existing callers.
0.65.4
Analytics: one provider loads once, in a stable order
- Changed: integrations are read in a stable order. Entries sort by provider,
then by_id, so "the first entry" is the same on every request. - Added: a duplicate provider is skipped. When two enabled entries for one
provider both apply to this deployment, the first loads and the rest are
logged as a warning. This runs in the Go core, so it protects every site that
takes this core release, whatever the addon version.
0.65.3
S3 uploads are private by default
- Changed:
S3_ACLcontrols the ACL. Uploads send no ACL unlessS3_ACLis
true,yes,1oron(any letter case). The old defaultpublic-read
failed on buckets where ACLs are disabled, and the upload reported success
with no stored asset. See MIGRATIONS.md, "0.65.3". - Added:
gosite_env_flag()in both Cockpit config files. One reader for
boolean environment variables, with a test intests/thin.bats.
0.65.0
Forms: a webhook body Mattermost accepts, and a default for every form
- Added:
webhookFormaton Form settings.json(the original flat body,
unchanged and still the default),mattermost(an incoming-webhook message,
{text, attachments}) ornone. Mattermost and Slack answer 400 to the flat
body, and the addon only logs that, so a form pointed at a chat hook looked
configured and delivered nothing. An unknown value falls back tojson.
Themattermostbody carries only the submitted fields: no IP, no user agent. - Added: a default webhook for every form, from
FORMS_WEBHOOK_URL,
FORMS_WEBHOOK_FORMATandFORMS_WEBHOOK_SECRETon the CMS service, so a
form created later inherits it. A form's ownwebhook/webhookFormatwins;
webhookFormat: noneopts one form out. All three are empty in new sites. - Fixed: Forms model migrations never ran after the first request. A
boolean in app memory skippedensureModels(), so a field added to
formSettingsnever reached an existing site and Content dropped it on save.
The addon now compares aMODELS_VERSION. - Existing sites: see MIGRATIONS.md, "0.65.0 — Forms webhook format".