Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ Change Log
Fixed issues:

* **Fixed** `4994 <https://github.com/pymupdf/PyMuPDF/issues/4994>`_: Dehyphenate does no longer work since 1.27.1
* **Fixed** `5054 <https://github.com/pymupdf/PyMuPDF/issues/5054>`_: clean_contents(sanitize=True) drops glyph positioning, duplicating an overprinted leading glyph (regression in 1.28.0 from 1.27.2.3)
* **Fixed** `5059 <https://github.com/pymupdf/PyMuPDF/issues/5059>`_: Annotations disappear or move when using Page.remove_rotation() for 90 or 270 rotated pages
* **Fixed** `5067 <https://github.com/pymupdf/PyMuPDF/issues/5067>`_: Memory leak in extractBLOCKS (_as_blocks): text object reference never released
* **Fixed** `5077 <https://github.com/pymupdf/PyMuPDF/issues/5077>`_: Page.remove_rotation() takes minutes on pages with thousands of links
* **Fixed** `5082 <https://github.com/pymupdf/PyMuPDF/issues/5082>`_: Regression in 1.28.x: get_pixmap() and get_text() hang at 100% CPU on a specific PDF; works in 1.27.2.3
* **Fixed** `5100 <https://github.com/pymupdf/PyMuPDF/issues/5100>`_: Import of fitz prints to console instead of generating a DeprecationWarning
* **Fixed** `5101 <https://github.com/pymupdf/PyMuPDF/issues/5101>`_: Cyclic Widget /Parent makes page operations fail with FzErrorFormat: code=7: cycle in resources
* **Fixed** `5112 <https://github.com/pymupdf/PyMuPDF/issues/5112>`_: Stack-based buffer overflow in JM_set_annot_callout_line

Other:
Expand Down
2 changes: 1 addition & 1 deletion tests/test_general.py
Original file line number Diff line number Diff line change
Expand Up @@ -2279,7 +2279,7 @@ def test_5054():
text2 = page.get_text()
print(f'{text1=}')
print(f'{text2=}')
if pymupdf.mupdf_version_tuple < (1, 28, 6):
if pymupdf.mupdf_version_tuple < (1, 28, 5):
assert text2 != text1
else:
assert text2 == text1
Expand Down
2 changes: 1 addition & 1 deletion tests/test_pixmap.py
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ def test_5082():
except subprocess.TimeoutExpired:
timeout = True
print(f'test_5082(): {timeout=}')
if pymupdf.mupdf_version_tuple < (1, 28, 6):
if pymupdf.mupdf_version_tuple < (1, 28, 5):
assert timeout, f'Expected timeout from {pymupdf.mupdf_version=}.'
else:
assert not timeout, f'Unexpected timeout from {pymupdf.mupdf_version=}.'
2 changes: 1 addition & 1 deletion tests/test_widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,7 @@ def test_5101():
path = os.path.normpath(f'{__file__}/../../tests/resources/test_5101.pdf')
with pymupdf.open(path) as document:
print(f'{len(document)=}')
if pymupdf.mupdf_version_tuple >= (1, 28, 6):
if pymupdf.mupdf_version_tuple >= (1, 28, 5):
page = document[0]
wt = pymupdf.TOOLS.mupdf_warnings()
print(f'{wt=}')
Expand Down
Loading