This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryComposite DQbench score improved from 62.87 to 66.91, driven by T2 F1 gain of +10.3 percentage points.
Full changelog
Highlights
- 5 complexity indicators in
core/indicators.py: column priors (identity + corruption scoring), sparse-match estimation, full-population matchkey hits, cross-blocking overlap, corruption score. Cheap two run eagerly; expensive three run lazily viaIndicatorContextmemoization. IndicatorContextthreads indicators through the policy/rule chain.RefitPolicy.proposegains optionalctxkwarg; controller introspects custom-policy signatures viainspect.signaturefor backward compat.- 3 new rules:
rule_corruption_normalizeadds normalize when blocking column has corruption + identity prior;rule_cross_blocking_disagreementproposes multi-pass when overlap is low;rule_sparse_match_expandlowers threshold + side-channel signal when sample is sparse. GOLDENMATCH_AUTOCONFIG_INDICATOR_BUDGET=fastenv var gates the two expensive indicators for users who prefer v1.9 wall-clock.
Benchmarks (zero-config, no LLM)
| Dataset | v1.9.0 | v1.10.0 |
|---|---|---|
| DBLP-ACM | 0.9641 | 0.9641 |
| Febrl3 | 0.9443 | 0.9443 |
| NCVR | 0.9719 | 0.9719 |
| DQbench composite | 62.87 | 66.91 |
| T1 F1 | 89.3% | 88.9% |
| T2 F1 | 58.7% | 69.0% (+10.3pp) |
| T3 F1 | 53.8% | 53.8% |
Composite gain came from T2 recovery via rule_corruption_normalize and rule_cross_blocking_disagreement.
Honest framing
Shipped at fallback target (≥65), not the spec's primary target (≥70). T2 carried the gain. T3 still at 53.8% — needs richer matchkey design (queued for v1.11). T1 slight regression (-0.4pp) within measurement noise.
Breaking changes
None. Adds optional fields with default-None for v1.9 cache compat. RefitPolicy.propose gains optional ctx kwarg (custom 3-arg policies still work via signature introspection).
Full diff: https://github.com/benzsevern/goldenmatch/compare/v1.9.0...v1.10.0
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]