Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

page.get_text() cause process freeze with certain pdf on v1.24.2 #3430

Closed
dotrunghieu96 opened this issue May 1, 2024 · 2 comments
Closed
Labels
duplicate fix developed release schedule to be determined

Comments

@dotrunghieu96
Copy link

dotrunghieu96 commented May 1, 2024

Description of the bug

I tried extracting text from the following file
Speculative Investor Behavior in a Stock Market with Heterogeneous Expectations

Edit - attached the file
Harrison & Kreps (1978).pdf

On v1.24.2, when I call page.get_text(), the process stuck on very high cpu usage and the method is stuck, not returning or continue the script.

On https://pymupdf.io/ with version 1.23.5, the text can be extracted just fine

How to reproduce the bug

import fitz
# download and save the file to a local storage
file = "C:/Users/DELL/Downloads/sample_scanned/pdf_1978.pdf"
# open the file with fitz
doc = fitz.open(file)
# print the text
for page in doc:
    print(page.get_text()) --> **process stuck here**

Tried on both Windows and Linux, and python3.11 docker image

PyMuPDF version

1.24.2

Operating system

Linux

Python version

3.11

@JorjMcKie JorjMcKie added duplicate fix developed release schedule to be determined labels May 3, 2024
@JorjMcKie
Copy link
Collaborator

Duplicate of #3357.

@julian-smith-artifex-com
Copy link
Collaborator

Fixed in 1.24.3.

