1.10 release notes
Before attempting to upgrade to Document Engine 1.10, first upgrade to Document Engine 1.9 if you haven't already, and make sure your application still runs as expected.
We always verify that the release process is seamless when upgrading to the newest version from the last minor release. If you’re using an older version, make sure to upgrade one minor version at a time.
Example: If the latest version is 1.6.1 and you’re running 1.3.x, upgrade to 1.4.x first, then to 1.5.x, and only then to 1.6.1.
Refer to our upgrade guide for more information.
Highlights
GdPicture update
This version ships with GdPicture 14.3.9. This is an upgrade that mainly brings fixes to Microsoft Office documents.
Build instructions
This version adds new options to the applyXfdfAction
when importing XFDF files to documents using the Build instructions. Specifically, these options are now available:
ignorePageRotation
- This determines if page rotation will be ignored when applying XFDF files.richTextEnabled
- Determines if text annotations from the XFDF files should be converted to rich or plain text.
Convert documents to HTML and Markdown
This version can now convert PDF documents into structured HTML or Markdown formats. This new feature is designed to accurately preserve document's layout and formatting, including text, headings, tables, and styles.
To use this, simply set the output type to html
or markdown
in your Build instructions (requires HTML or Markdown conversion license).
PDF/UA accessibility auto-tagging
You can now automatically tag your PDF documents, ensuring they are compliant with the PDF/UA-1 standard. This makes your documents screen-reader-ready and accessible to a wider audience.
To enable this, just specify the output type as pdfua
in your Build instructions (requires PDF/UA accessibility auto-tagging license).
Affected Endpoints
All endpoints that work with Build Instructions are affected by this change including:
/api/documents/{documentId}/apply_instructions
/api/documents/{documentId}/layers/{layerName}/apply_instructions
/api/build
Check the Document Engine API reference for more information.
Prometheus Exporter Release Notes
The Prometheus exporter provides HTTP endpoints for exposing application metrics in a format compatible with Prometheus. This enables easy integration with Prometheus for monitoring and alerting.
Features
- Exposes metrics via an HTTP server.
- Configurable port for the metrics endpoint.
- Ability to enable or disable the exporter via application configuration.
- Supports setting global labels for all exported metrics.
Configuration
ENABLE_PROMETHEUS
- Set totrue
to enable the Prometheus (defaults tofalse
)PROMETHEUS_PORT
- Port number for the Prometheus metrics HTTP server (defaults to9091
)PROMETHEUS_GLOBAL_LABELS
- Comma-separated list of global labels for all metrics (e.g.env=prod,app=api
)METRICS_CUSTOM_TAGS
- Comma-separated list of global tags (e.g.region=us-east,version=1.0
)
The METRICS_CUSTOM_TAGS
environment variable can be used to set custom tags for the metrics. It is meant to be a global setting that applies to all metric exporters, not only the Prometheus exporter.
Server response header
By default, Document Engine replies with the following header:
server: Document Engine/1.10.0
You can now control it via the new SERVER_HEADER_TOKENS
environment variable. Supported values are:
off
- noserver
header in responsename
-server: Document Engine
header in responseversion
-server: Document Engine/1.10.0
header in response
If the value is not provided, or if an invalid value is provided, Document Engine defaults to version
with an appropriate warning in logs.
Hoard (internal cache)
Our system uses an internal cache called Hoard to store frequently accessed data, particularly large files or parts of them. Sometimes, a small piece of data we want to cache might internally reference a much larger file. To prevent the cache from unnecessarily holding onto that entire large file, Hoard can intelligently copy just the relevant small piece, optimizing memory usage.
This release introduces two new environment variables.
HOARD_MAX_SIZE
- defaults to100000000
bytes (100 MB). Represents maximum Hoard cache size.HOARD_BINARY_COPY_ENABLED
- enabled by default. To disable, set the value tooff
,no
,false
, or0
.HOARD_BINARY_COPY_THRESHOLD
- default value is2
, can be set to any integer value.
The HOARD_BINARY_COPY_ENABLED
and HOARD_BINARY_COPY_THRESHOLD
environment variables give advanced users control over this specific memory optimization. HOARD_BINARY_COPY_ENABLED
toggles this copying feature, while HOARD_BINARY_COPY_THRESHOLD
sets the size ratio at which a copy is performed. These are highly technical settings with carefully optimized default values. We strongly advise against changing them unless you have a deep understanding of our system's memory management, as incorrect configurations can significantly impact memory usage and overall performance.
Breaking changes
Minimize information disclosure option removed
The undocumented MINIMIZE_INFORMATION_DISCLOSURE
environment variable is no longer supported. It was removed in favor of the new SERVER_HEADER_TOKENS
environment variable.
To migrate to this new variable, simply replace MINIMIZE_INFORMATION_DISCLOSURE=true
with SERVER_HEADER_TOKENS=off
.
Database migrations
This release doesn’t include any database migration.
Changelog
A full list of changes, along with the issue numbers, is available here.