Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: alam00000/bentopdf

Bug Fixes - v2.8.5

23 May 09:34
@github-actions github-actions

Choose a tag to compare

Dad Joke Of the Release

What's the easiest building to lift? A lighthouse 🤣

(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 ❤️)

What's Changed

1. Custom Rotate

  • Improved angle input handling, rotation utilities, and a smoother UX for fine-grained rotation. Thanks to @quhxl for the contribution.

2. Alternate & Mix Pages

  • Alternate and mix pages are now in workflow builder. Fixes #684

3. Helm Chart Auto Update

  • Helm chart version now auto updates with each release. Fixes #680

4. New Option in Merge

  • 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 #676

Bug Fixes 🐛

  • OCR Arabic + Latin — 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 #724

  • HEIC in workflow — HEIC images are now correctly accepted in the image to pdf workflow node. Fixes #703

  • Email parsing reliability — MsgReader CJS/ESM interop fix for .msg files. Fixes #701

  • Sign PDF signature editor width — Editor now fills the full available width like the rest of the tool. Fixes #653

  • PDF Compare export issue - Now export correctly filters out instead of showing all the changes in exported PDF. Fixes #655

  • RFC 3161 error - Now users can correctly timestamp using RFC 3161. Fixes #649

  • .mjs MIME errors on self-hosted nginx — Vite now emits .js instead of .mjs for built assets, so PDFs no longer fail to load on self-hosted setups whose mime.types doesn't include a .mjs → application/javascript mapping. Fixes the failures reported by users on the Proxmox helper script.

A note on canonicals

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.

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 ROBOTS_NOINDEX=true) are unaffected, since search engines were never indexing those pages to begin with.

The change fixes three things at once:

  1. Self-hosters keep their bandwidth. Public-facing self-hosted instances no longer absorb search traffic from people who were actually looking for bentopdf.com.
  2. Users land on the right site. Search results for "BentoPDF" reliably point to bentopdf.com instead of a randomly indexed mirror.
  3. Self-hosters who want their own canonical can still claim it. Build with --build-arg SITE_URL=https://your-domain.com and canonicals, sitemap, and hreflang all point at your domain. Documented in STATIC-HOSTING.md.

Self-Hosting Docs

