Julien Neuhart
bd6d92be9b
fix(supervisor): queue slot - second request hitting a busy node now gets a 429 immediately, pushing backpressure to a load balancer, if any
2026-03-26 21:24:51 +01:00
Julien Neuhart
ed22f1e5e6
refactor(supervisor): better orchestration of processes for conversion requests
2026-03-26 21:24:51 +01:00
Julien Neuhart
0663e5f92b
feat(pdfengines): add rotate feature
2026-03-18 22:36:20 +01:00
Julien Neuhart
19db80bc2e
feat(pdfengines): add watermark and stamp feature
2026-03-18 04:46:12 +01:00
Julien Neuhart
874e78c6cd
fix(pdfengines): correctly update the indexes if the bookmarks form field (map format) is given
2026-03-13 09:36:47 +01:00
Julien Neuhart
fec6437c5d
feat(pdfengines): add bookmarks read route
2026-03-13 09:36:47 +01:00
Julien Neuhart
5120b49639
feat(pdfengines): add bookmarks write route and update the merge route with this feature
2026-03-13 09:36:47 +01:00
Julien Neuhart
2baa59cb3a
refactor(gofix): modernize
2026-02-20 21:21:19 +01:00
Tom Brouws
12c25a2d21
feat(chromium): re-add concurrency support for Chromium ( #1467 )
...
* feat: add concurrency support to ProcessSupervisor
- Replace the single-slot mutex channel with a configurable semaphore to
allow multiple concurrent tasks.
- Add drain logic to ensure all active
tasks complete before process restarts.
* feat: add chromium-max-concurrency flag
- Add a --chromium-max-concurrency flag (1-6) to the Chromium module to
control how many conversions run in parallel.
- Update LibreOffice to pass maxConcurrency=1 as LibreOffice only supports
a single concurrent conversion.
* test: add integration tests for concurrent Chromium conversions
- Add concurrent request support to the integration test framework with
new step definitions for sending parallel requests and asserting on all
responses.
- Add a feature file for concurrent HTML to PDF conversions.
2026-02-13 10:00:58 +01:00
David
37757315d0
feat(Dockerfile): manage system time zone ( #1465 )
...
* displays timezone in debug information
* fixes cs
* fixes debug_test.go
2026-02-13 09:59:23 +01:00
Hubert Lenoir
a0ee800002
feat(pdfengines): add embed feature
2025-11-05 13:57:23 +01:00
Julien Neuhart
d6ebc7f230
chore(pdfengines): better custom error message if invalid args
2025-09-04 14:49:04 +02:00
Julien Neuhart
0ad6623e24
fix(pdgengines): encrypt behavior accross different engines
2025-09-04 14:49:04 +02:00
Julien Neuhart
ba944f9dc2
chore: slight improvement of the encrypt feature to be more in line with others features
2025-09-04 14:49:04 +02:00
Stevenson Michel
99307befdd
feat: add PDF encryption feature ( #1217 )
...
* Adding PDF encryption option
* LibreOffice
* QPDF
* PDFtk
* pdfcpu
* Update pkg/modules/pdfengines/pdfengines.go
Co-authored-by: Julien Neuhart <neuhart.julien@gmail.com >
* npx prettier
* go fmt
* PR comments
* Update test/integration/scenario/scenario.go
Co-authored-by: Julien Neuhart <neuhart.julien@gmail.com >
* renamed ProtectWithPassword to encrypt
* more clean up
* Use the same input path as requested
* This commit completes the encryption implementation
* Clean up. Added webhook, disable route and download from tests
---------
Co-authored-by: Julien Neuhart <neuhart.julien@gmail.com >
2025-09-04 14:49:04 +02:00
Julien Neuhart
d496cbfb53
fix(sort): better sorting algorithm - fixes #1287
2025-08-12 21:21:03 +02:00
Julien Neuhart
66317197b6
fix: graceful shutdown with asynchronous processes - fixes #1022
2025-05-14 15:27:14 +02:00
Julien Neuhart
3cbf772acf
docs(godoc): fix a bunch of typos
2025-04-17 11:15:52 +02:00
Julien Neuhart
a7dfa21cbf
fix(pdfengines): correct merge order - fixes #1168
2025-04-12 17:25:39 +02:00
Julien Neuhart
0febb60a3f
test: add integration tests
2025-03-21 14:09:34 +01:00
Julien Neuhart
81cc483166
test: fix issues with go 1.24
2025-02-13 09:21:38 +01:00
Julien Neuhart
80f3f89a89
fix(pdfcpu): correct sorting for the output paths of the split method
2025-02-12 11:47:45 +01:00
Julien Neuhart
3dc8c18849
fix(fs): get file by ext sorted by mod time
2025-02-11 17:00:18 +01:00
Julien Neuhart
a1596f7c62
feat(api): add debug route
2025-02-04 10:20:29 +01:00
Julien Neuhart
71d571a25c
fix(Makefile): wrong arg for --pdfengines-convert-engines
2025-02-03 11:36:05 +01:00
Julien Neuhart
1d1b4fb04d
feat(pdfengines): add flatten form field to split route
2025-01-28 17:15:14 +01:00
Peter Chakalov
b418f1eb05
feat(pdfengines): add support for flattening annotations ( #1105 )
...
* initial changes
* Add tests
* Fix edge case when we need to regenerate appearances
* Fix comments
* Add missing comment
* Add missing comment
* Add missing comment
* Add flatten option to the merge route
* Add flatten option to the libreoffice convert route
* Add flatten option to the chromium convert route
* Revert "Add flatten option to the chromium convert route"
This reverts commit cdab8b4e6b .
* Ignore lint false positives
* Add missing tests
* Add flatten route tests
* Replace input instead of creating a new file
* create copy before flatten in tests
---------
Co-authored-by: Peter Chakalov <peter.chakalov@abraxa.com >
2025-01-28 14:38:27 +01:00
Julien Neuhart
910eb9b770
feat(state): improve clean up when LibreOffice and Chromium are restarted
2024-12-25 17:04:25 +01:00
Julien Neuhart
8bc29ad92d
feat(split): add splitUnify form field
2024-12-21 12:45:20 +01:00
Julien Neuhart
c30da805b3
feat(pdfengines): add split feature
2024-12-20 16:16:32 +01:00
Julien Neuhart
fe40f3727b
feat(api): add --api-body-limit flag that set the body limit for multipart/form-data requests
2024-09-29 17:46:20 +02:00
Julien Neuhart
f2b6bd3d4b
feat(api): add 'downloadForm' form field
2024-09-20 21:06:11 +02:00
Julien Neuhart
b8cdee4f45
fix(cmd): failing test
2024-09-20 20:58:17 +02:00
Julien Neuhart
286555411b
chore(supervisor): add a comment about an unlikely issue
2024-09-17 16:47:41 +02:00
Julien Neuhart
a203ae00c6
fix(cmd): leaking error logs if reader already closed
2024-09-13 16:47:03 +02:00
Maxime Lapointe
2baba67bfc
feat: eagerly auto restart processes ( #916 )
...
* Fix auto-restart's initial number of requests
It would need 1 less requests on the first restart
The number of request was technically off by one after the first restart
* Supervisor now eagerly restarts processes
When the maxReqLimit is reached, restart the process in the background
* Update pkg/gotenberg/supervisor.go
Co-authored-by: Julien Neuhart <neuhart.julien@gmail.com >
---------
Co-authored-by: Julien Neuhart <neuhart.julien@gmail.com >
2024-07-02 18:29:57 +02:00
Julien Neuhart
2267c5be00
feat(api): add version route
2024-04-17 09:55:38 +02:00
Julien Neuhart
75c4a4f253
feat(api): add basic auth support
2024-04-05 17:20:34 +02:00
Julien Neuhart
ca9194fd96
fix(pdfengine): missing mock tests
2024-03-23 16:47:28 +01:00
Julien Neuhart
0a8625227f
feat(exiftool): refactor read write metadata
2024-03-23 16:47:28 +01:00
Piyush Srivastava
71911cb1a7
feat(ExifTool): add capability to overwrite metadata of the PDF generated ( #776 )
...
* add new metadata functions to pdf engine interface
* add exiftool module with relevant test cases
* use exiftool to overwrite metadata in libreoffice
* use exiftool to overwrite metadata in chromium
* fix linter issues
* fix more linter issues
* more test cases for better coverage
* remove utils
* minor changes
* remove metadata from pdfoptions
* correct indentation
* read/write metadata one file at a time.
2024-03-23 16:47:28 +01:00
Julien Neuhart
5ad90ccdb8
fix: file rename now correctly works for zip archive
2024-03-15 16:12:18 +01:00
Julien Neuhart
63055e3df2
feat: better file sorting
2024-02-23 17:13:37 +01:00
Julien Neuhart
8ee555140b
chore: rename regexp file to filter
2024-02-23 17:13:37 +01:00
Julien Neuhart
ad152e62e5
fix(chromium): better default deny list regexp
2024-02-18 17:18:40 +01:00
Julien Neuhart
b1f3d6d4c0
feat: handling more ErrMaximumQueueSizeExceeded scenarios
2024-02-18 13:05:48 +01:00
timgrohmann
770208024d
feat: enable max queue size for chromium and libreoffice
...
fix gotenberg/gotenberg#463
2024-02-18 11:35:49 +01:00
Julien Neuhart
1123af15c9
chore: upgrade to v8 ( #767 )
2024-01-04 19:30:03 +01:00
Julien Neuhart
390c8437c5
fix(supervisor): if process is already restarting, requeue a task ( #754 )
2023-12-14 20:02:49 +01:00
Julien Neuhart
b56cde47ca
chore: minor refactor of gotenberg pkg
2023-11-20 22:10:18 +01:00