Change Log - PyMuPDF documentation (original) (raw)

Fixed issues:

Other:

Changes in version 1.27.2.3 (2026-04-24)

Changes in version 1.27.2.2 (2026-03-20)

Changes in version 1.27.2. (2026-03-10)

Changes in version 1.27.1 (2026-02-11)

Changes in version 1.26.7 (2025-12-11)

Other:

Changes in version 1.26.6 (2025-11-05)

Changes in version 1.26.5 (2025-10-10)

Changes in version 1.26.4 (2025-08-25)

Changes in version 1.26.3 (2025-07-02)

Changes in version 1.26.2

[Skipped.]

Changes in version 1.26.1 (2025-06-11)

Changes in version 1.26.0 (2025-05-22)

Changes in version 1.25.5 (2025-03-31)

Changes in version 1.25.4 (2025-03-14)

Changes in version 1.25.3 (2025-02-06)

Changes in version 1.25.2 (2025-01-17)

Changes in version 1.25.1 (2024-12-11)

Changes in version 1.25.0 (2024-12-05)

Changes in version 1.24.14 (2024-11-19)

Changes in version 1.24.13 (2024-10-29)

Changes in version 1.24.12 (2024-10-21)

Changes in version 1.24.11 (2024-10-03)

Changes in version 1.24.10 (2024-09-02)

Changes in version 1.24.9 (2024-07-24)

Changes in version 1.24.8 (2024-07-22)

Other:

Changes in version 1.24.7 (2024-06-26)

Changes in version 1.24.6 (2024-06-25)

Changes in version 1.24.5 (2024-05-30)

Changes in version 1.24.4 (2024-05-16)

Changes in version 1.24.3 (2024-05-09)

Changes in version 1.24.2 (2024-04-17)

Changes in version 1.24.1 (2024-04-02)

Changes in version 1.24.0 (2024-03-21)

Changes in version 1.23.26 (2024-02-29)

Changes in version 1.23.25 (2024-02-20)

Changes in version 1.23.24 (2024-02-19)

Changes in version 1.23.23 (2024-02-18)

Changes in version 1.23.22 (2024-02-12)

Changes in version 1.23.21 (2024-02-01)

Changes in version 1.23.20 (2024-01-29)

Changes in version 1.23.19 (2024-01-25)

Changes in version 1.23.18 (2024-01-23)

Changes in version 1.23.17 (2024-01-22)

Changes in version 1.23.16 (2024-01-18)

Changes in version 1.23.15 (2024-01-16)

Changes in version 1.23.14 (2024-01-15)

Changes in version 1.23.13 (2024-01-15)

Changes in version 1.23.12 (2024-01-12)

Changes in version 1.23.11 (2024-01-12)

Changes in version 1.23.10 (2024-01-12)

Changes in version 1.23.9 (2024-01-11)

Changes in version 1.23.8 (2023-12-19)

Changes in version 1.23.7 (2023-11-30)

Changes in version 1.23.6 (2023-11-06)

Changes in version 1.23.5 (2023-10-11)

Changes in version 1.23.4 (2023-09-26)

Changes in version 1.23.3 (2023-08-31)

Changes in version 1.23.2 (2023-08-28)

Changes in version 1.23.1 (2023-08-24)

Changes in version 1.23.0 (2023-08-22)

Changes in version 1.22.5 (2023-06-21)

Changes in version 1.22.3 (2023-05-10)

Changes in version 1.22.2 (2023-04-26)

Changes in version 1.22.1 (2023-04-18)

Changes in version 1.22.0 (2023-04-14)

Changes in Version 1.21.1 (2022-12-13)

Changes in Version 1.21.0 (2022-11-8)

Changes in Version 1.20.2

Changes in Version 1.20.1


Changes in Version 1.20.0

This release uses MuPDF-1.20.0, released 2022-06-15.

Changes to build/release process:


Changes in Version 1.19.6


Changes in Version 1.19.5


Changes in Version 1.19.4


Changes in Version 1.19.3

This patch version implements minor improvements for Pixmap and also some important fixes.


Changes in Version 1.19.2

This patch version implements minor improvements for Page.get_drawings() and also some important fixes.


Changes in Version 1.19.1

This is the first patch version to support MuPDF v1.19.0. Apart from one bug fix, it includes important improvements for OCR support and the option to sort extracted text to the standard reading order “from top-left to bottom-right”.


Changes in Version 1.19.0

This is the first version supporting MuPDF 1.19.*, published 2021-10-05. It introduces many new features compared to the previous version 1.18.*.

