> 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-2022.md).

# WebViewer Server 2022 Changelog

World's #1 PDF SDK Library for Web, Mobile, Server, Desktop

### 2.1.0 - December 9th

* Added fix where multithreaded image generation for documents at once could cause 1 or more documents to fail
* Fixed issue where DWF/RVT AutoCAD formats were not being converted correctly
* Updated Tomcat to 10.0.27
* [Apryse core update to 9.4](https://github.com/iKettles/apryse-gitbook/tree/main/core/guides/release-notes.md)
* Addressed issue where document appearances would be created more than necessary
* Made cache cleaning in both memory and disk faster and more responsive
* Fixed error which would cause the disk cache to behave erroneously if `TRN_MAX_CACHED_MB` was set to 0
* Fixed error where the cache would be deleted before necessary
* Added new option `TRN_MAX_MEMORY_CACHE_AGE_MINUTES` - this option directly controls the size of the **in memory cache**, previously this was tied to the disk cache time limit `TRN_MAX_CACHE_AGE_MINUTES` and made controlling these options difficult
* Corrected problem where unicode characters would be lost from document outlines
* Fixed failure with status and queue checks that could cause health issues
* Fixed issue with rendering some HTML files
* Fixed issue where small documents (lower than 32 MB) were linearized when unnecessary
* Fixed issue where an extra unnecessary thumbnail would be generated on document initial load
* Made it so the server correctly picks up known web fonts for WebViewer
* Added more status reporting in debug mode
* Fixed problem when using a cacheKey below 40 characters and `TRN_ENABLE_AUTH_SESSION` would cause work to fail
* Corrected issue where the `blackbox` logs within the container would be labeled with the incorrect date
* Changed the built in health check to no longer use `curl`
* Updated Cloudformation template to version 2.0.4

### 2.0.0 - August 16th

* Added process seperation between Tomcat and Apryse libraries. This means document specific crashes will no longer crash the server. It should rapidly recover from any document related crash.
* Introduces a 10% performance increase in rendering times and a 40% reduction in memory usage with high frequency requests
* Java version updated from `8` to `17` in both Windows and Docker versions
* [Apryse core update to 9.3](https://github.com/iKettles/apryse-gitbook/tree/main/core/guides/release-notes.md)
* Updated Imaging, MsgToEML, HTML2PDF and CAD libraries.
* Updated `Tomcat` to 10.0.23
* Security update to deal with a collection of CVE issues
* Added support for smart chunking of document annotations, requires WebViewer 8.7 or greater
* Fixed issue where disableWebsockets did not work properly, requires WebViewer 8.7 or greater
* Fixed issue where all supported Core formats were not included on WebViewer Server
* Fixed issue where authentication did not work on document uploads.
* Improved error handling for bad formats
* Now uses better random generation for various IDs across WebViewer Server
* Updated Java libraries in use to the latest available
* Logging improvements
* `TRN_DEBUG_MODE` when enabled will now greatly increase the amount of visible logs and when disabled less logs will be present than prior
* The previous version removed `cacheKey` as the sole source of the file name when used in `loadDocument`, this behaviour has been restored
* Removed `curl` from Docker image as it tends to be flagged for CVEs

### 1.5.8 - March 3rd

* [Apryse core update to 9.2](https://github.com/iKettles/apryse-gitbook/tree/main/core/guides/release-notes.md)
* Added [rasterization options](/web/webviewer-server/wv-server-config.md#rasterizer-options)
* Added custom appearances support for Webviewer, requires version 8.3
* Added ability to block domains directly on WebViewer Server [TRN\_BLOCKED\_DOMAINS](/web/webviewer-server/wv-server-config.md#block-domains-for-file-fetches)
* Added a way to strip URL information from server logs [TRN\_STRIP\_URLS](/web/webviewer-server/wv-server-config.md#strip-urls-from-logs)
* Now supports setting all `officeOptions` from the WebViewer client, requires version 8.3
* Updated `Tomcat` to 10.0.16
* Fixed issue where fast and simultaneous AutoCAD conversions could crash the server
* Fixed issue where connections could arbitrarily be terminated when doing AutoCAD and OCR based conversions
* Corrected issue where number of cores on a system were not being calculated as expected, this would impact number of simultaneous running jobs
* Fixed issue where importing self signed file server certificates did not work
* Added fix to prevent HTML conversions from blocking other conversions
* Added fix where HTML documents could sometimes cause conversion to use up its maximum shared memory pool and leave it in an inoperable state
* Default maximum XLSX/XLS unique cell counts now default to 250,000
* Improved server initialization process for cleaner shutdown and startup
* Improved memory handling of several low impact server jobs
* \[Windows] Fixed issue where sometimes the service would not shutdown
* \[Windows] Updated OpenJDK to 8u312-b07
* \[Windows] Fixed issue where uninstalling WebViewer Server would not fully uninstall LibreOffice components, and would be left in a broken state if the uninstaller was ran, and WebViewer Server was installed again afterwards.
* \[Cloudformation] Improved notification handling
* \[Cloudformation] Fixed outputs for Cloudwatch Logs
* \[WV-Loadbalancer] Updated HAProxy to 2.5.2 and improved routing handling
* \[WV-Loadbalancer] Lowered connection timeouts for improved responsiveness


---

# 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-2022.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.
