Repository navigation
v0.3.0
0.3.0 (2026-08-12)
Features
- Add a canonical release-import convergence contract (#49).
- Record an explicit import-contract revision per entity (
artist=1,label=1,master=1,release=2). - Require
master.main_release_idto reference a release owned by that same master and keep each main release unique. - Clear stale main-release references before a release moves to another master so interrupted imports can converge safely.
- Record an explicit import-contract revision per entity (
Bug fixes
- Publish a strict legacy Liquibase adoption contract for Java releases
1.0.0through1.2.1(#49).- Bind V001-V007 to released changeset identities, canonical SQL hashes, permitted execution states, and PostgreSQL schema fingerprints.
- Fail closed on partial, unknown, or catalog-mismatched histories.
- Validate the published jOOQ dependency node against the declared Java API version instead of a hardcoded version (#51).
- Wait for the final PostgreSQL server instead of the temporary initialization server in release contract tests (#53).
Verification
- PostgreSQL 15.13 and 18.4 tests cover clean V009 application, rollback on invalid existing relationships, and interrupted A-to-B master reassignment convergence.
- Go race and vet checks, the Gradle Java build, packaged migration inventory, and Docker residue verification passed.
Upgrade note
V009 validates existing data while adding unique constraints, a composite foreign key, and a trigger. Invalid relationships abort the migration without a partial schema change. Production-scale index-build duration, lock time, and temporary disk usage have not been measured; test on a production-sized copy and use a backed-up maintenance window.