Repository navigation
Releases: echovisionlab/open-discogs-model
Release list
v1.0.1
v1.0.0
1.0.0 (2026-10-11)
Breaking changes
Java source, jOOQ generation, Gradle tooling, and Maven Central publication have
been retired. Version 1.0.0 publishes the Go model, embedded SQL migrations, and
import contracts. See the v1 migration guide.
Go package APIs, generated structs, V001-V023 SQL bytes, and legacy database
adoption contracts are unchanged. Existing Go imports keep the same module path.
Toolchain and verification
Go builds require Go 1.27.2, including its standard-library security fixes.
CI and release publication retain PostgreSQL generation and convergence checks
and verify the tagged Go module.
PR title and body edits now leave the required source verification intact.
Changing a PR base within the repository starts full verification of its branch.
v0.4.1
v0.4.0
v0.3.2
0.3.2 (2026-08-13)
Performance Improvements
- Add the canonical V022 index for country, master-status, release-date, and cursor filtering (#60).
Measured impact
On the documented 1,000,000-release fixture, combined-filter SQL p99 decreased from 6.856 ms to 0.225 ms (-96.7%). The plan changed from 4,386 heap blocks plus a top-N sort to an ordered 53-buffer index scan. The new index occupies 31,522,816 bytes (+6.5% on the post-V007 test database).
v0.3.1
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.
v0.2.3
0.2.3 (2026-08-12)
Bug Fixes
- Preserve every distinct catalog number when a Discogs release repeats the same label credit.
- Treat missing catalog numbers as one NULL-safe identity.
- Verify an existing V007 database upgrades without losing the prior relation and rejects exact duplicates.
- Publish a generated migration inventory for Java consumers.
This fixes the first Release chunk failure observed on the 2026-08 dump: release 2, label 5 legitimately contains both SK 026 and SK026.
v0.2.2
0.2.2 (2026-08-11)
Performance Improvements
- add indexed API query paths (#44) (85c43ad)
- release-title substring p95: 194.535 ms -> 0.136 ms (99.930% lower)
- artist-release lookup p95: 17.309 ms -> 0.061 ms (99.648% lower)
- synthetic database index cost: +164.1 MiB (+54.7%)
- measured with 1,000,000 releases; full-dump storage, import duration, cold I/O, and concurrency remain pre-production gates