2.2.364

msitarzewski/agency-agents2.2.364Jul 22, 2026by github-actions[bot]

AI Summary

This release focuses on stability improvements, dependency updates, and bug fixes for various PII recognizers across different countries. It also introduces Python 3.14 compatibility and a new batch deanonymization feature.

Key Highlights

  • Python 3.14 compatibility added to all packages
  • Batch deanonymization support introduced
  • Fixes for UK_NINO regex and various country-specific ID regexes
  • CI migration from Poetry to uv build tool

New Features

  • Batch deanonymization support
  • Philippine UMID (PH_UMID) recognizer
  • No-op NLP engine
  • Recognizer-level threshold config

Full Release Notes

## What's Changed
* Fix CI and release container publishing by @SharonHart in https://github.com/data-privacy-stack/presidio/pull/2127
* docs: show compact mascot on mobile homepage by @SharonHart in https://github.com/data-privacy-stack/presidio/pull/2130
* Run documentation release on ubuntu-latest by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2131
* Resolving docs build issues on main by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2132
* chore: replace presidio@microsoft.com with presidio@dataprivacystack.org in PyPI metadata by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2128
* Fix UK_NINO regex matching a numeric suffix character by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2112
* Update license copyright to Presidio Contributors by @cobypeled in https://github.com/data-privacy-stack/presidio/pull/2134
* docs: fix typo in IP_ADDRESS detection method description by @Coshea46 in https://github.com/data-privacy-stack/presidio/pull/2133
* feat(cli): add threshold flag override by @rodboev in https://github.com/data-privacy-stack/presidio/pull/2114
* Fix IN vehicle registration under-scoring zero-padded district codes by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2110
* Fix FI HETU regex accepting illegal century separators by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2108
* Fix TH TNIN regex rejecting valid province codes 22, 52 and 58 by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2107
* Fix NG NIN rejecting valid numbers with a leading zero by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2106
* Fix AU ABN accepting some invalid leading-zero numbers by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2109
* fix(es): upper-case NIF/NIE before mod-23 checksum so valid lowercase IDs are detected by @AUTHENSOR in https://github.com/data-privacy-stack/presidio/pull/2076
* Fix NLP engine initialization in GLiNER sample by @matteobachini-vianova in https://github.com/data-privacy-stack/presidio/pull/2135
* Fix DE_FUEHRERSCHEIN docstring example that contradicts the pattern by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2138
* Fix ISO 8601 date pattern accepting impossible month/day values by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2113
* fix(anonymizer): bump cryptography to >=48.0.1,<49.0.0 to resolve GHSA-537c-gmf6-5ccf by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2144
* Fix EsNieRecognizer.validate_result raising instead of returning False by @MohamedAklamaash in https://github.com/data-privacy-stack/presidio/pull/2146
* build: migrate CI and service images from Poetry to uv by @RonShakutai in https://github.com/data-privacy-stack/presidio/pull/2152
* fix(analyzer): honour language_model_params in BasicLangExtractRecogn… by @RonShakutai in https://github.com/data-privacy-stack/presidio/pull/2150
* [Chore] Add healthcheck and restart policy to docker-compose.yml by @hiro-nikaitou in https://github.com/data-privacy-stack/presidio/pull/2149
* feat: add Python 3.14 compatibility to all remaining Presidio packages by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2147
* Fix FI HETU accepting 29 Feb of a non-leap century by @jichaowang02-lang in https://github.com/data-privacy-stack/presidio/pull/2111
* fix(analyzer): normalize case before fi hetu and sg uen checksums by @uwezkhan in https://github.com/data-privacy-stack/presidio/pull/2141
* fix(analyzer): stop UsSsnRecognizer from over-blocking 987-65-432X SSNs by @AUTHENSOR in https://github.com/data-privacy-stack/presidio/pull/2074
* fix(analyzer): honour config_path for LangExtract recognizers in YAML registry by @RonShakutai in https://github.com/data-privacy-stack/presidio/pull/2157
* feat(anonymizer): add batch deanonymization support by @rodboev in https://github.com/data-privacy-stack/presidio/pull/2115
* feat: add Philippine UMID (PH_UMID) recognizer by @Surya-5555 in https://github.com/data-privacy-stack/presidio/pull/2045
* feat(analyzer): add recognizer-level threshold config by @rodboev in https://github.com/data-privacy-stack/presidio/pull/2116
* feat: add no-op NLP engine by @ultramancode in https://github.com/data-privacy-stack/presidio/pull/2071
* docs: quote pip extras install examples by @nyxst4ck in https://github.com/data-privacy-stack/presidio/pull/2093
* Stabilize CI disk usage and run Ollama E2E on arm64 by @SharonHart in https://github.com/data-privacy-stack/presidio/pull/2167
* fix(analyzer): use valid region code GB instead of UK in PhoneRecognizer by @developer0hye in https://github.com/data-privacy-stack/presidio/pull/2174
* Release 2.2.364 / 0.0.60 by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2183
* Bump `presidio-anonymizer` floor in `presidio-structured` by @SharonHart with @Copilot in https://github.com/data-privacy-stack/presidio/pull/2184

## New Contributors
* @cobypeled made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2134
* @Coshea46 made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2133
* @rodboev made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2114
* @matteobachini-vianova made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2135
* @MohamedAklamaash made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2146
* @hiro-nikaitou made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2149
* @nyxst4ck made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2093
* @developer0hye made their first contribution in https://github.com/data-privacy-stack/presidio/pull/2174

**Full Changelog**: https://github.com/data-privacy-stack/presidio/compare/2.2.363...2.2.364