tag:github.com,2008:https://github.com/alam00000/bentopdf/releases Release notes from bentopdf 2026-08-29T09:17:42Z tag:github.com,2008:Repository/1074785178/v2.8.8 2026-08-29T10:53:49Z Text Editing In BentoPDF! and many more - v2.8.8 <h2>Dad Joke Of the Release</h2> <p>What do you call a bee that can't make up its mind? A maybe 🤣</p> <h1>The Biggest Release of BentoPDF yet!</h1> <p><strong>This is the biggest release of BentoPDF</strong>. BentoPDF can now edit text, image, shapes in BentoPDF and there are two new engines <strong>Kura</strong> and <strong>Hyper Compress</strong>. Detailed Explanation is below.</p> <h2>PDF Text Editing</h2> <p>BentoPDF can now edit the actual text inside a PDF. You can click any paragraph and type. Text reflows live, fonts and styling are preserved, and everything runs entirely in your browser, as always.</p> <ul> <li><strong>Edit in place</strong> with live reflow, real font matching, and word wrap that follows the original layout</li> <li><strong>Full styling</strong>: bold, italic, underline, strikethrough, superscript, subscript, font family and size, text colour, outline colour and width, character and line spacing</li> <li><strong>Paragraph control</strong>: left / centre / right / justify alignment, bulleted and numbered lists with indent levels, and left-to-right and right-to-left text</li> <li><strong>Find &amp; replace</strong> across the document, plus <strong>spell-check</strong> with a personal dictionary and per-language switching</li> <li><strong>Images</strong>: add, replace in place, or export a PNG, edit it in any app, and have your saved changes re import automatically</li> <li><strong>Objects</strong>: align, distribute, rotate, flip, duplicate, and reorder front to back. Even commercial software like Apryse and Nutrient do not support this</li> <li><strong>Accessibility</strong>: alt text for tagged PDFs, and reading-order text export</li> <li>Undo / redo, document properties, page navigation, zoom presets</li> </ul> <p>This was arguably the hardest feature I had built so far. Given the complex nature of PDFs and the different ways it can be produced, you might encounter certain bugs.</p> <h3>Note</h3> <p>Local fonts access is only available on chromium based browsers such as Chrome and Edge. Other browsers have a limitation of not having the font access API.</p> <h1>Hyper Compress is the best open source PDF compression engine</h1> <p><a href="https://hyper.bentopdf.com" rel="nofollow">hyper.bentopdf.com</a> · <a href="https://github.com/alam00000/bentopdf-hyper-compress">github.com/alam00000/bentopdf-hyper-compress</a></p> <p>Hyper is a High fidelity, content preserving PDF compressor that preserves PDF conformance.</p> <ul> <li><strong>Monotonic</strong>: Hyper never returns a larger file. If compression does not save space, you get the original back untouched. This makes it useful for workflows so you can have a predicctable output.</li> <li><strong>True lossless mode</strong>, with no quality loss</li> <li><strong>Verified output</strong>: transformations that can affect visual fidelity are checked and rolled back when a page cannot be reproduced faithfully. <strong>0.39% corruption rate, the lowest of any engine measured</strong></li> <li><strong>Benchmarked</strong> against Ghostscript, MuPDF and qpdf across 2,104 real-world PDFs and 27,352 engine runs, with fidelity measured by an independent renderer:</li> </ul> <table> <thead> <tr> <th>Tier</th> <th>Hyper</th> <th>Ghostscript</th> <th>MuPDF</th> <th>qpdf</th> </tr> </thead> <tbody> <tr> <td>Lossless</td> <td><strong>22.4% @ SSIM 1.000</strong></td> <td>21.1% @ 0.997</td> <td>4.7% @ 1.000</td> <td>6.3% @ 1.000</td> </tr> <tr> <td>300 dpi</td> <td><strong>52.3% @ 1.000</strong></td> <td>19.1% @ 0.996</td> <td>14.0% @ 1.000</td> <td>n/a</td> </tr> <tr> <td>150 dpi</td> <td><strong>58.2% @ 0.999</strong></td> <td>42.4% @ 0.994</td> <td>19.4% @ 1.000</td> <td>n/a</td> </tr> <tr> <td>72 dpi</td> <td><strong>64.8% @ 0.996</strong></td> <td>53.9% @ 0.990</td> <td>28.0% @ 0.999</td> <td>n/a</td> </tr> </tbody> </table> <ul> <li>Ships as a CLI, Node SDK, C API, self-hosted service, and a WebAssembly build for the browser</li> </ul> <h2>Kura is a PDF standards and preflight engine</h2> <p><a href="https://kura.bentopdf.com" rel="nofollow">kura.bentopdf.com</a> · <a href="https://github.com/alam00000/bentopdf-kura">github.com/alam00000/bentopdf-kura</a></p> <p>Kura turns everyday PDFs into archival, print and accessible ones, from a single engine.</p> <ul> <li><strong>Supports every standard</strong>: all 11 PDF/A levels, PDF/UA-1 and UA-2, PDF/X-1a through X-6, PDF/E-1 and PDF/VT, plus Factur-X, ZUGFeRD, XRechnung and Order-X e-invoices</li> <li><strong>Print preflight built in</strong>: 396 bundled profiles covering hairlines, rich black, image resolution, overprint, transparency, page boxes, fonts and colour, with repairs where a repair exists, and your own profiles in JSON or the XML dialect you already use</li> <li><strong>Validates clean</strong>: 0 red on the veraPDF corpus, Isartor 204/204, BFO 34/34, Ghent Output Suite 5.0 69/69, PDF/UA Reference Suite 10/10, Cal Poly PDF/VT 24/24</li> <li><strong>Proven on real files</strong>: 30,677 real-world PDFs converted, <strong>zero crashes</strong>, zero timeouts, 0.05 s median</li> <li>Also Ships as a CLI, C library, npm package, Docker image, and a WebAssembly build that runs entirely in the browser</li> </ul> <h3>Note</h3> <p>Both Kura and Hyper are not yet integrated into BentoPDF. I need to do some further tests and optimizations after which they will be ready to be integrated. However they are stable and you can try them out</p> <h2>🐛 Bug Fixes</h2> <ol> <li>Webpage strings fail to render on self-hosted simple version on some browsers <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5132733781" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/833" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/833/hovercard" href="https://github.com/alam00000/bentopdf/issues/833">#833</a></li> <li>Service Worker not precaching assets <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5118539169" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/830" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/830/hovercard" href="https://github.com/alam00000/bentopdf/issues/830">#830</a></li> <li>PDF To Tiff OOM bug <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5115138496" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/829" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/829/hovercard" href="https://github.com/alam00000/bentopdf/issues/829">#829</a></li> <li>Bug In PDF commenting where the cursor moved to EOL <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5001949463" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/809" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/809/hovercard" href="https://github.com/alam00000/bentopdf/issues/809">#809</a></li> <li>URL redirection issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4944161520" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/796" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/796/hovercard" href="https://github.com/alam00000/bentopdf/issues/796">#796</a></li> <li>WASM Initialization timeout error <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3766071371" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/324" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/324/hovercard" href="https://github.com/alam00000/bentopdf/issues/324">#324</a></li> </ol> <h2>New Features &amp; Improvements</h2> <ol> <li>Author names can now be changed in PDF Editor - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4397030231" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/707" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/707/hovercard" href="https://github.com/alam00000/bentopdf/issues/707">#707</a></li> <li>Github API Call is optional - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3729402066" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/269" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/269/hovercard" href="https://github.com/alam00000/bentopdf/issues/269">#269</a></li> <li>Korean, CJK, Indic and other Non Latin Texts were not supported in PDF Editor when added as text. this has now been fixed. Also the text is now written into the content stream, its searchable and selectable . - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3828293519" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/404" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/404/hovercard" href="https://github.com/alam00000/bentopdf/issues/404">#404</a></li> <li>BentoPDF live website now has removed Simple Analytics. It used to track anonymous visit count only. But as a pledge to complete privacy both BentoPDF live website and self hosted tools have 0 analytics.</li> <li>New Duplex sort tool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r0ckarong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r0ckarong">@r0ckarong</a> - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4674925997" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/752" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/752/hovercard" href="https://github.com/alam00000/bentopdf/pull/752">#752</a> ❤️</li> <li>A polyfill fix for pdf.js which caused rendering crashes in older browsers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mvanhorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mvanhorn">@mvanhorn</a> - <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936576675" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/795" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/795/hovercard" href="https://github.com/alam00000/bentopdf/pull/795">#795</a> ❤️</li> <li>Translations and other fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PeterDaveHello/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PeterDaveHello">@PeterDaveHello</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> ❤️</li> </ol> <h2>What's More</h2> <ul> <li>build(deps): bump dompurify from 3.4.11 to 3.4.12 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4985446801" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/805" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/805/hovercard" href="https://github.com/alam00000/bentopdf/pull/805">#805</a></li> <li>build(deps): bump PDF engine and viewer to 7ffa16f9c5cd by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5212859387" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/838" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/838/hovercard" href="https://github.com/alam00000/bentopdf/pull/838">#838</a></li> <li>Fix broken star history chart in README by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OctoBored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OctoBored">@OctoBored</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5168965065" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/835" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/835/hovercard" href="https://github.com/alam00000/bentopdf/pull/835">#835</a> ❤️</li> <li>Update nl/tools.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5096297172" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/824" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/824/hovercard" href="https://github.com/alam00000/bentopdf/pull/824">#824</a> ❤️</li> <li>build(deps): bump postcss from 8.5.16 to 8.5.26 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5095983468" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/823" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/823/hovercard" href="https://github.com/alam00000/bentopdf/pull/823">#823</a></li> <li>build(deps): bump nanoid from 3.3.15 to 3.3.18 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5126386478" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/832" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/832/hovercard" href="https://github.com/alam00000/bentopdf/pull/832">#832</a></li> <li>build(deps): bump mermaid from 11.16.0 to 11.16.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5095981876" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/821" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/821/hovercard" href="https://github.com/alam00000/bentopdf/pull/821">#821</a></li> <li>build(deps-dev): bump brace-expansion from 2.1.2 to 2.1.4 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5095982639" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/822" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/822/hovercard" href="https://github.com/alam00000/bentopdf/pull/822">#822</a></li> <li>Correct grammar, wording, branding, and metadata inconsistencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PeterDaveHello/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PeterDaveHello">@PeterDaveHello</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4903411487" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/790" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/790/hovercard" href="https://github.com/alam00000/bentopdf/pull/790">#790</a> ❤️</li> <li>fix: polyfill Map.prototype.getOrInsertComputed to stop PDF.js render crash by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mvanhorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mvanhorn">@mvanhorn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936576675" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/795" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/795/hovercard" href="https://github.com/alam00000/bentopdf/pull/795">#795</a></li> <li>build(deps): bump PDF engine and viewer to b9854c1098fc by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5234534578" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/841" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/841/hovercard" href="https://github.com/alam00000/bentopdf/pull/841">#841</a></li> <li>(Feature) Add Duplex sort / collate documents (Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3694913009" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/220" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/220/hovercard" href="https://github.com/alam00000/bentopdf/issues/220">#220</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r0ckarong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r0ckarong">@r0ckarong</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4674925997" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/752" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/752/hovercard" href="https://github.com/alam00000/bentopdf/pull/752">#752</a></li> <li>build(deps): bump PDF engine and viewer to f48637921bf4 by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5242116998" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/843" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/843/hovercard" href="https://github.com/alam00000/bentopdf/pull/843">#843</a></li> <li>build(deps): bump PDF engine and viewer to 8ff5002c6cd5 by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5244901365" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/844" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/844/hovercard" href="https://github.com/alam00000/bentopdf/pull/844">#844</a></li> </ul> <h2>New Contributors</h2> <ul> <li>@github-actions[bot] made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5212859387" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/838" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/838/hovercard" href="https://github.com/alam00000/bentopdf/pull/838">#838</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OctoBored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OctoBored">@OctoBored</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5168965065" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/835" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/835/hovercard" href="https://github.com/alam00000/bentopdf/pull/835">#835</a> ❤️</li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mvanhorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mvanhorn">@mvanhorn</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4936576675" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/795" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/795/hovercard" href="https://github.com/alam00000/bentopdf/pull/795">#795</a> ❤️</li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r0ckarong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r0ckarong">@r0ckarong</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4674925997" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/752" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/752/hovercard" href="https://github.com/alam00000/bentopdf/pull/752">#752</a> ❤️</li> </ul> <h2>A Note From Dev</h2> <p>Thank you so much for your continued support of BentoPDF. ❤️</p> <p>Unfortunately, I broke my hand a couple of weeks ago, so this release was originally planned to include several more features, including Measurement, an Acrobat Parity Comparison Tool, Print Production, and Accessibility. I wasn't able to get them ready in time, but once I'm fully recovered, I'll be working on bringing them to BentoPDF as soon as possible.</p> <p>I really look forward to hearing what you think of this release! If you run into any bugs or issues, please don't hesitate to report them.</p> <p>Have a wonderful weekend, and thank you again for all your support! ❤️</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.7...v2.8.8"><tt>v2.8.7...v2.8.8</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.7 2026-07-27T08:01:25Z CVE Fixes - v2.8.7 <div class="markdown-alert markdown-alert-warning"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p>This release addresses security vulnerabilities (<code>GHSA-wh78-rcw2-hhg9</code>, <code>GHSA-5xjf-rr5x-pcfj</code>, <code>GHSA-cx8x-7rrr-r9x8</code>) affecting all versions up to and including <strong>v2.8.6</strong>.<br> <strong>All users are strongly advised to upgrade to v2.8.7 immediately.</strong></p> <p>Full technical details will be published after the coordinated-disclosure window has passed.</p> </div> <p>With thanks to <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thefoulowl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thefoulowl">@thefoulowl</a></strong>, <strong>@alhamrizvi-cloud</strong>, and <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/de3erve-hunter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/de3erve-hunter">@de3erve-hunter</a></strong> for responsibly disclosing these. ❤️</p> <h2>A note from the maintainer</h2> <p>I genuinely appreciate people taking the time to look into BentoPDF's security with thoughtful reports that make the project better, and improve the project's security.</p> <p>But having said that, there has been a big problem. Since LLMs became widely available, a large share of incoming security reports are low effort, machine generated submissions describing, at best, minor bugs, not vulnerabilities, and certainly not CVEs. In one such instance, I received <strong>over twenty such "CVE" reports from three different accounts within about thirty minutes</strong> which is of course not humanly possible to write with detail in such a short stretch. But none of which held up, and all of which were clearly LLM generated. Reviewing each of them carefully still took me a week</p> <p>I'm not against using AI to assist research; used judiciously, it's a great tool. But I won't spend time reviewing reports or even PRs whose authors haven't first read the actual code, tested against <code>main</code>, and confirmed the issue is real. If you file a report, please make sure you've done at least that. Genuine, verified findings will always be welcomed and credited.</p> <h2>Also Coming next in next release!</h2> <p>The next release of BentoPDF will be the biggest one yet:</p> <ul> <li><strong>Real in-app PDF text editing</strong> . The testing is complete.</li> <li><strong>A new hyper-compression engine.</strong>. Available via CLI or in the browser</li> <li><strong>Kura</strong>, a new PDF/A engine covering twenty conversion targets across every published archival and production PDF standard: <ul> <li><strong>PDF/A</strong> — all eleven levels: 1b/1a, 2b/2u/2a, 3b/3u/3a, 4/4f/4e</li> <li><strong>PDF/UA</strong> — accessibility (UA-1 and UA-2), layered onto any PDF/A level</li> <li><strong>PDF/X</strong> — print production: X-1a, X-3, X-4, X-6, with real ICC-based RGB→CMYK conversion</li> <li><strong>PDF/E</strong> and <strong>PDF/VT</strong> — engineering documents and variable/transactional print</li> <li><strong>Factur-X / ZUGFeRD</strong> electronic invoices</li> </ul> </li> </ul> <p>Kura will also be available via CLI or in the browser (via WASM)</p> <p>With this shipped, I'll also have more time to review code and PRs actively again.</p> <h2>What's Changed</h2> <ul> <li>build(deps): bump linkify-it from 5.0.0 to 5.0.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4761332287" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/768" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/768/hovercard" href="https://github.com/alam00000/bentopdf/pull/768">#768</a></li> <li>Update and improve zh-TW Traditional Chinese locale by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PeterDaveHello/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PeterDaveHello">@PeterDaveHello</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4875409572" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/785" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/785/hovercard" href="https://github.com/alam00000/bentopdf/pull/785">#785</a></li> <li>build(deps): bump linkify-it from 5.0.1 to 5.0.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971147361" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/802" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/802/hovercard" href="https://github.com/alam00000/bentopdf/pull/802">#802</a></li> <li>build(deps-dev): bump undici from 7.24.5 to 7.29.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4968631325" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/801" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/801/hovercard" href="https://github.com/alam00000/bentopdf/pull/801">#801</a></li> <li>build(deps-dev): bump brace-expansion from 2.0.3 to 2.1.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4935250848" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/794" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/794/hovercard" href="https://github.com/alam00000/bentopdf/pull/794">#794</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PeterDaveHello/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PeterDaveHello">@PeterDaveHello</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4875409572" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/785" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/785/hovercard" href="https://github.com/alam00000/bentopdf/pull/785">#785</a> ❤️</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.6...v2.8.7"><tt>v2.8.6...v2.8.7</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.6 2026-06-28T06:51:02Z v2.8.6 <h2>A note</h2> <p>Hey everyone! Hope you are well.</p> <p>The past few weeks I've been working on reducing BentoPDF's third-party library dependencies. Going forward, the core PDF stack will be just three libraries: pdf-lib.js, qpdf, and PDFium. Progress has been solid so far.</p> <p>I also fell deep into a rabbit hole with PDF compression, and I think I've landed something genuinely interesting: better raw compression than Ghostscript, while preserving PDF fidelity. I'll be open sourcing it soon after more testing, and it'll become BentoPDF's core compression engine.<br> More updates coming shortly!</p> <h2>What's Changed</h2> <h2>1. <strong>Multi-tool: drag-and-drop for PDFs and images.</strong></h2> <ul> <li>The PDF multi-tool now accepts both PDF and image files via drag-and-drop</li> </ul> <h2>2. Split PDF Refactor</h2> <ul> <li> <p>This fixes a long-standing size problem: when a PDF shared resources (fonts/images) across pages, extracting just a few pages could produce a file nearly as large as the original.</p> </li> <li> <p>The single "Download as ZIP" checkbox conflated <em>what</em> you get with <em>how</em> it is packaged. It is replaced by a clear choice: <strong>Single combined PDF</strong> vs <strong>One PDF per range/page</strong> and ZIP packaging is now applied automatically whenever more than one file is produced.</p> </li> </ul> <h2>What's More</h2> <ul> <li>fix(md to pdf): restore mermaid flowchart node labels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588273476" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/738" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/738/hovercard" href="https://github.com/alam00000/bentopdf/issues/738">#738</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mondeep31/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mondeep31">@mondeep31</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588465881" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/739" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/739/hovercard" href="https://github.com/alam00000/bentopdf/pull/739">#739</a> ❤️</li> <li>chore(i18n): add Slovak language by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marek-mraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marek-mraz">@marek-mraz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581753886" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/737" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/737/hovercard" href="https://github.com/alam00000/bentopdf/pull/737">#737</a> ❤️</li> <li>build(deps-dev): bump vite from 8.0.9 to 8.0.10 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507336128" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/730" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/730/hovercard" href="https://github.com/alam00000/bentopdf/pull/730">#730</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mondeep31/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mondeep31">@mondeep31</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588465881" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/739" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/739/hovercard" href="https://github.com/alam00000/bentopdf/pull/739">#739</a> ❤️</li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marek-mraz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marek-mraz">@marek-mraz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581753886" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/737" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/737/hovercard" href="https://github.com/alam00000/bentopdf/pull/737">#737</a> ❤️</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.5...v2.8.6"><tt>v2.8.5...v2.8.6</tt></a></p> <p>Thank you for using BentoPDF. Going forward there will be a lot of new changes and interesting features that have been lined up. Have a great weekend! ❤️</p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.5 2026-05-23T10:14:06Z Bug Fixes - v2.8.5 <h2>Dad Joke Of the Release</h2> <p>What's the easiest building to lift? A lighthouse 🤣</p> <p>(This release is later than I would have liked. The past few weeks I've been under the weather and pretty burnt out, so v2.8.5 sat finished for longer than it should have. Thanks for being patient ❤️)</p> <h2>What's Changed</h2> <h2>1. Custom Rotate</h2> <ul> <li>Improved angle input handling, rotation utilities, and a smoother UX for fine-grained rotation. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quhxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quhxl">@quhxl</a> for the contribution.</li> </ul> <h2>2. Alternate &amp; Mix Pages</h2> <ul> <li>Alternate and mix pages are now in workflow builder. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317082100" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/684" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/684/hovercard" href="https://github.com/alam00000/bentopdf/issues/684">#684</a></li> </ul> <h2>3. Helm Chart Auto Update</h2> <ul> <li>Helm chart version now auto updates with each release. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4310638098" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/680" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/680/hovercard" href="https://github.com/alam00000/bentopdf/issues/680">#680</a></li> </ul> <h2>4. New Option in Merge</h2> <ul> <li>By default merge tool used to keep Keep original page labels from each file intact. Now users have the option to opt out from it via a checkbox. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4296487737" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/676" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/676/hovercard" href="https://github.com/alam00000/bentopdf/issues/676">#676</a></li> </ul> <h2>Bug Fixes 🐛</h2> <ul> <li> <p><strong>OCR Arabic + Latin</strong> — Fixed mixed Arabic and Latin OCR output where English text appeared as empty boxes when run alongside Arabic. Dual font loading now covers any non Latin script combined with Latin. Also fixes the bug in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461042328" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/724" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/724/hovercard" href="https://github.com/alam00000/bentopdf/issues/724">#724</a></p> </li> <li> <p><strong>HEIC in workflow</strong> — HEIC images are now correctly accepted in the image to pdf workflow node. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4387680914" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/703" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/703/hovercard" href="https://github.com/alam00000/bentopdf/issues/703">#703</a></p> </li> <li> <p><strong>Email parsing reliability</strong> — MsgReader CJS/ESM interop fix for <code>.msg</code> files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375262566" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/701" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/701/hovercard" href="https://github.com/alam00000/bentopdf/issues/701">#701</a></p> </li> <li> <p><strong>Sign PDF signature editor width</strong> — Editor now fills the full available width like the rest of the tool. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4239122965" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/653" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/653/hovercard" href="https://github.com/alam00000/bentopdf/issues/653">#653</a></p> </li> <li> <p><strong>PDF Compare export issue</strong> - Now export correctly filters out instead of showing all the changes in exported PDF. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252631440" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/655" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/655/hovercard" href="https://github.com/alam00000/bentopdf/issues/655">#655</a></p> </li> <li> <p><em>RFC 3161 error</em> - Now users can correctly timestamp using RFC 3161. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231520918" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/649" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/649/hovercard" href="https://github.com/alam00000/bentopdf/issues/649">#649</a></p> </li> <li> <p><strong>.mjs MIME errors on self-hosted nginx</strong> — Vite now emits <code>.js</code> instead of <code>.mjs</code> for built assets, so PDFs no longer fail to load on self-hosted setups whose <code>mime.types</code> doesn't include a <code>.mjs → application/javascript</code> mapping. Fixes the failures reported by users on the Proxmox helper script.</p> </li> </ul> <h3>A note on canonicals</h3> <p>A lot of BentoPDF users come to and use bentopdf.com directly since the whole thing runs in the browser. Over the past few months I've received complaints from people who searched for BentoPDF and ended up on someone else's self hosted instance instead of the main site. Sometimes that worked out, but more often it confused users and put unwanted traffic on a self hoster who never asked for it.</p> <p>To address this, canonical URLs, hreflang, and the sitemap now default to bentopdf.com unless explicitly overridden. This only affects deployments that are exposed to the public internet. Internal and private self-hosted instances (anyone running with <code>ROBOTS_NOINDEX=true</code>) are unaffected, since search engines were never indexing those pages to begin with.</p> <p>The change fixes three things at once:</p> <ol> <li><strong>Self-hosters keep their bandwidth.</strong> Public-facing self-hosted instances no longer absorb search traffic from people who were actually looking for bentopdf.com.</li> <li><strong>Users land on the right site.</strong> Search results for "BentoPDF" reliably point to bentopdf.com instead of a randomly indexed mirror.</li> <li><strong>Self-hosters who want their own canonical can still claim it.</strong> Build with <code>--build-arg SITE_URL=https://your-domain.com</code> and canonicals, sitemap, and hreflang all point at your domain. Documented in <a href="https://github.com/alam00000/bentopdf/blob/main/STATIC-HOSTING.md#run-your-own-seo-instance-claim-canonical-for-yourself">STATIC-HOSTING.md</a>.</li> </ol> <h3>Self-Hosting Docs</h3> <p>The <code>bentopdf-simple</code> was meant to be used for self hosting, while the <code>bentopdf</code> image is used on our live site. But unfortunately many users still run the <code>bentopdf</code> build</p> <ul> <li><strong>Self-Hosted vs Commercial builds</strong> — Docs now clearly distinguish the <code>bentopdf-simple</code> (Self-Hosted) and <code>bentopdf</code> (Commercial) builds across the README, getting-started, docker.md, and self-hosting/index.md. Self Hosted is the recommended default; the existing Commercial path is unchanged.</li> <li><strong>New "Common Issues" troubleshooting section</strong> — Added <code>.mjs</code> MIME entries and SharedArrayBuffer / COEP-COOP entries to the self-hosting docs, with platform-specific snippets for nginx, Apache, AWS S3, and Kubernetes.</li> </ul> <h3>Looking ahead: a bundled self-host build</h3> <p>Something I'm looking into: bringing back a fully bundled self host image like earlier versions had. The current setup pulls the heavy AGPL libraries (PyMuPDF, Ghostscript, CoherentPDF) from jsDelivr at runtime, which works but is sometimes cumbersome for self hosters to manage. Packaging this cleanly under the dual license takes some thought, so no timeline yet. But for the self hosters who've asked about it, it's on my mind and I am working on it so there's no friction going forward.</p> <h2>A note from the developer</h2> <p>Translations across the 19 locales are still automated through Microsoft Translator for the bulk passes. Native-speaker corrections like the ones <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> keeps catching are the only thing keeping short-string quality high. A Crowdin or Weblate workflow is on the roadmap so corrections reach a reviewer before they ship. Until then, if you read any of the supported languages and spot something off, a PR or even a quick issue is genuinely appreciated.</p> <h2>By the Community</h2> <ul> <li>build(deps-dev): bump vite from 8.0.5 to 8.0.6 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288443425" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/669" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/669/hovercard" href="https://github.com/alam00000/bentopdf/pull/669">#669</a></li> <li>build(deps): bump i18next-http-backend from 3.0.2 to 3.0.5 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4311007480" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/681" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/681/hovercard" href="https://github.com/alam00000/bentopdf/pull/681">#681</a></li> <li>build(deps): bump postcss from 8.5.8 to 8.5.12 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348426527" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/692" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/692/hovercard" href="https://github.com/alam00000/bentopdf/pull/692">#692</a></li> <li>Update tools.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371515822" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/700" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/700/hovercard" href="https://github.com/alam00000/bentopdf/pull/700">#700</a> ❤️</li> <li>build(deps-dev): bump vite from 8.0.6 to 8.0.7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371351086" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/696" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/696/hovercard" href="https://github.com/alam00000/bentopdf/pull/696">#696</a></li> <li>Update common.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371499030" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/699" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/699/hovercard" href="https://github.com/alam00000/bentopdf/pull/699">#699</a></li> <li>Refactor modals into partials and add missing i18n keys for settings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skillkiller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skillkiller">@Skillkiller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264446648" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/658" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/658/hovercard" href="https://github.com/alam00000/bentopdf/pull/658">#658</a> ❤️</li> <li>Localize status messages and UI elements across various tools by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skillkiller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skillkiller">@Skillkiller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4277206045" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/664" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/664/hovercard" href="https://github.com/alam00000/bentopdf/pull/664">#664</a> ❤️</li> <li>build(deps-dev): bump vite from 8.0.7 to 8.0.8 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4393459232" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/705" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/705/hovercard" href="https://github.com/alam00000/bentopdf/pull/705">#705</a></li> <li>build(deps): bump postcss from 8.5.12 to 8.5.13 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371351677" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/698" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/698/hovercard" href="https://github.com/alam00000/bentopdf/pull/698">#698</a></li> <li>Feature/improve custom rotate by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quhxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quhxl">@quhxl</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4200562921" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/631" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/631/hovercard" href="https://github.com/alam00000/bentopdf/pull/631">#631</a></li> <li>build(deps): bump fast-xml-builder from 1.1.5 to 1.2.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408964587" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/711" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/711/hovercard" href="https://github.com/alam00000/bentopdf/pull/711">#711</a></li> <li>build(deps): bump devalue from 5.6.4 to 5.8.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4449471981" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/720" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/720/hovercard" href="https://github.com/alam00000/bentopdf/pull/720">#720</a></li> <li>build(deps): bump svelte from 5.54.1 to 5.55.7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4449529770" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/721" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/721/hovercard" href="https://github.com/alam00000/bentopdf/pull/721">#721</a></li> <li>build(deps): bump mermaid from 11.13.0 to 11.15.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424823888" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/713" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/713/hovercard" href="https://github.com/alam00000/bentopdf/pull/713">#713</a></li> <li>build(deps-dev): bump vite from 8.0.8 to 8.0.9 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408966573" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/712" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/712/hovercard" href="https://github.com/alam00000/bentopdf/pull/712">#712</a></li> <li>Update tools.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4443695086" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/718" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/718/hovercard" href="https://github.com/alam00000/bentopdf/pull/718">#718</a> ❤️</li> <li>build(deps): bump i18next-http-backend from 3.0.5 to 3.0.6 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371351461" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/697" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/697/hovercard" href="https://github.com/alam00000/bentopdf/pull/697">#697</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quhxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quhxl">@quhxl</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4200562921" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/631" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/631/hovercard" href="https://github.com/alam00000/bentopdf/pull/631">#631</a> ❤️</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.4...v2.8.5"><tt>v2.8.4...v2.8.5</tt></a></p> <p>That's it for now. Thank you for using BentoPDF. Have a great weekend! ❤️</p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.4 2026-04-21T14:14:33Z v2.8.4 <p>This release fixes the CSP errors introduced in v2.8.3<br> Fixes: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290390921" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/671" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/671/hovercard" href="https://github.com/alam00000/bentopdf/issues/671">#671</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288817843" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/670" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/670/hovercard" href="https://github.com/alam00000/bentopdf/issues/670">#670</a></p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.3...v2.8.4"><tt>v2.8.3...v2.8.4</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.3 2026-04-18T16:19:49Z CVE Fix - v2.8.3 <div class="markdown-alert markdown-alert-warning"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p>This release addresses the security vulnerability <code>GHSA-6vh8-4frx-647f </code> which affects all versions including and prior to v2.8.2.<br> All users of BentoPDF are recommended to upgrade <strong>immediately</strong> to the latest version 2.8.3</p> </div> <h2>A note of thanks</h2> <p>A huge thank you to <a href="https://github.com/Astaruf">@Astaruf</a> for discovering this vulnerability and reporting it to us through responsible disclosure. Independent security researchers like Lorenzo are what keep open source software trustworthy, and we are genuinely grateful for the care and professionalism shown throughout the process. This is exactly how coordinated vulnerability disclosure should work, and BentoPDF is safer today because of it. Thank you. ❤️</p> <h2>What's Changed</h2> <ul> <li>Update common.json - Dutch language by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213848870" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/641" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/641/hovercard" href="https://github.com/alam00000/bentopdf/pull/641">#641</a></li> <li>build(deps-dev): bump vite from 7.3.1 to 7.3.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214333138" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/642" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/642/hovercard" href="https://github.com/alam00000/bentopdf/pull/642">#642</a></li> <li>static.yml: fix static workflow regression from commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/alam00000/bentopdf/commit/1fc962082ae1f2d96355fdaa2a818488f4697d5a/hovercard" href="https://github.com/alam00000/bentopdf/commit/1fc962082ae1f2d96355fdaa2a818488f4697d5a"><tt>1fc9620</tt></a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ntfreak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ntfreak">@ntfreak</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4227678079" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/648" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/648/hovercard" href="https://github.com/alam00000/bentopdf/pull/648">#648</a></li> <li>build(deps): bump dompurify from 3.3.3 to 3.4.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4273101144" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/660" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/660/hovercard" href="https://github.com/alam00000/bentopdf/pull/660">#660</a></li> <li>Added Ukrainian translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SerhiiZahuba/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SerhiiZahuba">@SerhiiZahuba</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198908766" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/628" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/628/hovercard" href="https://github.com/alam00000/bentopdf/pull/628">#628</a></li> <li>Add Japanese translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tkymmm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tkymmm">@tkymmm</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237872321" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/650" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/650/hovercard" href="https://github.com/alam00000/bentopdf/pull/650">#650</a></li> <li>Belarusian translation update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavel-miniutka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavel-miniutka">@pavel-miniutka</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4282219964" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/666" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/666/hovercard" href="https://github.com/alam00000/bentopdf/pull/666">#666</a></li> <li>build(deps-dev): bump vite from 7.3.2 to 8.0.5 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216229270" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/643" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/643/hovercard" href="https://github.com/alam00000/bentopdf/pull/643">#643</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ntfreak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ntfreak">@ntfreak</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4227678079" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/648" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/648/hovercard" href="https://github.com/alam00000/bentopdf/pull/648">#648</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SerhiiZahuba/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SerhiiZahuba">@SerhiiZahuba</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198908766" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/628" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/628/hovercard" href="https://github.com/alam00000/bentopdf/pull/628">#628</a></li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tkymmm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tkymmm">@tkymmm</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237872321" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/650" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/650/hovercard" href="https://github.com/alam00000/bentopdf/pull/650">#650</a></li> </ul> <h2>A note from the developer</h2> <p>BentoPDF is maintained by a single developer. While every effort is made to ensure the codebase is reviewed, scanned, and hardened before each release, the reality of a solo-maintained project is that comprehensive security coverage is not achievable without external input. The surface area of a modern document-processing tool is substantial, and no individual reviewer can reasonably cover all of it alone.</p> <p>This disclosure has been a humbling reminder that no codebase is perfect, and that security is a process and not a milestone. Going forward, BentoPDF will be putting more active investment into security hardening: stricter reviews for anything touching untrusted input, expanded automated scanning in CI, and faster turnaround on reports.</p> <p>If you find something that looks off like a bug, a misconfiguration, an edge case that feels risky then <strong>please tell us</strong>. Report privately through <a href="https://github.com/alam00000/bentopdf/security/advisories/new">GitHub Security Advisories</a> or email <a href="mailto:contact@bentopdf.com">contact@bentopdf.com</a>. You do not need a working exploit, proof of impact, or a perfectly written report. A description and a hint is enough, and we will take it from there. Every report genuinely helps, and every reporter gets credited.</p> <p>Thank you for using BentoPDF, and thank you for helping us make it safer.</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.2...v2.8.3"><tt>v2.8.2...v2.8.3</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.2 2026-04-05T09:22:40Z v2.8.2 <p>This release contains minor bug fixes and quality of life improvements.</p> <h3>New Features</h3> <ul> <li><strong>Configurable Docker port</strong> — Set <code>PORT</code> env var to change the container listen port (default remains <code>8080</code>)</li> </ul> <h3>Bug Fixes 🐛</h3> <ul> <li><strong>Preserve original filename on download</strong> — All tools now keep the original filename instead of renaming to <code>encrypted-</code>, <code>flattened_</code>, <code>rotated_</code>, etc.</li> <li><strong>Fix Page Size auto orientation</strong> — Auto orientation now correctly matches the source page layout</li> <li><strong>Multi-channel TIFF support</strong> — Handle multi-channel TIFF formats and add compression options</li> <li><strong>OCR quality improvement</strong> — Copy original pages in OCR instead of embedding rasterized PNGs</li> <li><strong>Nginx non-root permissions</strong> — Resolve permission errors when running as non-root user that was introduced in v2.8</li> <li><strong>Reverted nginx base image</strong> — Back to unprivileged version for security</li> </ul> <h3>Improvements</h3> <ul> <li><strong>Simple mode dist in releases</strong> — <code>dist-simple-{version}.zip</code> is now included in GitHub releases</li> </ul> <h2>By the Community</h2> <ul> <li>Update tools.json - Corrections to Dutch translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188293857" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/625" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/625/hovercard" href="https://github.com/alam00000/bentopdf/pull/625">#625</a> ❤️</li> <li>Embed static app version in HTML via Vite at build time by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skillkiller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skillkiller">@Skillkiller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4170888432" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/617" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/617/hovercard" href="https://github.com/alam00000/bentopdf/pull/617">#617</a> ❤️</li> <li>build(deps): bump lodash from 4.17.23 to 4.18.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204112534" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/636" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/636/hovercard" href="https://github.com/alam00000/bentopdf/pull/636">#636</a></li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.1...v2.8.2"><tt>v2.8.1...v2.8.2</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.1 2026-04-01T14:18:41Z HOTFIX - v2.8.1 <h2>Fix: Docker container crash on startup (Permission Denied)</h2> <p>Fixed an issue where the Docker container would fail to start. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186881295" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/623" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/623/hovercard" href="https://github.com/alam00000/bentopdf/issues/623">#623</a></p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.8.0...v2.8.1"><tt>v2.8.0...v2.8.1</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.8.0 2026-04-01T13:09:31Z v2.8.0 <h2>Dad Joke Of the Release</h2> <p>I had a joke about a paper. But I think it's tearable 🤣</p> <h2>What's Changed</h2> <h2>1. PDF Overlay &amp; Underlay Tool</h2> <ul> <li>New tool to overlay or underlay pages from one PDF onto another.</li> <li>Supports mode selection (overlay/underlay), page range targeting, and looping for shorter overlay documents.</li> </ul> <h2>2. Timestamp PDF tool with RFC 3161 support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/InstaZDLL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/InstaZDLL">@InstaZDLL</a></h2> <ul> <li>New tool to add RFC 3161 trusted timestamps to PDF documents</li> </ul> <h2>3. Encrypted PDF Support</h2> <ul> <li>Earlier users had to unlock a PDF before using any tool. Now BentoPDF prompts when uploading encrypted PDFs and also auto repairs PDF on upload</li> </ul> <h2>New Quality of Life Improvements</h2> <ul> <li><strong>Disable Specific Tools</strong> — Self-hosters can now disable individual tools via the <code>DISABLE_TOOLS</code> environment variable. Includes documentation.</li> <li><strong>Disable PDF Editor Features</strong> — New option to disable specific features within the PDF Editor for customized deployments.</li> </ul> <h2>Bug Fixes 🐛</h2> <ul> <li><strong>Filename Deduplication</strong> — Smart filename deduplication utility integrated across multiple file conversion modules to prevent overwrites. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4126783295" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/603" data-hovercard-type="issue" data-hovercard-url="/alam00000/bentopdf/issues/603/hovercard" href="https://github.com/alam00000/bentopdf/issues/603">#603</a></li> </ul> <h2>By the Community ❤️</h2> <ul> <li>Update tools.json - Alerts added by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134249931" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/606" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/606/hovercard" href="https://github.com/alam00000/bentopdf/pull/606">#606</a></li> <li>build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148934838" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/610" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/610/hovercard" href="https://github.com/alam00000/bentopdf/pull/610">#610</a></li> <li>Update tools.json - Typos corrected in Dutch language by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158145683" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/612" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/612/hovercard" href="https://github.com/alam00000/bentopdf/pull/612">#612</a></li> <li>build(deps): bump picomatch from 2.3.1 to 2.3.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4142601934" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/609" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/609/hovercard" href="https://github.com/alam00000/bentopdf/pull/609">#609</a></li> <li>fix: in bookmarks editor focus cancel- or ok-button for opened confirm and alert modals by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukasstorck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukasstorck">@lukasstorck</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4127458281" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/604" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/604/hovercard" href="https://github.com/alam00000/bentopdf/pull/604">#604</a></li> <li>build(deps-dev): bump brace-expansion from 2.0.2 to 2.0.3 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160504777" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/613" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/613/hovercard" href="https://github.com/alam00000/bentopdf/pull/613">#613</a></li> <li>Update common.json - Dutch language updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4164399642" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/615" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/615/hovercard" href="https://github.com/alam00000/bentopdf/pull/615">#615</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/InstaZDLL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/InstaZDLL">@InstaZDLL</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077069508" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/576" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/576/hovercard" href="https://github.com/alam00000/bentopdf/pull/576">#576</a> ❤️</li> </ul> <p>Thank you for using BentoPDF. Have a great day ahead! ❤️</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.7.0...v2.8.0"><tt>v2.7.0...v2.8.0</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1074785178/v2.7.0 2026-03-24T10:28:24Z PDF to CBZ - v2.7.0 <h2>Dad Joke Of the Release</h2> <p>What do you call a meditating dog? Aware wolf 🐺🤣</p> <h2>What's Changed</h2> <h2>1. New PDF to CBZ (Comic Book Archive) Tool</h2> <ul> <li>Convert any PDF into a CBZ file for comic book readers like Komga, Kavita, CDisplayEx, and Calibre</li> <li>Choose between JPEG, PNG, or WebP image formats with quality and scale controls</li> <li>Optional grayscale conversion and manga mode (right-to-left reading)</li> <li>Full metadata support with ComicInfo.xml, metadata.opf, and ComicBookInfo JSON which works with both comic readers AND Calibre</li> <li>Fill in Title, Series, Volume, Issue Number, Author, Publisher, Tags, Published Year, and Rating</li> </ul> <h2>2. PDF to TIFF Revamp</h2> <ul> <li>Added compression options: LZW, Deflate, CCITT Group 4, JPEG, PackBits, or None</li> <li>DPI slider (72–600) for print-quality control</li> <li>Color mode selector: Color (RGB), Greyscale, or Black &amp; White (1-bit)</li> <li>Multi-page TIFF support — save all pages as a single TIFF file instead of a ZIP</li> <li>CCITT Group 4 compression auto-selects B&amp;W mode for optimal document archival</li> </ul> <h2>3. PDF Editor Update</h2> <ul> <li>Added Free Highlight annotation tool</li> <li>Added Insert Text annotation</li> <li>Added Replace Text annotation</li> <li>Added Comment annotations</li> <li>Annotations can now be rotated</li> </ul> <h2>4. OCR Improvement</h2> <ul> <li>Fonts are now subsetted instead of fully embedded by default, significantly reducing output file size</li> <li>Added option to opt out and embed full fonts if needed</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fixed Docker healthcheck using <code>curl</code> (not available in Alpine image) and now uses <code>wget</code></li> <li>Fixed custom 404 page not being served by nginx and added <code>error_page 404</code> directive</li> </ul> <h2>By the Community ❤️</h2> <ul> <li>Minor Dutch language corrections by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stephan-P/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stephan-P">@Stephan-P</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108229968" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/594" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/594/hovercard" href="https://github.com/alam00000/bentopdf/pull/594">#594</a></li> <li>feat: add page up/down hotkeys for quick bookmark input by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukasstorck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukasstorck">@lukasstorck</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115902958" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/601" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/601/hovercard" href="https://github.com/alam00000/bentopdf/pull/601">#601</a></li> <li>Fix missing translations in Settings/Shortcuts modal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hagibr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hagibr">@hagibr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3996102351" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/521" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/521/hovercard" href="https://github.com/alam00000/bentopdf/pull/521">#521</a></li> <li>Implement missing i18n translations for PDF-to-Image modules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skillkiller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skillkiller">@Skillkiller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4053925458" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/565" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/565/hovercard" href="https://github.com/alam00000/bentopdf/pull/565">#565</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukasstorck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukasstorck">@lukasstorck</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115902958" data-permission-text="Title is private" data-url="https://github.com/alam00000/bentopdf/issues/601" data-hovercard-type="pull_request" data-hovercard-url="/alam00000/bentopdf/pull/601/hovercard" href="https://github.com/alam00000/bentopdf/pull/601">#601</a> ❤️</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/alam00000/bentopdf/compare/v2.6.0...v2.7.0"><tt>v2.6.0...v2.7.0</tt></a></p> github-actions[bot]