Julien Neuhart
c636a52666
fix(otel): keep telemetry off unless an exporter is configured
2026-08-31 13:27:05 +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
357c3b4a59
fix(outbound): return 403 instead of 500 for an unresolvable outbound host
2026-08-13 08:21:35 +02:00
Julien Neuhart
de7f335791
fix(outbound): keep dial pinning for hops the environment proxy declines
2026-08-07 16:37:03 +02:00
Julien Neuhart
bb0b874d16
fix(telemetry): align resource semconv with otel sdk 1.45 detectors
2026-08-07 14:04:37 +02:00
Julien Neuhart
a92a7fedba
feat(outbound): support authenticated proxy from environment variables
2026-07-15 20:08:29 +02:00
Julien Neuhart
d4c20c6b39
feat(telemetry): record backing-binary versions on spans, captured at build time
2026-06-07 14:52:06 +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
5558e43821
feat(pdfengines): inject Factur-X/ZUGFeRD XMP metadata
2026-06-05 17:50:01 +02:00
Julien Neuhart
3ab8c5920b
feat(log): add log-std-level-case to control standard output level casing
2026-06-04 20:44:04 +02:00
Julien Neuhart
60482a5cdf
style: apply gofmt modernization fixes
2026-06-02 19:56:50 +02:00
Julien Neuhart
7465166de7
feat(gotenberg): emit queue-wait and launch sub-spans in supervisor Run
2026-06-02 19:28:43 +02:00
Julien Neuhart
de572fe6b5
refactor(gotenberg): thread engine label into NewProcessSupervisor
2026-06-02 19:25:47 +02:00
Julien Neuhart
2b20399a80
feat(gotenberg): add ConversionsSinceRestart accessor to ProcessSupervisor
2026-06-02 19:23:45 +02:00
Julien Neuhart
7c630ecc6e
feat(otel): emit gotenberg.startup span with engine versions
2026-06-02 19:18:50 +02:00
Julien Neuhart
bbebad1175
feat(otel): enrich resource with process, os, host, and container detectors
2026-06-02 19:16:01 +02:00
Julien Neuhart
387728f09a
refactor(otel): extract shared buildResource helper
2026-06-02 19:13:38 +02:00
Julien Neuhart
65e8bf20d4
docs(otel): document sampling configuration and tail-sampling guidance
2026-06-02 19:12:03 +02:00
Julien Neuhart
e1c28d8450
feat(gotenberg): add telemetry attribute helpers for redaction and capping
2026-06-02 19:11:40 +02:00
Julien Neuhart
c63dd5ce1e
feat(otel): pin trace-based exemplar filter on the meter provider
2026-06-02 19:10:51 +02:00
Julien Neuhart
7a439632da
test(otel): guard OTEL_TRACES_SAMPLER is honored
2026-06-02 19:08:13 +02:00
Julien Neuhart
a5efccd4cc
feat(gotenberg): add ClassifyError with bounded error.type enum
2026-06-02 19:01:58 +02:00
Julien Neuhart
0b0e817ca5
feat(gotenberg): wrap Cmd.Exec in a process.exec client span
2026-06-02 18:59:33 +02:00
Julien Neuhart
1d0c9acb2a
fix(otel): align resource semconv to v1.41.0 to match SDK default
2026-05-29 15:09:50 +02:00
Julien Neuhart
3d891edee4
fix(gotenberg): debounce supervisor health probes to absorb transient CDP latency
2026-05-26 19:31:09 +02:00
Julien Neuhart
f9a01c9fb3
fix(gotenberg): block IPv6 prefixes that tunnel to internal IPv4 in IsPublicIP
2026-05-12 19:22:20 +02:00
Julien Neuhart
4998870723
feat(libreoffice): SSRF guard for embedded external content
2026-04-30 14:16:59 +02:00
Julien Neuhart
64c28dd45e
fix(supervisor): retry first launch on failure ( #1538 )
2026-04-30 14:16:59 +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
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
924576d3d4
fix(outboundURLs): better detaults
2026-04-11 13:05:05 +02:00
Julien Neuhart
e4a43434dc
docs: improve godoc and documentation [skip ci]
2026-04-03 14:23:18 +02:00
Julien Neuhart
e28e2ebf0f
chore(supervisor): InfoContext to DebugContext
2026-03-31 15:12:26 +02:00
Julien Neuhart
ebf0548d19
refactor: switch from multierr to errors.join
2026-03-27 22:14:01 +01:00
Julien Neuhart
d3a65a587c
feat(supervisor): optional idle shutdown
2026-03-27 21:16:49 +01:00
Julien Neuhart
4e9f63004d
feat(otel): add OpenTelemetry support
2026-03-27 16:28:45 +01:00
Julien Neuhart
8625a4e899
fix(webhook/downloadFrom): better default security and DX for allow / deny lists
2026-03-27 10:52:04 +01:00
Julien Neuhart
06b2b2e10c
fix(chromium): better default security and DX for allow / deny lists
2026-03-27 09:47:21 +01:00
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