This release fixes issues for SREs watching stability and regressions.
Published 3mo
Data Pipelines & ETL
✓ No known CVEs patched
✓ 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 summaryUpdates Bug fixes, Testing, and df across a mixed release.
Full changelog
Fix: Auto-config cardinality guards
Auto-config (dedupe_df(df) with no config) failed on datasets with near-unique ID columns, low-cardinality categorical columns, or long-text description fields. This release fixes all three root causes.
Bug fixes
- Blocking on unique IDs — Columns with
cardinality_ratio >= 0.95(e.g.,rec_id,id) are now excluded from blocking key selection. Previously, these produced single-row blocks with zero comparisons. - Exact matchkeys on low-cardinality columns — Columns with
cardinality_ratio < 0.01(e.g.,state,county) no longer get exact matchkeys. Previously, these caused quadratic pair explosions (50M+ pairs → MemoryError). - Description columns routed to fuzzy matching — Long-text columns (avg_len > 50) now get a
token_sortfuzzy scorer in addition torecord_embedding, ensuring they contribute to matching even without a sentence-transformer model. - Safe defaults — Guards only fire when
cardinality_ratiowas actually measured (> 0), so manually-constructedColumnProfileobjects are unaffected. - Config-altering decisions now log warnings instead of info-level messages.
Testing
- 64 autoconfig tests (was 49), including boundary value tests and integration tests on real Febrl and DBLP-ACM benchmark datasets.
- Full suite: 1244 tests passing.
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
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]