Skip to content

GoldenMatch

v2.0.0 Breaking

This release includes 4 breaking changes for platform teams planning a safe upgrade.

Published 1mo Data Pipelines & ETL
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

data-cleaning data-engineering data-matching data-quality deduplication entity-resolution
+14 more
fellegi-sunter fuzzy-matching knowledge-graph llm master-data-management mcp-server polars pprl python record-linkage rust splink typescript zero-config

ReleasePort's take

Moderate signal
editorial:auto 1mo

v2.0.0 removes several APIs and features; adopt replacements to avoid failures.

Why it matters: If your code uses `:hash:` identity IDs, the `GOLDENMATCH_CLUSTER_FRAMES_OUT` env var, `RunHistory.cheapest_healthy()`, or `_scale_aware_backend`, update configurations before upgrading to prevent runtime failures; Fellegi‑Sunter scoring improves ~3.5× on tiny blocks.

Summary

AI summary

Updates BREAKING CHANGES, output-equivalent, and internal across a mixed release.

Changes in this release

Breaking High

Removes `GOLDENMATCH_CLUSTER_FRAMES_OUT` environment variable.

Removes `GOLDENMATCH_CLUSTER_FRAMES_OUT` environment variable.

Source: llm_adapter@2026-06-14

Confidence: high

Breaking High

Removes `RunHistory.cheapest_healthy()` method.

Removes `RunHistory.cheapest_healthy()` method.

Source: llm_adapter@2026-06-14

Confidence: high

Breaking High

Removes the `:hash:` identity ID scheme.

Removes the `:hash:` identity ID scheme.

Source: llm_adapter@2026-06-14

Confidence: low

Breaking High

Removes internal `_scale_aware_backend` backend selector.

Removes internal `_scale_aware_backend` backend selector.

Source: llm_adapter@2026-06-14

Confidence: low

Feature Medium

Adds stable Sail IdentityGraph API.

Adds stable Sail IdentityGraph API.

Source: llm_adapter@2026-06-14

Confidence: high

Performance Medium

Improves Fellegi‑Sunter block scoring ~3.5× faster on tiny‑block shapes.

Improves Fellegi‑Sunter block scoring ~3.5× faster on tiny‑block shapes.

Source: llm_adapter@2026-06-14

Confidence: high

Full changelog

GoldenMatch 2.0.0 -- first backwards-incompatible major.

This release removes four deprecation-window items that shipped with a
1.x runway. The pipeline behavior is output-equivalent; the breaks are in
removed escape hatches, internal shims, and the legacy identity id scheme.

BREAKING CHANGES

  • Identity :hash: scheme removed. The legacy :hash: lookup candidate
    and GOLDENMATCH_IDENTITY_ID_SCHEME are gone. A persisted identity DB
    still holding :hash:-keyed records will SPLIT on the next run.
    Run goldenmatch identity migrate-ids --path <db> (or --dsn) BEFORE
    upgrading. Un-fingerprintable rows keep their :hash: id.
  • GOLDENMATCH_CLUSTER_FRAMES_OUT removed. The Arrow frames-out path is
    the only clustering path now (output-equivalent). Public build_clusters
    is preserved as a frames-backed adapter.
  • RunHistory.cheapest_healthy() removed -- use pick_committed().
  • _scale_aware_backend (internal) removed -- backend selection routes
    through the v3 planner.

Migration

If you persist an identity DB, run the migration before upgrading:

goldenmatch identity migrate-ids --path <db>     # or --dsn <postgres-dsn>
goldenmatch identity migrate-ids --path <db> --dry-run   # counts only

Full guide: https://docs.bensevern.dev/ (Guides -> Migrating to v2).
See packages/python/goldenmatch/CHANGELOG.md for the complete 2.0.0 notes
(Added: stable Sail IdentityGraph API, identity migrate-ids; Performance:
Fellegi-Sunter block scoring ~3.5x faster on tiny-block shapes).

Breaking Changes

  • Removed Identity `:hash:` scheme; `GOLDENMATCH_IDENTITY_ID_SCHEME` flag and legacy lookup candidate are gone. Persisted DBs with `:hash:` keys will split on next run; must run `goldenmatch identity migrate-ids --path` or `--dsn` before upgrading.
  • Removed `GOLDENMATCH_CLUSTER_FRAMES_OUT` environment variable. Arrow frames-out path is now the only clustering path (output‑equivalent). Public `build_clusters` retained as a frames‑backed adapter.
  • Removed `RunHistory.cheapest_healthy()` method; replace with `pick_committed()`.
  • Removed internal `_scale_aware_backend`; backend selection now routes through v3 planner.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track GoldenMatch

Get notified when new releases ship.

Sign up free

About GoldenMatch

All releases →

Related context

Related tools

Earlier breaking changes

  • v3.1.0 `GOLDENMATCH_FRAME=polars` now requires the `[polars]` extra; raises error without it.
  • vgoldencheck-v3.0.0 `inferred_type` emits neutral dtype vocabulary (str/int/uint/float/date/datetime/bool/other) instead of raw Polars dtypes.
  • vgoldencheck-v3.0.0 'inferred_type' now emits a neutral dtype vocabulary instead of raw Polars dtype strings.
  • vgoldencheck-v3.0.0 `scan_file`, `scan_dataframe`, and CLI `check` now run without Polars, using Arrow-native pyarrow.Table.
  • v3.0.0 Result frames now return pyarrow.Table instead of Polars DataFrame.

Beta — feedback welcome: [email protected]