Repository navigation
Releases
PyMuPDF-2.1 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 2.1
Fixed issues:
Other:
- Improve upgrade from 1.x to 2.x via pymupdf4llm or pymupdf_layout.
- Reduced startup time using lazy internal import of large modules.
- Retrospectively added date of 2.0 release.
- Retrospectively marked #5115 as fixed in 2.0.
- Use MuPDF-1.28.6.
PyMuPDF-2.0 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 2.0
Fixed issues:
- Fixed #4994
- Fixed #5054
- Fixed #5055
- Fixed #5059
- Fixed #5067
- Fixed #5077
- Fixed #5082
- Fixed #5100
- Fixed #5101
- Fixed #5108
- Fixed #5112
- Fixed #5122
- Fixed #5125
- Fixed #5140
- Fixed #5152
- Fixed #5154
- Fixed #5165
Other:
- Added support for form field hierarchies.
- Added support for radio button groups.
- Added support for widget aliases.
- Fixed builds with swig-4.5.
- Fixed
https://bugs.ghostscript.com/show_bug.cgi?id=709683_ Path Traversal and Arbitrary File Write in PyMuPDF CLI Font Extraction (CVE-2026-82035) - Fixed ignoring aspect ratio for square images.
- Fixed potential SEGV in pymupdf.Page.get_cdrawings() if callback raises exception.
- Fixed use with python-3.15.
- Remove the debug timing loop from
Annot.update(). - Retrospectively marked #3478 fixed in 1.25.3.
- Retrospectively marked #4158 fixed in 1.27.2.2
- Retrospectively marked #4896 fixed in 1.28.0.
- Retrospectively marked #4918 fixed in 1.28.0.
- Supported Python versions are now 3.11-3.15.
- Use MuPDF-1.28.5.
- Warning for use of deprecated
fitzAPI now useswarnings.warn()withFutureWarning.
PyMuPDF-1.28.2 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 1.28.2 ()
Fixed issues:
Other:
- Use MuPDF-1.28.2.
- Output warning when legacy
fitzmodule 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 = Trueunion: bool = Falserefine: bool = False. - Improved speed.
- new args
- Retrospectively added fix for #4936 in release 1.28.0 below.
PyMuPDF-1.28.0 released.
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 1.28.0
Fixed issues:
Other:
- Use MuPDF-1.28.0.
- pymupdf.Document.init(): new arg
archiveto support documents with archives. - pymupdf.Document.convert_to_pdf(): also generate links.
- Fixed MacOS x64 platform tag - used to be macosx_10_9_x86_64, but we actually
require MacOS 10.15, so platform tag is now macosx_10_15_x86_64. - Support Windows builds with free thread python.
- pymupdf.Document.save() now saves non-PDF documents in PDF format.
- New method pymupdf.Document.apply_css().
PyMuPDF-1.27.2.3 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 1.27.2.3
-
Fixed issues:
-
Other:
- Fixed incorrect generation of
lineJoin jin PDF content, introduced in 1.27.2.2. - Allow build to (incorrectly) claim to be thread-safe, for #4760. See setup.py for details.
- Use pypi.org's pipcl package instead of our own pipcl.py file.
- Fixed incorrect generation of
PyMuPDF-1.27.2.2 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 1.27.2.2
PyMuPDF-1.27.2 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
Changes in version 1.27.2
-
Use MuPDF-1.27.2.
-
Fixed issues:
- Fixed #4903
-
Other:
-
Retrospectively marked #4907 as fixed in pymupdf-1.27.1.
-
Improved get_textpage_ocr().
For partial OCR, all page areas outside legible text are now OCRed, not
just those within images. This means that OCR will now also be performed
for vector graphics, and for text containing illegible characters.
-
PyMuPDF-1.27.1 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
[Linux-aarch64 wheels will be built and uploaded later.]
Changes in version 1.27.1 (2026-02-11)
PyMuPDF-1.26.7 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
[Linux-aarch64 wheels will be built and uploaded later.]
Changes in version 1.26.7
- Use MuPDF-1.26.12.
Other:
- Retrospectively mark #4756 as fixed in 1.26.6.
- Improved safety of
pymupdf embed-extract. This now refuses to write to
an existing file or outside current directory, unless-outputor new flag
-unsafeis specified.
PyMuPDF-1.26.6 released
Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:
python -m pip install --upgrade pymupdf
[Linux-aarch64 wheels will be built and uploaded later.]
Changes in version 1.26.6