This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+14 more
Affected surfaces
ReleasePort's take
Light signalPolars is now an optional extra; CSV reading will raise ImportError if the Polars extra isn’t installed.
Why it matters: If your project reads CSVs with goldencheck‑v2.0.0, ensure pip installs the `[polars]` extra to avoid ImportError; failure triggers at runtime when parsing CSV data.
Summary
AI summaryUpdates Requires `pip install goldencheck[polars, Polars-free, and BREAKING across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
Polars moved from base dependency to optional `[polars]` extra. Polars moved from base dependency to optional `[polars]` extra. Source: llm_adapter@2026-07-15 Confidence: high |
— |
| Feature | Medium |
Polars‑free scan substrate adds native regex and date kernels for `scan_columns`. Polars‑free scan substrate adds native regex and date kernels for `scan_columns`. Source: llm_adapter@2026-07-15 Confidence: low |
— |
| Dependency | Medium |
Parquet reading now uses optional `[parquet]` extra (pyarrow). Parquet reading now uses optional `[parquet]` extra (pyarrow). Source: llm_adapter@2026-07-15 Confidence: low |
— |
| Bugfix | Medium |
CSV reading now requires Polars extra; ImportError guides installation. CSV reading now requires Polars extra; ImportError guides installation. Source: llm_adapter@2026-07-15 Confidence: low |
— |
| Bugfix | Medium |
Raises a clear ImportError naming `goldencheck[polars]` when a Polars-required operation runs without it. Raises a clear ImportError naming `goldencheck[polars]` when a Polars-required operation runs without it. Source: granite4.1:30b@2026-07-15-audit Confidence: low |
— |
Full changelog
goldencheck 2.0.0 (BREAKING): Polars is now optional
polars moved from a base dependency to the [polars] optional extra. pip install goldencheck no longer pulls Polars (~185 MB).
Polars-free (base install)
import goldencheck,scan_columns(dict)- Parquet + Excel reading via
read_columns(path)/scan_file_columns(path)(pyarrow via the new[parquet]extra; openpyxl already base)
Requires pip install goldencheck[polars]
- CSV reading (Polars' CSV dtype inference is not reproducible without it)
- The full scan:
scan_dataframe/scan_file(Polars-native)
A clear ImportError naming goldencheck[polars] is raised if a Polars-required operation runs without it.
Migration
Users who scan CSVs or use scan_file / scan_dataframe must add the extra: pip install goldencheck[polars]. With [polars] installed, behaviour is byte-identical to 1.4.1.
Completes the goldencheck Polars-eviction: a byte-identical polars-free scan substrate (scan_columns + native regex/date kernels), polars-free Parquet/Excel readers, and this deps-flip.
Breaking Changes
- Polars moved from base dependency to the `[polars]` optional extra; `pip install goldencheck` no longer installs Polars (~185 MB).
- `scan_dataframe`, `scan_file`, and CSV reading now require installing `goldencheck[polars]`.
- ImportError with message naming `goldencheck[polars]` is raised when a Polars‑required operation runs without the extra.
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]