GPL Ghostscript Changelog

What's new in GPL Ghostscript 10.02.1

Nov 1, 2023
  • Patch release to address some security bugs

New in GPL Ghostscript 10.02.0 (Sep 13, 2023)

  • This release (10.02.0) marks the final demise of the PostScript based PDF interpreter.

New in GPL Ghostscript 10.01.1 (Apr 3, 2023)

  • This 10.01.1 release removes the "-dNEWPDF=false" command line option to fall back to the deprecated, old PDF interpreter.

New in GPL Ghostscript 10.01.1 Pre-release (Mar 27, 2023)

  • This 10.01.1 release removes the "-dNEWPDF=false" command line option to fall back to the deprecated, old PDF interpreter.

New in GPL Ghostscript 10.01.0 (Mar 23, 2023)

  • This 10.01.0 release removes the "-dNEWPDF=false" command line option to fall back to the deprecated, old PDF interpreter.

New in GPL Ghostscript 10.0.0 (Sep 22, 2022)

  • This release officially deprecates the old Postscript implementation of PDF, we will not be updating or maintaining that code moving forward. The option to use the old PDF implementation will be removed in the next full release (10.01.0)

New in GPL Ghostscript 10.0.0 Pre-release (Sep 21, 2022)

  • This release officially deprecates the old Postscript implementation of PDF, we will not be updating or maintaining that code moving forward. The option to use the old PDF implementation will be removed in the next full release (10.01.0)

New in GPL Ghostscript 10.0.0 RC 2 (Sep 9, 2022)

  • https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs1000rc2/gs10000rc2w64.exe

New in GPL Ghostscript 10.0.0 RC 1 (Sep 1, 2022)

  • n this release, we consider the old (PostScript implemented) PDF interpreter to be fully deprecated and unsupported. It is still there, and still accessible via "-dNEWPDF=false" but please treat that as for emergency use only. If you encounter problems with the new interpreter, please report them.

New in GPL Ghostscript 9.56.1 (Apr 4, 2022)

  • Important: This release includes the new PDF interpreter (implemented in C rather than PostScript). It is both integrated into Ghostscript (now ENABLED by default), and available as a standalone, PDF only, binary. See https://ghostscript.com/pdfi.html for more details.
  • This also bundles the latest zlib (1.2.12) which addresses a security issue (CVE-2018-25032)

New in GPL Ghostscript 9.55.0 (Sep 27, 2021)

  • Important: We have a new code signing certificate for signing the MS Windows installers, which may cause warnings on install until the new certificate gains sufficient reputation.
  • Important 2: This release includes the new PDF interpreter (implemented in C rather than PostScript). It is both integrated into Ghostscript (disabled by default at present), and available as a standalone, PDF only, binary. See https://ghostscript.com/pdfi.html for more details.

New in GPL Ghostscript 9.55.0 RC 1 (Sep 16, 2021)

  • We have a new code signing certificate for signing the MS Windows installers, which may cause warnings on install until the new certificate gains sufficient reputation.

New in GPL Ghostscript 9.54.0 (Mar 31, 2021)

  • Highlights in this release include:
  • Overprint simulation is now available to all output devices, allowing quality previewing/proofing of PostScript and PDF jobs that rely on overprint. See the -dOverprint option documentation in: Overprint
  • The "docxwrite" device adds the ability to output to Microsoft Word "docx" (it currently only handles text). See: docxwrite
  • The pdfwrite device is now capable of using the Tesseract OCR engine when it is built into Ghostscript to improve searchability and copy and paste functionality when the input lacks the metadata for that purpose. See: UseOCR
  • Ghostscript/GhostPDL now includes a "map text to black" function, where text drawn by an input job (except when drawn using a Type 3 font) can be forced to draw in solid black. See: BlackText
  • Ghostscript/GhostPDL now supports simple N-up imposition "internally". See: NupControl
  • 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.

