{
  "$comment": [
    "Public release API consumed by the portal and TestVibe installations. Preserve existing field names.",
    "Only advertise artifacts after publication and validation. Keep channel values for download entitlement checks.",
    "Release notes use concise highlights, upgrade requirements, and upgrade steps. Historical entries describe their own version."
  ],
  "updated": "2026-09-23",
  "releases": [
    {
      "version": "0.4.16",
      "channel": "stable",
      "released": "2026-09-23",
      "tag": "v0.4.16",
      "notes": "More reliable recording and generation, clearer project setup, browser-approved CLI sign-in and improved administration.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-16",
      "highlights": [
        "Improve recording names, control descriptions and replay; keep custom model routing and a compact action history with per-step deletion.",
        "Guide project setup consistently and exclude shipped starter checks from setup progress.",
        "Authorize CLI access in the browser with workspace and project scopes, and optionally install the UI testing skill.",
        "Improve provider and model configuration, preserve model catalogs after saving, and support Microsoft Entra sign-in.",
        "Configure generation timeouts per environment and improve generation recovery and cancellation on shared runners."
      ],
      "breaking": [
        "Back up before upgrading and apply all pending PostgreSQL migrations before the new application starts. Upgrading from 0.4.15 adds V0309–V0311 for Entra identity, CLI authorization and the GPT-6 Sol catalog.",
        "Preserve the database, artifact storage, installation identity, existing secrets and encryption keys.",
        "When upgrading from before 0.4.14, follow the integrated Administration and host-recovery transition; the separate customer Admin service remains retired."
      ],
      "upgrade": [
        "Use the version-pinned 0.4.16 Compose bundle or Helm chart. Preserve .env and volumes; run migrations before starting the new application.",
        "For Compose, replace the old Compose file and use --remove-orphans to retire the old Admin container when upgrading from a release that included it.",
        "For appliances, replace only the OS disk and retain the existing data disk. Attach only one disk labeled testvibe-data.",
        "Verify sign-in, Settings → Administration, a test run and artifact access after upgrading. Update the browser recorder extension to 0.10.24 for the recording fixes."
      ],
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.16"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.16"
      },
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.16&artifact=compose",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.16&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.16&artifact=ova",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.16&artifact=checksums",
      "composeSha256": "2204720700c084300c8ea72f4fa59c475c3ea84d6bca935a594bdfe1eec57e19"
    },
    {
      "version": "0.4.14",
      "channel": "stable",
      "released": "2026-09-18",
      "tag": "v0.4.14",
      "notes": "Setup and administration inside TestVibe, with simpler recovery and more reliable testing workflows.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-14",
      "highlights": [
        "Create the first administrator through the normal Welcome to TestVibe signup; no default password or email relay is required.",
        "Manage the installation in Settings → Administration, with a setup checklist, visible sections and one save action per section.",
        "Use automatic application addresses, preserve host-managed settings and keep credentials hidden after saving.",
        "Recover administrator access from the host console. Customer packages no longer run a separate admin website or container.",
        "Improve shared test knowledge, Smart Test selection and Assistant guidance.",
        "Improve recording labels, action order, device sizing and viewport proportions.",
        "Make trace loading, AI run progress, project configuration and test navigation more reliable."
      ],
      "breaking": [
        "Applies PostgreSQL migrations V0296–V0306 when upgrading from 0.4.13. Back up before upgrading.",
        "Existing users are preserved. Use host recovery to appoint an instance administrator; workspace owners are not promoted automatically.",
        "Keep the existing database, artifact storage, installation identity and encryption keys."
      ],
      "upgrade": [
        "Use the 0.4.14 Compose bundle or Helm chart and apply migrations before starting the new application.",
        "For Compose, replace the old Compose file, preserve .env and volumes, and use --remove-orphans to retire the admin container.",
        "For appliances, replace only the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data.",
        "Verify sign-in, Settings → Administration, a test run and artifact access after upgrading."
      ],
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.14"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.14"
      },
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.14&artifact=compose",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.14&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.14&artifact=ova",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.14&artifact=checksums",
      "composeSha256": "3bff0f364dfd0fa3af979eb41260b41df04a16cd512ccfd359f652ebbec0b560"
    },
    {
      "version": "0.4.13",
      "channel": "stable",
      "released": "2026-09-15",
      "tag": "v0.4.13",
      "notes": "Workspace, testing and installation reliability improvements.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-13",
      "highlights": [
        "Refresh the workspace layout and simplify test setup, generation progress and run results.",
        "Improve starter tests, assistant progress tracking and automation recovery.",
        "Preserve project links and run selections across reloads.",
        "Update supported AI models and runtimes.",
        "Verify the published Kubernetes chart during installation tests."
      ],
      "breaking": [
        "Back up before upgrading; this release includes PostgreSQL migrations.",
        "This container release retains the separate administration service. The integrated administration flow starts in 0.4.14."
      ],
      "upgrade": [
        "Use the 0.4.13 version-pinned Compose bundle or Helm chart and preserve existing secrets and data."
      ],
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.13&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.13&artifact=checksums",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.13"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.13"
      }
    },
    {
      "version": "0.4.12",
      "channel": "stable",
      "released": "2026-08-28",
      "notes": "Simpler administration and more reliable first-time setup.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-12",
      "highlights": [
        "Configure appliance DNS servers and search domains from the Network page.",
        "Repair first-user provisioning on older appliance data disks.",
        "Accept line-wrapped licenses and show activation changes without restarting.",
        "Fix user deletion and improve dark-theme sign-in fields.",
        "Support private SMTP certificate authorities and implicit TLS on port 465.",
        "Edit custom AI endpoints without replacing credentials or enabled models.",
        "Clarify license errors and simplify administration controls."
      ],
      "breaking": [
        "No schema migrations in this release.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.12",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.12&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.12&artifact=checksums",
      "composeSha256": "a10d1a7d6480f1952ff247420106c15d1a8e0a42af9970bb6b83d6f67cdda96c",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.12&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.12&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.12"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.12"
      }
    },
    {
      "version": "0.4.10",
      "channel": "stable",
      "released": "2026-08-27",
      "notes": "Reliable appliance upgrades, test mailboxes and stronger run feedback.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-10",
      "highlights": [
        "Mount retained appliance data disks by label so OS-disk upgrades work.",
        "Distinguish missing, unmounted and duplicate data disks on the console.",
        "Add disposable test inboxes with @testvibe_email and a Mailbox view.",
        "Enforce thresholds on simple load tests and remove unchosen default gates.",
        "Add six starter checks to new projects.",
        "Clarify story-import questions and improve recorder and duplicate-project errors.",
        "Fix CLI version output, bounded waits, generation exit codes and group filtering."
      ],
      "breaking": [
        "Five schema migrations apply on upgrade from 0.4.9 (V0278 through V0282).",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.10",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.10&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.10&artifact=checksums",
      "composeSha256": "7bf0322a6d2fdcaafdc68a1637908cea613bd9fe79ef7a5914ce37080ed778c6",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.10&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.10&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.10"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.10"
      }
    },
    {
      "version": "0.4.9",
      "channel": "deprecated",
      "released": "2026-08-20",
      "notes": "Appliance service stability and issue-linked test evidence.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-9",
      "highlights": [
        "Keep the appliance administration service running with the correct systemd service type.",
        "Reload expired administration sessions.",
        "Attach test evidence to Jira stories and GitHub issues.",
        "Offer optional AI analysis when filing an issue.",
        "Use outcome-appropriate issue labels and remove duplicate issue actions."
      ],
      "breaking": [
        "ONE schema migration applies on upgrade (V0277 — the story test loop: a tv_issue_loop table, an index on its connection_id, and a nullable tv_feature.issue_loop_id).",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.9",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.9&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.9&artifact=checksums",
      "composeSha256": "dd1aeb34e06a5ea8db59af5c9e6e48f47ceda2c091b234698e10ce0500bda9e9",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.9&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.9&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.9"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.9"
      }
    },
    {
      "version": "0.4.8",
      "channel": "deprecated",
      "deprecated": true,
      "supersededBy": "0.4.9",
      "deprecatedReason": "Superseded by 0.4.9. Downloads are no longer offered; these notes remain available for upgrade planning.",
      "released": "2026-08-19",
      "notes": "OVA import and connector reliability improvements.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-8",
      "highlights": [
        "Fix XML escaping in the OVA descriptor so appliances import correctly.",
        "Simplify connector configuration and provide clearer progress and acknowledgements.",
        "Improve GitHub integration reliability."
      ],
      "breaking": [
        "No schema migration in this release.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.8",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.8&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.8&artifact=checksums",
      "composeSha256": "7b9f930bce54b9143db125367c2ac4094b8c9235b59ee894ca970474e9f30db5",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.8&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.8&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.8"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.8"
      }
    },
    {
      "version": "0.4.7",
      "channel": "deprecated",
      "released": "2026-08-14",
      "notes": "Installation and administration improvements.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-7",
      "highlights": [
        "Creating an install is a guided seven-step flow.",
        "'helm install' works with the documented minimum again.",
        "The encryption key for stored project secrets resolves itself.",
        "AI providers are a list you connect from: Anthropic, OpenAI, OpenCode and OpenRouter by name, then Custom for any other OpenAI-compatible endpoint (Ollama, vLLM, LM Studio, LiteLLM, Azure OpenAI).",
        "The console no longer states things it cannot verify.",
        "Keep the selected provider and model throughout generation and preserve the workspace when resuming.",
        "A failed scenario can retry itself before the whole run goes red — and a retried pass is always reported flaky, never clean.",
        "The bundled install guide can actually complete an install."
      ],
      "breaking": [
        "Four schema migrations apply on upgrade from 0.4.5 (V0273 through V0276).",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.7",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.7&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.7&artifact=checksums",
      "composeSha256": "db5a35ade58622c50b572b17b7b414f80e21017db7bbb028c34625422f96ce52",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.7&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.7&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.7"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.7"
      },
      "deprecated": true,
      "supersededBy": "0.4.9",
      "deprecatedReason": "Superseded by 0.4.9. Downloads are no longer offered; these notes remain available for upgrade planning."
    },
    {
      "version": "0.4.5",
      "channel": "deprecated",
      "released": "2026-08-13",
      "notes": "Model-provider catalog and installation improvements.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-5",
      "highlights": [
        "Add provider and model discovery with explicit model enablement.",
        "Keep manually disabled and custom model entries across discovery refreshes.",
        "Preserve existing TV_LLM configuration and default provider behavior.",
        "Include four PostgreSQL migrations for indexes, job pruning, access policies and the model catalog."
      ],
      "breaking": [
        "Applies four migrations: V0269–V0272 add indexes, job pruning, tenant protections and the model catalog.",
        "Appliance versions 0.4.0 and 0.4.1 shipped shared secrets. Replacing only the OS disk does not rotate retained credentials; contact support for migration and credential rotation.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes."
      ],
      "tag": "v0.4.5",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.5&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.5&artifact=checksums",
      "composeSha256": "8baabd314d5c9ecde2008303e78b9102ac17de27453107f9e4bb3e623edf7620",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.5"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.5"
      },
      "deprecated": true,
      "supersededBy": "0.4.7",
      "deprecatedReason": "Superseded by 0.4.7. Downloads are no longer offered; these notes remain available for upgrade planning."
    },
    {
      "version": "0.4.4",
      "channel": "deprecated",
      "deprecated": true,
      "released": "2026-08-10",
      "tag": "v0.4.4",
      "notes": "Historical release record without an available installation package.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-4",
      "deprecatedReason": "No installation packages remain attached to this release. Use the current version.",
      "highlights": [
        "The published release record contains checksums, but no installable bundle or appliance."
      ],
      "breaking": [
        "No customer release notes were published for this version."
      ],
      "upgrade": [
        "Use the current upgrade guide and a supported download."
      ]
    },
    {
      "version": "0.4.3",
      "channel": "deprecated",
      "deprecated": true,
      "supersededBy": "0.4.7",
      "deprecatedReason": "Superseded by 0.4.7. Downloads are no longer offered; these notes remain available for upgrade planning.",
      "released": "2026-08-07",
      "notes": "More reliable sessions, project addresses and run errors.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-3",
      "highlights": [
        "Extend sessions and recover expired sessions without a stuck loading screen.",
        "Normalize project addresses and repair existing addresses missing a URL scheme.",
        "Show the reason when a run fails before tests begin.",
        "Fix CLI run waiting and package version reporting.",
        "Include the appliance startup repairs from 0.4.2."
      ],
      "breaking": [
        "This release applies one schema migration (V0268) on first start.",
        "Appliance versions 0.4.0 and 0.4.1 shipped shared secrets. Replacing only the OS disk does not rotate retained credentials; contact support for migration and credential rotation.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.3",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.3&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.3&artifact=checksums",
      "composeSha256": "c7e70b385fbf8d7c7a66b8cc55d7a0d50aa186c57626bfef2f5f53dcadf8776d",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.3&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.3&artifact=ova",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.3"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.3"
      }
    },
    {
      "version": "0.4.2",
      "channel": "deprecated",
      "deprecated": true,
      "supersededBy": "0.4.3",
      "deprecatedReason": "Superseded by 0.4.3. Downloads are no longer offered; these notes remain available for upgrade planning.",
      "released": "2026-08-07",
      "notes": "Replacement appliance images with unique installation secrets.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-2",
      "highlights": [
        "Generate unique credentials and installation identity for each appliance.",
        "Keep boot verification separate from the disks distributed to customers.",
        "Show first-boot information on the hypervisor console.",
        "Serve the application on port 80 and repair interrupted first boots.",
        "Explain missing data disks instead of entering an unusable emergency prompt."
      ],
      "breaking": [
        "None for the appliance beyond the upgrade step below.",
        "Appliance versions 0.4.0 and 0.4.1 shipped shared secrets. Replacing only the OS disk does not rotate retained credentials; contact support for migration and credential rotation.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes.",
        "For an appliance update, replace the OS disk and keep the existing data disk. Attach only one disk labeled testvibe-data."
      ],
      "tag": "v0.4.2",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.2&artifact=checksums",
      "vhdxUrl": "https://testvibe.com/api/onprem/download?version=0.4.2&artifact=vhdx",
      "ovaUrl": "https://testvibe.com/api/onprem/download?version=0.4.2&artifact=ova"
    },
    {
      "version": "0.4.1",
      "channel": "deprecated",
      "deprecated": true,
      "supersededBy": "0.4.5",
      "deprecatedReason": "Superseded by 0.4.5. Downloads are no longer offered; these notes remain available for upgrade planning.",
      "released": "2026-08-06",
      "notes": "Withdrawn appliance release; container artifacts were unaffected.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-1",
      "highlights": [
        "Configure the appliance network adapter independently of its build-time name.",
        "Validate the adapter change during appliance boot checks.",
        "Reject unsupported runner and browser replica counts in the Helm chart."
      ],
      "breaking": [
        "This release applies two schema migrations (V0266, V0267) on first start.",
        "Appliance versions 0.4.0 and 0.4.1 shipped shared secrets. Replacing only the OS disk does not rotate retained credentials; contact support for migration and credential rotation.",
        "These notes describe this historical release. Use the current upgrade guide when moving to the latest version."
      ],
      "upgrade": [
        "Back up the database, artifacts and encryption-key configuration before upgrading.",
        "Use the matching version-pinned Compose bundle or Helm chart; preserve existing secrets and volumes."
      ],
      "tag": "v0.4.1",
      "composeUrl": "https://testvibe.com/api/onprem/download?version=0.4.1&artifact=compose",
      "sha256Url": "https://testvibe.com/api/onprem/download?version=0.4.1&artifact=checksums",
      "applianceWithdrawn": true,
      "applianceWithdrawnReason": "Appliance images were withdrawn because copies shared secrets and installation identity. Contact support for migration and credential rotation. Container artifacts were unaffected.",
      "images": {
        "registry": "testvibe.azurecr.io",
        "tag": "0.4.1"
      },
      "helm": {
        "chart": "oci://testvibe.azurecr.io/charts/testvibe",
        "version": "0.4.1"
      }
    },
    {
      "version": "0.4.0",
      "channel": "deprecated",
      "deprecated": true,
      "released": "2026-08-03",
      "tag": "v0.4.0",
      "notes": "Initial self-hosted stack; appliance images were later withdrawn.",
      "notesUrl": "https://docs.testvibe.com/release-notes/0-4-0",
      "deprecatedReason": "Superseded initial release. Appliance copies shared secrets and installation identity; do not install these images.",
      "applianceWithdrawn": true,
      "applianceWithdrawnReason": "Contact support for migration and credential rotation. Container artifacts were unaffected.",
      "highlights": [
        "Package the web application, PostgreSQL migrations, object storage and test runners for self-hosted installations.",
        "Provide Docker Compose and Kubernetes installation bundles.",
        "Offer a separate administration service for installation settings."
      ],
      "breaking": [
        "Appliance versions 0.4.0 and 0.4.1 shipped shared secrets. Replacing only the OS disk does not rotate credentials on the retained data disk."
      ],
      "upgrade": [
        "Back up the database, artifacts, installation identity and encryption keys.",
        "Contact support before migrating an affected appliance and rotating its credentials.",
        "Follow the current upgrade guide when moving to the latest version."
      ]
    }
  ]
}
