Skip to content

GoldenMatch

vgoldencheck-v3.0.0 scope: goldencheck Breaking

This release includes 4 breaking changes for platform teams planning a safe upgrade.

Published 15d 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

ReleasePort's take

Light signal
editorial:auto 14d

The `scan_file`, `scan_dataframe`, and CLI `check` commands now operate using Arrow‑native pyarrow.Table without Polars, reflecting a shift in runtime dependencies.

Why it matters: All scanning APIs and the check command no longer depend on Polars; operators must ensure pyarrow is installed for continued functionality.

Summary

AI summary

Updates Breaking, Install, and pl.DataFrame across a mixed release.

Changes in this release

Breaking High

`scan_file`, `scan_dataframe`, and CLI `check` now run without Polars, using Arrow-native pyarrow.Table.

`scan_file`, `scan_dataframe`, and CLI `check` now run without Polars, using Arrow-native pyarrow.Table.

Source: llm_adapter@2026-07-12

Confidence: high

Breaking Medium

'inferred_type' now emits a neutral dtype vocabulary instead of raw Polars dtype strings.

'inferred_type' now emits a neutral dtype vocabulary instead of raw Polars dtype strings.

Source: llm_adapter@2026-07-12

Confidence: low

Breaking Low

`inferred_type` emits neutral dtype vocabulary (str/int/uint/float/date/datetime/bool/other) instead of raw Polars dtypes.

`inferred_type` emits neutral dtype vocabulary (str/int/uint/float/date/datetime/bool/other) instead of raw Polars dtypes.

Source: granite4.1:30b@2026-07-13-audit

Confidence: low

Feature Low

Optional install extras `[native]`, `[baseline]`, and `[polars]` provide compiled kernel accelerator, scipy+Polars stats, and Polars convenience overload respectively.

Optional install extras `[native]`, `[baseline]`, and `[polars]` provide compiled kernel accelerator, scipy+Polars stats, and Polars convenience overload respectively.

Source: llm_adapter@2026-07-12

Confidence: high

Dependency Medium

'pyarrow' is now a base dependency; 'polars' moved to optional extras.

'pyarrow' is now a base dependency; 'polars' moved to optional extras.

Source: llm_adapter@2026-07-12

Confidence: high

Bugfix Medium

Sampling is now an owned deterministic sample, stable across runs and workers.

Sampling is now an owned deterministic sample, stable across runs and workers.

Source: llm_adapter@2026-07-12

Confidence: high

Full changelog

The Flip: the default scan path is now Arrow-native and Polars-free.

Breaking

  • scan_file / scan_dataframe / the CLI check run WITHOUT Polars. The scan frame is a pyarrow.Table; profiling routes through the fused Rust/Arrow kernels (with a pyarrow.compute fallback when the native kernel is absent).
  • pyarrow is now a BASE dependency. polars is NOT: it moved to the [baseline] extra (the opt-in scipy stat/drift/correlation subsystems still use it) and the [polars] extra (the scan_dataframe(pl.DataFrame) convenience overload).
  • inferred_type now emits a neutral dtype vocabulary (str/int/uint/float/date/datetime/bool/other) instead of raw Polars dtype strings.
  • Sampling is now an owned deterministic sample (was the Polars-PRNG sample(seed=42)), stable across runs and workers.

Contract

Non-stat findings are byte-identical to the 2.x Polars path (verified by a finding-set differential: strict Jaccard 1.000 across a 9-dataset corpus, 0 kernel-bug divergences). The only intended differences are the neutral dtype strings and the owned sample.

Install

  • pip install goldencheck -- Arrow-native scanning, no Polars.
  • pip install goldencheck[native] -- adds the compiled kernel accelerator.
  • pip install goldencheck[baseline] -- adds the scipy + Polars stat/drift/correlation features.

See packages/python/goldencheck/CHANGELOG.md for details.

Breaking Changes

  • `scan_file`, `scan_dataframe`, and CLI `check` now operate without Polars, using a pyarrow.Table scan frame and fused Rust/Arrow kernels (fallback to pyarrow.compute when native kernel absent).
  • `pyarrow` is promoted from an optional to a BASE dependency; `polars` is removed from the base install and moved to the `[baseline]` extra for scipy stat/drift/correlation features and the `[polars]` extra for `scan_dataframe(pl.DataFrame)` convenience overload.
  • `inferred_type` output changes from raw Polars dtype strings to a neutral vocabulary (str/int/uint/float/date/datetime/bool/other).
  • Sampling is now an owned deterministic sample, replacing the previous Polars‑PRNG `sample(seed=42)` implementation.

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.
  • v3.0.0 Result frames now return pyarrow.Table instead of Polars DataFrame.
  • vgoldencheck-v2.0.0 Polars moved from base dependency to optional `[polars]` extra.
  • v2.0.0 Removes internal `_scale_aware_backend` backend selector.
  • v2.0.0 Removes `RunHistory.cheapest_healthy()` method.

Beta — feedback welcome: [email protected]