Skip to content

v0.39.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Oct 22:33
11fd155

0.39.0 (2026-10-30)

Features

  • dashboard: create and run a feature flag's rollout schedule (#1465) (ab3c128)
  • dashboard: create, activate and end the global holdout, and read its results (beta) (#1475) (ba7dbf7)
  • dashboard: edit a draft experiment's variants and metrics (#1468) (7140c71)
  • dashboard: guided setup turns on sequential testing (beta) (#1463) (b3fc517)
  • dashboard: manage exclusion groups, and add an experiment to one (#1473) (9f21fa8)
  • dashboard: schedule a draft experiment's start and end dates (#1471) (2d19351)

Bug Fixes

  • api: a duplicate exclusion group or holdout name answers 409 (#1467) (4bb6bcd)
  • api: the experiment page shows a group change or a scheduled start at once when caching is on (#1474) (55b2909)
  • dashboard: no light-grey text on the experiment form and page (#1477) (f50190f)
  • dashboard: the experiment page says "Starts" for a start still ahead, and shows whether sequential testing is on (#1450) (c27a304)
  • dashboard: the experiment page shows its exclusion group and the global holdout, read-only (#1452) (982041c)
  • deps: joserfc 1.7.6, for GHSA-9pg5-8c7x-5hfx (#1476) (314bd3e)
  • scheduler: a scheduled draft that cannot start stays a draft (#1464) (522fdc9)
  • site: one header on every page, with a phone menu (#1472) (fd26ece)
  • site: shared links show a preview card (Open Graph and Twitter tags, /og.png) (#1470) (d18d32f)

Images

docker pull ghcr.io/controlvar/controlvar:core-0.39.0      # API, core profile
docker pull ghcr.io/controlvar/controlvar:full-0.39.0      # API, full profile
docker pull ghcr.io/controlvar/controlvar-web:core-0.39.0  # dashboard, core profile
docker pull ghcr.io/controlvar/controlvar-web:full-0.39.0  # dashboard, full profile

API images are built for linux/amd64; dashboard images for
linux/amd64. A host on any other architecture runs them under
emulation.

Verifying

Every image is signed with cosign keyless and carries an SPDX SBOM
attestation:

cosign verify ghcr.io/controlvar/controlvar:core-0.39.0 \
  --certificate-identity-regexp '^https://github\.com/Controlvar/controlvar/\.github/workflows/release\.yml@refs/(heads/main|tags/v[0-9].*)$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

cosign verify-attestation --type spdxjson ghcr.io/controlvar/controlvar:core-0.39.0 \
  --certificate-identity-regexp '^https://github\.com/Controlvar/controlvar/\.github/workflows/release\.yml@refs/(heads/main|tags/v[0-9].*)$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

The same SBOMs are attached below.