This release includes 2 breaking changes for platform teams planning a safe upgrade.
Published 25d
Data Pipelines & ETL
✓ No known CVEs patched
✓ 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
Affected surfaces
auth
rbac
Summary
AI summaryPPRL becomes opt‑in for sensitive data, requiring allow_pprl=True to enable.
Full changelog
Fixed
- PPRL is now opt-in instead of the default for sensitive data (#1342, #1344).
select_strategy()auto-routed any dataset with sensitive fields (PII/health) to privacy-preserving record linkage, returning emptystrong_ids/fuzzy_fieldseven for a user deduping their own list. PPRL now fires only when the caller opts in viaallow_pprl=True; sensitive data otherwise gets a normal weighted/fuzzy strategy, withStrategyDecision.pprl_available=Trueflagging that PPRL can be opted into.allow_pprlis threaded throughAgentSession.analyze/deduplicate/match_sources/compare_strategies,a2a.dispatch_skill, and the A2A_handle_send_taskHTTP handler (readsallow_pprlfrom the request body). MCP tool args (mcp/agent_tools.py) are a tracked follow-up. Non-sensitive-data behavior is unchanged.
Changed
StrategyDecisiongains apprl_available: boolfield.
Breaking Changes
- PPRL is now disabled by default for datasets containing sensitive fields (PII/health); it only runs when `allow_pprl=True` is explicitly supplied in the API calls (`analyze`, `deduplicate`, `match_sources`, `compare_strategies`, `a2a.dispatch_skill`, and `_handle_send_task`).
- The default behavior of `select_strategy()` for sensitive data changed from automatically routing to privacy‑preserving record linkage (returning empty `strong_ids`/`fuzzy_fields`) to using the normal weighted/fuzzy strategy unless `allow_pprl=True` is provided.
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]