PyMuPDF has now picked up integrated Tesseract OCR support, which was already present in MuPDF v1.18.0.

A new MuPDF feature is journalling PDF updates, which is also supported by this PyMuPDF version. Changes may be logged, rolled back or replayed, allowing to implement a whole new level of control over PDF document integrity – similar to functions present in modern database systems.

A third feature (unrelated to the new MuPDF version) includes the ability to detect when page objects cover or hide each other. It is now e.g. possible to see that text is covered by a drawing or an image.


Changes in Version 1.18.18 / 1.18.19


Changes in Version 1.18.17

Focus of this version are major performance improvements of selected functions.


Changes in Version 1.18.16


Changes in Version 1.18.15


Changes in Version 1.18.14


Changes in Version 1.18.13


Changes in Version 1.18.11 / 1.18.12


Changes in Version 1.18.10


Changes in Version 1.18.9


Changes in Version 1.18.8

This is a bug fix version only. We are publishing early because of the potentially widely used functions.


Changes in Version 1.18.7

We continued the process of renaming methods and properties from “mixedCase” to “snake_case”. Documentation usually mentions the new names only, but old, deprecated names remain available for some time.


Changes in Version 1.18.6

Note

This version introduces Python type hinting. The goal is to provide each parameter and the return value of all functions and methods with type information. This still is work in progress although the majority of functions has already been handled.


Changes in Version 1.18.5

Apart from several fixes, this version also focusses on several minor, but important feature improvements. Among the latter is a more precise computation of proper line heights and insertion points for writing / inserting text. As opposed to using font-agnostic constants, these values are now taken from the font’s properties.

Also note that this is the first version which does no longer provide pregenerated wheels for Python versions older than 3.6. PIP also discontinues support for these by end of this year 2020.


Changes in Version 1.18.4

This version adds several features to support PDF Optional Content. Among other things, this includes OCMDs (Optional Content Membership Dictionaries) with the full scope of “visibility expressions” (PDF key /VE), text insertions (including the TextWriter class) and drawings.

Other changes:


Changes in Version 1.18.3

As a major new feature, this version introduces support for PDF’s Optional Content concept.


Changes in Version 1.18.2

This version contains some interesting improvements for text searching: any number of search hits is now returned and the hit_max parameter was removed. The new clip parameter in addition allows to restrict the search area. Searching now detects hyphenations at line breaks and accordingly finds hyphenated words.


Changes in Version 1.18.1


Changes in Version 1.18.0

This is the first PyMuPDF version supporting MuPDF v1.18. The focus here is on extending PyMuPDF’s own functionality – apart from bug fixing. Subsequent PyMuPDF patches may address features new in MuPDF.


Changes in Version 1.17.7


Changes in Version 1.17.6


Changes in Version 1.17.5


Changes in Version 1.17.4


Changes in Version 1.17.3


Changes in Version 1.17.2


Changes in Version 1.17.1

Also significantly improved inline documentation for better support of interactive help.


Changes in Version 1.17.0

This version is based on MuPDF v1.17. Following are highlights of new and changed features:

Other changes:

Potential code breaking changes:


Changes in Version 1.16.18

This version introduces several new features around PDF text output. The motivation is to simplify this task, while at the same time offering extending features.

One major achievement is using MuPDF’s capabilities to dynamically choosing fallback fonts whenever a character cannot be found in the current one. This seamlessly works for Base-14 fonts in combination with CJK fonts (China, Japan, Korea). So a text may contain any combination of characters from the Latin, Greek, Russian, Chinese, Japanese and Korean languages.


Changes in Version 1.16.17


Changes in Version 1.16.16


Changes in Version 1.16.14


Changes in Version 1.16.13


Changes in Version 1.16.12


Changes in Version 1.16.11


Changes in Version 1.16.10


Changes in Version 1.16.9


Changes in Version 1.16.8


Changes in Version 1.16.7

Minor changes to better synchronize the binary image streams of TextPage image blocks and Document.extractImage() images.


Changes in Version 1.16.6


Changes in Version 1.16.5

More performance improvements for text extraction.


Changes in Version 1.16.4


Changes in Version 1.16.3

Minor changes compared to version 1.16.2. The code of the “dict” and “rawdict” variants of Page.getText() has been ported to C which has greatly improved their performance. This improvement is mostly noticeable with text-oriented documents, where they now should execute almost two times faster.


Changes in Version 1.16.2


Changes in Version 1.16.1


Changes in Version 1.16.0

