- Bump
gotenbergversion8.34.0->8.36.0(via8.35.0). - Breaking upstream change: outbound HTTP clients no longer inherit
HTTP_PROXYandHTTPS_PROXYimplicitly. Deployments that relied on those variables reaching Chromium, LibreOffice,downloadFromor webhook delivery must now opt in per module via the newenableEnvironmentProxyvalues below. - Add
api.enableOidcAuth,api.oidcIssuer,api.oidcAudienceandapi.oidcJwksUrl(--api-enable-oidc-auth,--api-oidc-issuer,--api-oidc-audience,--api-oidc-jwks-url) for OIDC bearer token authentication. Mutually exclusive withapi.enableBasicAuth;oidcJwksUrlis discovered from the issuer's well-known configuration when left empty. - Add
chromium.enableEnvironmentProxy,libreOffice.enableEnvironmentProxy,webhook.enableEnvironmentProxyandapi.downloadFromEnableEnvironmentProxyto route outbound traffic through the proxy defined byHTTP_PROXY/HTTPS_PROXY/NO_PROXY(set viaextraEnv), credentials included. Usechromium.enableEnvironmentProxyinstead ofchromium.proxyServerfor authenticated proxies, leavingproxyServerandhostResolverRulesunset. - Add
chromium.clearStorage(--chromium-clear-storage) to clear Chromium local storage between conversions; session storage is already isolated per conversion. - Add
pdfEngines.optimizeImagesEngines(--pdfengines-optimize-images-engines) for the new image optimization feature (defaultpdfcpu). - Upstream security fix: the
Gotenberg-Output-Filenameheader is sanitized before reaching archive entry names —filepath.Baseignores\on Linux, so a crafted header gave a Windows-side Zip Slip onsplitModeconversions. - Upstream security fix:
extraHttpHeadersscope matching now shares a per-conversion time budget and accepts at most 64 headers with a 1024-characterscope. - Upstream security fix: Chromium WebSocket handshakes are filtered against the outbound policy, closing connections to hosts the SSRF policy otherwise blocks.
- Upstream features (per-request, no chart config):
/forms/pdfengines/optimizeroute and anoptimizeImagesoption on the Chromium, LibreOffice, merge and split routes; repeated stamp/watermark fields to apply several in one request; aselectorfield to screenshot a single element;titleBookmarksfor table-of-contents bookmarks when merging; awaited Promise-returningwaitForExpression. - Upstream bug fixes (no chart-level config): LibreOffice returns
500rather than400for server-side failures;generateDocumentOutlinenow enablesgenerateTaggedPdfinstead of silently doing nothing; the Chromium pinning proxy no longer latches after a start timeout; LibreOffice releases a document after a failed export; landscape single-page fits the page to its content;.ppsxand.ppsmare accepted; client-cancelled requests are classified499; scrolled workbooks render in full forsinglePageSheets; an unresolvable outbound host returns403rather than500. - Bundled Chromium updated to
151.0.7922.71;pdfcputov0.15.0;unoconvertertov0.4.0.