chore(deps): update gotenberg/gotenberg docker tag to v8
This MR contains the following updates:
Package | Update | Change |
---|---|---|
gotenberg/gotenberg | major |
7.9.2 -> 8.5.0
|
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
Release Notes
gotenberg/gotenberg (gotenberg/gotenberg)
v8.5.0
: 8.5.0
New Features
API
New /version
endpoint that displays the currently running version of Gotenberg.
This closes #856. Thanks @Jaben and @stumpylog!
Chromium
The screenshot routes now accepts the following form fields:
-
width
- The device screen width in pixels (default to 800). -
height
- The device screen height in pixels (default to 600). -
clip
- Define whether to clip the screenshot according to the device dimensions (default to false).
This resolves #816. Thanks @rslinckx for the assistance!
Chore
- Updates Chromium to version
124.0.6367.78
(except forarmhf
andarm64
). - Updates Go dependencies.
v8.4.0
: 8.4.0
New Features
API
You may now enable basic authentication with --api-enable-basic-auth
. Gotenberg will look for the GOTENBERG_API_BASIC_AUTH_USERNAME and GOTENBERG_API_BASIC_AUTH_PASSWORD environment variables.
This resolves #684.
Chromium
Now supports specifying cookies to the Chromium cookie jar thanks to the cookies
form field. This form field is a JSON-formatted array with items accepting the following keys:
-
name
(required) -
value
(required) -
domain
(required) path
-
secure
- boolean -
httpOnly
- boolean -
sameSite
- accepted values are Strict, Lax or None
Special thanks to @Sungq1990 for the assistance. This resolves issue #658.
LibreOffice
Introducing a new form field singlePageSheets
(boolean) - This setting determines whether to render the entire spreadsheet as a single page. Thanks to @mrbech!
Chore
- Updates Chromium to version
123.0.6312.105
(except forarmhf
). - Updates Go dependencies.
v8.3.0
: 8.3.0
New Features
ExifTool
ExifTool's new PDF engine introduces the capability to read and write PDF metadata.
You can now input metadata using the metadata
form field for the routes below:
/forms/chromium/convert
/forms/libreoffice/convert
/forms/pdfengines/merge
The metadata
field accepts JSON-formatted values, including types: boolean, int, float, string, and strings.
Additionally, two new routes are available:
-
/forms/pdfengines/metadata/read
- Retrieves the metadata of specified PDFs, returning a JSON formatted response with the structure filename => metadata. -
/forms/pdfengines/metadata/write
- Allows writing specified metadata to one or more PDFs.
Kudos to @piyushsriv for the contribution! This resolves issue #207.
Chromium
Now supports specifying paper size and margins in various units such as 72pt, 96px, 1in, 25.4mm, 2.54cm, or 6pc. The default unit is inches when not specified.
Special thanks to @FrankHeijden for the assistance. This resolves issue #591.
LibreOffice
- Enhanced support for a wide range of file extensions, courtesy of @roy20021. This resolves issue #840.
- Introducing a new form field
exportFormFields
(boolean) - This setting determines whether to export the form fields or to use the inputted/selected content of the fields. Thanks to @mrbech!
Chore
- Updates Go dependencies.
v8.2.2
: 8.2.2
Fixes
Chromium
Chromium's default behavior has been updated to no longer generate tagged PDFs, resolving the issue of significantly larger file sizes. For those requiring tagged PDFs, please use the pdfua
form field henceforth.
This issue identified in Gotenberg 8.2.1
has been addressed, thanks to @fu-infotrack for bringing it to our attention! This resolves https://github.com/gotenberg/gotenberg/issues/831.
LibreOffice
- In line with Chromium's update, LibreOffice has also ceased the generation of tagged PDFs to ensure consistency.
- The issue causing 500 response errors during attempts to convert multiple PDFs into PDF/A and/or PDF/UA, introduced in Gotenberg
8.1.0
, has been resolved. Special thanks to @roy20021 for highlighting this problem! This addresses https://github.com/gotenberg/gotenberg/issues/835.
PDFcpu
The PDFcpu PDF engine previously experienced crashes under specific conditions. The latest release of PDFcpu addresses and corrects this issue. Special thanks to @h4ckroot for identifying the problem and @stefannovak for testing the release. This resolves https://github.com/gotenberg/gotenberg/issues/808.
Chore
- Updates Go dependencies.
- Updates Go to version
1.22
.
v8.2.1
: 8.2.1
Fixes
Chromium
~~The default behavior of Chromium no longer includes the generation of tagged PDFs, addressing issues with significantly larger file sizes. For tagged PDF requirements, please utilize the pdfua
form field moving forward. A special shoutout to @WillCohenInfotrack for the alert!~~
It seems that Chromium always generates tagged PDF, whatever the instruction sent. See https://github.com/gotenberg/gotenberg/issues/831.
Misc
Corrected an issue where the API mistakenly issued 501 Not Implemented
responses. Thanks to @stumpylog for pointing this out!
New Feature
LibreOffice
Adding basic support for macOS *.key
files, thanks to the contribution from @eMerzh.
Chore
- Updates Go dependencies.
v8.2.0
: 8.2.0
New Features
Chromium
Introducing a new form field named singlePage
. This feature allows for the printing of PDFs where the content fits onto a single page. It addresses issue #421. Special thanks to @rslinckx and @matthiscock for their contributions!
Chromium now also generates tagged PDFs by default.
LibreOffice
Adding basic support for macOS *.pages
files. This enhancement addresses issue #635 from @AvnerCohen.
Misc
Improving the merge order functionality for better usability. Files are now sorted alphanumerically rather than by basic alphabetical order. For example, files named 1.pdf
, 2a.pdf
, 2b.pdf
, 10.pdf
, a.pdf
will be sorted in this exact sequence, prioritizing numeric prefixes over letters. This update resolves issue #805 from @hazrul.
Chore
- Updates Chromium to version
122.0.6261.57/.69
(except forarmhf
). - Updates Go dependencies.
v8.1.0
: 8.1.0
⚠ ️ Security Update
This update addresses a critical security flaw which previously enabled unauthorized read access to the system files of a Gotenberg container. It is strongly advised to upgrade to this version, especially for those utilizing the Chromium module to process untrusted content.
A special thanks to @filipochnik!
New Features
- Introducing new configuration options:
--chromium-max-queue-size
and--libreoffice-max-queue-size
. These settings allow Gotenberg to preemptively reject requests exceeding specified queue thresholds for Chromium and/or LibreOffice, issuing a 429 Too Many Requests response to mitigate overload situations, instead of deferring to a timeout response like 503 Service Unavailable. This improvement addresses issue #463 from @NathanLamSeekasia, thanks to @timgrohmann! - Enhancements to
.zip
archive handling: original filenames are preserved in the output, eliminating the need for UUID-based naming conversions (e.g.,document.docx
todocument.docx.pdf
,file.pdf
tofile.pdf
). This feature resolves issue #771, thanks to @chrishughes20!
Chore
- Updates Go dependencies.
v8.0.3
: 8.0.3
Chore
- Updates Noto Color Emoji font to
v2.042
. - Updates Chromium to version
121.0.6167.160
(except forarmhf
). - Updates LibreOffice to version
24.2.0.3
(successor of version7.6
). - Updates Go dependencies.
v8.0.2
: 8.0.2
Fix
The route /forms/libreoffice/convert
now correctly returns a 400 Bad Request
response if the form field pdfa
is invalid.
Chore
Updates Go dependencies.
v8.0.1
: 8.0.1
Fix
This release allows webp
screenshot capture with Chromium, which was not working previously due to a... typo. Tests have been updated consequently.
v8.0.0
: 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!
v7.10.2
: 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.
v7.10.1
: 7.10.1
Fix
This release fixes a wrong type for the deprecated flag --uno-listener-restart-threshold
that was causing panics when used.
v7.10.0
: 7.10.0
This is the last minor release of Gotenberg 7 before version 8
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
Closes https://github.com/gotenberg/gotenberg/issues/621 - thanks @giamma!
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 https://github.com/gotenberg/gotenberg/issues/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 https://github.com/gotenberg/gotenberg/issues/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
).
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.