Recent Changes in Ghostscript

Contact Us
Download
Changes in the Most Recent Release of Ghostscript

This document is news about the most recent Ghostscript release. For earlier versions, see the history documents:

> History of Ghostscript versions 9.n
> History of Ghostscript versions 8.n
> History of Ghostscript versions 7.n
> History of Ghostscript versions 6.n
> History of Ghostscript versions 5.n
> History of Ghostscript versions 4.n
> History of Ghostscript versions 3.n
> History of Ghostscript versions 2.n
> History of Ghostscript versions 1.n

For other information, see the Ghostscript overview.

## Version 9.52 (2020-03-19)

Highlights in this release include:

- The 9.52 release replaces the 9.51 release after a problem was reported with 9.51 which warranted the quick turnaround. Thus, like 9.51, 9.52 is primarily a maintenance release, consolidating the changes we introduced in 9.50.

- We have continued our work on code hygiene for this release, with a focus on the static analysis tool Coverity (from Synopsys, Inc) and we have now adopted a policy of maintaining zero Coverity issues in the Ghostscript/GhostPDL source base.

- IMPORTANT: In consultation with a representative of (OpenPrinting) it is our intention to deprecate and, in the not distant future, remove the OpenPrinting Vector/Raster Printer Drivers (that is, the `opvp` and `oprp` devices).

  If you rely on either of these devices, please get in touch with us, so we can discuss your use case, and revise our plans accordingly.

- IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thread"). LCMS2 is not thread-safe, and cannot be made thread-safe without breaking the ABI. Our fork will be thread-safe and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. If there is sufficient interest, our fork will be available as its own package separately from Ghostscript (and MuPDF).

- The usual round of bug fixes, compatibility changes, and incremental improvements.

For a list of open issues, or to report problems, please visit bugs.ghostscript.com.

### Incompatible changes

#### Included below are incompatible changes from recent releases (the specific release in question listed in parentheses). We include these, for now, as we are aware that not everyone upgrades with every release.

- (9.52) As of 9.52, the Windows binaries released by the Ghostscript development team are built with Microsoft Visual Studio 2019. As a result Microsoft Windows XP and earlier are no longer supported by these binaries. This does not imply we are or will start relying upon features only available in VS2019, so the `nmake` Makefiles will continue to allow older Visual Studio versions (back to VS2005) to build Ghostscript.

- (9.52) `-dALLOWPSTRANSPARENCY`: The transparency compositor (and related features), whilst we are improving it, remains sensitive to being driven correctly, and incorrect use can have unexpected/undefined results. Hence, as part of improving security, we limited access to these operators, originally using the `-dSAFER` feature. As we made "SAFER" the default mode, that became unacceptable, hence the new option -dALLOWPSTRANSPARENCY which enables access to the operators.

- (9.50) There are a couple of subtle incompatibilities between the old and new SAFER implementations. Firstly, as mentioned in the 9.50 release notes, SAFER now leaves standard Postscript functionality unchanged (except for the file access limitations). Secondly, the interaction with `save`/`restore` operations, see SAFER.

  Important Note for Windows Users:
  The file/path pattern matching is case sensitive, even on Windows. This is a change in behaviour compared to the old code which, on Windows, was case insensitive. This is in recognition of changes in Windows behaviour, in that it now supports (although does not enforce) case sensitivity.

- (9.27) The process of "tidying" the Postscript name space should have removed only non-standard and undocumented operators. Nevertheless, it is possible that any integrations or utilities that rely on those non-standard and undocumented operators may stop working, or may change behaviour.

  If you encounter such a case, please contact us (either the #ghostscript IRC channel, or the gs-devel mailing list would be best), and we'll work with you to either find an alternative solution or return the previous functionality if there is genuinely no other option.

  One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF files relied upon internal use only features that are no longer available. GSView 5 will still work as previously for Postscript files. For PDF files, users are encouraged to look at MuPDF.

### Changelog

See the history file for complete log of changes.

Copyright © 2005-2020 Artifex Software, Inc. All rights reserved.

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at https://www.artifex.com or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.

Ghostscript version 9.52, 19 March 2020