> 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.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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
