Skip to content

chore(deps)(deps): update fpdf2 requirement from <3,>=2.8 to >=2.8.8,<3 - #162

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/fpdf2-gte-2.8.8-and-lt-3
Open

chore(deps)(deps): update fpdf2 requirement from <3,>=2.8 to >=2.8.8,<3#162
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/fpdf2-gte-2.8.8-and-lt-3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on fpdf2 to permit the latest version.

Release notes

Sourced from fpdf2's releases.

Add resource access controls, SVG complexity limits, Optional Content Groups, and other features and bug fixes

[2.8.8] - 2026-08-09

[!WARNING] Upgrading to fpdf2 2.8.8 is strongly recommended for applications that render user-provided images, SVGs, or HTML content.

Added

Fixed

  • custom height passed to Paragraph.ln() in a text region is now applied to the line it terminates instead of the first line of the following paragraph - cf. [issue #1786](py-pdf/fpdf2#1786) - thanks to @​Sanjays2402
  • the optional numpy import in image_parsing.py no longer crashes on CPUs unsupported by numpy's manylinux wheel baseline; RuntimeError is now treated the same as ImportError, so numpy degrades to unavailable instead of taking down import fpdf - cf. [issue #1908](py-pdf/fpdf2#1908) - thanks to @​stumpylog
  • font state (family, style, size, current font, and the page-level "font is set" flag) no longer leaks back onto the FPDF instance after a text_columns() / text_region() context exits, so a subsequent pdf.cell() / pdf.write() renders at the caller's font instead of the last paragraph's - cf. [issue #1804](py-pdf/fpdf2#1804) - thanks to @​Pawansingh3889
  • text rendering when the first text on a page starts with a fallback glyph - cf. [issue #1772](py-pdf/fpdf2#1772)
  • preserve boundary-neutral formatting during bidirectional text preprocessing - cf. [issue #1779](py-pdf/fpdf2#1779)
  • transform application on user space gradients - cf. [issue #1784](py-pdf/fpdf2#1784)
  • dependency extras for camelot-py and endesive on pyproject.toml - cf. [issue #1792](py-pdf/fpdf2#1792)
  • preserve link annotations during dry-run of FPDF.multi_cell - cf. [issue #1807](py-pdf/fpdf2#1807) - thanks to @​CoLa5
  • preserve two consecutive markdown links (without space inbetween) - cf. [issue #1814](py-pdf/fpdf2#1814) - thanks to @​CoLa5
  • support markdown style around markdown links - cf. [issue #1826](py-pdf/fpdf2#1826) - thanks to @​CoLa5
  • Reset gstate for ToC-rendering - cf. [issue #1837](py-pdf/fpdf2#1837) - thanks to @​CoLa5
  • preserve markdown format in FPDF.multi_cell in dry-run - cf. [issue #1840](py-pdf/fpdf2#1840) - thanks to @​CoLa5
  • fix page order after dry-run of FPDF.multi_cell in ToC - cf. [issue #1836](py-pdf/fpdf2#1836) - thanks to @​CoLa5
  • rendering SVG arcs with very small sweeps that previously rounded to zero - cf. [issue #1831](py-pdf/fpdf2#1831)
  • spurious "Not enough horizontal space to render a single character" error when text without break opportunities is split into many small fragments, e.g. by a fallback font alternating with the main font - cf. [issue #1250](py-pdf/fpdf2#1250) - thanks to @​uttam12331
  • number of surviving escape characters - cf. [issue #1215](py-pdf/fpdf2#1215) - thanks to @​amidou-naba
  • leading spaces on new lines inside <pre> and <pre><code> blocks are no longer dropped - cf. [issue #1063](py-pdf/fpdf2#1063) - thanks to @​eugen-goebel
  • FPDF.set_font() can restore current_font when the selected font state diverged - cf. [PR #1872](py-pdf/fpdf2#1872) - thanks to @​gaoflow
  • embed CID-keyed CFF fonts as raw CFF programs so browser PDF viewers render them correctly - cf. [issue #1874](py-pdf/fpdf2#1874)
  • fixed broken links on documentation not directly leading to the API reference - cf. [issue #1876](py-pdf/fpdf2#1876) - thanks to @​iamfazakb
  • reject SVG <use> cycles and excessive nested expansion to prevent resource exhaustion in FPDF.image()
  • count SVG <switch> elements in SVG complexity limits
  • declare the default base state and display order for Optional Content Groups so PDF viewers can list layers correctly - cf. [issue #1895](py-pdf/fpdf2#1895)

Changed

  • skip byte-for-byte compressed data comparison when zlib-ng is detected, regardless of OS
Changelog

Sourced from fpdf2's changelog.

[2.8.8] - 2026-08-09

Added

Fixed

  • custom height passed to Paragraph.ln() in a text region is now applied to the line it terminates instead of the first line of the following paragraph - cf. [issue #1786](py-pdf/fpdf2#1786) - thanks to @​Sanjays2402
  • the optional numpy import in image_parsing.py no longer crashes on CPUs unsupported by numpy's manylinux wheel baseline; RuntimeError is now treated the same as ImportError, so numpy degrades to unavailable instead of taking down import fpdf - cf. [issue #1908](py-pdf/fpdf2#1908) - thanks to @​stumpylog
  • font state (family, style, size, current font, and the page-level "font is set" flag) no longer leaks back onto the FPDF instance after a text_columns() / text_region() context exits, so a subsequent pdf.cell() / pdf.write() renders at the caller's font instead of the last paragraph's - cf. [issue #1804](py-pdf/fpdf2#1804) - thanks to @​Pawansingh3889
  • text rendering when the first text on a page starts with a fallback glyph - cf. [issue #1772](py-pdf/fpdf2#1772)
  • preserve boundary-neutral formatting during bidirectional text preprocessing - cf. [issue #1779](py-pdf/fpdf2#1779)
  • transform application on user space gradients - cf. [issue #1784](py-pdf/fpdf2#1784)
  • dependency extras for camelot-py and endesive on pyproject.toml - cf. [issue #1792](py-pdf/fpdf2#1792)
  • preserve link annotations during dry-run of FPDF.multi_cell - cf. [issue #1807](py-pdf/fpdf2#1807) - thanks to @​CoLa5
  • preserve two consecutive markdown links (without space inbetween) - cf. [issue #1814](py-pdf/fpdf2#1814) - thanks to @​CoLa5
  • support markdown style around markdown links - cf. [issue #1826](py-pdf/fpdf2#1826) - thanks to @​CoLa5
  • Reset gstate for ToC-rendering - cf. [issue #1837](py-pdf/fpdf2#1837) - thanks to @​CoLa5
  • preserve markdown format in FPDF.multi_cell in dry-run - cf. [issue #1840](py-pdf/fpdf2#1840) - thanks to @​CoLa5
  • fix page order after dry-run of FPDF.multi_cell in ToC - cf. [issue #1836](py-pdf/fpdf2#1836) - thanks to @​CoLa5
  • rendering SVG arcs with very small sweeps that previously rounded to zero - cf. [issue #1831](py-pdf/fpdf2#1831)
  • spurious "Not enough horizontal space to render a single character" error when text without break opportunities is split into many small fragments, e.g. by a fallback font alternating with the main font - cf. [issue #1250](py-pdf/fpdf2#1250) - thanks to @​uttam12331
  • number of surviving escape characters - cf. [issue #1215](py-pdf/fpdf2#1215) - thanks to @​amidou-naba
  • leading spaces on new lines inside <pre> and <pre><code> blocks are no longer dropped - cf. [issue #1063](py-pdf/fpdf2#1063) - thanks to @​eugen-goebel
  • FPDF.set_font() can restore current_font when the selected font state diverged - cf. [PR #1872](py-pdf/fpdf2#1872) - thanks to @​gaoflow
  • embed CID-keyed CFF fonts as raw CFF programs so browser PDF viewers render them correctly - cf. [issue #1874](py-pdf/fpdf2#1874)
  • fixed broken links on documentation not directly leading to the API reference - cf. [issue #1876](py-pdf/fpdf2#1876) - thanks to @​iamfazakb
  • reject SVG <use> cycles and excessive nested expansion to prevent resource exhaustion in FPDF.image()
  • count SVG <switch> elements in SVG complexity limits
  • declare the default base state and display order for Optional Content Groups so PDF viewers can list layers correctly - cf. [issue #1895](py-pdf/fpdf2#1895)

Changed

  • skip byte-for-byte compressed data comparison when zlib-ng is detected, regardless of OS

[2.8.7] - 2026-02-28

Fixed

  • types on FPDF.title, FPDF.add_font() and FPDF.output()
  • added missing files to navigation tree in mkdocs.yml - thanks to @​paulsuh

Changed

  • reverted changes to ImageInfo that impacted user-facing API
  • prefer outline glyphs over bitmap if the font has both

[2.8.6] - 2026-02-18

Added

  • support for FPDF.transform() context manager to apply geometric transformations (translation, rotation, scaling, skewing) to the current graphics state - thanks to @​RaphaelFLT
  • support for SVG <linearGradient> and <radialGradient> elements - cf. [issue #1580](py-pdf/fpdf2#1580) - thanks to @​Ani07-05
  • mypy and pyright checks in the CI pipeline to enforce strict typing
  • support WOFF and WOFF2 fonts - thanks to @​BharathPESU

... (truncated)

Commits
  • e1fc653 release v2.8.8 (#1916)
  • 42ec664 add Sanjays2402 as a contributor for code (#1915)
  • af9d7dc fix(text_region): apply Paragraph.ln(h) height to the line it terminates (#1904)
  • 81951f8 add stumpylog as a contributor for bug, and code (#1913)
  • b30c38c Fix: catch RuntimeError alongside ImportError for the optional numpy import (...
  • 63df0d0 Update github/codeql-action action to v4.37.6 (#1910)
  • 11a30e6 Update crate-ci/typos action to v1.49.0 (#1911)
  • f65707b Update step-security/harden-runner action to v2.20.1 (#1912)
  • a7f7c89 Update github/codeql-action action to v4.37.4 (#1907)
  • fe9d8f5 Update pypa/gh-action-pypi-publish action to v1.14.2 (#1906)
  • Additional commits viewable in compare view

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 commands and options

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 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)

Updates the requirements on [fpdf2](https://github.com/py-pdf/fpdf2) to permit the latest version.
- [Release notes](https://github.com/py-pdf/fpdf2/releases)
- [Changelog](https://github.com/py-pdf/fpdf2/blob/master/CHANGELOG.md)
- [Commits](py-pdf/fpdf2@2.8.1...2.8.8)

---
updated-dependencies:
- dependency-name: fpdf2
  dependency-version: 2.8.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 17, 2026
@github-actions

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

requirements.txt

PackageVersionLicenseIssue Type
fpdf2>= 2.8.8,< 3NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
pip/fpdf2 >= 2.8.8,< 3 UnknownUnknown

Scanned Files

  • requirements.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants