Terrapod 1.0.0 — a stable, SemVer-committed platform replacement for Terraform Enterprise.
This release marks Terrapod's commitment to backward compatibility. From 1.0.0 on, every public surface is frozen behind an automated CI gate and a written policy: nothing on a stable surface is removed, renamed, or retyped outside a MAJOR release that has completed a deprecation window.
Highlights
- Compatibility contract (#550) — SemVer defined per surface, an N-2 runner/listener/SDK version-skew guarantee, and a 2-minor deprecation window with
Deprecation/Sunsetheaders. Seedocs/versioning-and-support.md. - Nine automated contract gates fail CI on any breaking change: HTTP routes (with query params), JSON:API response attributes (across 63 serializers), the runner/listener wire protocol (SSE events +
runs/nextattributes + nested payload keys), config keys (including theRunnerConfig/runners.yamltree and SSO list-model sub-keys), DB-migration reversibility + expand/contract safety, Helm values, thego-terrapodexported surface, and the Terraform-provider schema. - Runtime version handshake — the API advertises its version;
go-terrapod, the provider,terrapod-migrate, andterrapod-publishrun a SemVer compatibility check and warn on version skew. - Deprecation mechanism ready for first use —
docs/deprecations.md(nothing is deprecated yet). - The full platform is now under the stability guarantee — workspaces, remote state, agent execution, VCS integration, label-based RBAC, the private module/provider registry, service catalog, OPA/Rego policy-as-code, run tasks, execution hooks, drift detection, notifications, the interactive Slack app, and the TFE/HCP/Atlantis migration tooling.
Status
Stable — the MAJOR/MINOR/PATCH contract is now absolute and enforced in CI.
Full Changelog: v0.58.0...v1.0.0