Table of contents

This document is a record of changes in Ghostscript releases numbered 9.xx. For earlier versions, see the the history documents:

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
  • We History of Ghostscript versions 1.n

  • For other information, see the Ghostscript

    See Enabling OCR for more details.

    See Enabling OCR for more details. overview.


    Version 9.55.0 (2021-09-15)

    The 9.55.0 release is a maintenance release. It also includes some important changes.

    Highlights in this release include:

    • This release includes the fix for the %pipe% security issue (CVE-2021-3781).

    • New PDF Interpreter: This is entire new implementation written in C (rather than PostScript, as before). For a full discussion of this change and reasons for it see: Changes Coming to the PDF Interperter.

      In this (9.55.0) release, the new PDF interpreter is disabled by default in Ghostscript, but can be used by specifying -dNEWPDF. We hope to make it the default in 9.56.0, and fully deprecate the PostScript implementation shortly after that (depending on the feedback we get).

      This also allows us to offer a new executable (gpdf, or gpdfwin??.exe on Windows) which is purely for PDF input. For this release, those new binaries are not included in the "install" make targets, nor in the Windows installers (they will be from 9.56.0 onwards).

      We would ask that as many users as possible take opportunity to test with new PDF implementation (i.e. using -dNEWPDF on your gs command line), and discuss any problems with us, before the new implementation becomes the default.

    • 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 for more details.

    • The pdfwrite device now supports "passthrough" for JPX/JPG2000 data images (as well as the already supported JPEG/DCT Encoded). That means that if no rescaling or color conversion of the image data is required, the encoded/compressed image data from the input file will be written unchanged to the output.

    • The Ghostscript/GhostPDL demo apps for C, C#, Java and Python have all had improvements and the C#/Java/Python language bindings have now been documented, see Ghostscript Language Bindings

    • Our efforts in code hygiene and maintainability continue.

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

    • (9.53.0) We have added the capability to build with the Tesseract OCR engine. In such a build, new devices are available (pdfocr8/pdfocr24/pdfocr32) which render the output file to an image, OCR that image, and output the image "wrapped" up as a PDF file, with the OCR generated text information included as "invisible" text (in PDF terms, text rendering mode 3).

      Mainly due to time constraints, we only support including Tesseract from source included in our release packages, and not linking to Tesseract/Leptonica shared libraries. Whether we add this capability will be largely dependent on community demand for the feature.

      See Enabling OCR for more details.

    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.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) 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 Postcript 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.

    Changelog

    From 9.55.0 onwards, in recognition of how unweildy 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-9.55.0rc1 short log.

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


    Copyright © 2000-2021 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.55.0, 15 September 2021