Skip to content

gosite 0.65.5

Choose a tag to compare

@charly-palencia charly-palencia released this 09 Nov 23:03
· 22 commits to main since this release
4054747

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. With APP_ENV empty 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(). WithProject stays 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_ACL controls the ACL. Uploads send no ACL unless S3_ACL is
    true, yes, 1 or on (any letter case). The old default public-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 in tests/thin.bats.

0.65.0

Forms: a webhook body Mattermost accepts, and a default for every form

  • Added: webhookFormat on Form settings. json (the original flat body,
    unchanged and still the default), mattermost (an incoming-webhook message,
    {text, attachments}) or none. 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 to json.
    The mattermost body carries only the submitted fields: no IP, no user agent.
  • Added: a default webhook for every form, from FORMS_WEBHOOK_URL,
    FORMS_WEBHOOK_FORMAT and FORMS_WEBHOOK_SECRET on the CMS service, so a
    form created later inherits it. A form's own webhook / webhookFormat wins;
    webhookFormat: none opts 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 skipped ensureModels(), so a field added to
    formSettings never reached an existing site and Content dropped it on save.
    The addon now compares a MODELS_VERSION.
  • Existing sites: see MIGRATIONS.md, "0.65.0 — Forms webhook format".