GraphicsMagick: README.txt: Refresh README text.

GraphicsMagick Commits <[email protected]> Sat, 01 Mar 2025 09:04:50 -0600
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.56929.1740841507.1470.graphicsmagick-commit@lists.sourceforge.net>
changeset 9927dcc677d0 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9927dcc677d0
summary: README.txt: Refresh README text.

diffstat:

 ChangeLog                              |   4 +
 README.txt                             |  94 ++++++++++++++-------------------
 VisualMagick/installer/inc/version.isx |   4 +-
 magick/version.h                       |   4 +-
 www/ChangeLog.html                     |   6 ++
 www/README.html                        |  96 ++++++++++++++-------------------
 6 files changed, 95 insertions(+), 113 deletions(-)

diffs (393 lines):

diff -r 99e719a64589 -r 9927dcc677d0 ChangeLog
--- a/ChangeLog	Mon Feb 17 09:36:18 2025 -0600
+++ b/ChangeLog	Sat Mar 01 09:04:14 2025 -0600
@@ -1,3 +1,7 @@
+2025-03-01  Bob Friesenhahn  <[email protected]>
+
+	* README.txt: Refresh README text.
+
 2025-02-14  Bob Friesenhahn  <[email protected]>
 
 	* wand/magick_wand.c: Fix comment indentation issue which was
diff -r 99e719a64589 -r 9927dcc677d0 README.txt
--- a/README.txt	Mon Feb 17 09:36:18 2025 -0600
+++ b/README.txt	Sat Mar 01 09:04:14 2025 -0600
@@ -9,20 +9,23 @@
 .. contents::
   :local:
 
-Executive Summary
------------------
+Introduction
+------------
 
 GraphicsMagick provides a comprehensive collection of utilities,
 programming interfaces, and GUIs, to support file format conversion,
 image processing, and 2D vector rendering.
 
-GraphicsMagick is originally based on ImageMagick from ImageMagick Studio
-(which was originally written by John Cristy at Dupont). The goal of
-GraphicsMagick is to provide the highest quality product possible while
-encouraging open and active participation from all interested developers.
-The GraphicsMagick usage license is designed to allow it to be used for
-any application, including proprietary or GPLed applications. Please see
-the file `Copyright.txt <Copyright.html>`_ for the GraphicsMagick licence.
+GraphicsMagick is originally based on ImageMagick from ImageMagick
+Studio (which was originally written by John Cristy at Dupont), but
+forking from it in late 2002, and becoming independent from it, while
+retaining the MIT-style license. The goal of GraphicsMagick is to
+provide the highest quality product possible while encouraging open
+and active participation from all interested developers.  The
+GraphicsMagick usage license is designed to allow it to be used for
+any application, including proprietary or GPLed applications. Please
+see the file `Copyright.txt <Copyright.html>`_ for the GraphicsMagick
+licence.
 
 Availability
 ------------
