Gotenberg Versions Save

A developer-friendly API for converting numerous document formats into PDF files, and more!

v8.5.0

1 week ago

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

3 weeks ago

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

1 month ago

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

1 month ago

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

2 months ago

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

2 months ago

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

2 months ago

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

2 months ago

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

3 months ago

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

3 months ago

Fix

This release allows webp screenshot capture with Chromium, which was not working previously due to a... typo. Tests have been updated consequently.