v0.26.6 is a correctness patch for migration apply behavior. It targets a real edge case: replacing policies inside the same migration file without spurious verification failures.
What Changed
- Strict migration compilation now executes destructive and rename hints (drop*, rename) before declarative create paths.
- migrate apply policy verification now checks final expected state per (table, policy) after all commands run.
- Drop-and-recreate policy sequences in one migration no longer fail verification due to intermediate state checks.
drop policy tenant_contracts_policy on tenant_contracts
policy tenant_contracts_policy on tenant_contracts for all
using $$ (is_super_admin() OR (principal_tenant_id = get_current_tenant_id())) $$
Why This Matters
Many teams manage policy updates as replace operations in a single migration. Ordering and verification now match that intent: execute the destructive step first, then validate the final state after the full migration.
Release Notes
- Added tests for strict policy replacement roundtrip ordering.
- Added final-intent expectation tests for create/drop policy command sequences.
- Workspace crate versions are bumped to 0.26.6.
Migration verification should validate the intended end state, not fail on a transient intermediate step.← Back to Blog