github-merge-queue bot pushed a commit to microsoft/rag-experiment-accelerator that referenced this issue May 14, 2024
Bumps [pymupdf](https://github.com/pymupdf/pymupdf) from 1.24.2 to
1.24.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/pymupdf/releases">pymupdf's
releases</a>.</em></p>
<blockquote>
<h2>PyMuPDF-1.24.3 released</h2>
<p>PyMuPDF-1.24.3 has been released.</p>
<p>Wheels for Windows, Linux and MacOS, and the sdist, are available on
pypi.org and can be installed in the usual way, for example:</p>
<pre><code>python -m pip install --upgrade pymupdf
</code></pre>
<p>[Linux-aarch64 wheels will be built and uploaded later.]</p>
<p><strong>Changes in version 1.24.3 (2024-05-09)</strong></p>
<ul>
<li>
<p>The Python module is now called <code>pymupdf</code>.
<code>fitz</code> is still supported for
backwards compatibility.</p>
</li>
<li>
<p>Use MuPDF-1.24.2.</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3357">#3357</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3376">#3376</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3379">#3379</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3381">#3381</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3402">#3402</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3414">#3414</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3430">#3430</a></li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Page.remove_rotation()</code>: new, set page rotation to zero
while keeping appearance.</li>
</ul>
</li>
<li>
<p>Fixed some problems when checking for PDF properties.</p>
</li>
<li>
<p>Fixed pip builds from sdist
(see discussion <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3360">#3360</a>).</p>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt">pymupdf's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p><strong>Changes in version 1.24.3 (2024-05-09)</strong></p>
<ul>
<li>
<p>The Python module is now called <code>pymupdf</code>.
<code>fitz</code> is still supported for
backwards compatibility.</p>
</li>
<li>
<p>Use MuPDF-1.24.2.</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3357
&lt;https://github.com/pymupdf/PyMuPDF/issues/3357&gt;</code>_:
PyMuPDF==1.24.0 will hanging when using
page.get_text(&quot;text&quot;)</li>
<li><strong>Fixed</strong> <code>3376
&lt;https://github.com/pymupdf/PyMuPDF/issues/3376&gt;</code>_:
Redacting results are not as expected in 1.24.x.</li>
<li><strong>Fixed</strong> <code>3379
&lt;https://github.com/pymupdf/PyMuPDF/issues/3379&gt;</code>_:
Documentation mismatch for get_text_blocks return value order.</li>
<li><strong>Fixed</strong> <code>3381
&lt;https://github.com/pymupdf/PyMuPDF/issues/3381&gt;</code>_: Contents
stream contains floats in scientific notation</li>
<li><strong>Fixed</strong> <code>3402
&lt;https://github.com/pymupdf/PyMuPDF/issues/3402&gt;</code>_: Cannot
add Widgets containing inter-field-calculation JavaScript</li>
<li><strong>Fixed</strong> <code>3414
&lt;https://github.com/pymupdf/PyMuPDF/issues/3414&gt;</code>_: missing
attribute set_dpi()</li>
<li><strong>Fixed</strong> <code>3430
&lt;https://github.com/pymupdf/PyMuPDF/issues/3430&gt;</code>_:
page.get_text() cause process freeze with certain pdf on v1.24.2</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Page.remove_rotation()</code>: new, set page rotation to zero
while keeping appearance.</li>
</ul>
</li>
<li>
<p>Fixed some problems when checking for PDF properties.</p>
</li>
<li>
<p>Fixed pip builds from sdist
(see discussion <code>3360
&lt;https://github.com/pymupdf/PyMuPDF/discussions/3360&gt;</code>_:
Alpine linux docker build failing &quot;No matching distribution found
for pymupdfb==1.24.1&quot;).</p>
</li>
</ul>
</li>
</ul>
<p><strong>Changes in version 1.24.2 (2024-04-17)</strong></p>
<ul>
<li>
<p>Removed obsolete classic implementation from releases
(previously available as module <code>fitz_old</code>).</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3331
&lt;https://github.com/pymupdf/PyMuPDF/issues/3331&gt;</code>_:
Document.pages() is incorrectly type-hinted</li>
<li><strong>Fixed</strong> <code>3354
&lt;https://github.com/pymupdf/PyMuPDF/issues/3354&gt;</code>_:
PyMuPDF==1.24.1: AttributeError: property 'metadata' of 'Document'
object has no setter</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Document.bake()</code>: new, make annotations / fields
permanent content.</li>
<li><code>Page.cluster_drawings()</code>: new, identifies drawing
items</li>
</ul>
</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/5bcc16e6ee52877965df2fb0ad60b518e860b97d"><code>5bcc16e</code></a>
Updated release date for 1.24.3.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/762be9ebeaac1e9174e9f41a6a561b12262e4792"><code>762be9e</code></a>
scripts/gh_release.py: avoid problems when building macos-arm64
wheels.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/2d68701a16f58ab7c4c2c03cdd84485a2a33bc11"><code>2d68701</code></a>
.github/workflows/build_wheels.yml: use macos-13 and macos-14.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/b18d200407df544b75e6bb0d55fa6fdb56a2ed63"><code>b18d200</code></a>
Update changelog, version numbers and release dates for release
1.24.3.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/89f9b442c30141a51e9aec4e958487a7f8f3a802"><code>89f9b44</code></a>
tests/test_annots.py:test_1645(): fix confusing lack of indentation in
fn call.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/f8456bad93b872076f28f9c066a37981018a3522"><code>f8456ba</code></a>
tests/: update test_1645() to match recent mupdf master.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/2ceb2e1fec0b0e0564674b11aa399fb49ecc9e51"><code>2ceb2e1</code></a>
tests/: updated to match fixes in MuPDF-1.24.2.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/64159ac5d94dd2ce01bc783c526614e3c19d9791"><code>64159ac</code></a>
Add an additional check to test_q_count().</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/00d54f2770f7cfd0ebd0ea2fbb08825de5e01d9d"><code>00d54f2</code></a>
.github/workflows/build_wheels.yml: use scripts/gh_release.py to build
sdists.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/a4f7d6a8ec1aa8541d5dee42c8e26dd289a56bde"><code>a4f7d6a</code></a>
scripts/gh_release.py: Also build PyMuPDFb sdist.</li>
<li>Additional commits viewable in <a
href="https://github.com/pymupdf/pymupdf/compare/1.24.2...1.24.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pymupdf&package-manager=pip&previous-version=1.24.2&new-version=1.24.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
julien4215 pushed a commit to aeecleclair/Hyperion that referenced this issue May 17, 2024
Bumps the patch-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [bcrypt](https://github.com/pyca/bcrypt) | `4.1.2` | `4.1.3` |
| [icalendar](https://github.com/collective/icalendar) | `5.0.11` |
`5.0.12` |
| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.24.2` | `1.24.3` |
| [psycopg[c]](https://github.com/psycopg/psycopg) | `3.1.18` | `3.1.19`
|
| [psycopg[binary]](https://github.com/psycopg/psycopg) | `3.1.18` |
`3.1.19` |

Updates `bcrypt` from 4.1.2 to 4.1.3
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyca/bcrypt/commit/35e5a6f5a5131bef22f04dcc9bf401b6eab79642"><code>35e5a6f</code></a>
Bump version for 4.1.3 release (<a
href="https://redirect.github.com/pyca/bcrypt/issues/791">#791</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/d99d1e568d41c7248269bfd37295f65c74fb12bd"><code>d99d1e5</code></a>
Bump autocfg from 1.2.0 to 1.3.0 in /src/_bcrypt (<a
href="https://redirect.github.com/pyca/bcrypt/issues/790">#790</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/0775d47c9a1436706932b1bf8911735881aec8e2"><code>0775d47</code></a>
allow testing with pytest 8.2.0 (<a
href="https://redirect.github.com/pyca/bcrypt/issues/786">#786</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/97d09ac5c190de343af145b61d0b4356950281c0"><code>97d09ac</code></a>
Bump base64 from 0.22.0 to 0.22.1 in /src/_bcrypt (<a
href="https://redirect.github.com/pyca/bcrypt/issues/787">#787</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/ee4a9a8dd1b23d33da931022f2acbf156316f2fb"><code>ee4a9a8</code></a>
use ubuntu rolling in arm64 CI (<a
href="https://redirect.github.com/pyca/bcrypt/issues/784">#784</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/7d2474faa546a1a9daae5cac282977d34fe8aedd"><code>7d2474f</code></a>
Bump libc from 0.2.153 to 0.2.154 in /src/_bcrypt (<a
href="https://redirect.github.com/pyca/bcrypt/issues/783">#783</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/7a252dde4d84dedfc9d8e04308234fea18c6fa45"><code>7a252dd</code></a>
Try blocking pytest 8.2.0 (<a
href="https://redirect.github.com/pyca/bcrypt/issues/785">#785</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/297a915720a64c15274cd927a2b6f0fef2e28772"><code>297a915</code></a>
Remove brew install rust from macOS CI (<a
href="https://redirect.github.com/pyca/bcrypt/issues/782">#782</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/6b3f99eff2447cc7cf9b0cd7bffb3e31871c3648"><code>6b3f99e</code></a>
Bump parking_lot_core from 0.9.9 to 0.9.10 in /src/_bcrypt (<a
href="https://redirect.github.com/pyca/bcrypt/issues/778">#778</a>)</li>
<li><a
href="https://github.com/pyca/bcrypt/commit/c88b31007dfada537b9594540a4e12d49e08eca0"><code>c88b310</code></a>
Bump parking_lot from 0.12.1 to 0.12.2 in /src/_bcrypt (<a
href="https://redirect.github.com/pyca/bcrypt/issues/780">#780</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pyca/bcrypt/compare/4.1.2...4.1.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `icalendar` from 5.0.11 to 5.0.12
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/collective/icalendar/blob/master/CHANGES.rst">icalendar's
changelog</a>.</em></p>
<blockquote>
<h2>5.0.12 (2024-03-19)</h2>
<p>Minor changes:</p>
<ul>
<li>Analyse code coverage of test files</li>
<li>Added corpus to fuzzing directory</li>
<li>Added exclusion of fuzzing corpus in MANIFEST.in</li>
<li>Augmented fuzzer to optionally convert multiple calendars from a
source string</li>
<li>Add script to convert OSS FUZZ test cases to Python/pytest test
cases</li>
<li>Added additional exception handling of defined errors to fuzzer, to
allow fuzzer to explore deeper</li>
<li>Added more instrumentation to fuzz-harness</li>
<li>Rename &quot;contributor&quot; to &quot;collaborator&quot; in
documentation</li>
<li>Correct the outdated &quot;icalendar view myfile.ics&quot; command
in documentation. <a
href="https://redirect.github.com/collective/icalendar/issues/588">#588</a></li>
<li>Update GitHub Actions steps versions</li>
<li>Keep GitHub Actions up to date with GitHub's Dependabot</li>
</ul>
<p>Breaking changes:</p>
<ul>
<li>...</li>
</ul>
<p>New features:</p>
<ul>
<li>...</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>...</li>
<li>Fixed index error in cal.py when attempting to pop from an empty
stack</li>
<li>Fixed type error in prop.py when attempting to join strings into a
byte-string</li>
<li>Caught Wrong Date Format in ical_fuzzer to resolve fuzzing coverage
blocker</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/collective/icalendar/commit/72966e7610416cf718f6ad9575db4dab4c2d7d96"><code>72966e7</code></a>
try to set a body text of the release</li>
<li><a
href="https://github.com/collective/icalendar/commit/38fcd16a78c835ed0fb268ba5ba4302c28be2f27"><code>38fcd16</code></a>
modify release</li>
<li><a
href="https://github.com/collective/icalendar/commit/679ecab15fdd104ded84f6775c3f13cc895a99e5"><code>679ecab</code></a>
use different release action</li>
<li><a
href="https://github.com/collective/icalendar/commit/216452c616c983549ce5bd88be6f3f3cb14a7c9d"><code>216452c</code></a>
use github.token</li>
<li><a
href="https://github.com/collective/icalendar/commit/72c0d6daecf552f90d9a1bdca78d23c06e906b3f"><code>72c0d6d</code></a>
try other tag release method</li>
<li><a
href="https://github.com/collective/icalendar/commit/5551ad90619e9d06d76e12555212efdea85733a3"><code>5551ad9</code></a>
version 5.0.12</li>
<li><a
href="https://github.com/collective/icalendar/commit/f41772059a67007a5e394df23887bb294d6fbe83"><code>f417720</code></a>
Merge pull request <a
href="https://redirect.github.com/collective/icalendar/issues/602">#602</a>
from niccokunzmann/refactor-test-6</li>
<li><a
href="https://github.com/collective/icalendar/commit/b51fef6e9ad74c7990d872ded333db9ffa87f47c"><code>b51fef6</code></a>
Merge pull request <a
href="https://redirect.github.com/collective/icalendar/issues/599">#599</a>
from niccokunzmann/refactor-test-3</li>
<li><a
href="https://github.com/collective/icalendar/commit/fb0baf40648522336a6997119429baf08dcdf8da"><code>fb0baf4</code></a>
Merge pull request <a
href="https://redirect.github.com/collective/icalendar/issues/598">#598</a>
from niccokunzmann/refactor-test-2</li>
<li><a
href="https://github.com/collective/icalendar/commit/00a2d56f2e36413a035a498c8822471d96cca480"><code>00a2d56</code></a>
Merge pull request <a
href="https://redirect.github.com/collective/icalendar/issues/597">#597</a>
from niccokunzmann/refactor-test-1</li>
<li>Additional commits viewable in <a
href="https://github.com/collective/icalendar/compare/v5.0.11...v5.0.12">compare
view</a></li>
</ul>
</details>
<br />

Updates `pymupdf` from 1.24.2 to 1.24.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/pymupdf/releases">pymupdf's
releases</a>.</em></p>
<blockquote>
<h2>PyMuPDF-1.24.3 released</h2>
<p>PyMuPDF-1.24.3 has been released.</p>
<p>Wheels for Windows, Linux and MacOS, and the sdist, are available on
pypi.org and can be installed in the usual way, for example:</p>
<pre><code>python -m pip install --upgrade pymupdf
</code></pre>
<p>[Linux-aarch64 wheels will be built and uploaded later.]</p>
<p><strong>Changes in version 1.24.3 (2024-05-09)</strong></p>
<ul>
<li>
<p>The Python module is now called <code>pymupdf</code>.
<code>fitz</code> is still supported for
backwards compatibility.</p>
</li>
<li>
<p>Use MuPDF-1.24.2.</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3357">#3357</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3376">#3376</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3379">#3379</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3381">#3381</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3402">#3402</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3414">#3414</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3430">#3430</a></li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Page.remove_rotation()</code>: new, set page rotation to zero
while keeping appearance.</li>
</ul>
</li>
<li>
<p>Fixed some problems when checking for PDF properties.</p>
</li>
<li>
<p>Fixed pip builds from sdist
(see discussion <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3360">#3360</a>).</p>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt">pymupdf's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p><strong>Changes in version 1.24.3 (2024-05-09)</strong></p>
<ul>
<li>
<p>The Python module is now called <code>pymupdf</code>.
<code>fitz</code> is still supported for
backwards compatibility.</p>
</li>
<li>
<p>Use MuPDF-1.24.2.</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3357
&lt;https://github.com/pymupdf/PyMuPDF/issues/3357&gt;</code>_:
PyMuPDF==1.24.0 will hanging when using
page.get_text(&quot;text&quot;)</li>
<li><strong>Fixed</strong> <code>3376
&lt;https://github.com/pymupdf/PyMuPDF/issues/3376&gt;</code>_:
Redacting results are not as expected in 1.24.x.</li>
<li><strong>Fixed</strong> <code>3379
&lt;https://github.com/pymupdf/PyMuPDF/issues/3379&gt;</code>_:
Documentation mismatch for get_text_blocks return value order.</li>
<li><strong>Fixed</strong> <code>3381
&lt;https://github.com/pymupdf/PyMuPDF/issues/3381&gt;</code>_: Contents
stream contains floats in scientific notation</li>
<li><strong>Fixed</strong> <code>3402
&lt;https://github.com/pymupdf/PyMuPDF/issues/3402&gt;</code>_: Cannot
add Widgets containing inter-field-calculation JavaScript</li>
<li><strong>Fixed</strong> <code>3414
&lt;https://github.com/pymupdf/PyMuPDF/issues/3414&gt;</code>_: missing
attribute set_dpi()</li>
<li><strong>Fixed</strong> <code>3430
&lt;https://github.com/pymupdf/PyMuPDF/issues/3430&gt;</code>_:
page.get_text() cause process freeze with certain pdf on v1.24.2</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Page.remove_rotation()</code>: new, set page rotation to zero
while keeping appearance.</li>
</ul>
</li>
<li>
<p>Fixed some problems when checking for PDF properties.</p>
</li>
<li>
<p>Fixed pip builds from sdist
(see discussion <code>3360
&lt;https://github.com/pymupdf/PyMuPDF/discussions/3360&gt;</code>_:
Alpine linux docker build failing &quot;No matching distribution found
for pymupdfb==1.24.1&quot;).</p>
</li>
</ul>
</li>
</ul>
<p><strong>Changes in version 1.24.2 (2024-04-17)</strong></p>
<ul>
<li>
<p>Removed obsolete classic implementation from releases
(previously available as module <code>fitz_old</code>).</p>
</li>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3331
&lt;https://github.com/pymupdf/PyMuPDF/issues/3331&gt;</code>_:
Document.pages() is incorrectly type-hinted</li>
<li><strong>Fixed</strong> <code>3354
&lt;https://github.com/pymupdf/PyMuPDF/issues/3354&gt;</code>_:
PyMuPDF==1.24.1: AttributeError: property 'metadata' of 'Document'
object has no setter</li>
</ul>
</li>
<li>
<p>Other:</p>
<ul>
<li>
<p>New/modified methods:</p>
<ul>
<li><code>Document.bake()</code>: new, make annotations / fields
permanent content.</li>
<li><code>Page.cluster_drawings()</code>: new, identifies drawing
items</li>
</ul>
</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/5bcc16e6ee52877965df2fb0ad60b518e860b97d"><code>5bcc16e</code></a>
Updated release date for 1.24.3.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/762be9ebeaac1e9174e9f41a6a561b12262e4792"><code>762be9e</code></a>
scripts/gh_release.py: avoid problems when building macos-arm64
wheels.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/2d68701a16f58ab7c4c2c03cdd84485a2a33bc11"><code>2d68701</code></a>
.github/workflows/build_wheels.yml: use macos-13 and macos-14.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/b18d200407df544b75e6bb0d55fa6fdb56a2ed63"><code>b18d200</code></a>
Update changelog, version numbers and release dates for release
1.24.3.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/89f9b442c30141a51e9aec4e958487a7f8f3a802"><code>89f9b44</code></a>
tests/test_annots.py:test_1645(): fix confusing lack of indentation in
fn call.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/f8456bad93b872076f28f9c066a37981018a3522"><code>f8456ba</code></a>
tests/: update test_1645() to match recent mupdf master.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/2ceb2e1fec0b0e0564674b11aa399fb49ecc9e51"><code>2ceb2e1</code></a>
tests/: updated to match fixes in MuPDF-1.24.2.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/64159ac5d94dd2ce01bc783c526614e3c19d9791"><code>64159ac</code></a>
Add an additional check to test_q_count().</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/00d54f2770f7cfd0ebd0ea2fbb08825de5e01d9d"><code>00d54f2</code></a>
.github/workflows/build_wheels.yml: use scripts/gh_release.py to build
sdists.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/a4f7d6a8ec1aa8541d5dee42c8e26dd289a56bde"><code>a4f7d6a</code></a>
scripts/gh_release.py: Also build PyMuPDFb sdist.</li>
<li>Additional commits viewable in <a
href="https://github.com/pymupdf/pymupdf/compare/1.24.2...1.24.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `psycopg[c]` from 3.1.18 to 3.1.19
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg[c]'s
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Future releases</h2>
<p>Psycopg 3.2 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Add support for integer, floating point, boolean <code>NumPy scalar
types</code>__

(:ticket:<code>[#332](https://github.com/psycopg/psycopg/issues/332)</code>).</li>
<li>Add <code>!timeout</code> and <code>!stop_after</code> parameters to
<code>Connection.notifies()</code>
(:ticket:<code>340</code>).</li>
<li>Add :ref:<code>raw-query-cursors</code> to execute queries using
placeholders in
PostgreSQL format (<code>$1</code>, <code>$2</code>...)
(:ticket:<code>[#560](https://github.com/psycopg/psycopg/issues/560)</code>).</li>
<li>Add <code>psycopg.capabilities</code> object to :ref:<code>inspect
the libpq capabilities &lt;capabilities&gt;</code>
(🎫<code>[#772](https://github.com/psycopg/psycopg/issues/772)</code>).</li>
<li>Add <code>~rows.scalar_row</code> to return scalar values from a
query
(:ticket:<code>[#723](https://github.com/psycopg/psycopg/issues/723)</code>).</li>
<li>Prepared statements are now :ref:<code>compatible with PgBouncer
&lt;pgbouncer&gt;</code>.

(🎫<code>[#589](https://github.com/psycopg/psycopg/issues/589)</code>).</li>
<li>Add <code>~Connection.set_autocommit()</code> on sync connections,
and similar
transaction control methods available on the async connections.</li>
<li>Add support for libpq functions to close prepared statements and
portals
introduced in libpq v17
(:ticket:<code>[#603](https://github.com/psycopg/psycopg/issues/603)</code>).</li>
<li>Add support for libpq encrypted and non-blocking query cancellation
functions introduced in libpq v17
(:ticket:<code>[#754](https://github.com/psycopg/psycopg/issues/754)</code>).</li>
<li>The <code>!context</code> parameter of <code>sql</code> objects
<code>~sql.Composable.as_string()</code> and
<code>~sql.Composable.as_bytes()</code> methods is now optional
(:ticket:<code>[#716](https://github.com/psycopg/psycopg/issues/716)</code>).</li>
<li>Disable receiving more than one result on the same cursor in
pipeline mode,
to iterate through <code>~Cursor.nextset()</code>. The behaviour was
different than
in non-pipeline mode and not totally reliable
(:ticket:<code>[#604](https://github.com/psycopg/psycopg/issues/604)</code>).
The <code>Cursor</code> now only preserves the results set of the last
<code>~Cursor.execute()</code>, consistently with non-pipeline
mode.</li>
<li>Add <code>~Connection.cancel_safe()</code> for encrypted and
non-blocking cancellation
If possible, use such method internally upon
<code>KeyboardInterrupt</code> and <code>Copy</code>
termination
(:ticket:<code>[#754](https://github.com/psycopg/psycopg/issues/754)</code>).</li>
<li>Add support for libpq function to retrieve results in chunks
introduced in
libpq v17
(:ticket:<code>[#793](https://github.com/psycopg/psycopg/issues/793)</code>).</li>
</ul>
<p>.. __: <a
href="https://numpy.org/doc/stable/reference/arrays.scalars.html#built-in-scalar-types">https://numpy.org/doc/stable/reference/arrays.scalars.html#built-in-scalar-types</a></p>
<h2>Current release</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/780068d53685ab85c3fbb273596f562e6eeba297"><code>780068d</code></a>
chore: bump psycopg package version to 3.1.19</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/040489c648d5f3fb12342a55c02911e02f21aa6b"><code>040489c</code></a>
chore(crdb): upgrade types to v23.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/163f3665b11eab10d7de6d917162b660d4229774"><code>163f366</code></a>
ci(macos): test and build macOS packages on M1 runners</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/01d5dabde6a3d5250b33e6d53fea7789afdb6125"><code>01d5dab</code></a>
Merge branch 'fix-745' into maint-3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/28fc73e5730d594d7340dbd2a686ce01894ba8e5"><code>28fc73e</code></a>
perf(copy): only flush at every row on copy on macOS</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/963c5f8a1b169eccee05fbf0b9738308df86706e"><code>963c5f8</code></a>
Improve performance of copy</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/c9486b3a9f22b1003705c59a0c6cc5248f6a2ec7"><code>c9486b3</code></a>
test(copy): add minimal copy benchmark framework</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/33989450c64dc2da93697183a8f4a61242b2bebd"><code>3398945</code></a>
Merge branch 'fix-734' into maint-3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/cfc0782032f8fa86096a7b9f7fd83b6870ec7fe5"><code>cfc0782</code></a>
fix(c): solve undefined behaviour caused by unaligned access</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/611738ff3626e7f0d35d66c934653220a7248bbe"><code>611738f</code></a>
ci: add test to check for misaligned memory access</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg/compare/3.1.18...3.1.19">compare
view</a></li>
</ul>
</details>
<br />

Updates `psycopg[binary]` from 3.1.18 to 3.1.19
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psycopg/psycopg/blob/master/docs/news.rst">psycopg[binary]'s
changelog</a>.</em></p>
<blockquote>
<p>.. currentmodule:: psycopg</p>
<p>.. index::
single: Release notes
single: News</p>
<h1><code>psycopg</code> release notes</h1>
<h2>Future releases</h2>
<p>Psycopg 3.2 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>Add support for integer, floating point, boolean <code>NumPy scalar
types</code>__

(:ticket:<code>[#332](https://github.com/psycopg/psycopg/issues/332)</code>).</li>
<li>Add <code>!timeout</code> and <code>!stop_after</code> parameters to
<code>Connection.notifies()</code>
(:ticket:<code>340</code>).</li>
<li>Add :ref:<code>raw-query-cursors</code> to execute queries using
placeholders in
PostgreSQL format (<code>$1</code>, <code>$2</code>...)
(:ticket:<code>[#560](https://github.com/psycopg/psycopg/issues/560)</code>).</li>
<li>Add <code>psycopg.capabilities</code> object to :ref:<code>inspect
the libpq capabilities &lt;capabilities&gt;</code>
(🎫<code>[#772](https://github.com/psycopg/psycopg/issues/772)</code>).</li>
<li>Add <code>~rows.scalar_row</code> to return scalar values from a
query
(:ticket:<code>[#723](https://github.com/psycopg/psycopg/issues/723)</code>).</li>
<li>Prepared statements are now :ref:<code>compatible with PgBouncer
&lt;pgbouncer&gt;</code>.

(🎫<code>[#589](https://github.com/psycopg/psycopg/issues/589)</code>).</li>
<li>Add <code>~Connection.set_autocommit()</code> on sync connections,
and similar
transaction control methods available on the async connections.</li>
<li>Add support for libpq functions to close prepared statements and
portals
introduced in libpq v17
(:ticket:<code>[#603](https://github.com/psycopg/psycopg/issues/603)</code>).</li>
<li>Add support for libpq encrypted and non-blocking query cancellation
functions introduced in libpq v17
(:ticket:<code>[#754](https://github.com/psycopg/psycopg/issues/754)</code>).</li>
<li>The <code>!context</code> parameter of <code>sql</code> objects
<code>~sql.Composable.as_string()</code> and
<code>~sql.Composable.as_bytes()</code> methods is now optional
(:ticket:<code>[#716](https://github.com/psycopg/psycopg/issues/716)</code>).</li>
<li>Disable receiving more than one result on the same cursor in
pipeline mode,
to iterate through <code>~Cursor.nextset()</code>. The behaviour was
different than
in non-pipeline mode and not totally reliable
(:ticket:<code>[#604](https://github.com/psycopg/psycopg/issues/604)</code>).
The <code>Cursor</code> now only preserves the results set of the last
<code>~Cursor.execute()</code>, consistently with non-pipeline
mode.</li>
<li>Add <code>~Connection.cancel_safe()</code> for encrypted and
non-blocking cancellation
If possible, use such method internally upon
<code>KeyboardInterrupt</code> and <code>Copy</code>
termination
(:ticket:<code>[#754](https://github.com/psycopg/psycopg/issues/754)</code>).</li>
<li>Add support for libpq function to retrieve results in chunks
introduced in
libpq v17
(:ticket:<code>[#793](https://github.com/psycopg/psycopg/issues/793)</code>).</li>
</ul>
<p>.. __: <a
href="https://numpy.org/doc/stable/reference/arrays.scalars.html#built-in-scalar-types">https://numpy.org/doc/stable/reference/arrays.scalars.html#built-in-scalar-types</a></p>
<h2>Current release</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psycopg/psycopg/commit/780068d53685ab85c3fbb273596f562e6eeba297"><code>780068d</code></a>
chore: bump psycopg package version to 3.1.19</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/040489c648d5f3fb12342a55c02911e02f21aa6b"><code>040489c</code></a>
chore(crdb): upgrade types to v23.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/163f3665b11eab10d7de6d917162b660d4229774"><code>163f366</code></a>
ci(macos): test and build macOS packages on M1 runners</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/01d5dabde6a3d5250b33e6d53fea7789afdb6125"><code>01d5dab</code></a>
Merge branch 'fix-745' into maint-3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/28fc73e5730d594d7340dbd2a686ce01894ba8e5"><code>28fc73e</code></a>
perf(copy): only flush at every row on copy on macOS</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/963c5f8a1b169eccee05fbf0b9738308df86706e"><code>963c5f8</code></a>
Improve performance of copy</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/c9486b3a9f22b1003705c59a0c6cc5248f6a2ec7"><code>c9486b3</code></a>
test(copy): add minimal copy benchmark framework</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/33989450c64dc2da93697183a8f4a61242b2bebd"><code>3398945</code></a>
Merge branch 'fix-734' into maint-3.1</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/cfc0782032f8fa86096a7b9f7fd83b6870ec7fe5"><code>cfc0782</code></a>
fix(c): solve undefined behaviour caused by unaligned access</li>
<li><a
href="https://github.com/psycopg/psycopg/commit/611738ff3626e7f0d35d66c934653220a7248bbe"><code>611738f</code></a>
ci: add test to check for misaligned memory access</li>
<li>Additional commits viewable in <a
href="https://github.com/psycopg/psycopg/compare/3.1.18...3.1.19">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate fix developed release schedule to be determined
Projects
None yet
Development

No branches or pull requests

3 participants