summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2020-03-17 15:54:28 +0000
committerChris Liddell <chris.liddell@artifex.com>2020-03-19 08:10:45 +0000
commit0cade062486c0ae9c883970dea1c555a8ffcff84 (patch)
treece127430d42a2be6e5e5a7905b1999542690c7c2
parentc76b5f64e0525e4ddf9e5c311a1b75fe738298dc (diff)
downloadghostpdl-0cade062486c0ae9c883970dea1c555a8ffcff84.tar.gz
Release notes for 9.52 release
-rw-r--r--doc/History9.htm114
-rw-r--r--doc/News.htm53
-rw-r--r--doc/Use.htm13
3 files changed, 142 insertions, 38 deletions
diff --git a/doc/History9.htm b/doc/History9.htm
index 9897778a4..6e9a43c7a 100644
--- a/doc/History9.htm
+++ b/doc/History9.htm
@@ -79,7 +79,7 @@ TOC to see how to edit it for visual conciseness.
<h2>Table of contents</h2>
<blockquote><ul>
-<li><a href="#Version9.51">Version 9.51 (2020-03-02)</a>
+<li><a href="#Version9.51">Version 9.52 (2020-03-19)</a>
<li><a href="#Version9.50">Version 9.50 (2019-10-15)</a>
<li><a href="#Version9.27">Version 9.27 (2019-04-03)</a>
<li><a href="#Version9.26">Version 9.26 (2018-11-20)</a>
@@ -134,30 +134,31 @@ overview</a>.
<!-- [1.0 end visible header] ============================================== -->
<!-- [2.0 begin contents] ================================================== -->
-<h2><a name="Version9.51"></a>Version 9.51 (2020-03-02)</h2>
+<h2><a name="Version9.52"></a>Version 9.52 (2020-03-19)</h2>
<p> Highlights in this release include:
<ul>
<li>
-<p>9.51 is primarily a maintainance release, consolidating the changes we introduced
-in 9.50.
+<p>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.
</li>
<li>
<p>We have continued our work on code hygiene for this release, with a focus on the
static analysis tool Coverity (from <a href="https://www.synopsys.com">Synopsys, Inc</a>)
-and we are now maintaining a policy of zero Coverity issues in the Ghostscript/GhostPDL
-source base.
+and we have now adopted a policy of maintaining zero Coverity issues in the
+Ghostscript/GhostPDL source base.
</li>
<li>
<p><b>IMPORTANT:</b> In consultation with a representative of
(<a href="http://www.openprinting.org">OpenPrinting</a>) it is
our intention to deprecate and, in the not distant future, remove the
OpenPrinting Vector/Raster Printer Drivers (that is, the <code>opvp</code>
-and <code>oprp</code> devices.
+and <code>oprp</code> devices).
<p> If you rely on either of these devices, <b><i>please</i></b> get in touch with
us, so we can discuss your use case, and revise our plans accordingly.
</li>
<li>
-<p>IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thred").
+<p>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
@@ -170,17 +171,32 @@ available as its own package separately from Ghostscript (and MuPDF).
</ul>
<p>For a list of open issues, or to report problems,
please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>.
-<h3><a name="9.51_Incompatible_changes"></a>Incompatible changes</h3>
+<h3><a name="9.52_Incompatible_changes"></a>Incompatible changes</h3>
<h4>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.</h4>
<ul>
<li>
+<p>(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 <code>nmake</code> Makefiles
+will continue to allow older Visual Studio versions (back to VS2005) to build Ghostscript.
+</li>
+<li>
+<p>(9.52) <code>-dALLOWPSTRANSPARENCY</code>: 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 <code>-dSAFER</code> feature.
+As we made "SAFER" the default mode, that became unacceptable, hence the new option
+<code>-dALLOWPSTRANSPARENCY</code> which enables access to the operators.
+</li>
+<li>
<p>(9.50) There are a couple of subtle incompatibilities between the old and new SAFER
-implementations. Firstly, as mentioned above, SAFER now leaves standard Postcript
-functionality unchanged (except for the file access limitations). Secondly,
-the interaction with <code>save</code>&sol;<code>restore</code> operations, see
-<a href="Use.htm#Safer">SAFER</a>.
+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 <code>save</code>&sol;<code>restore</code> operations,
+see <a href="Use.htm#Safer">SAFER</a>.
<p><strong>Important Note for Windows Users</strong>:
<br>
The file/path pattern matching is case sensitive, even on Windows. This is a
@@ -203,7 +219,77 @@ still work as previously for Postscript files. For PDF files, users are encourag
at <a href="https://www.mupdf.com">MuPDF</a>.
</li>
</ul>
-<h3><a name="9.51_changelog"></a>Changelog</h3>
+<h3><a name="9.52_changelog"></a>Changelog</h3>
+
+<p><strong>2020-03-14 15:07:37 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=eec073529fb8dc0c3bb6d612b61bf483d135c9cf">eec073529fb8dc0c3bb6d612b61bf483d135c9cf</a>
+<blockquote>
+<p>
+ Bug 702217: Reinstate dynamic libs LDFLAGS for MacOS<br>
+<br>
+ With the significant revamp of the platform detection functions in configure<br>
+ the LDFLAGS for building the gs shared library on MacOS went astray. This<br>
+ puts them back in.<br>
+<br>
+configure.ac<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2020-03-16 09:06:16 +0000
+</strong>
+<br>Ken Sharp &lt;ken.sharp@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9cd9959372b9f14b493b87df57664ea831c5d80">a9cd9959372b9f14b493b87df57664ea831c5d80</a>
+<blockquote>
+<p>
+ Repair device subclassing after fill+stroke commit<br>
+<br>
+ Bug 702221 &quot;Ghostscript 9.51 - SIGFPE when -dFirstPage or -dLastPage is set&quot;<br>
+<br>
+ The fill+stroke commit had an error with the default method for handling<br>
+ fill_stroke_path which passed the subclassing device as a parameter to<br>
+ the child, instead of passing the child device. This caused seg faults,<br>
+ floating point exceptions, hangs, and possibly other problems.<br>
+<br>
+ In addition the object filtering device had been modified to pass the<br>
+ fill+stroke method to the default handler, instead of checking to see<br>
+ if vector operations should be dropped.<br>
+<br>
+ This commit fixes both problems.<br>
+<br>
+base/gdevoflt.c<br>
+base/gdevsclass.c<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2020-03-14 10:56:43 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f712440a2f251ae06277ec4a5ffe8ce7599aa4d8">f712440a2f251ae06277ec4a5ffe8ce7599aa4d8</a>
+<blockquote>
+<p>
+ Add ARCH_MAX_SIZE_T to configure's arch.h prototype<br>
+<br>
+arch/arch_autoconf.h.in<br>
+<p>
+</blockquote>
+<hr>
+<p><strong>2020-03-14 10:53:15 +0000
+</strong>
+<br>Chris Liddell &lt;chris.liddell@artifex.com&gt;<br>
+<a href="http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=214d16924543fb3116a031463052e8b0eff3f1ae">214d16924543fb3116a031463052e8b0eff3f1ae</a>
+<blockquote>
+<p>
+ Don't fail on missing freetype for auxtools run<br>
+<br>
+ When cross compiling, we shouldn't fail the recursive call to configure if<br>
+ there's no freetype - since it's not required for auxtools.<br>
+<br>
+configure.ac<br>
+<p>
+</blockquote>
+<hr>
<p><strong>2020-03-02 17:10:43 +0000
</strong>
<br>Robin Watts &lt;Robin.Watts@artifex.com&gt;<br>
diff --git a/doc/News.htm b/doc/News.htm
index 89381994e..ab0fe7554 100644
--- a/doc/News.htm
+++ b/doc/News.htm
@@ -95,32 +95,33 @@ overview</a>.
<!-- [1.0 end visible header] ============================================== -->
<!-- [2.0 begin contents] ================================================== -->
-<h2><a name="Version9.51"></a>Version 9.51 (2020-03-12)</h2>
+<h2><a name="Version9.52"></a>Version 9.52 (2020-03-19)</h2>
<p> Highlights in this release include:
<ul>
<li>
-<p>9.51 is primarily a maintainance release, consolidating the changes we introduced
-in 9.50.
+<p>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.
</li>
<li>
<p>We have continued our work on code hygiene for this release, with a focus on the
static analysis tool Coverity (from <a href="https://www.synopsys.com">Synopsys, Inc</a>)
-and we are now maintaining a policy of zero Coverity issues in the Ghostscript/GhostPDL
-source base.
+and we have now adopted a policy of maintaining zero Coverity issues in the
+Ghostscript/GhostPDL source base.
</li>
<li>
<p><b>IMPORTANT:</b> In consultation with a representative of
(<a href="http://www.openprinting.org">OpenPrinting</a>) it is
our intention to deprecate and, in the not distant future, remove the
OpenPrinting Vector/Raster Printer Drivers (that is, the <code>opvp</code>
-and <code>oprp</code> devices.
+and <code>oprp</code> devices).
<p> If you rely on either of these devices, <b><i>please</i></b> get in touch with
us, so we can discuss your use case, and revise our plans accordingly.
</li>
<li>
-<p>IMPORTANT: We have forked LittleCMS2 into LittleCMS2mt (the "mt" indicating "multi-thred").
-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
+<p>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).
@@ -131,17 +132,33 @@ available as its own package separately from Ghostscript (and MuPDF).
</ul>
<p>For a list of open issues, or to report problems,
please visit <a href="http://bugs.ghostscript.com/">bugs.ghostscript.com</a>.
-<h3><a name="9.51_Incompatible_changes"></a>Incompatible changes</h3>
+<h3><a name="9.52_Incompatible_changes"></a>Incompatible changes</h3>
<h4>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.</h4>
<ul>
<li>
+<p>(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 <code>nmake</code> Makefiles
+will continue to allow older Visual Studio versions (back to VS2005) to build Ghostscript.
+</li>
+<li>
+<p>(9.52) <code>-dALLOWPSTRANSPARENCY</code>: 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 <code>-dSAFER</code> feature.
+As we made "SAFER" the default mode, that became unacceptable, hence the new option
+<a href="Use.htm#ALLOWPSTRANSPARENCY">-dALLOWPSTRANSPARENCY</a> which enables
+access to the operators.
+</li>
+<li>
<p>(9.50) There are a couple of subtle incompatibilities between the old and new SAFER
-implementations. Firstly, as mentioned above, SAFER now leaves standard Postcript
-functionality unchanged (except for the file access limitations). Secondly,
-the interaction with <code>save</code>&sol;<code>restore</code> operations, see
-<a href="Use.htm#Safer">SAFER</a>.
+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 <code>save</code>&sol;<code>restore</code> operations,
+see <a href="Use.htm#Safer">SAFER</a>.
<p><strong>Important Note for Windows Users</strong>:
<br>
The file/path pattern matching is case sensitive, even on Windows. This is a
@@ -156,15 +173,15 @@ any integrations or utilities that rely on those non-standard and undocumented
operators may stop working, or may change behaviour.
<p>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
+alternative solution or return the previous functionality if there is genuinely no other
option.
<p>One case we know this has occurred is GSView 5 (and earlier). GSView 5 support for PDF
-files relied upon internal use only features which are no longer available. GSView 5 will
+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 <a href="https://www.mupdf.com">MuPDF</a>.
</li>
</ul>
-<h3><a name="9.51_changelog"></a>Changelog</h3>
+<h3><a name="9.52_changelog"></a>Changelog</h3>
<p>See the <a href="History9.htm">history file</a> for complete log
of changes.
@@ -189,7 +206,7 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200,
Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
<p>
-<small>Ghostscript version 9.51, 12 March 2020
+<small>Ghostscript version 9.52, 19 March 2020
<!-- [3.0 end visible trailer] ============================================= -->
diff --git a/doc/Use.htm b/doc/Use.htm
index 4c3f6cf6e..660a5a50e 100644
--- a/doc/Use.htm
+++ b/doc/Use.htm
@@ -2554,6 +2554,7 @@ incorrect) rendering of pages containing PDF 1.4 transparency and
blending.</dd>
</dl>
+<a name="ALLOWPSTRANSPARENCY"></a>
<dl>
<dt><code>-dALLOWPSTRANSPARENCY</code></dt>
<dd>
@@ -3473,7 +3474,7 @@ system permissions.</dd>
<dl>
<dt><code>-dSAFER</code></dt>
<dd>
-<strong>IMPORTANT NOTE:</strong> Ghostscript now (as of 9.28) defaults to SAFER being active.
+<strong>IMPORTANT NOTE:</strong> Ghostscript now (as of 9.50) defaults to SAFER being active.
<p>
Enables access controls on files. Access controls fall into three categories,
files from which Ghostscript is permitted to read, ones to which it is permitted
@@ -3486,7 +3487,7 @@ Ghostscript development team) uses this interface, we have no control over third
code.
<p>
This is an entirely new implementation of <code>SAFER</code> for Ghostscript versions
-9.28 and later. Earlier versions (see "<a href="#OldSafer">-dOLDSAFER</a>") relied on
+9.50 and later. Earlier versions (see "<a href="#OldSafer">-dOLDSAFER</a>") relied on
storing the file permission lists in Postscript VM (Virtual Memory), and only applied
file access permissions to the Postscript file related operators. It relied on restricting
the function of <code>setpagedevice</code> to avoid the device code from being manipulated
@@ -3503,7 +3504,7 @@ access controls are enabled (see <a href="Language.htm#.activatepathcontrol">.ac
any call to <code>.addcontrolpath</code> after <code>.activatepathcontrol</code> will result in a
<code>Fatal</code> error causing the interpreter to immediately exit.
<p>
-An incompatibility exists between the pre-9.28 and 9.28 and later <code>SAFER</code>.
+An incompatibility exists between the pre-9.50 and 9.50 and later <code>SAFER</code>.
By removing storage and application entirely from the Postscript language
environment and internal context, SAFER is no longer affected by Postscript
<code>save</code>&sol;<code>restore</code> operations. Previously, it was possible
@@ -3518,7 +3519,7 @@ to do the equivalent of:
In that sequence, the <code>Postscript ops</code> would run with <code>SAFER</code> protection
but after the restore, <code>SAFER</code> would no longer be in force. This is no longer the case.
After the call to <code>.setsafe</code> the file controls are in force until the
-interpreter exits. As the 9.28 and later implementation no longer restricts the
+interpreter exits. As the 9.50 and later implementation no longer restricts the
operation of <code>setpagedevice</code>, and because this capability is <i>extremely</i>
rarely used, we feel the improvement in security warrants the small reduction in
flexibility.
@@ -3595,8 +3596,8 @@ are automatically added to the permit read lists.
<dd>
<strong>NOTE: This enables deprecated code which will shortly be removed</strong>
<p>Used in combination with <code>-dSAFER</code> (or <code>.setsafe</code>) enables
-the pre-9.28 SAFER implementation. It is included (for now) in case any users find
-a case where the 9.28 and later <code>SAFER</code> does not work for them. It means
+the pre-9.50 SAFER implementation. It is included (for now) in case any users find
+a case where the 9.50 and later <code>SAFER</code> does not work for them. It means
such users can keep working until we have assessed the issue, and distributed a solution.
<p>
Disables the <code>deletefile</code> and <code>renamefile</code>