- Bump
gotenbergversion8.36.0->8.38.1(via8.37.0and8.38.0). - Upstream behavior change: each Chromium conversion now runs in its own browser context, so cookies, cache and storage no longer carry over between conversions. Set the new
chromium.sharedBrowserContext(--chromium-shared-browser-context) to restore the previous behavior;chromium.clearCache,clearCookiesandclearStoragenow only apply with it. Isolation adds a few dozen milliseconds per conversion. - Upstream behavior change:
api.bodyLimitis enforced on the raw request body before parsing, so multipart boundaries and part headers count toward it and a request just under the limit may now get a413. - Add
api.downloadFromMaxConcurrency(--api-download-from-max-concurrency) andapi.downloadFromMaxEntries(--api-download-from-max-entries) to bounddownloadFromfetches. Upstream now caps concurrent fetches at10per request (previously unbounded); setdownloadFromMaxConcurrency: 0to restore no limit. - Add
pdfEngines.maxConcurrency(--pdfengines-max-concurrency, default1) to process a request's PDF files concurrently, trading memory for speed. - Upstream behavior change:
failOnResourceLoadingFailednow also fails on resources the outbound proxy could not reach, which previously counted as loaded. - Upstream behavior change: Chromium CONNECT tunnels close after 2 minutes of silence (max 512 in flight), and webhook deliveries, retries included, get a bounded time budget with
Retry-Aftercapped atwebhook.retryMaxWait. - Upstream security fixes: allow/deny-list matching strips URL userinfo; CGNAT (
100.64.0.0/10) and benchmarking (198.18.0.0/15) ranges count as non-public; IPv6 zone identifiers no longer bypass the private IP checks; Chromium loopback WebSockets are filtered against the lists; metadata keys colliding with ExifTool options return400; blockeddownloadFromredirects return a generic403. - Upstream bug fixes (no chart-level config): health checks stay healthy during planned
restartAfterrestarts; DOCX math formulas render again; Chromium renderer crashes fail fast with503; about 75 MB less memory per Chromium browser; OpenTelemetry signals stay off until theirOTEL_*_EXPORTERvariable is set; duplicate upload filenames are kept asname (2).ext; intermittent deny-list match timeouts under CPU throttling no longer fail requests with500. - Upstream feature (per-request, no chart config):
generateTaggedPdffor LibreOffice conversions. - Bundled Chromium updated to
155.0.8059.39(fixes CVE-2026-87654); LibreOffice to26.8.1.