This major new version of MuPDF comes with several nice new or changed features. Some of them imply programming API changes, however. This is a synopsis of what has changed:

List of change details:

No version published for MuPDF v1.15.0


Changes in Version 1.14.20 / 1.14.21


Changes in Version 1.14.19


Changes in Version 1.14.17


Changes in Version 1.14.16


Changes in Version 1.14.15


Changes in Version 1.14.14


Changes in Version 1.14.13


Changes in Version 1.14.12


Changes in Version 1.14.11


Changes in Version 1.14.10


Changes in Version 1.14.9


Changes in Version 1.14.8


Changes in Version 1.14.7


Changes in Version 1.14.5


Changes in Version 1.14.4


Changes in Version 1.14.3

This patch version contains minor bug fixes and CJK font output support.


Changes in Version 1.14.1

This patch version contains minor performance improvements.


Changes in Version 1.14.0

To support MuPDF v1.14.0, massive changes were required in PyMuPDF – most of them purely technical, with little visibility to developers. But there are also quite a lot of interesting new and improved features. Following are the details:

Behind the curtain, we have changed the implementation of geometry objects: they now purely exist in Python and no longer have “shadow” twins on the C-level (in MuPDF). This has improved processing speed in that area by more than a factor of two.

Because of the same reason, most methods involving geometry parameters now also accept the corresponding Python sequence. For example, in method “page.show_pdf_page(rect, …)” parameter rect may now be any rect_like sequence.

We also invested considerable effort to further extend and improve the FAQ chapter.


Changes in Version 1.13.19

This version contains some technical / performance improvements and bug fixes.


Changes in Version 1.13.18


Changes in Version 1.13.17


Changes in Version 1.13.16


Changes in Version 1.13.15


Changes in Version 1.13.14

This patch version contains several improvements, mainly for annotations.


Changes in Version 1.13.13

This patch version contains several improvements for embedded files and file attachment annotations.


Changes in Version 1.13.12


Changes in Version 1.13.11

While the preceding patch subversions only contained various fixes, this version again introduces major new features:


Changes in Version 1.13.7


Changes in Version 1.13.6


Changes in Version 1.13.5


Changes in Version 1.13.4


Changes in Version 1.13.3

Introduces a way to convert any MuPDF supported document to a PDF. If you ever wanted PDF versions of your XPS, EPUB, CBZ or FB2 files – here is a way to do this.


Changes in Version 1.13.2

The major enhancement is PDF form field support. Form fields are annotations of type (19, ‘Widget’). There is a new document method to check whether a PDF is a form. The Annot class has new properties describing field details.


Changes in Version 1.13.1


Changes in Version 1.13.0

This version is based on MuPDF v1.13.0. This release is “primarily a bug fix release”.

In PyMuPDF, we are also doing some bug fixes while introducing minor enhancements. There only very minimal changes to the user’s API.


Changes in Version 1.12.4

This is an extension of 1.12.3.


Changes in Version 1.12.3

This is an extension of 1.12.2.


Changes in Version 1.12.2

This is an extension of 1.12.1.


Changes in Version 1.12.1

This is an extension of version 1.12.0.


Changes in Version 1.12.0

This version is based on and requires MuPDF v1.12.0. The new MuPDF version contains quite a number of changes – most of them around text extraction. Some of the changes impact the programmer’s API.


Changes in Version 1.11.2

This is an extension of v1.11.1.


Changes in Version 1.11.1

This is an extension of v1.11.0.


Changes in Version 1.11.0

This version is based on and requires MuPDF v1.11.

Though MuPDF has declared it as being mostly a bug fix version, one major new feature is indeed contained: support of embedded files – also called portfolios or collections. We have extended PyMuPDF functionality to embrace this up to an extent just a little beyond the mutool utility as follows.


Changes in Version 1.10.0

MuPDF v1.10 Impact

MuPDF version 1.10 has a significant impact on our bindings. Some of the changes also affect the API – in other words, you as a PyMuPDF user.

Other Changes compared to Version 1.9.3


Changes in Version 1.9.3

This version is also based on MuPDF v1.9a. Changes compared to version 1.9.2:


Changes in Version 1.9.2

This version is also based on MuPDF v1.9a. Changes compared to version 1.9.1:


Changes in Version 1.9.1

This version of PyMuPDF is based on MuPDF library source code version 1.9a published on April 21, 2016.

Please have a look at MuPDF’s website to see which changes and enhancements are contained herein.

Changes in version 1.9.1 compared to version 1.8.0 are the following: