Commit Graph
92 Commits
Author SHA1 Message Date
Alam 24b060a134 Merge pull request #919 from kelseyjmw/fix-crop-scroll
Fix crop scroll
2026-10-31 16:38:58 +05:30
alam00000 2a8ce12b6e add support for GFM inline math delimiters 2026-10-31 16:16:23 +05:30
alam00000 27dfe79636 fix(tests): update WasmProvider tests to handle unversioned CDN URLs from older releases 2026-10-28 12:27:28 +05:30
Alam efb8c4fe47 Merge pull request #951 from AB527/feature/drag-and-drop-arrangement-for-multiple-file-conversions
(Feature) Add drag-and-drop arrangement for multi-file to PDF conversions
2026-10-26 15:00:46 +05:30
alam00000 9c796a873c feat(markdown): add LaTeX math support 2026-10-26 15:00:18 +05:30
Atharva Bedekar 2f1178ddd0 refactor: use Phosphor icon for file list drag handle
Replace the Lucide grip-vertical icon with Phosphor's dots-six-vertical, in line with the project-wide move to Phosphor.
2026-10-25 22:24:06 +05:30
Atharva Bedekar 49ab2ef17f feat: drag-and-drop reordering for multi-file to PDF conversions
Tools that combine several files into a single PDF used the upload
order as the page order, with no way to change it short of clearing
and re-adding files. Each file row now has a drag handle, and the
new order is used when the PDF is built.

Applies to the JPG, PNG, WebP, BMP, HEIC, SVG, TIFF, Image and TXT
to PDF tools. The shared logic lives in utils/sortable-file-list.ts
(built on the existing sortablejs dependency) instead of being
duplicated per page.
2026-10-25 15:34:16 +05:30
alam00000 f7a8a60440 fix(xps): repair scanner XPS packages that MuPDF fails to parse 2026-10-25 13:19:57 +05:30
alam00000 4edb1718cc feat: translate all pages, UI messages and docs and fix SEO redirects and indexing 2026-10-25 12:55:21 +05:30
Alam 33d15b9890 Merge pull request #886 from adrienboulle/fix-825-untranslated-notifications
fix(merge-pdf): route result notifications through i18n
2026-10-21 12:33:35 +05:30
Alam 8cfd91ccb3 Merge pull request #853 from nipunrajk/fix/navigation-base-url
fix(navigation): respect BASE_URL in tool pages and navbar brand (Fixes #850)
2026-10-21 12:28:21 +05:30
Alam 5222f6c0bf Merge pull request #902 from mvanhorn/fix/647-sign-pdf-flatten-text-position
fix: keep flattened Sign PDF text at its placed position
2026-10-21 12:24:30 +05:30
Alam 6314db7b88 Merge pull request #885 from adrienboulle/fix-831-validate-signature
fix(validate-signature): detect signature dictionaries without /Type
2026-10-21 12:18:10 +05:30
Alam 02113e2579 Merge pull request #894 from nipunrajk/fix/markdown-task-list-links
fix(markdown): prevent task lists with links from corrupting DOM
2026-10-21 12:00:48 +05:30
alam00000 0d430027df feat: replace compression with Hyper Compress, fix PDF to Word color pass and stale engine URLs 2026-10-20 22:06:30 +05:30
alam00000 2f96455896 chore: stop tracking generated build files, fix sponsors workflow and refresh README hero 2026-10-19 18:14:45 +05:30
Adrien Boullé 448035b77b fix(merge-pdf): keep worker errors out of the alert, add missing fr key 2026-10-19 12:30:29 +02:00
Adrien Boullé ab8f4c20a8 fix(merge-pdf): route result notifications through i18n
Fixes #825
2026-10-19 12:30:29 +02:00
Adrien BoulléandClaude Opus 5.5 d86de593ca fix(validate-signature): detect signature dictionaries without /Type
/Type is optional in a signature dictionary (PDF 32000-1, 12.8.1) and some
signers leave it out, so those documents still reported "No Signatures
Found". A dictionary without /Type that carries both /ByteRange and
/Contents is now read as a signature; document timestamps
(/Type /DocTimeStamp, /SubFilter /ETSI.RFC3161) stay out because they hold
an RFC 3161 token, not a CMS signature over the document.

Also covers a /Contents placeholder of 74,506 hex characters, the largest
seen in real signed documents, which the former fixed scan window dropped.

Fixes #831

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:27:34 +02:00
alam00000 edd959f345 fix(security): harden sanitize, flatten, redaction, signature validation, CSP, proxies and CI 2026-10-19 14:45:00 +05:30
alam00000 70dc47d25c feat: update GitHub Actions workflow for PDF engine and viewer 2026-10-19 13:17:07 +05:30
Kelsey White 6d8ef7d694 Fix for issue 903: Crop tool now moves page focus to top after use 2026-10-16 13:09:32 -03:00
Matt Van Horn 4fd0b1d3e6 fix: keep flattened Sign PDF text at its placed position
readFormMatrix loads the appearance Matrix and uses the identity when
that entry is missing or is not six numbers. alignAppearanceToRect maps
the four BBox corners through that matrix and returns the scale and
translation that fit the transformed box to the annotation rectangle.
Those values are the cm concatenated before Do, and the original Matrix
stays on the form XObject so Do applies it once. A transformed box whose
width or height is under 0.001 is left unpainted, and that annotation is
still removed.

Fixes #647
2026-10-02 22:16:51 -07:00
nipunrajk 15c0435dde fix(markdown): prevent task lists with links from corrupting DOM
Disables label wrapping in markdown-it-task-lists plugin configuration.
When enabled, markdown-it-task-lists wraps task list content in <label>
tags, which malforms HTML structure when items contain links on the
same line and swallows subsequent DOM elements.

Fixes #715
2026-09-26 16:10:32 +05:30
nipunrajk daacdd2a2e test(navigation): constrain brand anchor regex to individual elements 2026-09-26 09:23:44 +05:30
nipunrajk 060d57639e test(navigation): tighten BASE_URL assertions per code review 2026-09-26 09:22:15 +05:30
nipunrajk 90fe106664 fix(navigation): respect BASE_URL in tool pages and navbar brand (Fixes #850) 2026-09-26 09:22:15 +05:30
Alam ea3f42db84 Merge pull request #869 from carminezac/fix/timestamp-default-cors-proxy
fix(timestamp): fall back to the default CORS proxy on official domains
2026-09-21 13:52:45 +05:30
alam00000 5a7927572f feat: add fallback font loading and handling for various languages 2026-09-17 13:56:16 +05:30
Carmine Zacchia 3aefd7bb06 fix(timestamp): fall back to the default CORS proxy on official domains
The timestamp tool requires a CORS proxy: none of the built-in TSA endpoints send Access-Control-Allow-Origin, so the browser blocks the RFC 3161 POST. The runtime only used a proxy when VITE_CORS_PROXY_URL was set, and the official build never set it, leaving timestamping broken on www.bentopdf.com and on the published Docker images.

Fall back to the project-operated proxy on the official domains only (bentopdf.com, www.bentopdf.com), matching the origin already allowed in the generated CSP. Self-hosted instances keep requiring their own proxy.
2026-09-13 23:18:59 +02:00
Alam 829b13f8ff Merge pull request #752 from r0ckarong/duplex-pr-clean
(Feature) Add Duplex sort / collate documents (Fixes #220)
2026-08-24 22:46:36 +05:30
alam00000 c449a85745 fix: load the pdf.js worker with the Map upsert polyfill 2026-08-22 16:02:34 +05:30
Alam 8e606b652c Merge pull request #795 from mvanhorn/fix/662-map-upsert-polyfill
fix: polyfill Map.prototype.getOrInsertComputed to stop PDF.js render crash
2026-08-22 15:58:31 +05:30
alam00000 aee3e0a65a test: cover the text editor engine and FreeText flattening
Adds a node-side harness that drives the engine wasm directly, fixtures
that build PDFs in-memory, and cases for font fallback and flattening.
The engine loader now tolerates a runtime without import.meta.resolve so
the suite can load it outside a browser.
2026-08-21 12:50:07 +05:30
alam00000 9635c398d6 Add tiled watermark layout support with adjustable gaps and UI controls 2026-08-16 12:40:55 +05:30
alam00000 706e74f084 Implement safe storage utility and update i18n handling to use it 2026-08-14 15:13:42 +05:30
Matt Van Horn 115bc70ad1 fix: polyfill Map.prototype.getOrInsertComputed to stop PDF.js render crash
Fixes #662
2026-07-21 00:42:50 -07:00
alam00000 8dcd936873 fix(email): validate and escape unwrapped SafeLinks URLs before rendering 2026-07-13 10:07:58 +05:30
alam00000 b21f602cca feat(timestamp): add TSA URL validation and sanitization methods 2026-07-01 23:23:37 +05:30
alam00000 d2dc459ba9 fix(split): extract pages with qpdf and decouple ZIP from output mode 2026-06-26 00:32:27 +05:30
r0ckarong 6c53646e94 Add test for duplex sort 2026-06-18 10:01:32 +02:00
Mondeep Chetry e1843e17b3 fix(md to pdf): restore mermaid flowchart node labels. Fixes #738 2026-06-04 17:18:51 +05:30
alam00000 1d9b7c2a07 feat(multi-pdf): enhance PDF multi-tool functionality to allow drag n drop of PDF and images
fix(ocr): pin font CDN to rawcdn.githack.com with commit SHAs
2026-05-29 20:05:50 +05:30
alam00000 0ce043c18e fix(ocr): Arabic+Latin font fix and added tests 2026-05-19 15:05:17 +05:30
alam00000 7a6cd61286 feat(rotation): implement rotation utilities and enhance angle input handling 2026-05-09 14:21:07 +05:30
alam00000 f169308439 feat(tests): add unit tests for email parsing functionality and MsgReader interop fix 2026-05-08 22:09:46 +05:30
alam00000 8b6da83ba7 fix(workflow): fix heic images not being accepted in image to pdf 2026-05-08 21:56:51 +05:30
alam00000 ea53689bba fix: PDF Timestamp bug 2026-05-01 13:02:53 +05:30
alam00000 121de29d80 feat(security): add CodeQL analysis workflow and ESLint security plugins 2026-04-18 14:46:51 +05:30
alam00000 b4779bb49b feat: enhance sanitization 2026-04-17 23:40:39 +05:30