@@ -33,7 +36,7 @@
 GraphicsMagick is a continual work in progress. The very latest code
 is available via the Mercurial distributed source control management
 tool (https://www.mercurial-scm.org/). GraphicsMagick may be retrieved
-from foss.heptapod.net or SourceForge via the following commands:
+from foss.heptapod.net or SourceForge via one of the following commands:
 
   hg clone https://foss.heptapod.net/graphicsmagick/graphicsmagick GM
 
@@ -43,7 +46,7 @@
 the full history of the GraphicsMagick project.  You may use the
 cloned repository for your own purposes related to GraphicsMagick
 (e.g. manage local GraphicsMagick changes), and can easily pull
-GraphicsMagick updates from the main repository whenever you like.
+updates from the main repository whenever you like.
 
 Documentation
 -------------
@@ -123,15 +126,14 @@
 
     https://sourceforge.net/projects/gs-fonts/
 
-  Ghostscript (at the time this text is written in October, 2018) has
-  been observed to have severe security issues when reading untrusted
-  Postscript files (does not apply to PDF).  Examples of these severe
-  security issues are being tricked into reading or writing arbitrary
-  files when executing in "-dSAFER" mode, which which is supposed to
-  prevent such access.  Users of Ghostscript who may encounter
-  untrusted Postscript files are recommended to assure that all
-  security patches have been applied and it might be necessary to use
-  the latest upstream release.
+  Ghostscript has historically been observed to have severe security
+  issues when reading untrusted Postscript files (does not apply to
+  PDF).  Examples of these severe security issues are being tricked
+  into reading or writing arbitrary files when executing in "-dSAFER"
+  mode, which which is supposed to prevent such access.  Users of
+  Ghostscript who may encounter untrusted Postscript files are
+  recommended to assure that all security patches have been applied
+  and it might be necessary to use the latest upstream release.
 
   Ghostscript is available for use under both free (GPL) and
   commercial licenses.  We are not lawyers so we can not provide
@@ -140,26 +142,9 @@
   usage terms if you plan to use it in some sort of commercial
   situation.
 
-  Ghostscript (release 7.0 and later) may optionally install a library
-  (libgs) under Linux. If this library is installed, GraphicsMagick may
-  be configured to use it. We do **NOT** recommend using this library
-  under Unix type systems. The Ghostscript library does not support
-  concurrency since only one instance of the interpreter is available.
-  Unix systems will obtain better performance from executing Ghostscript as
-  an external process since then multiple interpreters may execute at
-  once on multiple CPU cores.
-
-  If the Ghostscript library is used, then please be aware that
-  Ghostscript provides its own modified version of libjpeg and
-  libJasper while GraphicsMagick will be using these libraries as
-  provided with the system. If Ghostscript is not using the same
-  libraries, then identically named symbols may be used from the wrong
-  code, causing confusion or a program crash. If conflicts cause JPEG
-  to fail (JPEG returns an error regarding expected structure sizes),
-  it may be necessary to use Ghostscript's copy of libjpeg for
-  GraphicsMagick, and all delegate libraries which depend on libjpeg,
-  or convince Ghostscript to build against an unmodified installed
-  JPEG library (and lose compatibility with some Postscript files).
+  Ghostscript is used as an external program under Unix-like systems,
+  but is used via its DLL in the Microsoft Windows Visual Studio
+  build.
 
 * GraphicsMagick requires hp2xx available from
 
@@ -219,13 +204,14 @@
   lossless coding mode JPEG extension introduced in IJG JPEG v9 (which
   is not compatible with standard lossless JPEG!).
 
-  GraphicsMagick supports both 8-bit and 12-bit JPEG, but
-  unfortunately it does not yet support both at once.
+  GraphicsMagick supports 8-bit, 12-bit, and 16-bit JPEG, provided a
+  JPEG library (e.g. libjpeg-turbo) which supports those depths.
 
 * GraphicsMagick requires the JasPer Project's JasPer library from
   https://jasper-software.github.io/jasper/ to read and write the
   JPEG-2000 format.  Due to security concerns, using the latest
-  version of JasPer (3.0.0 or later) is recommended.
+  version of JasPer is always recommended.  Note that modern JasPer
+  requires C'11 (2011) language support.
 
 * On Unix-type systems, Windows/MinGW, and Windows/Cygwin,
   GraphicsMagick requires libltdl from libtool in order to support
@@ -251,14 +237,17 @@
      https://libtiff.gitlab.io/libtiff/
 
   to read the TIFF image format. It in turn optionally requires the
-  JPEG and ZLIB libraries.  Libtiff 3.8.2 or later is recommended.
+  JBIG, JPEG, LERC, Deflate, LZMA, ZSTD, WebP, and ZLIB libraries.
+  Libtiff 3.9.7 or later is required, but a recent release is always
+  recommended.
 
 * GraphicsMagick requires libzip available via HTTPS at
 
      https://libzip.org/
 
   in in order to read the ORA format.  It in turn optionally requires
-  libbzip2 and OpenSSL libraries.
+  ZLIB, BZip2, LZMA (xz), ZSTD, and a crypto library (Common Crypto,
+  GnuTLS, mbed TLS, OpenSSL, or Windows Cryptography).
 
 * GraphicsMagick may optionally use the TRIO library from
 
@@ -286,15 +275,12 @@
 
 * GraphicsMagick may optionally use the umem memory allocation library
   which is included in Sun's Solaris operating system, and
-  OpenSolaris/Illumos derivatives, or available from
-
-     https://github.com/omniti-labs/portableumem
-
-  to provide enhanced versions of the standard memory allocation
-  facilities. Use of umem may improve performance for multi-threaded
-  programs and provides access to debugging features that detect memory
-  leaks, buffer overruns, multiple frees, use of uninitialized data, use
-  of freed data, and many other common programming errors.
+  OpenSolaris/Illumos derivatives, to provide enhanced versions of the
+  standard memory allocation facilities. Use of umem may improve
+  performance for multi-threaded programs and provides access to
+  debugging features that detect memory leaks, buffer overruns,
+  multiple frees, use of uninitialized data, use of freed data, and
+  many other common programming errors.
 
 * GraphicsMagick requires libwmflite from libwmf 0.2.5 (or later) from
 
diff -r 99e719a64589 -r 9927dcc677d0 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Mon Feb 17 09:36:18 2025 -0600
+++ b/VisualMagick/installer/inc/version.isx	Sat Mar 01 09:04:14 2025 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020250214"
-#define public MagickPackageReleaseDate "snapshot-20250214"
+#define public MagickPackageVersionAddendum ".020250301"
+#define public MagickPackageReleaseDate "snapshot-20250301"
diff -r 99e719a64589 -r 9927dcc677d0 magick/version.h
--- a/magick/version.h	Mon Feb 17 09:36:18 2025 -0600
+++ b/magick/version.h	Sat Mar 01 09:04:14 2025 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x282502
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 28,25,2
-#define MagickChangeDate   "20250214"
-#define MagickReleaseDate  "snapshot-20250214"
+#define MagickChangeDate   "20250301"
+#define MagickReleaseDate  "snapshot-20250301"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 99e719a64589 -r 9927dcc677d0 www/ChangeLog.html
--- a/www/ChangeLog.html	Mon Feb 17 09:36:18 2025 -0600
+++ b/www/ChangeLog.html	Sat Mar 01 09:04:14 2025 -0600
@@ -38,6 +38,12 @@
 
 <main id="graphicsmagick-changelog">
 <h1 class="title">GraphicsMagick ChangeLog</h1>
+<p>2025-03-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>README.txt: Refresh README text.</p></li>
+</ul>
+</blockquote>
 <p>2025-02-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">
diff -r 99e719a64589 -r 9927dcc677d0 www/README.html
--- a/www/README.html	Mon Feb 17 09:36:18 2025 -0600
+++ b/www/README.html	Sat Mar 01 09:04:14 2025 -0600
@@ -43,25 +43,28 @@
 <!-- See http://docutils.sourceforge.net/rst.html for details. -->
 <div class="contents local topic" id="contents">
 <ul class="simple">
-<li><p><a class="reference internal" href="#executive-summary" id="id1">Executive Summary</a></p></li>
+<li><p><a class="reference internal" href="#introduction" id="id1">Introduction</a></p></li>
 <li><p><a class="reference internal" href="#availability" id="id2">Availability</a></p></li>
 <li><p><a class="reference internal" href="#documentation" id="id3">Documentation</a></p></li>
 <li><p><a class="reference internal" href="#installation" id="id4">Installation</a></p></li>
 <li><p><a class="reference internal" href="#add-on-libraries-programs" id="id5">Add-On Libraries &amp; Programs</a></p></li>
 </ul>
 </div>
-<section id="executive-summary">
-<h1><a class="toc-backref" href="#id1">Executive Summary</a></h1>
+<section id="introduction">
+<h1><a class="toc-backref" href="#id1">Introduction</a></h1>
 <p>GraphicsMagick provides a comprehensive collection of utilities,
 programming interfaces, and GUIs, to support file format conversion,
 image processing, and 2D vector rendering.</p>
-<p>GraphicsMagick is originally based on ImageMagick from ImageMagick Studio
-(which was originally written by John Cristy at Dupont). The goal of
-GraphicsMagick is to provide the highest quality product possible while
-encouraging open and active participation from all interested developers.
-The GraphicsMagick usage license is designed to allow it to be used for
-any application, including proprietary or GPLed applications. Please see
-the file <a class="reference external" href="Copyright.html">Copyright.txt</a> for the GraphicsMagick licence.</p>
+<p>GraphicsMagick is originally based on ImageMagick from ImageMagick
+Studio (which was originally written by John Cristy at Dupont), but
+forking from it in late 2002, and becoming independent from it, while
+retaining the MIT-style license. The goal of GraphicsMagick is to
+provide the highest quality product possible while encouraging open
+and active participation from all interested developers.  The
+GraphicsMagick usage license is designed to allow it to be used for
+any application, including proprietary or GPLed applications. Please
+see the file <a class="reference external" href="Copyright.html">Copyright.txt</a> for the GraphicsMagick
+licence.</p>
 </section>
 <section id="availability">
 <h1><a class="toc-backref" href="#id2">Availability</a></h1>
@@ -70,7 +73,7 @@
 <p>GraphicsMagick is a continual work in progress. The very latest code
 is available via the Mercurial distributed source control management
 tool (<a class="reference external" href="https://www.mercurial-scm.org/">https://www.mercurial-scm.org/</a>). GraphicsMagick may be retrieved
-from foss.heptapod.net or SourceForge via the following commands:</p>
+from foss.heptapod.net or SourceForge via one of the following commands:</p>
 <blockquote>
 <p>hg clone <a class="reference external" href="https://foss.heptapod.net/graphicsmagick/graphicsmagick">https://foss.heptapod.net/graphicsmagick/graphicsmagick</a> GM</p>
 <p>hg clone <a class="reference external" href="http://hg.code.sf.net/p/graphicsmagick/code/">http://hg.code.sf.net/p/graphicsmagick/code/</a> GM</p>
@@ -79,7 +82,7 @@
 the full history of the GraphicsMagick project.  You may use the
 cloned repository for your own purposes related to GraphicsMagick
 (e.g. manage local GraphicsMagick changes), and can easily pull
-GraphicsMagick updates from the main repository whenever you like.</p>
+updates from the main repository whenever you like.</p>
 </section>
 <section id="documentation">
 <h1><a class="toc-backref" href="#id3">Documentation</a></h1>
@@ -159,40 +162,23 @@
 <blockquote>
 <p><a class="reference external" href="https://sourceforge.net/projects/gs-fonts/">https://sourceforge.net/projects/gs-fonts/</a></p>
 </blockquote>
-<p>Ghostscript (at the time this text is written in October, 2018) has
-been observed to have severe security issues when reading untrusted
-Postscript files (does not apply to PDF).  Examples of these severe
-security issues are being tricked into reading or writing arbitrary
-files when executing in &quot;-dSAFER&quot; mode, which which is supposed to
-prevent such access.  Users of Ghostscript who may encounter
-untrusted Postscript files are recommended to assure that all
-security patches have been applied and it might be necessary to use
-the latest upstream release.</p>
+<p>Ghostscript has historically been observed to have severe security
+issues when reading untrusted Postscript files (does not apply to
+PDF).  Examples of these severe security issues are being tricked
+into reading or writing arbitrary files when executing in &quot;-dSAFER&quot;
+mode, which which is supposed to prevent such access.  Users of
+Ghostscript who may encounter untrusted Postscript files are
+recommended to assure that all security patches have been applied
+and it might be necessary to use the latest upstream release.</p>
 <p>Ghostscript is available for use under both free (GPL) and
 commercial licenses.  We are not lawyers so we can not provide
 advice as to when the commercial license from Artifex is required.
 Please make sure that you are aware of Ghostscript licencing and
 usage terms if you plan to use it in some sort of commercial
 situation.</p>
-<p>Ghostscript (release 7.0 and later) may optionally install a library
-(libgs) under Linux. If this library is installed, GraphicsMagick may
-be configured to use it. We do <strong>NOT</strong> recommend using this library
-under Unix type systems. The Ghostscript library does not support
-concurrency since only one instance of the interpreter is available.
-Unix systems will obtain better performance from executing Ghostscript as
-an external process since then multiple interpreters may execute at
-once on multiple CPU cores.</p>
-<p>If the Ghostscript library is used, then please be aware that
-Ghostscript provides its own modified version of libjpeg and
-libJasper while GraphicsMagick will be using these libraries as
-provided with the system. If Ghostscript is not using the same
-libraries, then identically named symbols may be used from the wrong
-code, causing confusion or a program crash. If conflicts cause JPEG
-to fail (JPEG returns an error regarding expected structure sizes),
-it may be necessary to use Ghostscript's copy of libjpeg for
-GraphicsMagick, and all delegate libraries which depend on libjpeg,
-or convince Ghostscript to build against an unmodified installed
-JPEG library (and lose compatibility with some Postscript files).</p>
+<p>Ghostscript is used as an external program under Unix-like systems,
+but is used via its DLL in the Microsoft Windows Visual Studio
+build.</p>
 </li>
 <li><p>GraphicsMagick requires hp2xx available from</p>
 <blockquote>
@@ -251,13 +237,14 @@
 SmartScale JPEG extension introduced in IJG JPEG v8, and the
 lossless coding mode JPEG extension introduced in IJG JPEG v9 (which
 is not compatible with standard lossless JPEG!).</p>
-<p>GraphicsMagick supports both 8-bit and 12-bit JPEG, but
-unfortunately it does not yet support both at once.</p>
+<p>GraphicsMagick supports 8-bit, 12-bit, and 16-bit JPEG, provided a
+JPEG library (e.g. libjpeg-turbo) which supports those depths.</p>
 </li>
 <li><p>GraphicsMagick requires the JasPer Project's JasPer library from
 <a class="reference external" href="https://jasper-software.github.io/jasper/">https://jasper-software.github.io/jasper/</a> to read and write the
 JPEG-2000 format.  Due to security concerns, using the latest
-version of JasPer (3.0.0 or later) is recommended.</p></li>
+version of JasPer is always recommended.  Note that modern JasPer
+requires C'11 (2011) language support.</p></li>
 <li><p>On Unix-type systems, Windows/MinGW, and Windows/Cygwin,
 GraphicsMagick requires libltdl from libtool in order to support
 building GraphicsMagick with dynamically loadable modules.  Libtool
@@ -282,14 +269,17 @@
 <p><a class="reference external" href="https://libtiff.gitlab.io/libtiff/">https://libtiff.gitlab.io/libtiff/</a></p>
 </blockquote>
 <p>to read the TIFF image format. It in turn optionally requires the
-JPEG and ZLIB libraries.  Libtiff 3.8.2 or later is recommended.</p>
+JBIG, JPEG, LERC, Deflate, LZMA, ZSTD, WebP, and ZLIB libraries.
+Libtiff 3.9.7 or later is required, but a recent release is always
+recommended.</p>
 </li>
 <li><p>GraphicsMagick requires libzip available via HTTPS at</p>
 <blockquote>
 <p><a class="reference external" href="https://libzip.org/">https://libzip.org/</a></p>
 </blockquote>
 <p>in in order to read the ORA format.  It in turn optionally requires
-libbzip2 and OpenSSL libraries.</p>
+ZLIB, BZip2, LZMA (xz), ZSTD, and a crypto library (Common Crypto,
+GnuTLS, mbed TLS, OpenSSL, or Windows Cryptography).</p>
 </li>
 <li><p>GraphicsMagick may optionally use the TRIO library from</p>
 <blockquote>
@@ -317,16 +307,12 @@
 </li>
 <li><p>GraphicsMagick may optionally use the umem memory allocation library
 which is included in Sun's Solaris operating system, and
-OpenSolaris/Illumos derivatives, or available from</p>
-<blockquote>
-<p><a class="reference external" href="https://github.com/omniti-labs/portableumem">https://github.com/omniti-labs/portableumem</a></p>
-</blockquote>
-<p>to provide enhanced versions of the standard memory allocation
-facilities. Use of umem may improve performance for multi-threaded
-programs and provides access to debugging features that detect memory
-leaks, buffer overruns, multiple frees, use of uninitialized data, use
-of freed data, and many other common programming errors.</p>
-</li>
+OpenSolaris/Illumos derivatives, to provide enhanced versions of the
+standard memory allocation facilities. Use of umem may improve
+performance for multi-threaded programs and provides access to
+debugging features that detect memory leaks, buffer overruns,
+multiple frees, use of uninitialized data, use of freed data, and
+many other common programming errors.</p></li>
 <li><p>GraphicsMagick requires libwmflite from libwmf 0.2.5 (or later) from</p>
 <blockquote>
 <p><a class="reference external" href="http://sourceforge.net/projects/wvware/">http://sourceforge.net/projects/wvware/</a></p>