Skip to content

GoldenMatch

v2.1.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

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

Summary

AI summary

Correlated survivorship adds lock‑step field groups and anchor strategy.

Full changelog

goldenmatch 2.1.0 -- minor release.

Correlated survivorship, end-to-end group provenance, memory-safe PPRL,
native-dispatch telemetry, plus zero-config multi-source and bucket-backend fixes.

Added

  • Correlated survivorship: lock-step field groups + conditional/validated golden rules (#1047). New FieldGroupSpec + DomainPack.groups (domain-pack schema v3, additive/backward-compatible) keep correlated fields (street/city/postcode) in lock-step from one winning source.
  • allow_fill + anchor group-winner strategy, correlated survivorship v2 (#1055). GoldenGroupRule gains an anchor column for the new "anchor" strategy plus an orthogonal allow_fill fill-forward flag.
  • GroupProvenance surfaced end-to-end (#1053). Per-cluster survivorship provenance carries a real cluster_id and a natural-language audit trail through lineage, explain, MCP, and the review queue.
  • Chunked PPRL trusted-third-party linkage (#1054). New PPRLConfig.chunk_size streams Party B in blocks instead of materializing the full N_a x N_b score matrix; ~9-14x lower peak memory, byte-identical output (chunk_size=None is the original dense path).
  • Native-dispatch telemetry on the result object (#1048, #957). result.native reports whether the scoring hot path used the Rust kernel or fell back to pure Python; warns on a silent slow path and self-reports per Ray worker.
  • Collective entity resolution / neighborhood similarity. run_graph_er(propagation_mode="relational") blends attribute similarity with neighbor-cluster overlap to resolve homonyms (pairwise F1 ~0.66 -> ~0.87 on the co-author fixture).

Fixed

  • Zero-config multi-source dedupe no longer over-merges on shared workplace/categorical attributes (#858). A low-cardinality non-person-name field (company, job_title, ...) is demoted to blocking-only; lifts the reporter's CRM fixture from bare F1 0.13 to 0.77. Single-source auto-config byte-identical.
  • backend="bucket" honors multi-pass UNION blocking (#1048). A multi-pass config whose keys live in .passes (no static key) no longer returns 0 clusters.
  • Domain detection no longer classifies a bare name-only schema as product (#1042).

Performance

  • Sail distributed WCC: edge-node seeding + stage-boundary lineage barriers. Per-round shuffle scales with connected-component count, not row count; byte-identical default output.

Full changelog: packages/python/goldenmatch/CHANGELOG.md

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]