Releases: gotenberg/gotenberg
8.8.0
New Features
Process Management
Previously, auto-restarts happened at the start of a request, causing noticeable latency.
Now, processes restart after a request, reducing or eliminating latency when the system isn't fully loaded.
Courtesy of @MaxLap.
Chromium
A conversion now fails with a 400 Bad Request response when Chromium encounters ERR_CONNECTION_REFUSED. Thanks to @Neirda24 for the heads up!
LibreOffice
Introducing a bunch of new form fields:
Page properties
Key | Description | Default |
---|---|---|
allowDuplicateFieldNames | Specify whether multiple form fields exported are allowed to have the same field name. | false |
exportBookmarks | Specify if bookmarks are exported to PDF. | true |
exportBookmarksToPdfDestination | Specify that the bookmarks contained in the source LibreOffice file should be exported to the PDF file as Named Destination. | false |
exportPlaceholders | Export the placeholders fields visual markings only. The exported placeholder is ineffective. | false |
exportNotes | Specify if notes are exported to PDF. | false |
exportNotesPages | Specify if notes pages are exported to PDF. Notes pages are available in Impress documents only. | false |
exportOnlyNotesPages | Specify, if the form field exportNotesPages is set to true, if only notes pages are exported to PDF. | false |
exportNotesInMargin | Specify if notes in margin are exported to PDF. | false |
convertOooTargetToPdfTarget | Specify that the target documents with .od[tpgs] extension, will have that extension changed to .pdf when the link is exported to PDF. The source document remains untouched. | false |
exportLinksRelativeFsys | Specify that the file system related hyperlinks (file:// protocol) present in the document will be exported as relative to the source document location. | false |
exportHiddenSlides | Export, for LibreOffice Impress, slides that are not included in slide shows. | false |
skipEmptyPages | Specify that automatically inserted empty pages are suppressed. This option is active only if storing Writer documents. | false |
addOriginalDocumentAsStream | Specify that a stream is inserted to the PDF file which contains the original document for archiving purposes. | false |
Images
Key | Description | Default |
---|---|---|
quality | Specify the quality of the JPG export. A higher value produces a higher-quality image and a larger file. Between 1 and 100. | 90 |
maxImageResolution | If the form field reduceImageResolution is set to true, tell if all images will be reduced to the given value in DPI. Possible values are: 75, 150, 300, 600 and 1200. | 300 |
Fixes
- The routes
/health
and/version
are no longer protected by basic authentication. Thanks to @MaikuMori for the heads up! - The form field
reduceImageResolution
has been reset to its actual default value (e.g.,false
).
Chore
- Updates Chromium to version
126.0.6478.126
(except forarmhf
). - Updates LibreOffice to version
24.2.4
. - Updates Go dependencies.
You may now sponsor this open-source project. Thanks ❤️
8.7.0
New Features
Chromium
New form field userAgent
for overriding the default User-Agent HTTP header. Thanks @wjkoh for the help!
LibreOffice
Two new form fields to tweak image conversion perfomance:
losslessImageCompression
- Allow turning lossless compression on or off (default to false).reduceImageResolution
- Allow turning on or off image resolution reduction (default to true).
Courtesy of @garethjudson!
Chore
- Updates Go dependencies.
8.6.0
New Feature
TLS support 🚀
--api-tls-cert-file
- path to the TLS/SSL certificate file.--api-tls-key-file
- path to the TLS/SSL key file.
Thanks @jonasgeiler!
Chore
- Updates Go dependencies.
8.5.1
New Feature
If a terminal is attached and the TZ
environment variable is set, the logging entries will use the specified timezone. Thanks @jaime-pineiro-imatia!
Chore
- Updates Chromium to version
125.0.6422
(except forarmhf
). - Updates LibreOffice to version
24.2.3
. - Updates Go dependencies.
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.
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
- booleanhttpOnly
- booleansameSite
- 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.
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.
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 #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 #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 #808.
Chore
- Updates Go dependencies.
- Updates Go to version
1.22
.
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 #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.
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.