This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryAdded N-level probabilistic comparison fields, native Rust scoring, and Splink configuration conversion.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds N-level probabilistic comparison fields (`level_thresholds`). Adds N-level probabilistic comparison fields (`level_thresholds`). Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Medium |
Adds native N-level scoring via `goldenmatch-native` 0.1.14 Rust kernel. Adds native N-level scoring via `goldenmatch-native` 0.1.14 Rust kernel. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Medium |
Adds `from_splink()` config converter from Splink JSON to GoldenMatch YAML. Adds `from_splink()` config converter from Splink JSON to GoldenMatch YAML. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Medium |
Adds Splink-conversion parity gate script `run_converted_splink.py`. Adds Splink-conversion parity gate script `run_converted_splink.py`. Source: llm_adapter@2026-07-14 Confidence: high |
— |
Full changelog
Added
- N-level probabilistic comparison fields (
level_thresholds): probabilistic
matchkey fields accept explicit per-level similarity cutoffs (descending,
len == levels - 1; a pair's level = the count of thresholds its similarity
satisfies), generalizing the fixed 2/3-level agree/partial/disagree banding.
Scalar and vectorized scoring paths both honor them; the fused-match path
declineslevel_thresholdsmatchkeys and falls back. - Native N-level scoring (
goldenmatch-native0.1.14): the native Rust FS
kernel scores customlevel_thresholdsbanding natively — byte-identical to
the pure-Python_levels_from_similaritysemantics — via an optional
per-fieldlevel_thresholdskwarg onscore_block_pairs_fs. Capability is
detected through the kernel'sFS_SUPPORTS_LEVEL_THRESHOLDSconst, so older
wheels keep the automatic pure-Python fallback (no behavior change). - Splink config converter:
from_splink()(top-level export) converts a
Splink settings or trained-model JSON (dict or path) into a validated
GoldenMatch config plus aConversionReportof lossy findings; trained m/u
probabilities import as anEMResultso no re-training is needed.
strict=Trueraises on any lossy finding. Surfaced as the
goldenmatch import-splink SETTINGS.json -o CONFIG.yaml [--model-out MODEL.json]
CLI command and theconvert_splink_configMCP tool (78 tools total). - Splink-conversion parity gate (
scripts/bench_er_headtohead/run_converted_splink.py):
a converted config must land within F1 0.05 of native Splink on the shared
evaluator; measured splink_f1=0.9964 vs converted_gm_f1=0.9761
(delta 0.0203) on synthetic_person (5K).
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]