This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryTyped accessor API added to MatchkeyConfig and MatchkeyField.
Full changelog
goldenmatch v1.13.0
Release plumbing wave. No algorithm changes - DQbench / Febrl3 / NCVR / DBLP-ACM numbers unchanged from v1.12.0.
Added
- Typed accessor API on
MatchkeyConfig/MatchkeyField(PR #151). New properties:MatchkeyConfig.fuzzy_threshold,MatchkeyField.fuzzy_scorer,MatchkeyField.fuzzy_weight,MatchkeyField.resolved_field. Each raisesValueErrorwhen the matchkey is not a fuzzy/weighted type, so the invariant is now enforceable in pyright strict.
from goldenmatch.config.schemas import MatchkeyConfig, MatchkeyField
mk = MatchkeyConfig(
name="identity",
type="weighted",
threshold=0.85,
fields=[MatchkeyField(field="name", transforms=["lowercase"], scorer="jaro_winkler", weight=1.0)],
)
assert mk.fuzzy_threshold == 0.85 # safe on weighted matchkey
# mk.fuzzy_threshold on an exact matchkey raises ValueError
docs/scale-envelope.md(PR #149): Polars / DuckDB / Ray operating ranges plus block-size failure modes.- Postgres CI lane (PR #144): flipped from skipped to live.
Changed
- PyPI metadata corrected (PR #148):
[project.urls]Homepage / Repository / Documentation now point at the monorepo. This release is what makes the refresh land on PyPI.
Fixed
- Reproducibility of all four published benchmark numbers (PR #152, replaces #150): DQbench composite 91.04, DBLP-ACM 0.9641, Febrl3 0.9443, NCVR 0.9719 all reproduce from a fresh clone. See
docs/reproducing-benchmarks.md.
Internal (contributors only)
- Ruff lint expanded to F / I / B-narrowed / UP rule sets across
packages/python/(PR #146). - Pyright strict on the 21-file core slice of
goldenmatch(PR #147). Typed accessors in PR #151 eliminated 7 type-suppression workarounds.
Benchmarks (zero-config, no LLM)
Unchanged vs v1.12.0 - algorithm not touched this wave.
| Dataset | v1.12.0 | v1.13.0 | Delta |
|---|---|---|---|
| DBLP-ACM | 0.9641 | 0.9641 | +0.0000 |
| Febrl3 | 0.9443 | 0.9443 | +0.0000 |
| NCVR | 0.9719 | 0.9719 | +0.0000 |
| DQbench composite | 91.04 | 91.04 | +0.00 |
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]