From 735f7f43e5d1530994dca2d01b630794eaaff7a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 13:02:30 +0200 Subject: [PATCH 1/3] chore(deps)(deps): bump the minor-and-patch group with 2 updates (#93) Verified in isolated Python 3.13 environment: presidio-analyzer 2.2.364 now uses a conditional constraint (spacy!=3.8.14 only for python_version>=3.14), so spacy 3.8.14 installs cleanly on our Python 3.13 target. 27/27 tests pass, mypy unchanged (18 pre-existing errors), full app load OK. --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index dea32c1..8fafbaf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,8 +9,8 @@ PySide6==6.11.1 PyMuPDF==1.28.0 # NLP & Security Analysis -presidio-analyzer==2.2.363 -spacy==3.8.13 # Mantenuto in 3.8.13 per compatibilità con presidio-analyzer 2.2.363 +presidio-analyzer==2.2.364 +spacy==3.8.14 # Mantenuto in 3.8.13 per compatibilità con presidio-analyzer 2.2.363 cryptography==45.0.7 # spaCy language models (pinned to exact versions for reproducibility) # IMPORTANT: model minor version MUST match the spaCy core minor version From 57344b2ae3b61fc5a0a9c4ab17c9e16f9789d778 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 13:05:19 +0200 Subject: [PATCH 2/3] chore(deps)(deps): bump cryptography from 45.0.7 to 49.0.0 (#94) Verified in isolated environment combined with the presidio-analyzer/spacy bump (PR #93): cryptography 49.0.0 installs cleanly and all 27/27 tests pass, including the Fernet encrypt/decrypt round-trip used by privacy_core.py's restore-map feature. The macOS x86_64 wheel removal in 49.0.0 has no practical impact since CI already builds only on macos-latest (arm64). --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8fafbaf..76276df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,8 +10,8 @@ PyMuPDF==1.28.0 # NLP & Security Analysis presidio-analyzer==2.2.364 -spacy==3.8.14 # Mantenuto in 3.8.13 per compatibilità con presidio-analyzer 2.2.363 -cryptography==45.0.7 +spacy==3.8.14 # presidio-analyzer 2.2.364 excludes spacy==3.8.14 only for python_version>=3.14; safe on our Python 3.13 target +cryptography==49.0.0 # spaCy language models (pinned to exact versions for reproducibility) # IMPORTANT: model minor version MUST match the spaCy core minor version # (spaCy 3.8.x <-> models 3.8.x). The models declare spacy>=3.8.0,<3.9.0. From 6ccdda9fd0dab432b22bf47e0d7bb93f17cec8cc Mon Sep 17 00:00:00 2001 From: 0verwrite <31691645+overwrite00@users.noreply.github.com> Date: Wed, 29 Jul 2026 13:09:12 +0200 Subject: [PATCH 3/3] docs: consolidate 2.1.0-beta.2 changelog entry under Unreleased Only stable releases should have their own CHANGELOG heading, to keep develop and main from diverging on transient beta entries. Also document the presidio-analyzer/spacy/cryptography bumps merged today (#93, #94) and refresh the dependency version table in DEVELOPMENT.md. --- CHANGELOG.md | 6 +++--- DEVELOPMENT.md | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6506e8b..2608435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [2.1.0-beta.2] - 2026-07-23 - -First public beta of the 2.1.0 line, focused on advanced privacy export, full OCR support for scanned PDFs, and new Lite/Full release variants. +Work in progress toward the 2.1.0 line, focused on advanced privacy export, full OCR support for scanned PDFs, and new Lite/Full release variants. Beta iterations are validated via prerelease tags but are not listed individually here; only the final stable release will get its own heading below. ### ✨ Added @@ -25,12 +23,14 @@ First public beta of the 2.1.0 line, focused on advanced privacy export, full OC - **Separated Re-identification Data**: Restore maps are never embedded into exported PDFs and are encrypted with Fernet using a PBKDF2-HMAC-SHA256 derived key. - **Safer Export Metadata Handling**: Privacy export now clears document metadata and removes common residual structures such as widgets and overlapping links in redacted areas. - **Safer UI Logging**: Log messages shown in the UI are HTML-escaped before rendering. +- **cryptography 49.0.0**: Updated from 45.0.7, resolving 4 known advisories (2 high, 1 medium, 1 low) including a vulnerable bundled OpenSSL and a missing subgroup validation for SECT curves. ### 🔧 Internals - **Expanded Test Coverage**: Added dedicated tests for privacy primitives, build variant behavior, OCR helper resolution, and prerelease version handling. - **Documentation Refresh**: Updated README, ARCHITECTURE, USER_GUIDE, SECURITY, TROUBLESHOOTING, CONTRIBUTING, DEVELOPMENT, and added `OCR_SETUP.md` for the new privacy and OCR workflows. - **Release Automation Updates**: GitHub workflows now build Lite/Full variants across supported operating systems and support the beta-to-stable promotion flow. +- **presidio-analyzer 2.2.364 / spacy 3.8.14**: presidio-analyzer now only excludes spacy 3.8.14 on Python >= 3.14, so spacy 3.8.14 (model-download bugfix) can be used on our Python 3.13 target. ## [2.0.7] - 2026-07-21 diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 07a53ec..f3271e6 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -135,9 +135,9 @@ NullifyPDF/ | --------------------- | ------- | ---------------------------- | | **PySide6** | 6.11.1 | GUI framework (Qt6 bindings) | | **PyMuPDF** | 1.28.0 | PDF manipulation and OCR bridge | -| **presidio-analyzer** | 2.2.363 | PII detection | -| **spaCy** | 3.8.13 | NLP for entity recognition | -| **cryptography** | 45.0.7 | Encrypted restore maps | +| **presidio-analyzer** | 2.2.364 | PII detection | +| **spaCy** | 3.8.14 | NLP for entity recognition | +| **cryptography** | 49.0.0 | Encrypted restore maps | | **pytest** | 9.1.1 | Testing framework | ### Language Models (Auto-Downloaded) @@ -560,5 +560,5 @@ Ready to contribute? See [CONTRIBUTING.md](./CONTRIBUTING.md) for: --- -*Last updated: 2026-07-23* +*Last updated: 2026-07-29* *← [Troubleshooting](./TROUBLESHOOTING.md) | [Back to README →](./README.md)*