Contents
Plain-language companion: v0.2.1.md
v0.2.1 — Upgrade Infrastructure & Documentation
Status: Released (2026-03-05).
Patch release focused on upgrade safety, documentation, and three catalog
schema additions via sql/pg_trickle--0.2.0--0.2.1.sql:
has_keyless_source BOOLEAN NOT NULL DEFAULT FALSE— EC-06 keyless source flag; changes apply strategy from MERGE to counted DELETE when set.function_hashes TEXT— EC-16 function-body hash map; forces a full refresh when a referenced function’s body changes silently.topk_offset INT— OS2 catalog field for paged TopK OFFSET support, shipped and used in this release.
Upgrade Migration Infrastructure ✅
In plain terms: When you run
ALTER EXTENSION pg_trickle UPDATE, all your stream tables should survive intact. This adds the safety net that makes that true: automated scripts that check every upgrade script covers all database objects, real end-to-end tests that actually perform the upgrade in a test container, and CI gates that catch regressions before they reach users.
Complete safety net for ALTER EXTENSION pg_trickle UPDATE:
| Item | Description | Status |
|---|---|---|
| U1 | scripts/check_upgrade_completeness.sh — CI completeness checker |
✅ Done |
| U2 | sql/archive/ with archived SQL baselines per version |
✅ Done |
| U3 | tests/Dockerfile.e2e-upgrade for real upgrade tests |
✅ Done |
| U4 | 6 upgrade E2E tests (function parity, stream table survival, etc.) | ✅ Done |
| U5 | CI: upgrade-check (every PR) + upgrade-e2e (push-to-main) |
✅ Done |
| U6 | docs/UPGRADING.md user-facing upgrade guide |
✅ Done |
| U7 | just check-upgrade, just build-upgrade-image, just test-upgrade |
✅ Done |
| U8 | Fixed 0.1.3→0.2.0 upgrade script (was no-op placeholder) | ✅ Done |
Documentation Expansion ✅
In plain terms: Added six new pages to the documentation book: a dbt integration guide, contributing guide, security policy, release process, a comparison with the pg_ivm extension, and a deep-dive explaining why row-level triggers were chosen over logical replication for CDC.
GitHub Pages book grew from 14 to 20 pages:
| Page | Section | Source |
|---|---|---|
| dbt Integration | Integrations | dbt-pgtrickle/README.md |
| Contributing | Reference | CONTRIBUTING.md |
| Security Policy | Reference | SECURITY.md |
| Release Process | Reference | docs/RELEASE.md |
| pg_ivm Comparison | Research | plans/ecosystem/GAP_PG_IVM_COMPARISON.md |
| Triggers vs Replication | Research | plans/sql/REPORT_TRIGGERS_VS_REPLICATION.md |
Exit criteria:
- [x] ALTER EXTENSION pg_trickle UPDATE from 0.1.3→0.2.0 tested end-to-end
- [x] Completeness check passes (upgrade script covers all pgrx-generated SQL objects)
- [x] CI enforces upgrade script completeness on every PR
- [x] All documentation pages build and render in mdBook