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

# WebViewer Server 2019 Changelog

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

### 1.4.67 - October 9th

* Fix for a memory exhaustion bug that can cause crashes and out of heap errors
* Redesigned on-disk cache to deal with problems resulting from certain configuration options causing on-disk cache behaviour to not work as desired
* Improvements in CAD document handling
* Added ability to pass custom headers to GetPDF, GetThumb and PreloadURL.
* Fixes to container permission handling to allow usage with other Dockerfiles.
* Addition of `TRN_DISABLE_VALIDATION` option, disables certificate validation by WebViewer Server when fetching files
* Fix for multiple cached cookies of `trnsockserv` causing `TRN_ENABLE_AUTHORIZATION` to not work correctly
* Added appearance stream support for annotations
* Updated GetPDF.js to WVSApiWrapper.js, improved and changed structure of API
* Fix for files with annotations greater than 1 MB causing failures on document load
* Addition of `TRN_AZURE_WEBAPP_COMPAT`, this should be enabled if using Azure Web Apps, eliminates need for Azure Web App image variant
* Redesign of WVS building process, this has resulted in a reduction of image size from 6 GB to 3.7 GB
* Fix for CAD files not rendering properly on some server setups
* Fix for stickiness handling with HAProxy and other environments which use cookies for stickiness

### 1.4.0 - August 19th

* Memory Cache improvements to better respond to cache growth and adjustments
  * Now considers temporary directories when reading disk usage.
  * Improved disk usage metrics that trigger cleaning.
* Added cacheKey feature to allow caching of documents against a passed key.
* Update to PDFNet 7.0
* Fixed issue when preventing downloading of documents that were uploaded in a corrupt state to WebViewer Server
* Fixed error running container when no internal/static directories are defined.
* Added ability to pass a configuration file to WebViewer Server.
* Released the WebViewer Server Dockerless installer for Windows.
* Fixed critical timing issue that caused the first page of a document to return incorrect data.
* Fixed issue with TRN\_FORWARD\_CLIENT\_COOKIES argument that caused it to improperly forward cookies as headers rather than cookie headers.
* All files are now linearized for to improve performance at a minimal cost. Previously, only files above 30 MB were linearized.
* Addition of the wvs\_config.json configuration option to be used with the static installer.

### 1.3.25 - June 3rd

* Changed build scheme within the WebViewer compose package. This package now pulls directly from DockerHub.
* Added TRN\_FORCE\_LOSSLESS\_IMAGES for lossless image rendering to prevent artifacting when performing differential layering.
* Changed how SSL keys are placed into the server for HAProxy and Tomcat. They now use a volume mounting scheme and do not require a rebuild.
* Added ability to pass extra headers to GetPDF that will not be considered as part of the caching link.
* Several fixes to prevent errors that are caused by filenames being greater than 256 characters.
* Added fix for crash caused by .tif files.
* Corrected erroneous attempt to trigger a debug packager on server crash.
* Added default arguments for static and internal directories.
* Made all environment variables compatible with `true and false` and `1 and 0` to deal with inconsistencies.

### 1.3.5 - May 15th

* Fix for office documents sometimes causing fatal crashes when done in quick succession
* Added TRN\_ENABLE\_PER\_SESSION\_CACHING
* Revised TRN\_ENABLE\_SESSION\_AUTH to be locked to a single session rather than any currently connecting one
* Minor fixes to environment config options

### 1.3.0 - May 6th

* Change in version number handling to match new versioning system
* Fix for crashes caused by timing error with cache cleanup
* Fix for filenames being too long and causing a render failure
* Increased the cacheMaxSize variable within Tomcat to deal with warnings resulting from large file caching
* Improved logging by removing non-informative outputs

### 1.2.70471 - April 17th

* Fix for downloading files with encoded characters in their file names
* Fixed unicode names appearing incorrectly when downloading
* Changed Tomcat HTTP connector to APR from NIO

### 1.2.70365 - April 9th

* Fix for URL Encoding so it more closely follows Chrome behaviour when fetching files
* Fix for in memory document cache memory leak

### 1.2.70008 - March 11th

**Version 1.2**

**New:**

* Added support for CAD files in `dgn`, `dwg`, and `dxf` format.
* Can now limit backend document access to a given set of URL roots using the [TRN\_FETCH\_REQUIRED\_URL\_ROOT](/web/webviewer-server/wv-server-config.md#url-root-restriction) option.
* Enabled automatic cookie forwarding for cases where the server and document store are in the same domain, using the [TRN\_FORWARD\_CLIENT\_COOKIES](/web/webviewer-server/wv-server-config.md#same-domain-cookie-forwarding) configuration option.
* Core logic now uses newest Apryse SDK 6.10 release.
* Server now supports a certificate whitelist -- useful for development environments using self-signed certificates.

**Fixes:**

* Improved support for very large files (>2GB) -- won't hand off rendering to the client in cases where it can't support it.
* Now properly support files with the `.htm` extension.
* Default load balancer cookie name now the same as HAProxy's cookie name without extra configuration.
* Various tweaks to how WebViewer client communicates with WebViewer Server, which should result in snappier performance for some client configurations.
* Fixed bug where we would incorrectly parse query parameters with no `=`.

### 1.1.69796 - February 28th

* Fix for rendering html files

### 1.1.69442 - February 4th

* Fix for missing backgrounds in HTML conversions
* Fix for overly encoded

links causing failed fetches

### 1.1.69367 - January 28th

* Adjust CORS settings to properly support the XMLHttpRequest.withCredentials flag
* Updated SDK binary to address potential stability issues with very large log messages

### 1.1.69213 - January 15th

* Document specific bug fixes


---

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