> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/changelogs/webviewer-server/server-changelog-2026.md).

# WebViewer Server 2026 Changelog

Check out our Changelog for WebViewer Server 2026.

### 12.2.0 - October 1

* Updated Apryse SDK to 12.2.0.
* Updated CAD Module to 12.2.0.
* Updated Apache Tomcat to 10.1.60.
* Updated the OpenJDK used in Windows to 21.0.12.1.
* Fixed an issue where the `pageSizes` parameter didn't work when loading images.

### 12.1.1 - August 31

* Fixed a license issue with EML files using the Office conversion module.
* Updated the health check URL so it no longer requires explicit whitelisting.

### 12.1.0 - August 19

* Updated Apryse SDK to 12.1.0.
* Updated CAD Module to 12.1.0.
* Updated Apache Tomcat to 10.1.57.
* **\[Security]** Fixed an issue where FIPS mode would continue launching without the correct OpenSSL access.
* Added support for password-protected Microsoft Office documents.
* Fixed an issue where some logging information was not stored correctly in the `TRN_LOG_LOCATION` path.
* Updated the OpenJDK included in the Windows installer to 21.0.2.

### 12.0.1 - July 31

* Fixed an issue where WebViewer Server used external modules for files also supported in core, causing a license permission failure in some cases.
* Fixed an issue preventing the opening of CSV and XLSB files.

### 12.0.0 - July 8

* Updated Apryse SDK to 12.0.0.
* Updated CAD Module to 12.0.0.
* Updated Apache Tomcat to 10.1.56.
* Updated Log4j to 2.26.0.
* Updated Prometheus packages to 1.8.0.
* **\[Security]** Switched the base image to a Docker Hardened Image.
* **\[Security]** Removed LibreOffice and support for LibreOffice file types. See this [Apryse Community post](https://apryse.com/kb_wvs_libreoffice) for more information.
* **\[Security]** Removed support for TLS 1.1.
* **\[Security]** Removed the default error pages.
* **\[Security]** Fixed WebViewer Server not trusting uploaded custom certificates in outgoing communications.
* **\[Docker]** Set the default permission for the home directory to 755.
* **\[Docker]** Fixed runtime issues with the arm64 image.
* **\[Docker]** Changed the home folder to `/home/apryse` while maintaining a symlink at `/home/tomcat`.
* Fixed an issue preventing Tomcat Native from running.
* Added the option `TRN_MAX_HTTP_HEADER_SIZE` to set the maximum HTTP header size.
* Fixed a bug in the health check when `TRN_LOCALHOST_URL` has been overridden.
* Set a maximum limit of 100 on the length of the user-provided `cacheKey` when opening documents.
* Added support for converting EML files using the Office conversion module.
* Fixed an issue attaching XFDF content to the `getPDF` API.
* Added SLSA Level 2 Attestation to WebViewer Server's Docker images.

### 3.2.0 - May 26

* Updated Apryse SDK to 11.13.0
* Updated CAD Module to 11.13.0
* Updated the HTTP protocol connector implementation to improve reliability when running behind some load balancers.
* Added support for setting the log directory from `TRN_LOG_LOCATION` in `wvs_config.json`, or from the environment variable if it's not set in the config.
* Fixed incorrect memory detection on older Linux versions, which can lead to thrashing.
* Updated the LibreOffice included in the Windows installer to 26.2.3.
* Updated the OpenJDK included in the Windows installer to 17.0.19.

### 3.1.0 - April 1

* Updated Apryse SDK to 11.12.0
* Updated CAD Module to 11.12.0
* Updated LibreOffice included in the Windows installer to 26.2.1
* Added the option `TRN_USE_OFFICE_CONVERSION` to use the Apryse SDK to convert MSG and RTF files when true instead of the Leadtools module. Office license is required to use the Apryse SDK [documentation](/web/webviewer-server/wv-server-config.md#office-conversion-backend).
* \[Security] Removed dependency on Jakarta Mail.
* \[Security] Updated the container base image to Debian-Trixie.
* \[Security] Removed Python and VIM from the container.
* \[Security] Replaced the python healthcheck script with one written in Java.
* \[CloudFormation] Updated the cloud formation template to allow setting the parameter `TRN_ALLOWED_DOMAINS` on creation.
* Fixed an issue where some annotations that rely on appearances would not render properly and consistently.
* Fixed a potential crash when generating a large number of thumbnail images.

### 3.0.0 - February 18

* Updated Apache Tomcat to 10.1.52
* Updated Apryse SDK to 11.11
* Updated CAD Module to 11.11
* \[Security] The WebViewer Server option `TRN_ALLOWED_DOMAINS` has changed its default value. Previously, it defaulted to a wildcard allowing all domains. Now, by default, no domains are allowed for security reasons. For more information, please review our [documentation](/web/webviewer-server/wv-server-config.md#whitelist-domains-for-file-fetches).
* \[Security] Added URL checking within HTML docs to prevent SSRF attacks via src or href entries.
* \[Cloudformation] Updated Node.js version used in the Cloudformation template to Nodejs 24.
* Added improved handling around corrupt outlines in PDF documents.

### 2.4.2 - January 7

* Updated Tomcat to 10.1.50
* Created a simple Kubernetes Helm chart to help customers deploy infrastructure. More info is available [here](/web/webviewer-server/deployment/wv-server-kubernetes-deployment.md).
* Added `TRN_HTTP_PORT` for changing the default HTTP port on the server.
* Added `TRN_HTTPS_PORT` for changing the default HTTPS port on the server.
* Added `TRN_SSLCERT_PATH` for changing the default SSL certificate location.
* Added `TRN_SSLCERTKEY_PATH` for changing the default SSL certificate private key location.
* Fixed issue where CSV/RTF conversion would not work on Linux.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/web/changelogs/webviewer-server/server-changelog-2026.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
