From f2999b8dbbe33d561d50f31ed2af3e4dc37e1b58 Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Tue, 21 Jul 2026 14:29:24 +0100 Subject: [PATCH 1/5] tests/: added test_4943(). --- tests/resources/test_4943.pdf | Bin 0 -> 175700 bytes tests/test_annots.py | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 tests/resources/test_4943.pdf diff --git a/tests/resources/test_4943.pdf b/tests/resources/test_4943.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f142f5245accbf1b73461346cdba9aef4d2c622b GIT binary patch literal 175700 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 literal 0 HcmV?d00001 diff --git a/tests/test_annots.py b/tests/test_annots.py index e19c2efc9..018bc96d9 100644 --- a/tests/test_annots.py +++ b/tests/test_annots.py @@ -753,3 +753,23 @@ def test_5033(): annot.update() annot.set_rotation(0) annot.update() + + +def test_4943(): + if pymupdf.pymupdf_version_tuple == (1, 28, 0) and pymupdf.mupdf_version_tuple == (1, 29, 0): + print(f'test_4943():not running because pymupdf-1.28.0 has ambiguous mupdf version.') + return + path = os.path.normpath(f'{__file__}/../../tests/resources/test_4943.pdf') + with pymupdf.open(path) as document: + page = document[0] + page.add_redact_annot(page.rect) + expect_fail = pymupdf.mupdf_version_tuple <= (1, 28, 0) + print(f'{pymupdf.pymupdf_version_tuple=} {pymupdf.mupdf_version_tuple=} {expect_fail=}.') + try: + page.apply_redactions(images=pymupdf.PDF_REDACT_IMAGE_PIXELS) + except pymupdf.mupdf.FzErrorArgument as e: + print(f'Exception: {e}') + assert expect_fail, f'{pymupdf.mupdf_version_tuple=} {pymupdf.pymupdf_version_tuple=}' + else: + print(f'No exception.') + assert not expect_fail, f'{pymupdf.mupdf_version_tuple=} {pymupdf.pymupdf_version_tuple=}' From ba7b8c0d236a9a69dd2227130ddbb6f45936348c Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Thu, 23 Jul 2026 10:29:52 +0100 Subject: [PATCH 2/5] tests/test_tables.py: avoid pyodide test failure. Doon't run test_find_tables_state_is_call_local_for_threads() on pyodide because it requires threads. --- tests/test_tables.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_tables.py b/tests/test_tables.py index 66ce4c761..9fbeec387 100644 --- a/tests/test_tables.py +++ b/tests/test_tables.py @@ -302,6 +302,9 @@ def test_find_tables_state_is_call_local_for_threads(): if platform.python_implementation() == "GraalVM": print("test_find_tables_state_is_call_local_for_threads(): not running because slow on GraalVM.") return + if os.environ.get('PYODIDE_ROOT'): + print('test_find_tables_state_is_call_local_for_threads(): not running on Pyodide - threads unsupported.') + return pdf_bytes = _make_find_tables_state_doc() expected = _find_tables_use_layout_false_signature(pdf_bytes) From 697dc12719839dad66dc6bac14a1f8cac62c2395 Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Thu, 23 Jul 2026 14:00:22 +0100 Subject: [PATCH 3/5] tests/: added test_4936(). Already passes in 1.28.0 and current. --- tests/resources/test_4936.pdf | Bin 0 -> 2436 bytes tests/test_annots.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 tests/resources/test_4936.pdf diff --git a/tests/resources/test_4936.pdf b/tests/resources/test_4936.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f67cac7cf4c596f7a48ec2f374a95f8e2e897196 GIT binary patch literal 2436 zcmd5;&5zqe6kkMDgz2%pKNUr^-Nc>`dpsjWkv2|KDq685iwcTX$eTE+tHjPa4r~#Z z9=NT<1??YD@ed%CN*vh>Lh1n_+5;yJ9H3V~9N~>)=cC!Gsw$-V^2YCLe)HyiOliB( ztWeW6O2^+E-#1EdBMH+qh+ywFT%V#4sL5QD8U_Ud@!lG0L}-xHs(v$%SPP7i;(#LDbVu46VQHE%Rb|@ia<-TJMCtNk?dxyGu5F zVRJ2r2I)R0f76Acz9yx+W1i zd#&-HKTZaF(4FKu8OKj;m~r?6TY8pN}$mLcg*LuMfT z)XgAe73(UO(0R$O;@}Jum{P)lQ)=4EA@*~glwx#9R(z7%(q6;7*nug9Wy5i=Ct`U5 z@a0&ZxP$J9dH*VUqm8Fu?Ty%xlgMg@L!?%7=%+y==*GRk`ky`M zy$8Q+?vNk({d?s73$L*=XAl1>SIXtXbIG~Gzt5D**B+cr?;IZ;^_zw=zBBF^8~<#+ z{_hD#cV4!m=Mk8Z`O#gvcJ#0B5&M;&P8;98U43)X_D+4i{c88E&EN0-@c3@{=<=hZ z!(Sht|BXKU4}+y4evkxxgMe$0`G=F$;STg+&ci{P zNpUI`JRJ4wJa Date: Thu, 23 Jul 2026 16:24:17 +0100 Subject: [PATCH 4/5] src/table.py:find_tables(): don't add tables with no cells. This fixes #5030, tested by pymupdf4llm's test_pymupdf_5030(). --- src/table.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/table.py b/src/table.py index 68a771966..7b8e2c19c 100644 --- a/src/table.py +++ b/src/table.py @@ -2983,7 +2983,8 @@ def find_tables( tp2 = page.get_textpage(flags=TABLE_DETECTOR_FLAGS) for rect in my_boxes: cells = make_table_from_bbox(tp2, word_rects, rect) # pylint: disable=E0606 - tbf.tables.append(Table(page, cells)) + if cells: + tbf.tables.append(Table(page, cells)) if refine: # Grid refinement + reconstruction. Runs while the page is still # derotated (before the finally block resets rotation) so word and From 7315b0da199b0cd0b0bd61348291c6c6d86857fd Mon Sep 17 00:00:00 2001 From: Julian Smith Date: Thu, 23 Jul 2026 11:12:32 +0100 Subject: [PATCH 5/5] changes.txt: various updates. --- changes.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/changes.txt b/changes.txt index 3ec8841a8..996c43f10 100644 --- a/changes.txt +++ b/changes.txt @@ -2,6 +2,26 @@ Change Log ========== +Fixed issues: + +* **Fixed** `4670 `_: scrub fails to remove hidden text after clean_contents stopped including line breaks (\u2265 1.24.0) +* **Fixed** `4943 `_: enh: applying redactions with image cropping for currently unsupported colorspaces +* **Fixed** `5030 `_: find_tables() with layout enabled can return a zero-cell Table, and Table.bbox then raises "ValueError: min() iterable argument is empty" +* **Fixed** `5044 `_: Outline (TOC) parsing bug +* **Fixed** `5049 `_: font subsetting segfaults in 1.28.0, regression from 1.27.2.2 #5049 +* **Fixed** `5042 `_: Page.get_texttrace() leaks None references \u2014 Fatal Python error (none_dealloc) in long-running processes (1.27.2.3 & 1.28.0) + + +Other: + +* Output warning when legacy `fitz` module is imported. +* Cope better with markdown containing illegal utf8 sequences. +* Fixed building with PYMUPDF_SETUP_MUPDF_VS_UPGRADE. +* pymupdf.Page.find_tables(): + * new args `use_layout: bool = True` `union: bool = False` `refine: bool = False`. + * Improved speed. + + **Changes in version 1.28.0** (2026-06-29) Fixed issues: @@ -21,6 +41,7 @@ Other: * Support Windows builds with free thread python. * pymupdf.Document.save() now saves non-PDF documents in PDF format. * New method pymupdf.Document.apply_css(). +* Pyodide wheel is available on pypi.org. **Changes in version 1.27.2.3** (2026-04-24)