# Recent Changes in Ghostscript

## Version 10.07.1 (2026-05-19)

Highlights in this release include:

- The 10.07.1 release is a maintenance release:

- This release addresses a number of potential security issues.

- The wider adoption of "C99" and later features has reached the point where we must ease our policy on this area. The Ghostscript/GhostPDL codebase will remain "C89" plus widely supported extensions but, as of the 10.08.0 release, our included third party libraries will be permitted to use "C99" and potentially later features.

- The 10.07.1 removes the non-standard operator ".tempfile", and removes the "temp" directory from the default file permission lists. By default, such access is now only available internally, not from "user level" PostScript

- Our efforts in code hygiene and maintainability continue.

- 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 is listed in parentheses). We include these, for now, as we are aware that not everyone upgrades with every release.

- The 10.07.1 removes the non-standard operator ".tempfile", and removes the "temp" directory from the default file permission lists. By default, such access is now only available internally, not from "user level" PostScript

- IMPORTANT: (10.04.0) we added protection for device selection from PostScript input. This will mean that, by default, only the device specified on the command line will be permitted. Similar to the file permissions, there will be a "--permit-devices=" allowing a comma separation list of allowed devices. This will also take a single wildcard "*" allowing any device.

  Any application which relies on allowing PostScript to change devices during a job will have to be aware, and take action to deal with this change.

  The exception is "nulldevice", switching to that requires no special action.

- (10.03.1) Almost all the "internal" PostScript procedures defined during the interpreter startup are now "executeonly", further reducing the attack surface of the interpreter.

  The nature of these procedures means there should be no impact for legitimate usage, but it is possible it will impact uses which abuse the previous accessibility (even for legitimate reasons). Such cases may now require "DELAYBIND", See DELAYBIND

- (10.03.1) The "makeimagedevice" non-standard operator has been removed. It allowed low level access to the graphics library in a way that was, essentially impossible to secure.

- (10.03.1) The "putdeviceprops", "getdeviceprops", "finddevice", "copydevice", "findprotodevice" non-standard operators have all been removed. They provided functionality that is either accessible through standard operators, or should not be used by user PostScript.

- (10.03.1) The process of "tidying" the PostScript namespace 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 (Discord, #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.

- (9.55.0) Changes to the `device API`. This will affect developers and maintainers of Ghostscript devices. Firstly, and most importantly, the way device-specific "procs" are specified has been rewritten to make it (we think!) clearer and less confusing. See The Interface between Ghostscript and Device Drivers and The Great Device Rework Of 2021 for more details.

- (9.55.0) The command line options `-sGraphicsICCProfile=___`, `-dGraphicsIntent=#`, `-dGraphicsBlackPt=#`, `-dGraphicsKPreserve=#` have been changed to `-sVectorICCProfile=___`, `-dVectorIntent=#`, `-dVectorBlackPt=#`, `-dVectorKPreserve=#`.

- (9.53.0) As of 9.53.0, we have (re-)introduced the patch level to the version number, this helps facilitate a revised policy on handling security-related issues.

  Note for GSView Users: The patch level addition breaks GSView 5 (it is hardcoded to check for versions `704-999`. It is possible, but not guaranteed that a GSView update might be forthcoming to resolve this.

- (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 has changed. 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.

### Changelog

From 9.55.0 onwards, in recognition of how unwieldy very large HTML files can become (History9.html had reached 8.1Mb!), we intend to only include the summary highlights (above).

For anyone wanting the full details of the changes in a release, we ask them to look at the history in our public git repository: ghostpdl-10.07.1 log.

If this change does not draw negative feedback, History?.htm file(s) will be removed from the release archives.

Copyright © 2005-2026 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., 39 Mesa Street, Suite 108A, San Francisco, CA 94129, USA,

Ghostscript version 10.07.1, 19 May 2026