This release includes 1 security fix for security teams reviewing exposed deployments.
Published 1mo
Data Pipelines & ETL
✓ No known CVEs patched
This release patches 1 known CVE
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 summaryRemoved a ReDoS vulnerability in the initialism parenthetical regex.
Full changelog
Added
- Semantic blocking: an opt-in recall lever for abbreviations and aliases (#1065).
NewSemanticBlockingConfigplus adedupe_df(semantic_blocking=...)flag union
extra candidate sources into the pipeline: an initialism/abbreviation blocking
transform, a business-alias canonical-form table, and an embedding ANN pass with a
numpy all-pairs fallback (faiss optional,get_embedder("inhouse")works zero-config).
Off by default. On the abbreviation-heavy benchmark it adds +5.3pp recall at zero
precision cost. config_weaknesses: a deterministic config-critique tool (#1064).
Newcore/config_critique.py::diagnose_config(df, config, result)is a pure, offline
generator that explains in plain English where an auto-built matching config is risky:
a source/provenance column admitted as a matching signal, a per-row identifier admitted
as a key, oversized shared-value blocks, null-sink and low-signal matchkeys, and
over-merge mega-clusters. Each finding maps to one concrete fix (exclude_column, tighten
blocking, demote, raise_threshold) and findings are ranked high-to-low. No engine run
required;phrasing="plain"(default) and"technical"are both deterministic.
Security
- Removed a ReDoS in the initialism parenthetical regex (#1067).
A leading\s*in the acronym parser backtracked polynomially on long whitespace runs
not followed by((CodeQL py/polynomial-redos, high severity, introduced with the
semantic-blocking work in #1065). The fix drops the\s*; the subsequent.split()
normalizes any leftover whitespace, so it is behavior-identical and linear.
Security Fixes
- CVE-2024-XXXXX – Removed ReDoS in initialism parenthetical regex by dropping leading \s* and normalizing whitespace with split()
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]