Skip to content

GoldenMatch

v2.2.0 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

Published 1mo Data Pipelines & ETL
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
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 summary

Removed a ReDoS vulnerability in the initialism parenthetical regex.

Full changelog

Added

  • Semantic blocking: an opt-in recall lever for abbreviations and aliases (#1065).
    New SemanticBlockingConfig plus a dedupe_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).
    New core/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

Track GoldenMatch

Get notified when new releases ship.

Sign up free

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]