github gotenberg/gotenberg 6.0.0

latest releases: v8.7.0, v8.6.0, v8.5.1...
4 years ago

New features

Maximum wait timeout (breaking change)

You may now specify a maximum wait timeout using the environment variable MAXIMUM_WAIT_TIMEOUT (default to 30 seconds).

It allows you to control the maximum value of the form field waitTimeout.

Maximum wait delay (breaking change)

MAXIMUM_WAIT_DELAY (default to 10 seconds) works like MAXIMUM_WAIT_TIMEOUT, but for the form field waitDelay.

Webhook URL timeout (breaking change)

You may now specify a timeout for sending a resulting PDF to a webhook URL using:

  • A form field named webhookURLTimeout (for which you may control the maximum value using MAXIMUM_WEBHOOK_URL_TIMEOUT - default to 30 seconds).
  • An environment variable named DEFAULT_WEBHOOK_URL_TIMEOUT (default to 10 seconds)

Improvements

Concurrent Office conversions (breaking change)

Gotenberg is now able to start an instance of LibreOffice for each request.

Fixes #94.

Removing PM2

PM2 is no more required as an instance of LibreOffice is started for each request.
Google Chrome is started using the exec library.

New logging system (breaking change)

The logging system has been entirely reworked using github.com/sirupsen/logrus in order to provide better information about what's going on:

  • If a TTY is attached, the log entries are displayed in text format with nice colors, otherwise in JSON format.
  • Each log entry has fields associated to it:
    • msg: the message.
    • op: the logical operation or the chain of logical operations if it's an error entry.
    • trace: allow to identify log entries from the same "context" (a request for instance).
  • Like previous of version of Gotenberg, a log entry is created at the end of a request with additional fields: latency_human, method etc.

Environment variable DISABLE_HEALTHCHECK_LOGGING as been removed in favor of LOG_LEVEL. It accepts the following values:

  • DEBUG: detailed log entries about everything going on.
  • INFO (default): basic log entries.
  • ERROR: only error log entries.

Fixes #113.

Non root user: gotenberg (breaking change)

Gotenberg image is now using a non root user named gotenberg (uid 1001 and gid 1001).

Thanks @tbflw.

HTTP code for timeout (breaking change)

Instead of a 408 HTTP code if a conversion timeout, a 504 HTTP code is now sent.

New merge endpoint (breaking change)

Instead of a /convert/merge, the merge endpoint is now /merge.

Better font rendering for HTML / URL / Markdown conversion

See puppeteer/puppeteer#2410.

Thanks @vbaidak.

Noto emoji font

See #100.

Thanks @vbaidak.

LibreOffice 6.3

Updating LibreOffice from 6.1 to 6.3 (fixes #107).

Thanks @tiago-soczek.

Fixes

  • The correct HTTP code is now sent if a conversion take more time than the given "wait timeout" (fixes #94).
  • Decimal values for timeouts are now correctly handled (fixes #92).
  • Google fonts are now correctly loaded (fixes #92).
  • No more disk space leak in case of error (fixes #87).
  • Office conversion does not fail anymore if there are special characters in the filename (fixes #104).
  • Memory footprint of Chrome has been drastically reduced - thanks @mafredri (fixes #96).
  • Limiting the number of concurrent clients to Google Chrome - thanks @mafredri for the help (fixes #98).
  • No more zombie or orphan processes thanks to tini and a better management of processes (fixes #103).

Internal

  • Code coverage via Codecov.
  • Go 1.13.
  • Load testing.

Don't miss a new gotenberg release

NewReleases is sending notifications on new releases.