New in GPL Ghostscript 9.53.1 (Sep 14, 2020)

  • The most obvious change is the (re-)introduction of the patch level to the version number, this helps facilitate a revised policy on handling security related issues.
  • Our efforts in code hygiene and maintainability continue.
  • 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).
  • Due to some patches to the Tesseract sources that are required (integrated upstream, but awaiting release), time constraints, and the experimental nature of the feature, we only support including Tesseract from source, not linking to Tesseract shared libraries. Whether we add this capability will be largely dependant on community demand for the feature.
  • We have added Python bindings for the gsapi interface, can be found in demos/python. These are experimental, and we welcome feedback from interested developers.
  • For those integrating Ghostscript/GhostPDL via the gsapi interface, we have added new capabilities to that, specifically in terms of setting and interrogating device parameters. These, along with the existing interface calls, are documented in: Ghostscript Interpreter API
  • 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).

New in GPL Ghostscript 9.52 (Sep 10, 2020)

  • 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.

New in GPL Ghostscript 9.27 (Aug 16, 2019)

  • Highlights in this release include:
  • We have extensively cleaned up the Postscript name space: removing access to internal and/or undocumented Postscript operators, procedures and data. This has benefits for security and maintainability.
  • We have added a new "product": "gpdl". This is a rethink/redesign of the old "language_switch" product (pspcl6), and includes all the interpreters we develop based on the Ghostscript graphics library: Postscript, PDF, PCL6, PXL and XPS. This is experimental, and should be considered of beta testing quality, and thus is not built by default: it can be built by using the "experimental" target.
  • gpdl uses a heuristic to judge the file type being passed to it. In general, it supports most of the widely used command line options for each interpreter, but compatibility is not complete (the practicalities of swapping interpreters means it is unlikely that full parity of command line options will be possible).
  • Fontmap can now reference invidual fonts in a TrueType Collection for font subsitution. Previously, a Fontmap entry could only reference a TrueType collection and use the default (first) font. Now, the Fontmap syntax allows for specifying a specific index in a TTC. See the comments at the top of (the default) Fontmap.GS for details.
  • IMPORTANT: We are in the process of forking LittleCMS. 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. 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.

New in GPL Ghostscript 9.26 (Dec 6, 2018)

  • Highlights in this release include:
  • Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits.
  • PLEASE NOTE: We strongly urge users to upgrade to this latest release to avoid these issues.
  • IMPORTANT: We are in the process of forking LittleCMS. 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. Our fork will be available as its own package separately from Ghostscript (and MuPDF).
  • Thanks to Man Yue Mo of Semmle Security Research Team, Jens Müller of Ruhr-Universität Bochum and Tavis Ormandy of Google's Project Zero for their help to identify specific security issues.
  • The usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.25 (Sep 17, 2018)

  • Highlights in this release include:
  • This release fixes problems with argument handling, some unintended results of the security fixes to the SAFER file access restrictions (specifically accessing ICC profile files), and some additional security issues over the recent 9.24 release.
  • Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits.
  • PLEASE NOTE: We strongly urge users to upgrade to this latest release to avoid these issues.
  • As well as Ghostscript itself, jbig2dec has had a significant amount of work improving its robustness in the face of out specification files.
  • IMPORTANT: We are in the process of forking LittleCMS. 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. 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.