The bentopdf-simple was meant to be used for self hosting, while the bentopdf image is used on our live site. But unfortunately many users still run the bentopdf build

  • Self-Hosted vs Commercial builds — Docs now clearly distinguish the bentopdf-simple (Self-Hosted) and bentopdf (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.
  • New "Common Issues" troubleshooting section — Added .mjs MIME entries and SharedArrayBuffer / COEP-COOP entries to the self-hosting docs, with platform-specific snippets for nginx, Apache, AWS S3, and Kubernetes.

Looking ahead: a bundled self-host build

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.

A note from the developer

Translations across the 19 locales are still automated through Microsoft Translator for the bulk passes. Native-speaker corrections like the ones @Stephan-P 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.

By the Community

New Contributors

  • @quhxl made their first contribution in #631 ❤️

Full Changelog: v2.8.4...v2.8.5

That's it for now. Thank you for using BentoPDF. Have a great weekend! ❤️

Contributors

Stephan-P, Skillkiller, and 2 other contributors
Assets 4
Loading
KyaBamba, alam00000, SeimusS, PacaAlpaca, h3nnes, leleogere, and connor-crizit reacted with laugh emoji sivajipro, alam00000, realgooseman, Morethanevil, StijnDRZP, Osvaldo-Net, adrianmusante, manticoreroko, PacaAlpaca, and leleogere reacted with hooray emoji alam00000, echedey-ls, solarplex, kennyboy55, StijnDRZP, SeimusS, GldRush98, Akshunhiro, PacaAlpaca, MikaPST, and 5 more reacted with heart emoji
23 people reacted

v2.8.4

21 Apr 14:11
@github-actions github-actions

Choose a tag to compare

This release fixes the CSP errors introduced in v2.8.3
Fixes: #671 #670

Full Changelog: v2.8.3...v2.8.4

Loading
Osvaldo-Net, PacaAlpaca, easonwong-de, felipeacsi, C8opmBM, wesmosis, darlopvil, DiegoCardenasSyH, and Shadik-Hossain reacted with thumbs up emoji realgooseman, alam00000, jostrasser, PacaAlpaca, C8opmBM, and DiegoCardenasSyH reacted with hooray emoji
12 people reacted

CVE Fix - v2.8.3

18 Apr 15:58
@github-actions github-actions

Choose a tag to compare

Warning

This release addresses the security vulnerability GHSA-6vh8-4frx-647f which affects all versions including and prior to v2.8.2.
All users of BentoPDF are recommended to upgrade immediately to the latest version 2.8.3

A note of thanks

A huge thank you to @Astaruf 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. ❤️

What's Changed

New Contributors

A note from the developer

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.

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.

If you find something that looks off like a bug, a misconfiguration, an edge case that feels risky then please tell us. Report privately through GitHub Security Advisories or email contact@bentopdf.com. 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.

Thank you for using BentoPDF, and thank you for helping us make it safer.

Full Changelog: v2.8.2...v2.8.3

Contributors

ntfreak, pavel-miniutka, and 4 other contributors
Loading
jostrasser, fabianwimberger, PacaAlpaca, felipeacsi, nicholas-alonzo, Minhthao77, Chiller2019, kevinchanO777, seraphyn, truncsphere, and DiegoCardenasSyH reacted with thumbs up emoji Osvaldo-Net, slick-daddy, alam00000, crycode-de, Morethanevil, realgooseman, thibaultmol, and easonwong-de reacted with hooray emoji crycode-de, egglijah, de-es, PacaAlpaca, G0yp, RLoris, Cyantox, aque, pavel-miniutka, seraphyn, and 3 more reacted with heart emoji
29 people reacted

v2.8.2

05 Apr 08:29
@github-actions github-actions

Choose a tag to compare

This release contains minor bug fixes and quality of life improvements.

New Features

  • Configurable Docker port — Set PORT env var to change the container listen port (default remains 8080)

Bug Fixes 🐛

  • Preserve original filename on download — All tools now keep the original filename instead of renaming to encrypted-, flattened_, rotated_, etc.
  • Fix Page Size auto orientation — Auto orientation now correctly matches the source page layout
  • Multi-channel TIFF support — Handle multi-channel TIFF formats and add compression options
  • OCR quality improvement — Copy original pages in OCR instead of embedding rasterized PNGs
  • Nginx non-root permissions — Resolve permission errors when running as non-root user that was introduced in v2.8
  • Reverted nginx base image — Back to unprivileged version for security

Improvements

  • Simple mode dist in releasesdist-simple-{version}.zip is now included in GitHub releases

By the Community

  • Update tools.json - Corrections to Dutch translation by @Stephan-P in #625 ❤️
  • Embed static app version in HTML via Vite at build time by @Skillkiller in #617 ❤️
  • build(deps): bump lodash from 4.17.23 to 4.18.1 by @dependabot[bot] in #636

Full Changelog: v2.8.1...v2.8.2

Contributors

Stephan-P, Skillkiller, and dependabot
Loading
Morethanevil, alam00000, realgooseman, SeimusS, Osvaldo-Net, G0yp, stevenya97, PacaAlpaca, seraphyn, tangkenz, and 3 more reacted with hooray emoji
13 people reacted

HOTFIX - v2.8.1

01 Apr 14:16
@github-actions github-actions

Choose a tag to compare

Fix: Docker container crash on startup (Permission Denied)

Fixed an issue where the Docker container would fail to start. #623

Full Changelog: v2.8.0...v2.8.1

Loading
realgooseman, JordyEGNL, felipeacsi, BibekTripathy, Zeokat, seraphyn, 0x0nullian, and PacaAlpaca reacted with hooray emoji
8 people reacted

v2.8.0

01 Apr 12:56
@github-actions github-actions

Choose a tag to compare

Dad Joke Of the Release

I had a joke about a paper. But I think it's tearable 🤣

What's Changed

1. PDF Overlay & Underlay Tool

  • New tool to overlay or underlay pages from one PDF onto another.
  • Supports mode selection (overlay/underlay), page range targeting, and looping for shorter overlay documents.

2. Timestamp PDF tool with RFC 3161 support by @InstaZDLL

  • New tool to add RFC 3161 trusted timestamps to PDF documents

3. Encrypted PDF Support

  • 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

New Quality of Life Improvements

  • Disable Specific Tools — Self-hosters can now disable individual tools via the DISABLE_TOOLS environment variable. Includes documentation.
  • Disable PDF Editor Features — New option to disable specific features within the PDF Editor for customized deployments.

Bug Fixes 🐛

  • Filename Deduplication — Smart filename deduplication utility integrated across multiple file conversion modules to prevent overwrites. Fixes #603

By the Community ❤️

  • Update tools.json - Alerts added by @Stephan-P in #606
  • build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 by @dependabot[bot] in #610
  • Update tools.json - Typos corrected in Dutch language by @Stephan-P in #612
  • build(deps): bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in #609
  • fix: in bookmarks editor focus cancel- or ok-button for opened confirm and alert modals by @lukasstorck in #604
  • build(deps-dev): bump brace-expansion from 2.0.2 to 2.0.3 by @dependabot[bot] in #613
  • Update common.json - Dutch language updated by @Stephan-P in #615

New Contributors

Thank you for using BentoPDF. Have a great day ahead! ❤️

Full Changelog: v2.7.0...v2.8.0

Contributors

Stephan-P, dependabot, and 2 other contributors
Loading
Morethanevil, rcv11x, realgooseman, and Osvaldo-Net reacted with hooray emoji
4 people reacted

PDF to CBZ - v2.7.0

24 Mar 09:37
@github-actions github-actions

Choose a tag to compare

Dad Joke Of the Release

What do you call a meditating dog? Aware wolf 🐺🤣

What's Changed

1. New PDF to CBZ (Comic Book Archive) Tool

  • Convert any PDF into a CBZ file for comic book readers like Komga, Kavita, CDisplayEx, and Calibre
  • Choose between JPEG, PNG, or WebP image formats with quality and scale controls
  • Optional grayscale conversion and manga mode (right-to-left reading)
  • Full metadata support with ComicInfo.xml, metadata.opf, and ComicBookInfo JSON which works with both comic readers AND Calibre
  • Fill in Title, Series, Volume, Issue Number, Author, Publisher, Tags, Published Year, and Rating

2. PDF to TIFF Revamp

  • Added compression options: LZW, Deflate, CCITT Group 4, JPEG, PackBits, or None
  • DPI slider (72–600) for print-quality control
  • Color mode selector: Color (RGB), Greyscale, or Black & White (1-bit)
  • Multi-page TIFF support — save all pages as a single TIFF file instead of a ZIP
  • CCITT Group 4 compression auto-selects B&W mode for optimal document archival

3. PDF Editor Update

  • Added Free Highlight annotation tool
  • Added Insert Text annotation
  • Added Replace Text annotation
  • Added Comment annotations
  • Annotations can now be rotated

4. OCR Improvement

  • Fonts are now subsetted instead of fully embedded by default, significantly reducing output file size
  • Added option to opt out and embed full fonts if needed

Bug Fixes

  • Fixed Docker healthcheck using curl (not available in Alpine image) and now uses wget
  • Fixed custom 404 page not being served by nginx and added error_page 404 directive

By the Community ❤️

  • Minor Dutch language corrections by @Stephan-P in #594
  • feat: add page up/down hotkeys for quick bookmark input by @lukasstorck in #601
  • Fix missing translations in Settings/Shortcuts modal by @hagibr in #521
  • Implement missing i18n translations for PDF-to-Image modules by @Skillkiller in #565

New Contributors

Full Changelog: v2.6.0...v2.7.0

Contributors

Stephan-P, Skillkiller, and 2 other contributors
Loading
felipeacsi reacted with thumbs up emoji joseraposo, alam00000, and andrei-lazarov reacted with laugh emoji Morethanevil, alam00000, realgooseman, Urabeeee, Osvaldo-Net, w00dwork, vdbhb59, adrianmusante, PacaAlpaca, CrazyTim71, and 2 more reacted with hooray emoji joseraposo, alam00000, PacaAlpaca, KnudH, and seraphyn reacted with heart emoji
17 people reacted

Edit Page Labels - v2.6.0

18 Mar 08:15
@github-actions github-actions

Choose a tag to compare

Dad Joke of the Release

I was about to tell a joke about carpentry? But I didn't think it woodwork 🤣


1. Add Page Labels Feature

  • New tool for applying Roman numerals, prefixes, and custom numbering ranges to PDFs.

2. Flattening Enhancements

  • Flatten annotations directly into PDF page content, making them permanent and non editable.

3. PDF Comparison Enhancements

  • New overlay options and filtering controls for more precise side-by-side comparisons, with reduced false-positive highlights.

4. Transparent Form Field Backgrounds

  • Form fields can now be created with transparent backgrounds for cleaner overlays on existing documents.

By The Community ❤️

New Contributors

Full Changelog: v2.5.0...v2.6.0

Contributors

xtotdam, Stephan-P, and 3 other contributors
Loading
Osvaldo-Net, felipeacsi, PacaAlpaca, seraphyn, Urabeeee, and kokomo123 reacted with thumbs up emoji urielejh, bedokaram187, and kokomo123 reacted with laugh emoji Morethanevil, alam00000, kydecker, pavel-miniutka, PacaAlpaca, SeimusS, and kokomo123 reacted with hooray emoji
13 people reacted

Comparison Tool Revamp - v2.5.0

10 Mar 08:40
@github-actions github-actions

Choose a tag to compare

Dad Joke of the Release

Why did the laptop get cold? Cause it let its Windows open🤣


What's Changed

This release transforms BentoPDF's Compare PDFs from a basic side by side viewer into a full semantic comparison engine that provides parity with commercial solutions. Every change between two PDFs including text edits, style tweaks, moved paragraphs, image modifications and annotation diffs is now detected, categorized, and navigable.

image

1. PDF Comparison Rewrite

Semantic Text Diffing

  • Word-level diff engine with exact bounding-box highlighting on both documents
  • Handles additions, deletions, modifications, and full page insertions/removals
  • CJK word segmentation for accurate Chinese, Japanese, and Korean comparisons

Moved-Text Detection

  • Detects paragraphs that moved position between documents (≥3 words, ≥80% Jaccard similarity)
  • Collapsed into single "Moved" changes with purple highlights instead of noisy add/remove pairs

Style Change Detection

  • Detects font family and font size changes on otherwise identical text

Content Category Classification

  • Every detected change is automatically classified into one of six categories: Text, Image, Header/Footer, Annotation, Formatting, Background
  • Header/footer detection based on y-position analysis (top/bottom 12% of page)
  • Image comparison via area-overlap matching (detects added, removed, and resized images)
  • Annotation diffing compares subtype, contents, and position
  • Background change detection triggers when visual mismatch exceeds text change coverage

Smart Page Pairing

  • Automated page-pairing model using content signatures instead of naive page-number matching
  • Correctly handles inserted/deleted pages between document versions

OCR Support

  • OCR for scanned documents, toggled from the toolbar
  • OCR results cached in LRU cache to avoid redundant processing
  • Low-quality text detection auto-triggers OCR when extracted text is unreliable

Filter System

  • Change type filter pills: Modified, Added, Deleted, Moved, Style Changed
  • Content category filter pills: Text, Image, Header/Footer, Annotation, Formatting, Background

PDF Export

  • Four export modes: Split View, Alternating Pages, Left Document Only, Right Document Only

Bug Fixes

  • Rotation fix: Corrected PDF page rotation functionality with comprehensive test coverage (380 new tests)

By the Community ❤️

  • add Korean (ko) translation by @the0807 in #552
  • fix correct locale path in translation guide, add missing link attributes in footer, fix wasm version in readme by @iegl3 in #553
  • build(deps): bump dompurify from 3.3.1 to 3.3.2 by @dependabot[bot] in #551
  • build(deps-dev): bump minimatch from 5.1.6 to 5.1.9 by @dependabot[bot] in #550
  • build(deps): bump rollup from 4.55.1 to 4.59.0 by @dependabot[bot] in #522
  • minor correction in documentation by @Olivetti in #531
  • Pdf to image direct image by @Skillkiller in #215

New Contributors ❤️

Full Changelog: v2.4.1...v2.5.0

This was a big rewrite, so please try out the new comparison tool and report any bug fixes. Thank you! 🎉

Contributors

Olivetti, Skillkiller, and 3 other contributors
Loading
felipeacsi, easonwong-de, PacaAlpaca, CaideSpries, and Sozialarchiv reacted with thumbs up emoji Morethanevil, alam00000, krystophv, Urabeeee, nekoprog, PacaAlpaca, Sozialarchiv, and realgooseman reacted with hooray emoji alam00000, cpy82, SeimusS, kennyboy55, Osvaldo-Net, G0yp, seraphyn, RLoris, PacaAlpaca, and Sozialarchiv reacted with heart emoji PacaAlpaca and Sozialarchiv reacted with rocket emoji
18 people reacted

v2.4.1

07 Mar 09:14
@github-actions github-actions

Choose a tag to compare

What's Changed

1. Quick Look on all Page Previews

  • Now on hovering over a page preview a magnifying button allows a quick preview of that particular page
  • Enhanced the scale of all page previews for a sharper render

Bug Fixes and other changes

  • Remove blank pages tool was not working correctly and identified all the pages as blank. This has been fixed.
  • build(deps): bump svelte from 5.53.1 to 5.53.6 by @dependabot[bot] in #533
  • build(deps): bump the npm-dependencies group across 1 directory with 29 updates by @dependabot[bot] in #534
  • Update tools.json - Option Apply watermark to all pages by @Stephan-P in #535

Full Changelog: v2.4.0...v2.4.1

Thank you for the support and please test and report any bugs ❤️

Contributors

Stephan-P and dependabot
Loading
Osvaldo-Net, seraphyn, alam00000, Sozialarchiv, PacaAlpaca, and hneogy reacted with thumbs up emoji Morethanevil, alam00000, Sozialarchiv, PacaAlpaca, and hneogy reacted with hooray emoji winnie-sg, alam00000, and hneogy reacted with heart emoji
8 people reacted
Previous 1 3 4 5 6
Previous

AltStyle によって変換されたページ (->オリジナル) /