From 9f2308a6a6ba55c23d28f3b1e850e5f5ed19604b Mon Sep 17 00:00:00 2001 From: 0verwrite <31691645+overwrite00@users.noreply.github.com> Date: Mon, 6 Jul 2026 22:26:18 +0200 Subject: [PATCH 1/2] chore: bump PyMuPDF to 1.28.0 and release version 2.0.6 Upgrade PyMuPDF from 1.27.2.3 to 1.28.0 to benefit from important bugfixes: - Fix for ComboBox choice_values filled with empty strings - Fix for remove_rotation() on widgets with invalid rects - Fix for formulae incorrectly rendered as black boxes - Fix for Annot.set_rotation(0) AttributeError - New archive parameter in Document.__init__() for archive support - New Document.apply_css() method for CSS styling - Windows free-thread Python build support Maintain spacy at 3.8.13 for compatibility with presidio-analyzer 2.2.363 (spacy 3.8.14 is explicitly excluded to prepare for future Python 3.14 support) Updates: - Version bumped to 2.0.6 in NullifyPDF.py - Version references updated in README.md - Release notes added to CHANGELOG.md - All 11 tests pass successfully --- CHANGELOG.md | 18 ++++++++++++++++++ NullifyPDF.py | 2 +- README.md | 8 ++++---- requirements.txt | 4 ++-- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a37cd01..ebf6349 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ e questo progetto aderisce a [Semantic Versioning](https://semver.org/spec/v2.0. ## [Unreleased] +## [2.0.6] - 2026-07-06 + +### ⚡ Ottimizzato (Dependencies) + +- **PyMuPDF 1.28.0**: Aggiornato da 1.27.2.3 per beneficiare dei bugfix importanti: + - Fix per ComboBox con choice_values piene di stringhe vuote + - Fix per `remove_rotation()` su widget con rect non validi + - Fix per formulae PDF renderizzate come scatole nere + - Fix per `Annot.set_rotation(0)` che causava AttributeError + - Nuovo parametro `archive` in `Document.__init__()` per supportare documenti con archivi + - Nuovo metodo `Document.apply_css()` per CSS styling + - Supporto Windows builds con free thread Python +- **spacy 3.8.13**: Mantenuto in 3.8.13 per garantire compatibilità con presidio-analyzer 2.2.363 (spacy 3.8.14 è escluso da presidio-analyzer per preparare compatibilità Python 3.14) + +### 🔧 Internals + +- Aggiunto commento esplicativo nel requirements.txt sul vincolo di spacy per documentare la decisione di mantenerlo in versione 3.8.13 + ## [2.0.5] - 2026-05-26 ### ✨ Migliorato (Code Quality) diff --git a/NullifyPDF.py b/NullifyPDF.py index b4333ad..645b18e 100644 --- a/NullifyPDF.py +++ b/NullifyPDF.py @@ -44,7 +44,7 @@ ) from PySide6.QtCore import Qt, QThread, QObject, Signal, Slot, QRectF, QPointF, QMutex, QMutexLocker -__version__ = "2.0.5" +__version__ = "2.0.6" def setup_logging() -> logging.Logger: diff --git a/README.md b/README.md index 8e4074b..c9780b8 100644 --- a/README.md +++ b/README.md @@ -80,9 +80,9 @@ To keep NullifyPDF lightweight, 100% offline, and secure, be aware of these tech Download the latest pre-compiled executable from [Releases](https://github.com/overwrite00/NullifyPDF/releases): -- **Windows:** `NullifyPDF_v2.0.5_Windows.exe` -- **macOS:** `NullifyPDF_v2.0.5_macOS.app` -- **Linux:** `nullifypdf_2.0.5_amd64.deb` or `.rpm` +- **Windows:** `NullifyPDF_v2.0.6_Windows.exe` +- **macOS:** `NullifyPDF_v2.0.6_macOS.app` +- **Linux:** `nullifypdf_2.0.6_amd64.deb` or `.rpm` No installation needed on Windows/macOS — just run. Linux users: `sudo dpkg -i nullifypdf_*.deb` @@ -172,7 +172,7 @@ python build_local.py - Cleans temporary directories - Auto-detects your OS - Reads version dynamically from code -- Generates named executable: `NullifyPDF_v2.0.5_Windows.exe` +- Generates named executable: `NullifyPDF_v2.0.6_Windows.exe` **Linux bonus:** On Ubuntu/Fedora, automatically builds `.deb` and `.rpm` packages in `dist/` diff --git a/requirements.txt b/requirements.txt index de45dd0..f3892ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,11 +6,11 @@ PySide6==6.11.1 # PDF Processing (use pre-compiled wheel for Python 3.12) -PyMuPDF==1.27.2.3 +PyMuPDF==1.28.0 # NLP & Security Analysis presidio-analyzer==2.2.363 -spacy==3.8.13 # 3.8.14 not available on PyPI, using latest stable 3.8.x +spacy==3.8.13 # Mantenuto in 3.8.13 per compatibilità con presidio-analyzer 2.2.363 # 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 e3a0ebe13a1943d1eb8170096024a58846584dcb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2026 20:30:14 +0000 Subject: [PATCH 2/2] chore(deps)(deps): bump spacy Bumps the minor-and-patch group with 1 update in the / directory: [spacy](https://github.com/explosion/spaCy). Updates `spacy` from 3.8.13 to 3.8.14 - [Release notes](https://github.com/explosion/spaCy/releases) - [Commits](https://github.com/explosion/spaCy/compare/release-v3.8.13...release-v3.8.14) --- updated-dependencies: - dependency-name: spacy dependency-version: 3.8.14 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f3892ee..893b203 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ 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 +spacy==3.8.14 # Mantenuto in 3.8.13 per compatibilità con presidio-analyzer 2.2.363 # 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.