New in GPL Ghostscript 9.22 (Mar 21, 2018)

  • Ghostscript can now consume and produce (via the pdfwrite device) PDF 2.0 compliant files.
  • The main focus of this release has been security and code cleanliness. Hence many AddressSanitizer, Valgrind and Coverity issues have been addressed.
  • The usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.21 (Mar 17, 2017)

  • pdfwrite now preserves annotations from input PDFs (where possible).
  • The GhostXPS interpreter now provides the pdfwrite device with the data it requires to emit a ToUnicode CMap: thus allowing fully searchable PDFs to be created from XPS input (in the vast majority of cases).
  • Ghostscript now allows the default color space for PDF transparency blends.
  • The Ghostscript/GhostPDL configure script now has much better/fuller support for cross compiling.
  • The tiffscaled and tiffscaled4 devices can now use ETS (Even Tone Screening)
  • The toolbin/pdf_info.ps utility can now emit the PDF XML metadata.
  • Ghostscript has a new scan converter available (currently optional, but will become the default in a near future release). It can be enabled by using the command line option: '-dSCANCONVERTERTYPE=2'. This new implementation provides vastly improved performance with large and complex paths.
  • The usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.19 (Sep 27, 2016)

  • Highlights in this release include:
  • New custom PJL (near) equivalents for pdfmark and setdistillerparams. These were primarily added to allow pdfwrite to be configured correctly for PDF/A output from GhostPCL. See: pdfwrite with PCL input for more details.
  • Ghostscript users should continue to use the existing pdfmark and setdistillerparams capabilities.
  • Metadata pdfmark is now implemented. This allows the user to specify an XMP stream which will be written to the Catalog of the PDF file. A new pdfmark 'Ext_Metadata' has been defined. This takes a string parameter which contains XML to be added to the XMP normally created by pdfwrite.
  • An experimental, rudimentary raster trapping implementation has been added to the Ghostscript graphics library. See Trapping for details.
  • The halftone threshold array generation tools (part of toolbin/halftone) have been improved with thresh_remap which allows folding the transfer function (AKA toner response curve (TRC)) into the threshold array so that highlights are improved. Further, gen_stochastic has improved support for minimum dot size and shape.
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.18 (Sep 27, 2016)

  • Highlights in this release include:
  • A substantial revision of the build system and GhostPDL directory structure, meaning the GhostPCL and GhostXPS "products" are now built by the Ghostscript build system "proper" rather than having their own builds which called the Ghostscript build system for certain parts of the builds.
  • Ghostscript-only users should not be affected by this change.
  • For users of the PCL and XPS interpreters (collectively downloaded as "GhostPDL") there is a new, "flatter" directory structure and only one configure and one make invocation to build all the products. There are also some executable default name changes to bring the PCL and XPS binaries in line with the Ghostscript ones. All executables now end up in the "bin" directory (or build specific variant thereof, e.g. "debugbin"). The PCL executable, by default, is now "gpcl6" on Unix like systems and "gpcl6win??.exe" (where "??" is either "32" or "64"). The XPS executable remains "gxps" on Unix-like systems, but similarly becomes "gxpswin??.exe" on Windows.
  • Those using scripts or other automated processes will need to take steps to cope with these changes.
  • A new method of internally inserting devices into the device chain has been developed, named "device subclassing". This allows suitably written devices to be more easily and consistently as "filter" devices.
  • The first fruit of this is a new implementation of the "-dFirstPage"/"-dLastPage" feature which functions a device filter in the Ghostscript graphics library, meaning it works consistently with all input languages.
  • The "ghostpdl.inf" file, provided to simplify installing a Postscript printer configure to produce output to suit Ghostscript's "pdfwrite" device is now available as a digitally signed version: "ghostpdl.cat".
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements

New in GPL Ghostscript 9.16 (Oct 5, 2015)

  • "LockColorants" command line option for tiffsep and psdcmyk devices. Specifying -dLockColorants will restrict those devices to only the colorants list on the command line (thus: -c "> setpagedevice"), rather than allowing the devices to add new colorants as encountered in the input. This is, obviously, preferable for real printers, where only a certain of inks will be available.
  • Improved high level devices handling of Forms. Whilst High level devices (eg pdfwrite) already checked Forms to see if they are duplicates, and if so use the initial definition. However, this does not improve performance, since the Form PaintProc still needs to be executed for each instance of the Form, and the matching algorithm could, in very odd circumstances, be defeated. The new implementation benefits both causes, meaning the second and subsequent invocation of the form need not re-run the PaintProc, and removes the heuristic aspect of the reuse detection.
  • New URW+ fonts in which the families NimbusMono, NimbusRoman and NimbusSans have been augmented with production quality Greek and Cyrillic glyphs. These correspond to our substitutes for the PDF base 14 fonts.
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.15 (Sep 23, 2014)

  • Ghostscript now supports the PDF security handler revision 6.
  • The pdfwrite and ps2write (and related) devices can now be forced to "flatten" glyphs into "basic" marking operations (rather than writing fonts to the output), by giving the -dNoOutputFonts command line option (defaults to "false")
  • PostScript programs can now use get_params or get_param to determine if a page contains color markings by reading the pageneutralcolor state from the device (so whether the page is "color" or "mono").
  • Note that this is only accurate when in clist mode, so -dMaxBitmap=0 and -dGrayDetection=true should both be used.
  • The pdfwrite device now supports Link annotations with GoTo and GoToR actions
  • The pdfwrite device now supports BMC/BDC/EMC pdfmarks
  • Regarding the new color management for the pdfwrite device introduced in the previous release, the proscription on using the new color management when producing PDF/A-1 compliant files is now lifted.
  • To reiterate, also, with the new color management implementation, using the UseCIEColor option is strongly discouraged.
  • For further information on the new pdfwrite color management, see: Color Conversion and Management
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.14 (Mar 27, 2014)

  • Highlights in this release include:
  • pdfwrite now uses the same color management engine as Ghostscript rendering devices (by default LCMS2). This provides much better control over color conversion and color management generally, but will result in some small color differences when compared to the old system.
  • It is no longer necessary to specify UseCIEColor (and we very much encourage you not to do this) or the ProcessColorModel if you want to convert a PDF file to a specific color space, simply set the ColorConversionStrategy appropriately.
  • We do not expect any major problems to arise with this new code, but for the duration of this release a new switch -dPDFUseOldCMS is available which will restore the old color management.
  • Please note that due to constraints of the PDF/A-1 specification, the new color management does not yet apply when producing PDF/A files.
  • A new device 'eps2write' has been added which allows for the creation of EPS files using the ps2write device instead of the old (deprecated and removed) pswrite device. This produces considerably better quality EPS files than the old epswrite device which is now also deprecated and will be removed in a future release.
  • ps2write now has a feature to allow customisation of the output for specific devices. Please see PSDocOptions and PSPageOptions described in ps2ps2.htm Additional Distiller Params
  • Ghostscript now reduces memory usage when processing PDF files that use transparency and output is to display devices such as Windows display or x11 (i.e. devices that are strictly full framebuffer devices), and to high level vector devices that cannot reproduce the PDF transparency model, such as the ps2write device or pdfwrite when 'flattening' to PDF 1.3 or earlier (-dCompatibilityLevel=1.3). This uses banding (clist) files to render the transparent areas in bands to reduce memory use, and unlike the existing page level banding, this is hidden from the target device.
  • Ghostscript can now collect information for pages in temp files (in Ghostscript's clist format), then render and output pages for the job in arbitrary order, including normal, reverse, odd, even, or any order or subset of the pages. This is controlled with the --saved-page=___ option. (Note that this only applies to rendering devices, and not high level devices such as pdfwrite and ps2write.)
  • The Ghostscript device architecture has been extended so that, when rendering bands into multiple threads, it is now possible to perform post-processing in multiple threads, such as downscale, post-render halftoning, or compression. Previously, post processing was only possible in the single main thread. This can improve performance significantly.
  • Ghostscript has a new "pwgraster" output device for PWG Raster output
  • The CUPS device now has improved support for PPD-less printing
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements

New in GPL Ghostscript 9.10 (Sep 20, 2013)

  • Background printing (BGPrint) is a new feature allowing an accumulated page clist to be rendered by one or more rendering threads whilst the interpreter (in the "main" thread) continues to accumulate the subsequent page's clist. For certain classes of file this can result in a useful performance increase.
  • GrayDetection allows suitably written devices to detect "color" input in near neutral tones (i.e. near monochrome) and to convert "on-the-fly" to pure grayscale, whilst retaining the ability to print full color on demand. This is primarily aimed at workflows where saving ink (especially color inks) is required.
  • LittleCMS2 and libpng have both been updated to the latest versions.
  • Support has been added to build the Ghostscript DLL for WinRT for x86, x64 and ARM (Requires MS Visual Studio 2012 Pro).
  • Processing of Windows command line arguments into UTF8 (as presaged a few releases ago) has been enhanced and enabled by default.
  • The URW Postscript font set has been updated to the latest version, fixing many compatibility problems with the Adobe fonts.
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.09 (Aug 22, 2013)

  • Background printing (BGPrint) is a new feature allowing an accumulated page clist to be rendered by one or more rendering threads whilst the interpreter (in the "main" thread) continues to accumulate the subsequent page's clist. For certain classes of file this can result in a useful performance increase.
  • GrayDetection allows suitably written devices to detect "color" input in near neutral tones (i.e. near monochrome) and to convert "on-the-fly" to pure grayscale, whilst retaining the ability to print full color on demand. This is primarily aimed at workflows where saving ink (especially color inks) is required.
  • LittleCMS2 and libpng have both been updated to the latest versions.
  • Support has been added to build the Ghostscript DLL for WinRT for x86, x64 and ARM (Requires MS Visual Studio 2012 Pro).
  • Processing of Windows command line arguments into UTF8 (as presaged a few releases ago) has been enhanced and enabled by default.
  • The URW Postscript font set has been updated to the latest version, fixing many compatibility problems with the Adobe fonts.
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.07 (Feb 14, 2013)

  • As of this release (9.07), Ghostscript and GhostPDL are distributed under the GNU Affero General Public License (AGPL).
  • Ghostscript now has the option to be built as thread safe. Note that not all devices are thread safe. See the GS_THREADSAFE option in: GS_THREADSAFE
  • The pdfwrite devices now supports linearized (or optimized for fast web view) output directly ("-dFastWebView")
  • The Font API (FAPI) has been moved from the Postscript interpreter (psi) into the graphics library (base), and extended to support the other languages (PCL/PXL/XPS). All interpreters now use Freetype by default to render all viable font types.
  • Ghostscript has been extended to support Postscript string and array objects with >64k entries.
  • Ghostscript has been extended to support file sizes >4Gb - in particular reading and writing PDF files. As a side effect of this, Ghostscript also now supports 64 bit Postscript integer objects.
  • All CMYK devices can now support simulated overprint of spot colors using the "-dSimulateOverprint" command line option.
  • Support for use of DeviceN ICC color profiles as the output profile with the tiffsep and psdcmyk devices.
  • Support for customized named color handling with DeviceN colors
  • Support for black point compensation
  • Support for K preservation in CMYK to CMYK conversions
  • Support for DeviceLink profiles for graphic, image and text objects
  • Support for custom color replacement
  • Increased control in specifying color conversions as a function of object type
  • Full details of the color management features can be found in: GS9_Color_Management.pdf
  • Provide BigTIFF output option: the tiff devices can write BigTIFF files using the "-dUseBigTIFF" option. This requires libtiff version >=4.0.0 (the option is ignored for versions

New in GPL Ghostscript 9.06 (Aug 9, 2012)

  • PDF/A-2 - pdfwrite now supports the creation of PDF/A-2 files. The 'PDFA' command line switch can now take a numeric parameter:
  • 0 = not PDF/A compliant
  • 1 = PDF/A-1b compliant
  • 2 = PDF/A-2b compliant
  • Simply specifying "-dPDFA" continues to have the old behaviour of creating PDF/A-1b files. For PDF/A-2 the command line should include "-dPDFA=2".
  • pdfwrite "Server mode" - pdfwrite can now be run in "server mode" which allows the device to be closed without closing the interpreter. This means it is no longer necessary to terminate GS before starting a new PDF conversion. This leads on to:
  • pdfwrite now supports the "%d" format in the OutputFile switch. If this is set then pdfwrite will output each page of input to an individual file.
  • ps2write - recent exposure to a range of PostScript devices has thrown up some interesting deficiencies in those devices. ps2write now emits PostScript in slightly different ways in order to produce output on a wider variety of devices. In some cases this also results in improved print times but it is still important to set the resolution appropriately for the output device, especially if the input contains transparency.
  • Ghostscript can now use output intents defined in PDFs by using the "-dUsePDFX3Profile" command line option. See ICC Color Parameters for details.
  • tiffsep/tiffsep1: support for large numbers of separations improved. The previous implementation of those devices utilised a "compressed color encoding" to represent the tints for all the plates in one 64 bit value. As the number of plates increased, fewer bits were available for the tint for each plate, ultimately resulting in an "unencodable pixels" error. These revisions remove the reliance on the compressed color encoding, thus ensuring that we have a consistent color bit depth, regardless of the number of plates, and ensuring the "unencodable pixels" error will never occur.
  • Also as a result of these changes, there are substantial performance improvements in jobs with separations and transparency.
  • tiffsep, psdcmyk and psdrgb now support the "downscaler" functionality. This brings the "tiffscaled" style functionality to the DeviceN output devices, so jobs can be rendered internally in contone and at a high resolution, and the output optionally downsampled by a level specified by "-dDownScaleFactor=n", and also optionally error diffused to 1bpp output.
  • Third party libraries: libtiff, libpng, libjpeg , Freetype and zlib have all be updated.
  • clist storage, for rendering pages in bands, is now a run-time option: -sBandListStorage={file|memory}.
  • Plus the usual round of bug fixes, compatibility changes, and incremental improvements.

New in GPL Ghostscript 9.00 (Sep 18, 2010)

  • This release includes a move to an ICC-based color rendering workflow. The
  • design allows easy integration of 3rd party color management modules (CMMs) and management of DeviceN and spot source colors with ICC profiles as well as with non-ICC proprietary methods. The default CMM is the well known littleCMS.
  • Postscript color objects and non-ICC CIE-based PDF color spaces are converted to equivalent ICC profiles enabling complete color management for all color spaces by an ICC-based CMM. New command line options enable the specification of gray, rgb and cmyk default ICC profiles as well as output device ICC profiles. The new work flow provides performance improvements in the rendering of images, shadings and transparencies. In addition, the color conversions are designed to work efficiently in multithreaded display list (c-list) rendering through the use of a shared link cache. Finally, proper ICC based rendering now occurs for ALL XPS objects including Named colors, N-Channel colors and images with internally embedded ICC profiles.
  • The second major change in this release is that glyph rendering for all font types except Type 3 is now handled by Freetype (via a much improved and enhanced Font API). The most obvious benefit of this is a complete, and proven implementation of the TrueType byte code interpreter (now unencumbered by patents).
  • Another major change is that the Postscript interpreter's graphics state now
  • stores two separate colour space settings for stroking and filling, to better support the stroke and fill colours required by the PDF interpreter.
  • Finally, support for optional content has been added to the PDF interpreter.
  • This release also includes a number of improvements to the pdfwrite device
  • to improve reliability and quality with PCL and XPS input. Many improvements to the support of JPX images in PDF files, PDF annotation rendering and the usual number of general bug and robustness fixes.
  • For security reasons, Ghostscript no longer searches the current directory by default. Use -P option to revert to old behavior.

New in GPL Ghostscript 8.71 (Feb 20, 2010)

  • New in this release is an experimental project file for Microsoft Visual Studio. This wraps the normal nmake build, and makes it easier for developers to get started building Ghostscript with that compiler.
  • Support for tiff file output is now provided using the libtiff implementation rather than our more limited native code as in previous releases. There is also a new 'tiffsep1' output device which produces halftoned separations at 1 bit-per-pixel, in contrast to the 'tiffsep' device which produces 8 bit-per-pixel plates.
  • Support for using FreeType as a type rasterizer has been greatly improved. We do not recommend its use as of this release, but it is much more functional than previously and our intent is that it will become the default in a future release.
  • The graphics library has been updated to provide more accurate scan conversion of vector art including fixes to dash behavior, transparent stroked paths, thick stroked paths, radial shadings, xps cap handling, "pie" joins, degenerate beziers, improved handling of dropouts in thin strokes and better thin axis-aligned strokes.