Skip to content

GoldenMatch

v1.17.1 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 2mo Data Pipelines & ETL
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

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

Fixed throughput ceiling, achieving ~10‑100× faster bulk writes to gm_match_log.

Full changelog

goldenmatch 1.17.1 -- 2026-05-22

Patch release for the throughput fix landed in PR #426.

Fix

User reported post-#423 ceiling at ~125 rows/sec writing to
gm_match_log. Root cause: psycopg3 executemany is NOT pipelined
without an explicit with conn.pipeline(): context, so each batch
incurred N round-trips at ~7ms RTT to managed Postgres.

Three changes:

  • cursor.copy() on psycopg3 in log_matches_batch. ~10-100x
    faster on bulk loads. Falls back to executemany for non-psycopg3
    cursors (SQLite / DuckDB test paths).
  • Buffer pairs across blocks before flushing. Default
    GOLDENMATCH_MATCH_LOG_FLUSH_PAIRS=10000. Set to 1 for per-block
    flushing (preserves historical incremental-progress behavior).
  • GOLDENMATCH_SKIP_MATCH_LOG=1 opt-out for nightly-cron
    pipelines that only consume gm_clusters / gm_golden_records.

Expected impact

User's ~3M-pair workload: previously ~5 hours of writes -> projected
< 5 min.

Full CHANGELOG: https://github.com/benseverndev-oss/goldenmatch/blob/v1.17.1/packages/python/goldenmatch/CHANGELOG.md

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]