{
  "schemaVersion": 1,
  "docsVersion": "0.7.0",
  "source": "v0.7.0 (7d9b80cd)",
  "chainStart": "0.7.0",
  "releases": [
    {
      "version": "0.1.0",
      "type": "feature",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": null,
      "notes": null
    },
    {
      "version": "0.2.0",
      "type": "feature",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": null,
      "notes": "Ships the installer ISO."
    },
    {
      "version": "0.2.1",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": null,
      "notes": null
    },
    {
      "version": "0.2.2",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": null,
      "notes": "Changes openbao.container; unsafe from an older host-helper."
    },
    {
      "version": "0.2.3",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": null,
      "notes": "The host-helper no longer restarts OpenBao live."
    },
    {
      "version": "0.3.0",
      "type": "feature",
      "requiredStop": false,
      "chainStart": true,
      "minUpgradeFrom": null,
      "notes": "Starts the upgrade chain: older releases reinstall from its ISO."
    },
    {
      "version": "0.3.1",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "An upgrade that restarts OpenBao unseals it the way boot does; TF provider plans no replace."
    },
    {
      "version": "0.3.2",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "Every OS package locked by version; releases ship as bundles only."
    },
    {
      "version": "0.3.3",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "A run-command right after an upgrade no longer fails; no false lock-loss ERROR on shutdown."
    },
    {
      "version": "0.4.0",
      "type": "feature",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "New installer ISO (installs on used disks, host reservation step, dev mode off by default); agent on and off after launch, quota switch, apex NS on every zone. Upgraded nodes keep dev mode on."
    },
    {
      "version": "0.4.1",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "Node shut down and reboot; base images with the agent dormant (enable without an install command); trace operation catalog; dev mode on by default for single-node; the control plane reports the release version."
    },
    {
      "version": "0.4.2",
      "type": "fix",
      "requiredStop": false,
      "chainStart": false,
      "minUpgradeFrom": "0.3.0",
      "notes": "Security: a guest could read another instance's metadata and credentials (fixed; the legacy IMDS port is gone). Console sign-in with OIDC, release token, guest logs, clearer launch and backup errors."
    },
    {
      "version": "0.7.0",
      "type": "feature",
      "requiredStop": false,
      "chainStart": true,
      "minUpgradeFrom": null,
      "notes": "Starts the upgrade chain: older releases reinstall from its ISO. Hyperconverged clusters: install a first node as a cluster of one and add nodes with a join code and an approval, up to 5 control-plane nodes. Simpler installer with a table of NICs, bonds and VLANs at install, install-time disk and NIC roles, and browser recovery actions. Ceph capacity history on the Ceph page. Operator recipes in the system project."
    }
  ],
  "brokenEdges": [
    {
      "from": [
        "0.2.0",
        "0.2.1"
      ],
      "to": "0.2.2",
      "reason": "0.2.2 changes openbao.container; the host-helper of the running release restarts OpenBao in the upgrade's restart step and does not unseal it, so the control plane crash-loops until OpenBao is unsealed by hand.",
      "use": "0.2.3"
    }
  ],
  "testedEdges": [
    {
      "from": "0.2.0",
      "to": "0.2.2",
      "date": "2026-10-17",
      "result": "fail",
      "tpm": false,
      "run": "install-test node with tenant fixtures",
      "notes": "OpenBao sealed after the restart step, control plane crash-loop; recovered by a manual unseal."
    },
    {
      "from": "0.2.0",
      "to": "0.2.3",
      "date": "2026-10-17",
      "result": "pass",
      "tpm": false,
      "run": "install-test node with tenant fixtures, 6/6 checks"
    },
    {
      "from": "0.3.0",
      "to": "0.3.1",
      "date": "2026-10-17",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.0-tf (Terraform tenants), local",
      "notes": "25 of 25 checks, no drift, no LB or floating-IP gap, no VM restart."
    },
    {
      "from": "0.3.0",
      "to": "0.3.2",
      "date": "2026-10-17",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.0-tf (Terraform tenants), local",
      "notes": "25 of 25 checks, no drift, no probe gap, no VM restart."
    },
    {
      "from": "0.3.1",
      "to": "0.3.2",
      "date": "2026-10-17",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.1-tf (Terraform tenants), local",
      "notes": "25 of 25 checks, no drift, no probe gap, no VM restart."
    },
    {
      "from": "0.3.0",
      "to": "0.3.3",
      "date": "2026-10-18",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.0-tf (Terraform tenants), local",
      "notes": "25 of 25 checks, no drift, no probe gap, no VM restart."
    },
    {
      "from": "0.3.2",
      "to": "0.3.3",
      "date": "2026-10-18",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.2-tf (Terraform tenants), local",
      "notes": "25 of 25 checks, no drift, no probe gap, no VM restart."
    },
    {
      "from": "0.3.0",
      "to": "0.4.0",
      "date": "2026-10-18",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.0-tf (Terraform tenants), local, on the build of main 7dbbf164",
      "notes": "22 pass, 3 skip (vm-boot, VMs restart); full reboot (psi=1), web tier back 46 s after READY."
    },
    {
      "from": "0.3.3",
      "to": "0.4.0",
      "date": "2026-10-18",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.3-tf (Terraform tenants), local, on the build of main 7dbbf164",
      "notes": "22 pass, 3 skip (vm-boot, VMs restart); full reboot (psi=1), web tier back 43 s after READY."
    },
    {
      "from": "0.4.0",
      "to": "0.4.1",
      "date": "2026-10-19",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.4.0-tf (Terraform tenants), local, on candidate 0.4.1-rc.98f2d383 (promoted)",
      "notes": "Host upgrade, no reboot, VMs keep running; release consistent after the upgrade."
    },
    {
      "from": "0.3.3",
      "to": "0.4.1",
      "date": "2026-10-19",
      "result": "pass",
      "tpm": true,
      "run": "upgrade-test.sh from golden v0.3.3-tf (Terraform tenants), local, on candidate 0.4.1-rc.98f2d383 (promoted)",
      "notes": "OS upgrade with a full reboot, VMs restart (vm-boot skipped as announced); release consistent."
    }
  ],
  "paths": [
    {
      "from": "0.1.0",
      "to": "0.2.0",
      "kind": "direct",
      "hops": [
        "0.2.0"
      ],
      "message": "0.1.0 upgrades straight to 0.2.0"
    },
    {
      "from": "0.1.0",
      "to": "0.2.1",
      "kind": "direct",
      "hops": [
        "0.2.1"
      ],
      "message": "0.1.0 upgrades straight to 0.2.1"
    },
    {
      "from": "0.1.0",
      "to": "0.2.2",
      "kind": "direct",
      "hops": [
        "0.2.2"
      ],
      "message": "0.1.0 upgrades straight to 0.2.2"
    },
    {
      "from": "0.1.0",
      "to": "0.2.3",
      "kind": "direct",
      "hops": [
        "0.2.3"
      ],
      "message": "0.1.0 upgrades straight to 0.2.3"
    },
    {
      "from": "0.1.0",
      "to": "0.3.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported)",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.3.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.3.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.3.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.3.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.3.3",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.3.3",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.4.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.4.0",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.4.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.4.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.4.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported), then upgrade to 0.4.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.1.0",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.1.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.2.0",
      "to": "0.2.1",
      "kind": "direct",
      "hops": [
        "0.2.1"
      ],
      "message": "0.2.0 upgrades straight to 0.2.1"
    },
    {
      "from": "0.2.0",
      "to": "0.2.2",
      "kind": "broken",
      "hops": [],
      "message": "0.2.0 cannot upgrade straight to 0.2.2: upgrade to 0.2.3 instead",
      "use": "0.2.3"
    },
    {
      "from": "0.2.0",
      "to": "0.2.3",
      "kind": "direct",
      "hops": [
        "0.2.3"
      ],
      "message": "0.2.0 upgrades straight to 0.2.3"
    },
    {
      "from": "0.2.0",
      "to": "0.3.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.3.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.3.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.3.3",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.3",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.4.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.0",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.4.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.4.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.0",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.2.1",
      "to": "0.2.2",
      "kind": "broken",
      "hops": [],
      "message": "0.2.1 cannot upgrade straight to 0.2.2: upgrade to 0.2.3 instead",
      "use": "0.2.3"
    },
    {
      "from": "0.2.1",
      "to": "0.2.3",
      "kind": "direct",
      "hops": [
        "0.2.3"
      ],
      "message": "0.2.1 upgrades straight to 0.2.3"
    },
    {
      "from": "0.2.1",
      "to": "0.3.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.3.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.3.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.3.3",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.3",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.4.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.0",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.4.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.4.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.1",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.2.2",
      "to": "0.2.3",
      "kind": "direct",
      "hops": [
        "0.2.3"
      ],
      "message": "0.2.2 upgrades straight to 0.2.3"
    },
    {
      "from": "0.2.2",
      "to": "0.3.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.3.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.3.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.3.3",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.3",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.4.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.0",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.4.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.4.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.2",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.2.3",
      "to": "0.3.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.3.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.3.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.3.3",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.3.3",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.4.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.0",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.4.1",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.1",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.4.2",
      "kind": "reinstall",
      "hops": [],
      "message": "0.3.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported), then upgrade to 0.4.2",
      "chainStart": "0.3.0"
    },
    {
      "from": "0.2.3",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.2.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.3.0",
      "to": "0.3.1",
      "kind": "direct",
      "hops": [
        "0.3.1"
      ],
      "message": "0.3.0 upgrades straight to 0.3.1"
    },
    {
      "from": "0.3.0",
      "to": "0.3.2",
      "kind": "direct",
      "hops": [
        "0.3.2"
      ],
      "message": "0.3.0 upgrades straight to 0.3.2"
    },
    {
      "from": "0.3.0",
      "to": "0.3.3",
      "kind": "direct",
      "hops": [
        "0.3.3"
      ],
      "message": "0.3.0 upgrades straight to 0.3.3"
    },
    {
      "from": "0.3.0",
      "to": "0.4.0",
      "kind": "direct",
      "hops": [
        "0.4.0"
      ],
      "message": "0.3.0 upgrades straight to 0.4.0"
    },
    {
      "from": "0.3.0",
      "to": "0.4.1",
      "kind": "direct",
      "hops": [
        "0.4.1"
      ],
      "message": "0.3.0 upgrades straight to 0.4.1"
    },
    {
      "from": "0.3.0",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.3.0 upgrades straight to 0.4.2"
    },
    {
      "from": "0.3.0",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.3.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.3.1",
      "to": "0.3.2",
      "kind": "direct",
      "hops": [
        "0.3.2"
      ],
      "message": "0.3.1 upgrades straight to 0.3.2"
    },
    {
      "from": "0.3.1",
      "to": "0.3.3",
      "kind": "direct",
      "hops": [
        "0.3.3"
      ],
      "message": "0.3.1 upgrades straight to 0.3.3"
    },
    {
      "from": "0.3.1",
      "to": "0.4.0",
      "kind": "direct",
      "hops": [
        "0.4.0"
      ],
      "message": "0.3.1 upgrades straight to 0.4.0"
    },
    {
      "from": "0.3.1",
      "to": "0.4.1",
      "kind": "direct",
      "hops": [
        "0.4.1"
      ],
      "message": "0.3.1 upgrades straight to 0.4.1"
    },
    {
      "from": "0.3.1",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.3.1 upgrades straight to 0.4.2"
    },
    {
      "from": "0.3.1",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.3.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.3.2",
      "to": "0.3.3",
      "kind": "direct",
      "hops": [
        "0.3.3"
      ],
      "message": "0.3.2 upgrades straight to 0.3.3"
    },
    {
      "from": "0.3.2",
      "to": "0.4.0",
      "kind": "direct",
      "hops": [
        "0.4.0"
      ],
      "message": "0.3.2 upgrades straight to 0.4.0"
    },
    {
      "from": "0.3.2",
      "to": "0.4.1",
      "kind": "direct",
      "hops": [
        "0.4.1"
      ],
      "message": "0.3.2 upgrades straight to 0.4.1"
    },
    {
      "from": "0.3.2",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.3.2 upgrades straight to 0.4.2"
    },
    {
      "from": "0.3.2",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.3.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.3.3",
      "to": "0.4.0",
      "kind": "direct",
      "hops": [
        "0.4.0"
      ],
      "message": "0.3.3 upgrades straight to 0.4.0"
    },
    {
      "from": "0.3.3",
      "to": "0.4.1",
      "kind": "direct",
      "hops": [
        "0.4.1"
      ],
      "message": "0.3.3 upgrades straight to 0.4.1"
    },
    {
      "from": "0.3.3",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.3.3 upgrades straight to 0.4.2"
    },
    {
      "from": "0.3.3",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.3.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.4.0",
      "to": "0.4.1",
      "kind": "direct",
      "hops": [
        "0.4.1"
      ],
      "message": "0.4.0 upgrades straight to 0.4.1"
    },
    {
      "from": "0.4.0",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.4.0 upgrades straight to 0.4.2"
    },
    {
      "from": "0.4.0",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.4.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.4.1",
      "to": "0.4.2",
      "kind": "direct",
      "hops": [
        "0.4.2"
      ],
      "message": "0.4.1 upgrades straight to 0.4.2"
    },
    {
      "from": "0.4.1",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.4.x are not supported)",
      "chainStart": "0.7.0"
    },
    {
      "from": "0.4.2",
      "to": "0.7.0",
      "kind": "reinstall",
      "hops": [],
      "message": "0.7.0 starts the upgrade chain: install it fresh from its ISO (upgrades from 0.4.x are not supported)",
      "chainStart": "0.7.0"
    }
  ]
}
