Skip to content

chore(deps): update gotenberg/gotenberg docker tag to v8

Lama Bot requested to merge renovate/gotenberg-gotenberg-8.x into main

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

Compare Source

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 for armhf and arm64).
  • Updates Go dependencies.

v8.4.0: 8.4.0

Compare Source

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 for armhf).
  • Updates Go dependencies.

v8.3.0: 8.3.0

Compare Source

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

Compare Source

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

Compare Source

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

Compare Source

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 for armhf).
  • Updates Go dependencies.

v8.1.0: 8.1.0

Compare Source

️ 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 to document.docx.pdf, file.pdf to file.pdf). This feature resolves issue #​771, thanks to @​chrishughes20!

Chore

  • Updates Go dependencies.

v8.0.3: 8.0.3

Compare Source

Chore

  • Updates Noto Color Emoji font to v2.042.
  • Updates Chromium to version 121.0.6167.160 (except for armhf).
  • Updates LibreOffice to version 24.2.0.3 (successor of version 7.6).
  • Updates Go dependencies.

v8.0.2: 8.0.2

Compare Source

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

Compare Source

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

Compare Source

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
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

Compare Source

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, but PDF/A-1b. A warning will appear in the logs if PDF/A-1a is requested. Note that LibreOffice was never producing real PDF/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 for armhf).
  • Updates LibreOffice to version 7.6.4.
  • Updates Go dependencies.

v7.10.1: 7.10.1

Compare Source

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

Compare Source

This is the last minor release of Gotenberg 7 before version 8 🎉 See https://github.com/gotenberg/gotenberg/issues/710 for more details.

️ The Chromium and LibreOffice modules behavior is changing with this release; consider reading the details below to have a better understanding.

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.

️ There is now a single Chromium browser that handles all conversions. It manages them one by one, like the LibreOffice process in stateful mode. Under heavy load, you should consider increasing the number of Gotenberg instance.

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.

️ There is no more a stateless mode with LibreOffice, it now works the same way as the new version of the Chromium module.

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 the pdfFormat and nativePdfFormat form fields.
Misc

️ The following modules have been renamed:

  • 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 for armhf variant, updates to 119.0.6045.159 for others.
  • Updates LibreOffice to version 7.5.8.2.
  • Updates Noto Emoji to version 2.040 (Unicode 15.1).

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Lama Bot

Merge request reports