Releases: gotenberg/gotenberg
8.0.2
8.0.1
8.0.0
Gotenberg 8 is now out 🎉
For users of 7.x
, the transition to this version should be relatively smooth. Most significant changes were introduced in 7.10.x
. This release primarily removes deprecated elements (flags, form fields, etc.) and introduces eagerly anticipated features for Chromium. Read on for detailed information.
Upgrade from v7
If you're upgrading from Gotenberg 7, it's recommended to begin with the latest 7.x
version, specifically 7.10.2
. Monitor the logs of your Gotenberg instances. Pay attention to warnings at startup and during runtime to identify deprecated features in use that will be unavailable in Gotenberg 8.
Refer to the following lists for deprecated elements:
Deprecated Flags
--api-read-timeout
--api-process-timeout
--api-write-timeout
--api-webhook-allow-list
--api-webhook-deny-list
--api-webhook-error-allow-list
--api-webhook-error-deny-list
--api-webhook-max-retry
--api-webhook-retry-min-wait
--api-webhook-retry-max-wait
--api-disable-webhook
--chromium-user-agent
--chromium-failed-starts-threshold
--uno-listener-start-timeout
--uno-listener-restart-threshold
--unoconv-disable-listener
Deprecated Form Fields
userAgent
(Chromium)pdfFormat
nativePdfA1aFormat
(LibreOffice)nativePdfFormat
(LibreOffice)PDF/A-1a
aspdfa
value (see https://gotenberg.dev/docs/troubleshooting#pdfa-1a).
Deprecated Metrics
chromium_active_instances_count
chromium_failed_starts_count
unoconv_active_instances_count
libreoffice_listener_active_instances_count
unoconv_listener_active_instances_count
libreoffice_listener_queue_length
unoconv_listener_queue_length
pdftk_active_instances_count
qpdf_active_instances_count
New Chromium Features
- You can capture full-page screenshots using the following three routes, which function similarly to their PDF equivalents:
POST /forms/chromium/screenshot/url
POST /forms/chromium/screenshot/html
POST /forms/chromium/screenshot/markdown
- The following form fields are available:
format
("png", "jpeg" or "webp"),quality
(jpeg only, 0 to 100),omitBackground
,optimizeForSpeed
(optimize image encoding for speed not for resulting size). - The following features are also available: wait before rendering, emulated media type, custom HTTP headers, invalid HTTP status codes, console exceptions, performance mode.
- New form field
failOnHttpStatusCodes
: return a 409 Conflict response if the HTTP status code from the main page is not acceptable - thanks @TheRealPaco & @jmvezic! - New form field
skipNetworkIdleEvent
: do not wait for Chromium network to be idle, allowing for faster conversions - thanks @rreynier! - New flag
--chromium-clear-cache
: clear Chromium cache between each conversion - thanks @low613! - New flag
--chromium-clear-cookies
: clear Chromium cookies between each conversion - thanks @low613!
7.10.2
Fixes
- Special characters issues with files - fixes #730 & #662 - thanks @joernv & @ramonmedeiros!
- No more panic when a lot of requests are in the Chromium queue (did not appear with default behavior, i.e., no restart) - fixes #753 - thanks @low613!
- LibreOffice 7.6 does not produce
PDF/A-1a
like earlier releases, butPDF/A-1b
. A warning will appear in the logs ifPDF/A-1a
is requested. Note that LibreOffice was never producing realPDF/A-1a
, they just make it clear now. Fixes #746 - thanks @stumpylog! - Do not start the API unless all modules are ready. New flag
--api-start-timeout
(default 30s) - fixes #750 - thanks @bahag-xvisnei!
Chore
- Updates Chromium to version
120.0.6099.109
(except forarmhf
). - Updates LibreOffice to version
7.6.4
. - Updates Go dependencies.
7.10.1
7.10.0
This is the last minor release of Gotenberg 7 before version 8 🎉 See #710 for more details.
New Feature
New form field pdfua
: PDF for Universal Access for optimal accessibility. Available for:
/forms/chromium/convert/*
/forms/libreoffice/convert
/forms/pdfengines/convert
/forms/pdfengines/merge
Fixes
Chromium
There were memory leaks due to defunct processes. As each conversion was starting a Chromium process, it was adding up quickly overtime. Alas, the issue is still upstream and it is recommended to have a long-running browser to handle conversions.
Please note that this only mitigates the memory leaks; according to your metrics, consider restarting your Gotenberg instances from time to time.
New flags:
--chromium-restart-after
- Number of conversions after which Chromium will automatically restart. Set to 0 to disable this feature (default 0).--chromium-auto-start
- Automatically launch Chromium upon initialization if set to true; otherwise, Chromium will start at the time of the first conversion (default false).--chromium-start-timeout
- Maximum duration to wait for Chromium to start or restart (default 10s).
New metrics:
chromium_requests_queue_size
- Current number of Chromium conversion requests waiting to be treated.chromium_restarts_count
- Current number of Chromium restarts.
Fixes #642 - thanks @petternordlanderhelo & @JulienWeintraub!
LibreOffice
Newer versions of LibreOffice were unstable in stateful mode due to the abrupt deletion of their user profile directory. The "cleaning" system of files have been updated so that it now works with the latest LibreOffice version available on Debian.
New flags:
--libreoffice-restart-after
- Number of conversions after which LibreOffice will automatically restart. Set to 0 to disable this feature (default 10).--libreoffice-auto-start
- Automatically launch LibreOffce upon initialization if set to true; otherwise, LibreOffice will start at the time of the first conversion (default false).--libreoffice-start-timeout
- Maximum duration to wait for LibreOffice to start or restart (default 10s).
New metrics:
libreoffice_requests_queue_size
- Current number of LibreOffice conversion requests waiting to be treated.libreoffice_restarts_count
- Current number of LibreOffice restarts.
Fixes #576 - thanks @PierreSchwang!
Deprecations
Chromium
Form field
userAgent
Flag:
chromium-failed-starts-threshold
Metrics:
chromium_active_instances_count
chromium_failed_starts_count
LibreOffice
Flags:
uno-listener-start-timeout
uno-listener-restart-threshold
Metrics:
unoconv_active_instances_count
libreoffice_listener_active_instances_count
libreoffice_listener_queue_length
PDF Engines
pdfa
now replaces thepdfFormat
andnativePdfFormat
form fields.
Misc
uno
->libreoffice-api
uno-pdfengine
->libreoffice-pdfengine
Chore
- Updates base image to Debian 12 bookworm.
- Updates Go dependencies.
- Blocks Chromium to version
116.0.5845.180-1
forarmhf
variant, updates to119.0.6045.159
for others. - Updates LibreOffice to version
7.5.8.2
. - Updates Noto Emoji to version
2.040
(Unicode15.1
).
7.9.2
7.9.1
7.9.0
New Feature
Adds a new flag --log-fields-prefix
that prepends a prefix to each field in the logs (see #659) - thanks @JulienWeintraub!
Chore
- Updates Go dependencies.
- Updates Google Chrome to version
115.0.5790.98
foramd64
variant,114.0.5735.198-1
for others.
7.8.3
New Features
- The Chromium module now provides an health check. After a number of consecutive failed starts, defined by the property
chromium-failed-starts-threshold
(default 5), the/health
route will return a503 Service Unavailable
error - thanks @spewu! - Better graceful shutdown, on Kubernetes (see #649) - thanks @kevin-lindsay-1!
Chore
- Updates Go dependencies.
- Updates Google Chrome to version
113.0.5672.126
foramd64
variant,112.0.5615.138-1
for others.