[PR #6630] [CLOSED] build(deps): bump fpdf2 from 2.7.9 to 2.8.1 in /backend #44971

Closed
opened 2026-04-29 19:15:02 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/6630
Author: @dependabot[bot]
Created: 11/1/2024
Status: Closed

Base: devHead: dependabot/pip/backend/dev/fpdf2-2.8.1


📝 Commits (1)

  • a3f9209 build(deps): bump fpdf2 from 2.7.9 to 2.8.1 in /backend

📊 Changes

1 file changed (+1 additions, -1 deletions)

View changed files

📝 backend/requirements.txt (+1 -1)

📄 Description

Bumps fpdf2 from 2.7.9 to 2.8.1.

Release notes

Sourced from fpdf2's releases.

FPDF.bezier() to render quadratic and cubic Bézier curves, and many improvements

Note: a temporary 2.8.0 version was released but then erroneously removed on Pypi. Versions 2.8.0 & 2.8.1 are exactly the same.

Added

  • support for quadratic and cubic Bézier curves with FPDF.bezier() - thanks to @​awmc000
  • support for escape character for markers in markdown text [issue #1215](py-pdf/fpdf2#1215)
  • Wrapping words on spaces now considers all common space symbols in addition to regular spaces (' '), addressing issues with word-wrapping for languages like Thai, as per #1190 and #1191.
  • Templates can now be also defined in JSON files.
  • support to optionally set wrapmode in templates (default "WORD" can optionally be set to "CHAR" to support wrapping on characters for scripts like Chinese or Japanese) - cf. #1159 - thanks to @​carlhiggs
  • documentation on how to use fpdf2 with Rough.js: link to docs
  • documentation on how to use fpdf2 with gunicorn: link to docs
  • new translation of the tutorial in Türkçe, thanks to @​natgho: Türkçe
  • feature to identify the Unicode script of the input text and break it into fragments when different scripts are used, improving text shaping results
  • FPDF.image(): now handles keep_aspect_ratio in combination with an enum value provided to x
  • FPDF.write_html(): now supports CSS page breaks properties : documentation
  • FPDF.write_html(): new optional font_family parameter to set the default font family
  • FPDF.write_html(): spacing before lists can now be adjusted via the tag_styles attribute - thanks to @​lcgeneralprojects
  • file names are mentioned in errors when fpdf2 fails to parse a SVG image

Fixed

Removed

  • an obscure and undocumented feature of FPDF.write_html(), which used to magically pass instance attributes as arguments.

Deprecated

  • fpdf.TitleStyle has been renamed into fpdf.TextStyle
  • FPDF.write_html(): tag_indents introduced in the last version - Now the indentation can be provided through the tag_styles parameter, using the .l_margin of TextStyle instances

Changed

  • FPDF.local_context() used to treat font_size as a value in points. Now this is the role of font_size_pt, whereas font_size allows to set the font size into chosen document units (specified with FPDF(unit=)) - MR: #1207
  • FPDF.circle() : the previous r parameter, that in fact defined the diameter, has been replaced by a new radius paremeter. The x & y parameters now define the circle center, instead of its top-left corner as it used to be - [issue #1245](py-pdf/fpdf2#1245)
  • FPDF.table() now raises an error when a single row is too high to be rendered on a single page
  • FPDF.write_html(): indentation of HTML elements can now be non-integer (float), and is now independent of font size and bullet strings.
  • improved performance of font glyph selection by using functools cache
  • Clarified usage of the style attribute in FPDF.add_font()
Changelog

Sourced from fpdf2's changelog.

[2.8.1] - 2024-10-04

Added

  • support for quadratic and cubic Bézier curves with FPDF.bezier() - thanks to @​awmc000
  • support for escape character for markers in markdown text [issue #1215](py-pdf/fpdf2#1215)
  • Wrapping words on spaces now considers all common space symbols in addition to regular spaces (' '), addressing issues with word-wrapping for languages like Thai, as per #1190 and #1191.
  • Templates can now be also defined in JSON files.
  • support to optionally set wrapmode in templates (default "WORD" can optionally be set to "CHAR" to support wrapping on characters for scripts like Chinese or Japanese) - cf. #1159 - thanks to @​carlhiggs
  • documentation on how to use fpdf2 with Rough.js: link to docs
  • documentation on how to use fpdf2 with gunicorn: link to docs
  • new translation of the tutorial in Türkçe, thanks to @​natgho: Türkçe
  • feature to identify the Unicode script of the input text and break it into fragments when different scripts are used, improving text shaping results
  • FPDF.image(): now handles keep_aspect_ratio in combination with an enum value provided to x
  • FPDF.write_html(): now supports CSS page breaks properties : documentation
  • FPDF.write_html(): new optional font_family parameter to set the default font family
  • FPDF.write_html(): spacing before lists can now be adjusted via the tag_styles attribute - thanks to @​lcgeneralprojects
  • file names are mentioned in errors when fpdf2 fails to parse a SVG image

Fixed

Removed

  • an obscure and undocumented feature of FPDF.write_html(), which used to magically pass instance attributes as arguments.

Deprecated

  • fpdf.TitleStyle has been renamed into fpdf.TextStyle
  • FPDF.write_html(): tag_indents introduced in the last version - Now the indentation can be provided through the tag_styles parameter, using the .l_margin of TextStyle instances

Changed

  • FPDF.local_context() used to treat font_size as a value in points. Now this is the role of font_size_pt, whereas font_size allows to set the font size into chosen document units (specified with FPDF(unit=)) - MR: #1207
  • FPDF.circle() : the previous r parameter, that in fact defined the diameter, has been replaced by a new radius paremeter. The x & y parameters now define the circle center, instead of its top-left corner as it used to be - [issue #1245](py-pdf/fpdf2#1245)
  • FPDF.table() now raises an error when a single row is too high to be rendered on a single page
  • FPDF.write_html(): indentation of HTML elements can now be non-integer (float), and is now independent of font size and bullet strings.
  • improved performance of font glyph selection by using functools cache
  • Clarified usage of the style attribute in FPDF.add_font()

[2.8.0] - 2024-10-04

This version was only uploaded a few minutes on Pypi, and then deleted manually by a maintainer, erroneously fearing a regression.

Version 2.8.1 is exactly similar.

Commits
  • 7784099 v2.8.1
  • f273bd4 v2.8.0
  • 921ad54 Fixing FPDF.circle() parameters (release 2.8.0) (#1248)
  • 4de4a2f Adding documentation on how to use fpdf2 with Rough.js (#1260)
  • 94c937e add bmiklautz as a contributor for doc (#1267)
  • 2abd354 Doc: mention that text() does lack features (#1265) (#1266)
  • 31688e3 [CI fixup] Extending test_intense_image_rendering() unit test test max memory...
  • 90c7d7f Pylint: disabling new rule too-many-positional-arguments
  • f0e4e98 add jhenriquelc as a contributor for doc (#1264)
  • 3e5e783 Clarify FPDF.add_font()'s style parameter accepted values (#1263)
  • Additional commits viewable in compare view

Dependabot compatibility score

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

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/6630 **Author:** [@dependabot[bot]](https://github.com/apps/dependabot) **Created:** 11/1/2024 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `dependabot/pip/backend/dev/fpdf2-2.8.1` --- ### 📝 Commits (1) - [`a3f9209`](https://github.com/open-webui/open-webui/commit/a3f9209db39a57af222cc5ebfc19381b38f7697e) build(deps): bump fpdf2 from 2.7.9 to 2.8.1 in /backend ### 📊 Changes **1 file changed** (+1 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `backend/requirements.txt` (+1 -1) </details> ### 📄 Description Bumps [fpdf2](https://github.com/py-pdf/fpdf2) from 2.7.9 to 2.8.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/py-pdf/fpdf2/releases">fpdf2's releases</a>.</em></p> <blockquote> <h2>FPDF.bezier() to render quadratic and cubic Bézier curves, and many improvements</h2> <p>Note: a temporary 2.8.0 version was released but then erroneously removed on <a href="https://pypi.org/project/fpdf2/">Pypi</a>. Versions 2.8.0 &amp; 2.8.1 are exactly the same.</p> <h3>Added</h3> <ul> <li>support for quadratic and cubic Bézier curves with <a href="https://py-pdf.github.io/fpdf2/fpdf/Shapes.html#fpdf.fpdf.FPDF.bezier"><code>FPDF.bezier()</code></a> - thanks to <a href="https://github.com/awmc000"><code>@​awmc000</code></a></li> <li>support for escape character for markers in markdown text [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1215">#1215</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1215">py-pdf/fpdf2#1215</a>)</li> <li>Wrapping words on spaces now considers all common space symbols in addition to regular spaces (' '), addressing issues with word-wrapping for languages like Thai, as per <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1190">#1190</a> and <a href="https://redirect.github.com/py-pdf/fpdf2/pull/1191">#1191</a>.</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/Templates.html"><code>Templates</code></a> can now be also defined in JSON files.</li> <li>support to optionally set <code>wrapmode</code> in templates (default <code>&quot;WORD&quot;</code> can optionally be set to <code>&quot;CHAR&quot;</code> to support wrapping on characters for scripts like Chinese or Japanese) - <em>cf.</em> <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1159">#1159</a> - thanks to <a href="https://github.com/carlhiggs"><code>@​carlhiggs</code></a></li> <li>documentation on how to use <code>fpdf2</code> with <a href="https://roughjs.com/">Rough.js</a>: <a href="https://py-pdf.github.io/fpdf2/CombineWithRoughJS.html">link to docs</a></li> <li>documentation on how to use <code>fpdf2</code> with <a href="https://gunicorn.org/">gunicorn</a>: <a href="https://py-pdf.github.io/fpdf2/UsageInWebAPI.html#gunicorn">link to docs</a></li> <li>new translation of the tutorial in Türkçe, thanks to <a href="https://github.com/natgho"><code>@​natgho</code></a>: <a href="https://py-pdf.github.io/fpdf2/Tutorial-tr.html">Türkçe</a></li> <li>feature to identify the Unicode script of the input text and break it into fragments when different scripts are used, improving <a href="https://py-pdf.github.io/fpdf2/TextShaping.html">text shaping</a> results</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.image"><code>FPDF.image()</code></a>: now handles <code>keep_aspect_ratio</code> in combination with an enum value provided to <code>x</code></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: now supports CSS page breaks properties : <a href="https://py-pdf.github.io/fpdf2/HTML.html#page-breaks">documentation</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: new optional <code>font_family</code> parameter to set the default font family</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: spacing before lists can now be adjusted via the <code>tag_styles</code> attribute - thanks to <a href="https://github.com/lcgeneralprojects"><code>@​lcgeneralprojects</code></a></li> <li>file names are mentioned in errors when <code>fpdf2</code> fails to parse a SVG image</li> </ul> <h3>Fixed</h3> <ul> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.local_context"><code>FPDF.local_context()</code></a> used to leak styling during page breaks, when rendering <code>footer()</code> &amp; <code>header()</code> - MR: <a href="https://redirect.github.com/py-pdf/fpdf2/pulls/1207">#1207</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/drawing.html#fpdf.drawing.DeviceCMYK"><code>fpdf.drawing.DeviceCMYK</code></a> objects can now be passed to <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_draw_color"><code>FPDF.set_draw_color()</code></a>, <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_fill_color"><code>FPDF.set_fill_color()</code></a> and <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_text_color"><code>FPDF.set_text_color()</code></a> without raising a <code>ValueError</code>: <a href="https://py-pdf.github.io/fpdf2/Text.html#text-formatting">documentation</a>.</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixing rendering of <code>&lt;hr&gt;</code> tags, that do not trigger a page break anymore</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixed automatic page break when an image does not have enough vertical space to be rendered on a page</li> <li>individual <code>/Resources</code> directories are now properly created for each document page. This change ensures better compliance with the PDF specification but results in a slight increase in the size of PDF documents. You can still use the old behavior by setting <code>FPDF().single_resources_object = True</code></li> <li>line size calculation for fragments when <a href="https://py-pdf.github.io/fpdf2/TextShaping.html">text shaping</a> is used</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixed incoherent indentation of long <code>&lt;ul&gt;</code> list entries - <em>cf.</em> [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1073">#1073</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1073">py-pdf/fpdf2#1073</a>) - thanks to <a href="https://github.com/lcgeneralprojects"><code>@​lcgeneralprojects</code></a></li> <li>default values for <code>top_margin</code> and <code>bottom_margin</code> in <code>HTML2FPDF._new_paragraph()</code> calls are now correctly converted into chosen document units.</li> <li>In <a href="https://py-pdf.github.io/fpdf2/extColumns.html">text_columns()</a>, paragraph top/bottom margins didn't correctly trigger column breaks; [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1214">#1214</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1214">py-pdf/fpdf2#1214</a>)</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/drawing.html#fpdf.drawing.color_from_hex_string"><code>fpdf.drawing.color_from_hex_string</code></a> did not test or mention accepting lowercase hex values.</li> <li>handling of bidirectional text on <code>FPDF.get_string_width()</code> [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1231">#1231</a>]</li> <li>new translation of the tutorial in <a href="https://py-pdf.github.io/fpdf2/Tutorial-id.html">Indonesian</a> - thanks to <a href="https://github.com/odhyp"><code>@​odhyp</code></a></li> <li><code>RecursionError</code> in some cases when calling <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a> inside <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.footer"><code>FPDF.footer()</code></a> - [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1222">#1222</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1222">py-pdf/fpdf2#1222</a>)</li> </ul> <h3>Removed</h3> <ul> <li>an obscure and undocumented <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1198">feature</a> of <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>, which used to magically pass instance attributes as arguments.</li> </ul> <h3>Deprecated</h3> <ul> <li><code>fpdf.TitleStyle</code> has been renamed into <a href="https://py-pdf.github.io/fpdf2/fpdf/fonts.html#fpdf.fonts.TextStyle"><code>fpdf.TextStyle</code></a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: <code>tag_indents</code> introduced in the last version - Now the indentation can be provided through the <code>tag_styles</code> parameter, using the <code>.l_margin</code> of <code>TextStyle</code> instances</li> </ul> <h3>Changed</h3> <ul> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.local_context"><code>FPDF.local_context()</code></a> used to treat <code>font_size</code> as a value in points. Now this is the role of <code>font_size_pt</code>, whereas <code>font_size</code> allows to set the font size into chosen document units (specified with <code>FPDF(unit=)</code>) - MR: <a href="https://redirect.github.com/py-pdf/fpdf2/pulls/1207">#1207</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf.html#fpdf.fpdf.FPDF.circle"><code>FPDF.circle()</code></a> : the previous <code>r</code> parameter, that in fact defined the diameter, has been replaced by a new <code>radius</code> paremeter. The <code>x</code> &amp; <code>y</code> parameters now define the circle <strong>center</strong>, instead of its top-left corner as it used to be - [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1245">#1245</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1245">py-pdf/fpdf2#1245</a>)</li> <li><a href="https://py-pdf.github.io/fpdf2/Tables.html"><code>FPDF.table()</code></a> now raises an error when a single row is too high to be rendered on a single page</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: indentation of HTML elements can now be non-integer (float), and is now independent of font size and bullet strings.</li> <li>improved performance of font glyph selection by using functools cache</li> <li>Clarified usage of the <code>style</code> attribute in <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.add_font"><code>FPDF.add_font()</code></a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/py-pdf/fpdf2/blob/master/CHANGELOG.md">fpdf2's changelog</a>.</em></p> <blockquote> <h2>[2.8.1] - 2024-10-04</h2> <h3>Added</h3> <ul> <li>support for quadratic and cubic Bézier curves with <a href="https://py-pdf.github.io/fpdf2/fpdf/Shapes.html#fpdf.fpdf.FPDF.bezier"><code>FPDF.bezier()</code></a> - thanks to <a href="https://github.com/awmc000"><code>@​awmc000</code></a></li> <li>support for escape character for markers in markdown text [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1215">#1215</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1215">py-pdf/fpdf2#1215</a>)</li> <li>Wrapping words on spaces now considers all common space symbols in addition to regular spaces (' '), addressing issues with word-wrapping for languages like Thai, as per <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1190">#1190</a> and <a href="https://redirect.github.com/py-pdf/fpdf2/pull/1191">#1191</a>.</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/Templates.html"><code>Templates</code></a> can now be also defined in JSON files.</li> <li>support to optionally set <code>wrapmode</code> in templates (default <code>&quot;WORD&quot;</code> can optionally be set to <code>&quot;CHAR&quot;</code> to support wrapping on characters for scripts like Chinese or Japanese) - <em>cf.</em> <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1159">#1159</a> - thanks to <a href="https://github.com/carlhiggs"><code>@​carlhiggs</code></a></li> <li>documentation on how to use <code>fpdf2</code> with <a href="https://roughjs.com/">Rough.js</a>: <a href="https://py-pdf.github.io/fpdf2/CombineWithRoughJS.html">link to docs</a></li> <li>documentation on how to use <code>fpdf2</code> with <a href="https://gunicorn.org/">gunicorn</a>: <a href="https://py-pdf.github.io/fpdf2/UsageInWebAPI.html#gunicorn">link to docs</a></li> <li>new translation of the tutorial in Türkçe, thanks to <a href="https://github.com/natgho"><code>@​natgho</code></a>: <a href="https://py-pdf.github.io/fpdf2/Tutorial-tr.html">Türkçe</a></li> <li>feature to identify the Unicode script of the input text and break it into fragments when different scripts are used, improving <a href="https://py-pdf.github.io/fpdf2/TextShaping.html">text shaping</a> results</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.image"><code>FPDF.image()</code></a>: now handles <code>keep_aspect_ratio</code> in combination with an enum value provided to <code>x</code></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: now supports CSS page breaks properties : <a href="https://py-pdf.github.io/fpdf2/HTML.html#page-breaks">documentation</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: new optional <code>font_family</code> parameter to set the default font family</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: spacing before lists can now be adjusted via the <code>tag_styles</code> attribute - thanks to <a href="https://github.com/lcgeneralprojects"><code>@​lcgeneralprojects</code></a></li> <li>file names are mentioned in errors when <code>fpdf2</code> fails to parse a SVG image</li> </ul> <h3>Fixed</h3> <ul> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.local_context"><code>FPDF.local_context()</code></a> used to leak styling during page breaks, when rendering <code>footer()</code> &amp; <code>header()</code> - MR: <a href="https://redirect.github.com/py-pdf/fpdf2/pulls/1207">#1207</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/drawing.html#fpdf.drawing.DeviceCMYK"><code>fpdf.drawing.DeviceCMYK</code></a> objects can now be passed to <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_draw_color"><code>FPDF.set_draw_color()</code></a>, <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_fill_color"><code>FPDF.set_fill_color()</code></a> and <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.set_text_color"><code>FPDF.set_text_color()</code></a> without raising a <code>ValueError</code>: <a href="https://py-pdf.github.io/fpdf2/Text.html#text-formatting">documentation</a>.</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixing rendering of <code>&lt;hr&gt;</code> tags, that do not trigger a page break anymore</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixed automatic page break when an image does not have enough vertical space to be rendered on a page</li> <li>individual <code>/Resources</code> directories are now properly created for each document page. This change ensures better compliance with the PDF specification but results in a slight increase in the size of PDF documents. You can still use the old behavior by setting <code>FPDF().single_resources_object = True</code></li> <li>line size calculation for fragments when <a href="https://py-pdf.github.io/fpdf2/TextShaping.html">text shaping</a> is used</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: fixed incoherent indentation of long <code>&lt;ul&gt;</code> list entries - <em>cf.</em> [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1073">#1073</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1073">py-pdf/fpdf2#1073</a>) - thanks to <a href="https://github.com/lcgeneralprojects"><code>@​lcgeneralprojects</code></a></li> <li>default values for <code>top_margin</code> and <code>bottom_margin</code> in <code>HTML2FPDF._new_paragraph()</code> calls are now correctly converted into chosen document units.</li> <li>In <a href="https://py-pdf.github.io/fpdf2/extColumns.html">text_columns()</a>, paragraph top/bottom margins didn't correctly trigger column breaks; [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1214">#1214</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1214">py-pdf/fpdf2#1214</a>)</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/drawing.html#fpdf.drawing.color_from_hex_string"><code>fpdf.drawing.color_from_hex_string</code></a> did not test or mention accepting lowercase hex values.</li> <li>handling of bidirectional text on <code>FPDF.get_string_width()</code> [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1231">#1231</a>]</li> <li>new translation of the tutorial in <a href="https://py-pdf.github.io/fpdf2/Tutorial-id.html">Indonesian</a> - thanks to <a href="https://github.com/odhyp"><code>@​odhyp</code></a></li> <li><code>RecursionError</code> in some cases when calling <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a> inside <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.footer"><code>FPDF.footer()</code></a> - [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1222">#1222</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1222">py-pdf/fpdf2#1222</a>)</li> </ul> <h3>Removed</h3> <ul> <li>an obscure and undocumented <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1198">feature</a> of <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>, which used to magically pass instance attributes as arguments.</li> </ul> <h3>Deprecated</h3> <ul> <li><code>fpdf.TitleStyle</code> has been renamed into <a href="https://py-pdf.github.io/fpdf2/fpdf/fonts.html#fpdf.fonts.TextStyle"><code>fpdf.TextStyle</code></a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: <code>tag_indents</code> introduced in the last version - Now the indentation can be provided through the <code>tag_styles</code> parameter, using the <code>.l_margin</code> of <code>TextStyle</code> instances</li> </ul> <h3>Changed</h3> <ul> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.local_context"><code>FPDF.local_context()</code></a> used to treat <code>font_size</code> as a value in points. Now this is the role of <code>font_size_pt</code>, whereas <code>font_size</code> allows to set the font size into chosen document units (specified with <code>FPDF(unit=)</code>) - MR: <a href="https://redirect.github.com/py-pdf/fpdf2/pulls/1207">#1207</a></li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf.html#fpdf.fpdf.FPDF.circle"><code>FPDF.circle()</code></a> : the previous <code>r</code> parameter, that in fact defined the diameter, has been replaced by a new <code>radius</code> paremeter. The <code>x</code> &amp; <code>y</code> parameters now define the circle <strong>center</strong>, instead of its top-left corner as it used to be - [issue <a href="https://redirect.github.com/py-pdf/fpdf2/issues/1245">#1245</a>](<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1245">py-pdf/fpdf2#1245</a>)</li> <li><a href="https://py-pdf.github.io/fpdf2/Tables.html"><code>FPDF.table()</code></a> now raises an error when a single row is too high to be rendered on a single page</li> <li><a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.write_html"><code>FPDF.write_html()</code></a>: indentation of HTML elements can now be non-integer (float), and is now independent of font size and bullet strings.</li> <li>improved performance of font glyph selection by using functools cache</li> <li>Clarified usage of the <code>style</code> attribute in <a href="https://py-pdf.github.io/fpdf2/fpdf/fpdf.html#fpdf.fpdf.FPDF.add_font"><code>FPDF.add_font()</code></a></li> </ul> <h2>[2.8.0] - 2024-10-04</h2> <p>This version was only uploaded a few minutes on <a href="https://pypi.org/">Pypi</a>, and then deleted manually by a maintainer, erroneously fearing a regression.</p> <p>Version 2.8.1 is exactly similar.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/py-pdf/fpdf2/commit/7784099dadeec551aa78511c06a6d7f525428265"><code>7784099</code></a> v2.8.1</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/f273bd4e9ab78a6a7bb391b865cbe75f4d4552ff"><code>f273bd4</code></a> v2.8.0</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/921ad544aa6b526e7e55f84b12b58f3e304b02a8"><code>921ad54</code></a> Fixing FPDF.circle() parameters (release 2.8.0) (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1248">#1248</a>)</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/4de4a2f60924a830130cd2492de953a68993b212"><code>4de4a2f</code></a> Adding documentation on how to use fpdf2 with Rough.js (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1260">#1260</a>)</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/94c937e153ab6370ad626cc0d3de1a6d16510c75"><code>94c937e</code></a> add bmiklautz as a contributor for doc (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1267">#1267</a>)</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/2abd354291c64659121ab0a688f2542f63cffd5f"><code>2abd354</code></a> Doc: mention that text() does lack features (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1265">#1265</a>) (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1266">#1266</a>)</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/31688e353e1318037d1c093c886be99f88b5a511"><code>31688e3</code></a> [CI fixup] Extending test_intense_image_rendering() unit test test max memory...</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/90c7d7f8780ff524a469fb7deff4dffb88be3a5f"><code>90c7d7f</code></a> Pylint: disabling new rule too-many-positional-arguments</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/f0e4e98410dc6f0e599f73944751f60cc932df7f"><code>f0e4e98</code></a> add jhenriquelc as a contributor for doc (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1264">#1264</a>)</li> <li><a href="https://github.com/py-pdf/fpdf2/commit/3e5e783b46855d381a1475e7b0bfa05a22af0f70"><code>3e5e783</code></a> Clarify <code>FPDF.add_font()</code>'s <code>style</code> parameter accepted values (<a href="https://redirect.github.com/py-pdf/fpdf2/issues/1263">#1263</a>)</li> <li>Additional commits viewable in <a href="https://github.com/py-pdf/fpdf2/compare/2.7.9...2.8.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=fpdf2&package-manager=pip&previous-version=2.7.9&new-version=2.8.1)](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> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-29 19:15:02 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#44971