|
1 | 1 | # ChangeLog |
2 | 2 |
|
3 | | -## [Unreleased] |
| 3 | +## [2026-07-02] |
4 | 4 |
|
5 | 5 | ### `datafog-python` [4.5.0] |
6 | 6 |
|
| 7 | +#### Behavior Changes Since 4.4.0 |
| 8 | + |
| 9 | +- Agent guardrail helpers (`sanitize`, `scan_prompt`, `filter_output`, |
| 10 | + `create_guardrail`, and the `Guardrail` class) now default to |
| 11 | + `engine="regex"` instead of `engine="smart"`, matching the top-level |
| 12 | + `scan`/`redact`/`protect` defaults. This keeps the core install from |
| 13 | + probing optional NLP dependencies, but means NER-backed entities |
| 14 | + (PERSON, ORGANIZATION, LOCATION) are no longer detected by these |
| 15 | + helpers unless requested. **Migration:** pass `engine="smart"` to |
| 16 | + restore the 4.4.0 behavior (requires `datafog[nlp]` or |
| 17 | + `datafog[nlp-advanced]`). |
| 18 | +- `DataFog.detect()` / `DataFog.scan_text()` result dictionaries now |
| 19 | + contain keys only for the labels active under the configured locales: |
| 20 | + the seven base labels by default, plus the `DE_*` labels when |
| 21 | + constructed with `locales=["de"]`. |
| 22 | +- Supported Python versions are `>=3.10,<3.14`. Python 3.14 is not yet |
| 23 | + certified and is intentionally excluded from this release. |
| 24 | + |
7 | 25 | #### Release Thesis |
8 | 26 |
|
9 | 27 | - Frames 4.5.0 as a focused, lightweight text PII screening release rather |
|
25 | 43 |
|
26 | 44 | - Adds regex-only German structured PII support without adding core |
27 | 45 | dependencies. |
28 | | -- Detects German VAT IDs and German IBANs by default because their country-code |
29 | | - structure is precise enough for default screening. |
30 | | -- Enables broader German identifiers only through `locales=["de"]` or explicit |
31 | | - entity selection, including German tax IDs, pension insurance numbers, |
32 | | - postal codes, passport numbers, and residence permit numbers. |
| 46 | +- All German identifiers are locale-gated: they activate only through |
| 47 | + `locales=["de"]` or explicit entity selection. This covers German VAT |
| 48 | + IDs, IBANs, tax IDs, pension insurance numbers, postal codes, passport |
| 49 | + numbers, and residence permit numbers. Default (no-locale) detection |
| 50 | + behavior is unchanged from 4.4.0. |
| 51 | +- When German locale support is active, overlapping matches (e.g. the |
| 52 | + nine-digit run inside a VAT ID also matching the generic SSN pattern) |
| 53 | + are resolved by engine-level span-overlap suppression in favor of the |
| 54 | + more specific German label. |
33 | 55 |
|
34 | 56 | #### Optional Profiles And Python 3.13 |
35 | 57 |
|
|
61 | 83 | - Adds a 4.5 release-readiness checklist covering docs build, formatting, |
62 | 84 | core no-network checks, install-profile smoke checks, German regex tests, |
63 | 85 | broad non-slow tests, package build checks, and final CI status. |
64 | | -- Clarifies the version alignment path: the development package remains |
65 | | - `4.4.0a5` until stable release promotion, and the final stable release should |
66 | | - publish as `4.5.0`. |
| 86 | +- Clarifies the version alignment path: development prereleases publish as |
| 87 | + `4.5.0aN`/`4.5.0bN` from `dev`, and the stable release publishes as |
| 88 | + `4.5.0` via the Release workflow's `stable` dispatch from `main`. |
67 | 89 |
|
68 | 90 | ## [2026-02-13] |
69 | 91 |
|
|
0 commit comments