Julien Neuhart
4de9b0f68b
docs(outbound): document the allow-list bypass on every allow-list flag and terminate the example patterns
2026-09-04 19:55:57 +02:00
Julien Neuhart
3c691cbebc
test(health): assert conversions succeed across a planned restart
2026-09-03 17:55:35 +02:00
Julien Neuhart
88ddaed09b
fix(supervisor): report healthy during planned process restarts
...
The eager restart fired after --chromium-restart-after or
--libreoffice-restart-after conversions made Healthy() report false,
so a client probing /health between two conversions got a 503 from an
otherwise serving node. Tasks arriving during that window are requeued
by acquireSlot, not rejected.
Track whether the in-flight restart is planned and keep reporting
healthy for those. Unplanned restarts still report unhealthy so load
balancers get honest information.
Closes #1648
2026-09-03 16:04:20 +02:00
Muhammad Haseeb
7dbff18e65
fix(chromium): fail fast with 503 when Chromium crashes ( #1641 )
2026-08-31 16:48:21 +02:00
Julien Neuhart
c0f487e333
feat(api): add OIDC bearer token authentication
2026-08-14 17:04:20 +02:00
Julien Neuhart
3de6932279
feat(pdfengines): apply multiple stamps and watermarks on every route
2026-08-14 16:36:40 +02:00
Julien Neuhart
e9a67132ec
feat(pdfengines): apply multiple stamps in one request ( #1601 )
2026-08-14 15:52:14 +02:00
Julien Neuhart
41b33fd6ad
test(integration): allow repeated form fields in requests
2026-08-14 15:52:14 +02:00
Julien Neuhart
2521485bf8
test(libreoffice): add .ppsm and .ppsx to the Bad Request extension list
2026-08-14 15:20:46 +02:00
Julien Neuhart
65e5699b71
feat(pdfengines): generate document-title bookmarks when merging ( #867 )
2026-08-14 12:36:13 +02:00
Julien Neuhart
b3c06fb8ae
test(chromium): cover thenable waitForExpression
2026-08-14 12:00:57 +02:00
Julien Neuhart
6a087cb1f7
test(libreoffice): cover OOXML PowerPoint show conversion ( #1626 )
2026-08-14 11:49:46 +02:00
Julien Neuhart
ca9603bdf4
chore(test): format optimize-images testdata and integration README
2026-08-14 11:07:16 +02:00
Julien Neuhart
1ac1d9887e
feat(pdfengines): optimize PDF images to reduce file size ( #359 )
2026-08-13 19:39:09 +02:00
Julien Neuhart
7a730cfdc2
feat(chromium): add --chromium-clear-storage to clear local storage between conversions ( #919 )
2026-08-13 14:56:46 +02:00
Julien Neuhart
b213f2ffed
fix(chromium): fit the page to content for landscape single-page ( #1390 )
2026-08-13 14:14:48 +02:00
Julien Neuhart
8d1eeaa73a
feat(chromium): screenshot a single element via the selector form field ( #947 )
2026-08-13 13:56:17 +02:00
Julien Neuhart
8d327a5196
fix(libreoffice): render scrolled workbooks in full for SinglePageSheets
2026-08-13 08:21:35 +02:00
Julien Neuhart
dc61c3631e
test(libreoffice): rename the linked-content tag to libreoffice-ssrf
2026-08-13 08:21:35 +02:00
Julien Neuhart
dc7c68152c
fix(chromium): filter WebSocket handshakes against the outbound policy
2026-08-13 08:21:35 +02:00
Julien Neuhart
b71df026f6
fix(api): sanitize the output filename header
2026-08-07 16:22:42 +02:00
Julien Neuhart
31fa392db2
fix(libreoffice)!: return 500 when a failure is not the client's fault
2026-08-07 15:33:44 +02:00
Julien Neuhart
7b054da4e7
fix(chromium): generateDocumentOutline now implies generateTaggedPdf
2026-06-16 17:06:10 +02:00
Julien Neuhart
98fc403478
feat(libreoffice): block linked content from untrusted locations
2026-06-11 15:02:32 +02:00
Julien Neuhart
f8905bac8c
refactor: make client- and operator-facing error messages clearer and actionable
2026-06-06 19:23:46 +02:00
Julien Neuhart
3b1e4cbac4
feat(pdfengines): support owner-only encryption and document permissions
2026-06-06 14:05:46 +02:00
Julien Neuhart
287ee5be72
feat(pdfengines): redesign Factur-X API with dedicated form fields
2026-06-06 14:03:58 +02:00
Julien Neuhart
9ab39b6fca
fix(libreoffice): suppress auto-generated page header for CSV conversions
2026-06-05 17:50:01 +02:00
Julien Neuhart
5558e43821
feat(pdfengines): inject Factur-X/ZUGFeRD XMP metadata
2026-06-05 17:50:01 +02:00
Julien Neuhart
54853e2cbd
docs(bruno): prettify
2026-06-04 20:22:16 +02:00
Julien Neuhart
f5b26c0b2c
test(webhook): integration smoke for async webhook traceparent continuity
2026-06-02 18:56:06 +02:00
Julien Neuhart
190cad0ee2
test(integration): surface container logs on failed startup
2026-05-29 15:09:50 +02:00
Julien Neuhart
08181f8550
test(integration): prune orphaned networks to avoid subnet exhaustion
2026-05-29 14:32:50 +02:00
Heorhii Ovcharenko
c1cdcbdaab
feat(chromium): allow to specify device scale ratio for screenshots ( #1543 )
2026-05-04 21:16:04 +02:00
Julien Neuhart
45b9f32351
refactor(chromium): drop paint-callback polyfill now that chromedp is pinned
2026-04-30 14:16:59 +02:00
Julien Neuhart
200334197f
feat(chromium): always inject paint-callback polyfill to cover waitDelay users
2026-04-24 14:30:45 +02:00
Julien Neuhart
ce9c48b2b0
fix(testdata): prettify
2026-04-24 12:52:57 +02:00
Julien Neuhart
1c0ff24c4b
feat(chromium): inject paint-callback polyfill when waitForExpression or waitForSelector is set
2026-04-24 12:14:52 +02:00
Julien Neuhart
8f711b0f99
Revert "feat(chromium): skip lifecycle waits when waitForExpression or waitForSelector is set"
...
This reverts commit 430f95f79f .
2026-04-24 11:19:14 +02:00
Julien Neuhart
430f95f79f
feat(chromium): skip lifecycle waits when waitForExpression or waitForSelector is set
2026-04-24 09:28:27 +02:00
Julien Neuhart
259d80bb68
fix(test): deny-private-ips on scenario now uses http://127.0.0.1/ as the URL
2026-04-23 21:30:43 +02:00
Julien Neuhart
7a914fce65
fix(outbound)!: per-module deny-private-ips and deny-public-ips, permissive defaults
2026-04-23 20:01:27 +02:00
Julien Neuhart
c204cadfc5
fix(pdfengines): require uploaded stamp/watermark file for image or pdf source
2026-04-22 07:47:19 +02:00
Julien Neuhart
35f1a990a6
fix(chromium): harden outbound URL handling
2026-04-22 07:47:19 +02:00
hubert.lenoir
3187980ead
feat: add embeds metadata
2026-04-16 17:28:16 +02:00
Julien Neuhart
092b526ab5
docs: more succint [skip ci]
2026-04-13 17:59:14 +02:00
Julien Neuhart
46e190970f
fix(exiftool): remove System: prefixes
2026-04-13 17:44:58 +02:00
Julien Neuhart
55d19522a8
fix(exiftool): prevent line breaks
2026-04-11 13:11:47 +02:00
Julien Neuhart
924576d3d4
fix(outboundURLs): better detaults
2026-04-11 13:05:05 +02:00
Julien Neuhart
1b1e100107
chore(deps): update Go dependencies
2026-04-10 13:42:38 +02:00