v0.13.0
Status: Released
All roadmap items for v0.13 "Phase 16 — Blue/Green End-to-End, IMMEDIATE Mode &
Advanced Features" are implemented and tested.
Highlights
-
Blue/green migrations (
--strategy blue-green): The planner now generates the
full blue/green step sequence —CreateGreenSchema,CreateStreamTableInGreen,
WaitForConvergence(with real pg_trickle polling),SwapConsumerViews, and
RetireBlueSchema— for topology-restructuring diffs. -
IMMEDIATE refresh mode:
RefreshMode::Immediateis parsed from
-- @aqueduct:refresh_mode = "IMMEDIATE", classified, stored, and correctly handled
in rebuild paths viaPauseImmediate/ResumeImmediatesteps. The new
--no-immediate-downgradeflag rejects plans that would temporarily degrade an
IMMEDIATE table. -
Pre/post migration hooks: SQL statements from
[apply.hooks] preandpost
inaqueduct.tomlare emitted asRunHooksteps. The pre-hook fires immediately
afterLockDag; the post-hook fires just beforeRecordSnapshot. -
Immutable plan artifacts (
--out/--plan):aqueduct plan --out plan.json
writes the plan (with a SHA-256 spec hash) to a file.aqueduct apply --plan plan.json
loads and executes the pre-computed plan, validating the spec hash to reject stale
artifacts. -
Step observability (
migration_steps): The catalog is bumped to v5, adding
aqueduct.migration_steps. Every executed step writes arunningrow at start and
adone(orfailed) row at completion, enabling audit and replay. -
Import baseline snapshot:
aqueduct importnow callsensure_catalog_current
and records version 1 inaqueduct.dag_versions. A subsequentaqueduct plan
returns an empty plan. -
Real preview backends: The
create_preview_cnpgandcreate_preview_neonstubs
are replaced with real HTTP implementations using the CNPG Kubernetes API and the
Neon management API respectively. -
Rollback classification (
--within-window/--accept-data-loss): The rollback
command now classifies each change asSafe,PointInTime, orDataLossbased on
when the version was applied relative to the pg_trickle WAL retention window. -
JSON schema versioning (
schema_version: 1): All structured JSON events emitted
by the CLI now include"schema_version": 1. The schema is published at
docs/cli-events-schema.json.