Skip to content

GoldenMatch

v2.8.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 24d 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

Affected surfaces

auth deps

Summary

AI summary

Identity audit log adds claim-authority tiers and lifecycle operations; dedupe CLI becomes non‑interactive by default.

Full changelog

Added

  • Identity audit log: claim-authority tier + claim-lifecycle operations. Events now carry a categorical ClaimType (observation / inference / verified / directive) — orthogonal to the numeric trust — plus a typed EvidenceRef and a previous_claim_id chain, so a reviewer can tell "an agent inferred this at 0.8" from "a tool verified this at 0.8". New lifecycle ops promote_claim / amend_claim / revoke_claim make an agent inference becoming durable shared truth an explicit, auditable event. All additive/nullable — the tamper-evidence hash stays byte-identical for pre-existing events. SQLite v4→v5 migration + Postgres/Mongo + Alembic 0004. (#1383)

Changed

  • goldenmatch dedupe <file> is now non-interactive by default. A bare goldenmatch dedupe customers.csv runs auto-config, writes golden records (a timestamped *_golden.csv in the current directory), and prints a summary — so the advertised "CSV in, 30 seconds, CSV out" is what actually happens. The interactive review TUI is now opt-in via --tui (previously it opened by default). --no-tui is still accepted as a no-op for back-compat. When no explicit output flag is given on the auto-config path, golden records are written by default (use --output-all / --output-dir to control, --tui to review). An explicit --config run keeps its exact prior behavior.
  • Input validation on the dedupe CLI + ingest (break-it review). A Windows-1252 / Latin-1 CSV is no longer silently lossy-decoded into replacement chars — non-UTF-8 files are detected, decoded as cp1252, and warned about (so José Muñoz survives instead of becoming mojibake in the golden record); explicit --encoding cp1252/latin-1 now works too. --anomaly-sensitivity is validated + case-normalized (a miscased Low no longer silently inverts to the most-sensitive behavior); an unknown --backend is rejected instead of silently dropped; --format is validated at parse time (not after the whole run); structured non-tabular inputs (.json/.xml/.yaml) get a clear message; --chunk-size/--preview-size reject non-positive values. (#1390)

Fixed

  • Config-suggestion "healer" production slowdown. The default dedupe_df advisory path no longer runs the O(distinct²) goldencheck variant scan (cell_quality) over the full frame on every run whose free trigger fired — the scan is reserved for the opt-in suggest=/heal= paths. Instant mitigation without upgrading: GOLDENMATCH_SUGGEST_ON_DEDUPE=0. (#1385)

Performance

  • Golden-stage quality-weighting scan scoped to cluster members. goldencheck.cell_quality runs only over rows that actually get a golden record (multi-member, non-oversized cluster members) instead of the entire collected frame — much cheaper on real data, since singletons never consume a quality weight. (#1389)
  • Throughput tier skips golden-record survivorship. Lifts the 100k+ corpus ceiling for the dedupe_df(throughput=...) path, which consumes clusters, not canonical records. (#1382)

Breaking Changes

  • `goldenmatch dedupe` is now non‑interactive by default; interactive TUI requires `--tui` flag.

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]