See http://netpbm.sourceforge.net/history.html for a general history of
Netpbm.

CHANGE HISTORY 
--------------

26.07.22 BJH  Release 11.15.04

              pbmtomda: fix incorrect output (invalid image) with -dscale.
              Always broken (pbmtomda was new in Netpbm 9.1 (May 2000)).

              mdatopbm: fix failure when height or width of MDA is 2^15 or
              more.  Always broken (mdatopbm was new in Netpbm 9.1 (May 2000)).

26.07.15 BJH  Release 11.15.03

              mrftopbm: fix crash with zero width or height in MRF header.
              Always broken (mrftopbm was new in Netpbm 10.18 (March 2009)).

              pjtoppm: fix write to arbitrary memory after a position command.
              Always broken (pjtoppm was in primordial Netpbm, 1991).

26.07.08 BJH  Release 11.15.02
    
              pnmtojbig: fix incorrect output with default -s option.
              Introduced in Netpbm 10.67 (June 2014).

              pbmtobrush: fix write to random memory.  Always broken
              (pbmtobrush was new in Netpbm 11.15, June 2026).

              lispmtopgm: fix too-dim output (because maxval is too big).
              Always broken (lispmtopgm was in primordial Netpbm).

              lispmtopgm: fix incorrect output when width not a multiple of
              32.  Always broken (lispmtopgm was in primordial Netpbm).

26.06.28 BJH  Release 11.15.01

              various: fix literal "\n" in messages.  Introduced in Netpbm
              11.15.00 (June 2026).

26.06.27 BJH  Release 11.15.00

              Add pbmtobrush.

              libnetpbm/pm_message: don't write nonprintable characters to
              Standard Error; instead, print e.g. "0x23" or "\n".

              pamcut: fix incorrect behavior or crash with options that
              specify an uncomputably large column or row number (UINT_MAX).

              pbmtopgm: fix incorrect output with absurdly large convolution
              kernel.

              ppmtopict: fix incorrect output with oversize input image.

              pnmtoddif: fix incorrect output at right edge.

              pnmtoddif: fix undefined behavior with absurdly large image
              dimensions or corrupted image header

              Build: stop GCC compiler warnings related to compiler not
              recognizing assertions by 'assert'.

              Build with modified Netpbm that uses real libjasper: fix
              compiler warning/error about bug in vestigial code.

              makeman: make it just Python 3, as the old supposed 2+3 code
              doesn't work on some systems.  Thanks R M HildigerR Vergaray
              (moonsdad@gmail.com).

26.03.31 BJH  Release 11.14.00

              pcxtoppm: fix determination that palette in image is all one
              color (so probably in error) based on random memory access.
              Always broken (all-one-color feature was added in July 1995).

              pbmtext: fix crash when input text contains a character with
              code >127.  Broken in Netpbm 10.82 (March 2018).

              pnmhisteq: fix incorrect output with -gray: color pixels
              changed, gray pixels left alone.  Broken in Netpbm 10.30
              (October 2005).

              asciitopgm: fix crash with missing height or width argument.
              Always broken (asciitopgm was new in the 1994 Netpbm release).

              asciitopgm: fix crash with zero divisor.
              Always broken (asciitopgm was new in the 1994 Netpbm release).

              libnetpbm: fix crash when caller of pm_selector_mark attempts to
              mark or test mark of out-of-bounds code point.  Abort program
              with error message instead.  Broken since Netpbm 10.91 (June
              2020).

              build: remove ancient non-prototype function declarations; C23
              doesn't have them, so compilation fails with modern compilers.

              build: fix compile failure of libjasper with -DDEBUG .  Broken
              some time in Netpbm 10.27 (March 2005) through 10.35 (August
              2006)).

25.12.29 BJH  Release 11.13.00

              pnmmargin: improve error messages.

25.09.27 BJH  Release 11.12.00

              pamtris: fix unrecognized command or crash on line with no
              command.  Broken in Netpbm 10.85 (December 2018).

              ppmcmap.h: fix C++ compilation.  Broken at least since Netpbm
              10.35 (August 2006).

              Make ppmdfont.h work in C++ compile.  Always broken (ppmdfont.h
              was new some time before Netpbm 10.35 (August 2006)).

25.06.29 BJH  Release 11.11.00

              pamflip: add -inverse.

              pamflip: add -reflect.

              pamdice: add -outsuffix.

              libnetpbm and 'ppmdraw' circle drawing functions: use floating
              point arithmetic to make smoother circle.

              pamdice, pamundice: Add PBM fast path.

              ppmdraw: fix error message about 'filledrectangle' syntax.

              pamdice: fix using more digits than necessary in output file
              names -- width was based on one more slice than was actually
              generated.  Broken since Netpbm 10.29 (August 2005).

              pnmquantall: fix arbitrary shell command execution with input
              file names or color count that contain shell metacharacters.
              Always present ('pnmquantall' has existed, aka 'ppmquantall',
              since primordial Netpbm).

              ppmtogif: fix arbitrary shell commands when arguments contain
              shell metacharacters.  Broken in Netpbm 10.37 (June 2006).

              pnmtofiasco: fix crash when image is really small.  Always
              broken (program was new in Netpbm 9.6, July 2000).
              
              pnmtofiasco: fix bug: uses one tile regardless of
              --tiling-exponent.  Always broken (programs were new in Netpbm
              9.6, July 2000).

              pnmtofiasco: fix bug: infinite loop with multiple tiles.
              Always broken (program was new in Netpbm 9.6, July 2000),
              but made functional by bug fix in 11.10 (March 2025).

              pnmtofiasco: fix bug: does wrong level of optimization
              Introduced in Netpbm 11.05 (December 2023).

              libnetpbm ppmd_fill and ppmdraw filled shapes: fix bug: final
              span of filling omitted from output.  Always broken (ppmd_fill
              was in primordial Netpbm).

25.03.28 BJH  Release 11.10.00

              pamdice: Add -listfile, -indexfile, -numberwidth, -dry-run .

              pamundice: Add -indexfile .

              pamflip: improve efficiency - less copying of tuples in basic
              whole-image non-PBM case.

              pamflip: more direct error message for -memsize=0.

              pamflip: warn if redundant -pagesize specified with -verbose.

              pcdovtoppm: improve syntax error messages.

              pammixmulti: Fix crash from uninitialized memory.  Introduced in
              Netpbm 11.09 (December 2024).

              giftopnm: Fix wild pointer reference with -verbose and
              invalid extension type.  Broken in Netpbm 10.59 (December 2012).

              pdbimgtopam, pamtopdbimg: Fix crash when out of memory.  Always
              broken (programs were new in Netpbm 10.52 (September 2010)).

              pamrestack: fix failure when height too large for computations.
              Broken in Netpbm 10.99 (June 2022).

              pamflip: fix: Don't allow -xform with older transform options
              (-leftright, etc.).  Before, -xform would be ignored in that
              case.

24.12.25 BJH  Release 11.09.00

              pammixmulti: Add -blend=alpha-weighted.  Thanks Scott Pakin.

              ppmhist: Don't accept -nomap and -map together, or -colorname
              with -map.  (Before, -nomap and -colorname were ignored with
              -map).

              libnetpbm: Fix crash in ppm_colorDict_destroy; affects all
              programs that use color names.  Introduced in Netpbm 11.07 (June
              2024).

              pcxtoppm: Fix wildly incorrect output for all multiplane images.
              Broken in Netpbm 11.04 (September 2023).

              pbmtoascii: Fix bug: allows both -1x2 and -2x4.  Always present
              (pbmtoascii existed in primordial Netpbm).

              build: fix type mismatch warning linking ppmtompeg.  Always
              broken (ppmtompeg was new to Netpbm in April 2004).

              build: Make it work with -std=gnu23, which is the default in
              recent GCC.  To wit, remove local declaration of "bool".

              makeman: fix for HTML lists that have blank lines between items.

24.09.29 BJH  Release 11.08.00

              libnetpbm color name parsing: Fix handling of rgb: color names
              with more than 4 hex digits per plane, so it throws an error
              instead of generating an invalid or wrong color.  Broken in
              primordial Netpbm.

              libnetpbm color name parsing: Fix error message for invalid
              rgb-<MAXVAL> color name.

              build: fix typo in check of DARWIN_C_SOURCE so strdup, etc.
              are properly defined on OS X.

24.06.28 BJH  Release 11.07.00

              libnetpbm: Fix double free crash when memory allocation via
              REALLOCARRAY fails.  Introduced in Netpbm 10.40 (September
              2007).

              libnetpbm: Allow color dictionary with more than 1000 entries.

              ppmhist, ppmtoxpm: Work with color dictionary with more than
              1000 color entries.

              rgb.txt: Add Resene paint colors, 2010.

24.03.30 BJH  Release 11.06.00

              pamcut: add -reportonly.

              infotopam: Add input validation.

              infotopam: Remove input file name from messages.  Add -verbose
              and issue informational message only if it is specified.

              libnetpbm: Don't ignore garbage at the end of a color specifier
              (e.g. rgbi:0/.5/1xyz).

              color database: change names of "Spring Green", "Lamp Black",
              and "light grey" to "SpringGreen", "LampBlack", and "LightGrey"
              to be consistent with other color names.

              pamcut: fix incorrect output when rectangle to cut is entirely
              above the input image.  Invisible junk after image.  Always
              broken.  (The ability to cut outside the input image was new in
              pamcut's predecessor pnmcut in Netpbm 9.7 (August 2000).

              pamcut: fix incorrect output with PBM input when rectangle to
              cut is entirely below the input image.  Invisible junk after
              image.  Broken in Netpbm 10.44 (September 2008).

              ppmtowinicon: fix array overrun with 4 and 8 bits per pixel.
              Broken in Netpbm 11.05 (December 2023).

              infotopam: fix incorrect output -- columns always in wrong
              place.  Always broken.  (infotopam was new in Netpbm 10.22 (May
              2004)).

              pamseq: fix typo in error message.

              build: makeman: fix warning about backslashes in strings.

23.12.28 BJH  Release 11.05.00

              pnmpad: Add -color, -promote, -extend-edge, -detect-background .

              pnmconvol: Restore ability of convolution matrix to be a
              pseudo-plain-PNM with samples that exceed the maxval.  Lost in
              10.30 (October 2005) because maxval-checking code was added to
              libnetpbm.  (Was fixed in 10.47.08 in November 2010, but only in
              the 10.47 series).

              pnmindex: Improve failure mode when -size or -across is zero.

              pnmindex: Make -plain work.

              pnmpad: fix behavior with -left, -right, and -width together or
              -top, -bottom, -height together: ignores -width where it should
              fail.  Broken in Netpbm 10.72 (September 2015).

              pamtosvg: fix "zero determinant" failure.  Introduced in
              Netpbm 11.04 (September 2023).

              pjtoppm: fix crash based on uninitialized variable.
              Introduced in Netpbm 11.04 (September 2023).

              ppmtopcxl: fix incorrect output with > 256 colors.  Always
              broken.  (Program was added in primordial Netpbm in 1990).

              pbmtext: fix buffer overrun with insanely large input.

              picttoppm: fix buffer overrun with insanely wide input.

              ppmtoxpm: fix incorrect output with insanely large number of
              colors.

              pnmscalefixed: fix incorrect output with really big image and
              -pixels option.

              ppmdither: fix buffer overrun with insanely large dithering
              matrix.

              pnmpad: no longer accept old-style options (e.g. -t50).

              libnetpbm: Add pm_feed_from_file, pm_accept_to_files,
              pm_accept_to_filestream Standard Input feeder, Output accepter
              for pm_system.

              libnetpbm, programs that use color maps: fix buffer overrun
              with insanely deep images.

              merge build: Fix 'pnmcat'.  Introduced in Netpbm 11.00
              (September 2023).

              Build: Fix compile error on systems without 'asprintf'.
              Introduced in Netpbm 11.04 (September 2023).

              Build: Fix building of jpeg2ktopam and pamtojpeg2k with
              assertion checking by default.

23.09.27 BJH  Release 11.04.00

              pamaddnoise: add -salt.

              pamaddnoise: reject options that aren't meaningful for the type
              of noise specified rather than just ignore them.

              ppmtosixel: Add -7bit, so it works on more terminals, including
              xterms.  Thanks Scott Pakin.

              g3topbm: Add -correctlong

              build: Add COMPILED_BY environment variable to control the
              "compiled by" value from --version common option.  This helps
              with creating reproducible builds.

              pnmtojpeg: minor improvement to error messages about bad files.

              pammixmulti: Remove disclaimer of patent license.

              pamstack: Fix bug: acts like -firstmaxval specified when it
              wasn't.  Introduced in Netpbm 11.03 (June 2023).

              pamstack: Fix -lcmmaxval: chooses wrong maxval.  Always
              broken (-lcmmaxval was new in Netpbm 11.03 (June 2023)).

              pamstack: Fail gracefully when total number of planes is too
              large for unsigned integer.  Always broken (Pamstack was new in
              Netpbm 10.0 (June 2002).

              pamtosvg: fix hang.

              ppmfade: fix "file not found" crash for most fade modes.
              Introduced in Netpbm 10.98 (March 2022).

              ppmfade: fix incorrect block mode fade.  Always broken
              (ppmfade was new in Netpbm 8.4 (April 2000)).

              pamaddnoise: fix very incorrect noise added for all types.
              Introduced in Netpbm 10.94 (March 2021).

              ppmrough: fix buffer overrun.  Always broken (Ppmrough was new
              in Netpbm 10.9 (September 2002).

              ppmrough: fix excessive roughness.  Introduced in Netpbm 10.94
              (March 2021).

              pgmtexture: Fix buffer overflow with maxval > 255.  Always
              broken.  Maxvals > 255 were possible starting in Netpbm 9.0
              (April 2000).

              pgmtexture: Fix bug: ignores -d.  Introduced in Netpbm 10.56
              (September 2011).

              xwdtopnm Fix spurious output with really wide/deep rows.

              imgtoppm: Fix spurious output with really wide/deep rows.

              pbmtopgm: Fix error message for excessive -width.

              pbmtoxbm: Fix spurious output with really wide rows.

              tifftopnm: Fix incorrect output with insanely wide/deep rows.

              thinkjettopbm: Fix incorrect output with insanely wide rows.

              ybmtopbm: Fix incorrect output with insanely wide rows.

              pjtoppm: Fix incorrect output with insanely large number of rows.

              library: add check of maxval for computable size.

              Build: Include LDFLAGS in link of shared library.

23.06.28 BJH  Release 11.03.00

              pamstack: Add -firstmaxval, -lcmmaxval

              pnmcolormap: make result independent of how system's qsort
              orders records with equal keys.  Affects pnmquant.

              pamtopng: fix typo in error message about -chroma option.

              pamtopng, pnmtopng, pngtopam: fix error message when something
              fails in libpng.  Always broken (the programs were new in Netpbm
              8.1 (March 2000)).

23.03.25 BJH  Release 11.02.00

              jpegtopnm: Add -traceexif

              pbmtextps: Add -asciihex, -ascii85.

              pcdovtoppm: remove dependency on obsolete 'tempfile' program.

              jpegtopnm: Many fixes to -dumpexif.  Always broken.
              (-dumpexif was new in Netpbm 9.18 (September 2001))

              pamtopng: fix -chroma option: always rejected.  Always broken.
              (pamtopng was new in Netpbm 10.70 (June 2015)).

              pnmtopng: fix -rgb option: always rejected.  Always broken
              (-rgb was new in Netpbm 10.30 (October 2005)).

              build: change the way you add the separately distributed
              'hpcdtoppm' code to the build.

22.12.31 BJH  Release 11.01.00

              pamcat: Add -listfile .

              pamtojpeg2k: add -size option.  Doesn't precisely work (and
              -compression has never worked precisely either); should be
              fixed some day.

              ppmtompeg: Fix crash with resize option because of invalid
              memory free.

              fitstopnm: fix invalid memory reference (nonterminated ASCIIZ
              string).

              packaging: Fix library minor number to 100 + Netpbm minor number
              so it is higher than previous ones in library major 100.
              I.e. libnetpbm.so.100.101 instead of libnetpbm.so.100.1.
              Introduced in Netpbm 11.00.00.

22.09.28 BJH  Release 11.00.00

              (No significance to new major number; just ran out of 2-digit
              minor numbers).

              Add pamcat.

              pamtable: add -tuple.

              pamtable: add -hex.

              pbmtextps: improve error messages.

              pnmtofits: fix arbitrary behavior when FITS input lacks
              required fields in header.  Always broken.  Pnmtofits'
              predecessor was in primordial Netpbm (1989).

              ppmtoicr: Fix bug: all options cause bogus command line parsing
              errors.  Always broken.  Ppmtoicr was new in 1991.

              ppmtoicr: Fix arithmetic overflows.

              ppmtoicr: make -rle option issue an error message saying it no
              longer exists (it did, sort of, before 2015).

              ppmforge: Fix arbitrary output with really large -power.
              
              pnmindex: fix shell injection vulnerabilities.  Broken since
              Netpbm 10.28 (June 2005).

              pnmmargin: fix shell injection vulnerability.  Always broken
              (Program was added in primordial Netpbm in 1990).

              build: Create backward compatibility symbolic link for
              pnminterp-gen, missing for over 20 years.

22.06.24 BJH  Release 10.99.00

              Add pamrestack.

              Add pamshuffle.

              Add pamtoqoi, qoitopam.

              palmtopnm: Fix failure with bogus claim of invalid input on
              architectures that do not use two's complement negative numbers.
              Always broken.  (Ability to convert PackBits input was new in
              Netpbm 10.27 (March 2005).

              pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output.
              Always broken (These options were new in Netpbm 10.32 (February
              2006)).  Thanks Alexander Shpilkin <ashpilkin@gmail.com>.

              pamdice: Fix incorrect output file name with PAM input.  Always
              broken (pamdice was new in Netpbm 9.25 (March 2002).

              libnetpbm: Stop bogus runtime error check failure in pmfileio.c
              shifts.

22.03.27 BJH  Release 10.98.00

              pamtopdbimg: Add -fixedtime.

              ppmfade: Use temporary files securely.
              
              pnmtosir: Set some possibly meaningless bits in output to zero
              so output is repeatable.

              pamx: Fix bug: top-justifies image in all cases where it should
              bottom-justify.  Always broken.  (pamx was new in Netpbm 10.34
              (June 2006).

              pnmtorle: Fix bug: -h works only on first image.

              pamsistoaglyph: Fix invalid memory reference and incorrect
              output on depth 1 input.  Always broken.  (pamsistoaglyph was
              new in Netpbm 10.47 (June 2009).  Thanks Scott Pakin.

              pambayer: Fix bogus colors at edges.  Always Broken (pambayer
              was new in Release 10.30 (October 2005)).

              libnetpbm, various programs: fix bug: bogus warning that a color
              specified on command line cannot be represented exactly with the
              maxval being used.  Introduced in Netpbm 10.83 (June 2018).

              pnmtopsnr: Fix typo in error message.  Always broken (pnmpsnr
              was new in Netpbm 9.6 (July 2000).

              ppmtoilbm: Remove -floyd (aka -fs) option, which hasn't worked
              in a long time if ever and is inappropriate function for this
              program.  And the broken code is inconsistent with new random
              number logic elsewhere in the package.

              ppmtoapplevol: Fix bug: reads from Standard Input even when you
              specify the input file argument.  Always broken.  (ppmtoapplevol
              was new in Netpbm 10.54 (March 2011).

              ppmtoapplevol: Fix bug: produces garbage with input image wider
              than 255.  Always broken.  (ppmtoapplevol was new in Netpbm
              10.54 (March 2011).

              pgmmedian: fix crash when median matrix is wider or higher than
              the input image.

              picttoppm: Fix incorrect output for 32 bit per pixel images
              that have only 3 planes.  Broken in Netpbm 10.34 (June 2006).

              pamendian: fix bogus "sample exceeds maxval" failure.
              Introduced in Netpbm 10.66 (March 2014).

              ppmtoilbm: Fix wild memory references and hangs with -map .
              Introduced in Netpbm 9.12 (March 2001).

              pgmtexture: Fix incorrect output.  Always broken.  (Program was
              added in primordial Netpbm in 1991).
              
              pgmabel: Fix incorrect output.  Always broken.  (Program was
              new in Netpbm 10.3 (July 2002).

              Remove Floyd-Steinberg dithering functions (ppm_fs_*) from
              libnetpbm (libppmfloyd).  No longer used.  Floyd-Steinberg
              dithering logic can be found in pnmremap.  libppmfloyd
              was previously used by ppmtoilbm.

21.12.27 BJH  Release 10.97.00

              Add pbmnoise.

              pnmpad: Use -halign with -mwidth and default to centering the
              image instead of left-justifying when no other padding is being
              added.  Same with -mheight, -valign, and top-justifying.

              xwdtopnm: Add ability to process bit depth 32.

              pgmtoppm: Add -black, -white.

              ppmpat: Add -mesh.

              pampaintspill: Add -near.  Thanks Scott Pakin.

              pamtogif: Fix bug: doesn't ignore the input alpha mask when user
              specified -transparent.  Broken in Netpbm 10.37 (December 2006).

              palmtopnm: Fix bug: fails with PackBits input on platform with
              default unsigned char, such as ppc64.  Always broken.  (Ability
              to convert PackBits input was new in Netpbm 10.27 (March 2005).
              
              pamrubber: Fix bug: random behavior with -quad when you specify
              both points for source or target and the second one is lower in
              the image than the first.  Always broken (Pamrubber was new in
              Netpbm 10.54 (March 2011)).

              sunicontopnm, escp2topbm, mgrtopbm, ybmtopbm, pamcut, pbmpscale,
              pnmcat, pnmpad: Fix arithmetic overrun with ridiculously large
              image.

              pbmclean: Fix overallocation of memory (waste).

              libnetbm: Add pnm_writepamrowpart, pnm_formatPamtuples.

              libnetpbm: When validating computable size of width and height,
              allow for adding up to 10 instead of 2, to account for rounding
              up to a multiple of 8 in processing bit maps.

              Build: Don't attempt to build 'pamexec' on systems without
              Unix process management.  Bug introduced in Netpbm 10.94
              (March 2021) and supposedly fixed in 10.95, but not really.

21.09.25 BJH  Release 10.96.00

              pgmtoppm: Eliminate dependency on color dictionary when user
              does not specify any colors by name.

              pamstereogram: Fix crash with -xbegin=0.  Thanks Scott Pakin.
              Introduced in Netpbm 10.94.

21.06.30 BJH  Release 10.95.00

              pamtopng: Fix rejection of all BLACKANDWHITE_ALPHA images with
              message about wrong depth.  Always broken (pamtopng was new in
              Netpbm 10.71 (June 2015)).  Thanks Karol Kosek
              <krkk@krkk.ct8.pl>.

              pamtopng: Fix failure with GRAYSCALE_ALPHA images with maxval
              less than 255.  Always broken (pamtopng was new in Netpbm 10.71
              (June 2015)).  Thanks Karol Kosek <krkk@krkk.ct8.pl>.
              
              pamtopng: Fix: treats all tuple types that start with BLA as
              BLACKANDWHITE.  Always broken (pamtopng was new in Netpbm 10.71
              (June 2015)).

              pamtopng: Fix -transparent option - program recognized
              -transparency instead.  Always broken (pamtopng was new in
              Netpbm 10.71 (June 2015)).

              pamtogif: Fix failure with bogus message about wrong depth with
              grayscale and black and white PAM images with transparency.
              Always broken (pamtogif was new in Netpbm 10.37 (December 2006)).
              Thanks Karol Kosek <krkk@krkk.ct8.pl>.

              ppmtogif: Same as 'pamtogif' fix above, but with -alpha option.
              
              Build: Fix build failure due to missing 'random' function on
              Mingw platform.  Bug introduced in Netpbm 10.94 (March 2021).

              Build: Don't attempt to build 'pamexec' on systems without
              Unix process management.  Bug introduced in Netpbm 10.94
              (March 2021).

              Build: Make it work on systems that don't have date +%s.  Broken
              in Netpbm 10.78 (March 2017).  Thanks Claes Nästén
              (pekdon@gmail.com).

              Build: Fix for MacOS build failures with missing sprintf and
              vasprintf in broken build environment.
              
              Mkdeb: fix failure with message about unrecognized format of
              VERSION file.  Introduced in Netpbm 10.90 (March 2020).

21.03.27 BJH  Release 10.94.00

              Add pamhomography:  Thanks Scott Pakin.

              pamstereogram: Add -yfillshift .

              pamtowinicon: Add BMP/PNG encoding to verbose output.

              Use internal random number generator everywhere random numbers
              are used except ppmtoilbm, so seeded results are the same on
              all platforms.

              pamexec: Issue message instead of being killed by a signal when
              the exec'ed program does not read the whole image"

              ppmforge: Fail if -dimension is greater than 5, which is
              useless.

              pamscale: Fix bogus "bad magic number" or similar failure most
              of the time with -nomix.  Broken since Netpbm 10.49 (December
              2009).

              pnmtopng: Fix incorrect transparency in output when requesting
              transparency.  Introduced after Netpbm 10.35 (August 2006) but
              not after Netpbm 10.47 (June 2009).

              pnmtopng: Fix buffer overrun or bogus "too many color/
              transparency pairs" failure when requesting transparency.
              Introduced after Netpbm 10.26 (January 2005) but not after
              Netpbm 10.35 (August 2006).

              pamtojpeg2k: Fix constant failure with message about file
              close failing.

              libnetpbm: pm_system: Fix bug: standard input feeder process
              repositions unrelated files.  Always broken (pm_system was new
              in Netpbm 10.13 (September 2003).

              Pamtowinicon: Fix crash or incorrect output with PNG encoding
              (result of pm_system bug above).  Always broken (Pamtowinicon
              was new in Netpbm 10.63 (June 2013).

              pnmtopng: Fix trivial memory leaks.

              pnmtops: Fix incorrect output (arithmetic overflow) when
              bounding box is exactly INT_MAX high or wide.  Always broken.
              Pnmtops was in primordial Netpbm.

              make package: fix no such file pcdovtoppm.exe failure on
              Windows.

20.12.28 BJH  Release 10.93.00

              pamarith: Add -equal.

              pamarith: Allow more than two operands for functions for which
              it makes sense (all but -subtract, -difference, -compare,
              -divide, -shiftleft, and -shiftright).

              pamarith: fail if operand images have different depth and not
              depth 1.

              ppmshift: Add -seed .

              pamaddnoise: Fix incorrect output for -type poisson.  Always
              broken.  (pamaddnoise's precursor pnmaddnoise was new to Netpbm
              in Netpbm 10.29 (August 2005)).

              pamaddnoise: fix bug: garbage output with -type impulse.  Always
              broken (pamaddnoise's precursor pnmaddnoise was new to Netpbm
              in Netpbm 10.29 (August 2005)).

20.09.26 BJH  Release 10.92.00

              pnmcrop: Make -margin effective with -blank-image=minimize.

              pnmnorm: With bounds specified as -bpercent or -bsingle and
              -wpercent or -wsingle, and the image has only one brightness,
              don't attempt any normalization - leave image as is.  (Previous
              version produces all black with -keephues).

              pgmtopbm: Add -randomseed.

              pamfunc: Fix always wrong output with -not.  Always broken.
              (-not was new in Netpbm 10.40 (September 2007)).

              pamdepth: fix bug: doesn't work on PAM with black and white
              tuple type.

              pnmnorm: Fix bug: output too dark when -bpercent and -wpercent
              indicate overlapping values.  Broken since Netpbm 10.43 (June
              2008).

              pbmtext: Fix double-free crash with -font .  Introduced in
              Netpbm 10.91 (June 2020).

              jpeg2ktopam: Fix crash whenever the program fails.  Broken in
              Netpbm 10.42 (March 2008).

              pamtojpeg2k: Fix failure with most -progression values.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              pamtojpeg2k: Fix wrong result with -tilegrdtly.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              pamarith: Fix crash with -compare where inputs are PBM or
              BLACKANDWHITE PAM.  Broken in Netpbm 10.14 (February 2003).

              pamfunc: Fix crash with -changemaxval and PBM or BLACKANDWHITE
              PAM input.  Always broken.  -changemaxval was new in Netpbm
              10.65 (December 2013).

              pammixmulti: Fix bug: -randomseed ignored on some systems.
              Always broken.  (pammixmulti was new in Netpbm 10.85 (December
              2018).

              pcdovtoppm: Fix some garbage from the conversion from csh to sh
              in Netpbm 9.12 (March 2001) in conversion from csh arrays that
              should have stopped it from working at all, despite reports from
              users that they were using it.

              ximtoppm: Fix bug: invalid memory references with pathological
              image input.  Broken in Netpbm 10.91 (June 2020).

              Configure: remove obsolete question about URL to put in pointer
              man pages of yesteryear.

              Build: fix bug: PKG_CONFIG make variable not used for merge
              build.  Always broken (PKG_CONFIG was new in Netpbm 10.76
              (September 2016).

20.06.28 BJH  Release 10.91.00

              pamstretch-gen: Add -quiet (supposedly added in 10.86, but never
              worked).

              pamstereogram: Add -tileable.  Thanks Scott Pakin.

              pcdovtoppm: Implement -version, -plain, and -quiet.

              pcdovtoppm: more secure temporary file handling.

              pcdovtoppm: Improve the way it fails when 'hpcdtoppm' fails.

              anytopnm, pnmmargin: Fail properly when unable to create
              temporary file.  Broken in Netpbm 10.75 (June 2016).

              winicontoppm: Fix undefined behavior for various invalid input.
              Always broken.  Winicontoppm was new in Netpbm 9.3 (June 2000).

              winicontoppm: Fix incorrect output with 256 pixel wide or high
              image.  Always broken.  Winicontoppm was new in Netpbm 9.3 (June
              2000).

              pjtoppm: Handle input stream with no transmission mode command.
              Always broken.  Pjtoppm was in primordial Netpbm (1991).

              cameratopam: Handle I/O error on input file.  Always broken.
              Cameratopam was new to Netpbm in Netpbm 10.25 (June 2005).

              xbmtopbm: Recognize "unsigned short" as an extension of
              XBM X10 format.

              pjtoppm: Fix handling of input with width unspecified or not
              positive.  Always broken.  (Pjtoppm was in primordial Netpbm, ca
              1991).

              winicontopam: Fix crash with PNG icon.  Always broken.
              Winicontopam was new in Netpbm 10.63 (June 2013).

              picttoppm: Fix bug with an input file that specifies a clip
              region (ClipRgn opcode) that is not contained within the
              picture frame.  Result is invalid memory access.  Broken
              some time 1994-2002.

              picttoppm: Fix incorrect output (sheared) when a blit must be
              scaled.  Broken in Netpbm 10.34 (June 2006) or 10.35 (August
              2006).

              pbmtonokia: Fix incorrect output with -txt option.

              pbmtonokia: Fix incorrect output with newer compiler.

              pnmtorle: Fix incorrect command and filename in header.
              Broken in Netpbm 10.88 (September 2019).

              cameratopam: Fix buffer overrun.  Always present. (cameratopam
              was new in Netpbm 10.28 (June 2005)).

              cameratopam: Fix undefined behavior using 'swab' to swap bytes
              in place.  Always present. (cameratopam was new in Netpbm 10.28
              (June 2005)).

              ppmtompeg: Fix buffer overruns with very long names in input
              parameter files.  Always broken.  Ppmtompeg was new in
              Netpbm 8.4 (April 2000).

              ximtoppm: Fix possible program crash due to invalid memory
              reference.  Always broken.  ximtoppm was in primordial Netpbm,
              ca 1989.

              pcdovtoppm: Fix bug: accepts anything starting with -s
              as equivalent to -s.

              pcdovtoppm: properly selects Bash as interpreter.  Broken
              in Netpbm 9.12 (March 2001) (when it was called pcdindex).

20.03.26 BJH  Release 10.90.00

              pamundice: Add -listfile.

              pamditherbw: Remove restriction to 2^18 pixels width and height
              for -hilbert .

              pamundice: Add error and warning messages for insane file name
              pattern.

              pamcut: Improve error messages for legacy command line
              arguments.

              pbmtopgm: Fix incorrect output when convolution area is not
              square.  Always broken.  pbmtopgm was in primordial Netpbm,
              ca 1991.

              pbmtopgm: Fix crash when convolution matrix too large for word
              size.  Always broken.  pbmtopgm was in primordial Netpbm, ca
              1991.

              pnmshear: Fix arithmetic overflow with shear angle near +/- 90
              degrees.  Always broken; pnmshear was in primordial Netpbm,
              ca. 1989.

              pnmshear: Fix shearing direction for angles larger than 90
              degrees.  Always broken; pnmshear was in primordial Netpbm,
              ca. 1989.

              pamditherbw: Fix bug: issue error message instead of just
              ignoring one of the options when you specify -hilbert and
              another halftone option.

              pamdice: Fix junk output when -width or -height not specified.

              pamdice: Fix crash when -width or -height is zero.

              pamdice: Fix incorrect file names when -outstem contains "%s",
              etc.

              pgmnoise: Correct error messages for invalid height, width
              arguments.

              pnmquantall: remove accidentally published debugging trace.

              libnetpbm: pm_getline, xvminitoppm, pamtris : Fix bug: crash
              when reading empty line.

              libnetpbm: pm_read_unknown_size, rawtopgm, zeisstopnm: crash
              when out of memory

              Build: make deb: don't include empty Recommends; newer dpkg-deb
              won't accept it.

              Install: Use e.g. "10.90.00" for version in pkg-config and
              config file, instead of e.g. "Netpbm 10.90.00".

19.12.29 BJH  Release 10.89.00

              pnmpad: Add -reportonly.

              anytopnm: Fix unpredictable behavior when file name contains
              spaces.

              pamfind: Fix typo in message.

              pnmquant: Fail if user specifies both -spreadbrightness and
              -spreadluminosity or both -randomseed and -norandom, rather
              than just pick one.

              pamrubber: Fix bug: -frame doesn't work.  Always broken.
              (Pamrubber was new in Netpbm 10.54 (March 2011)).

19.09.28 BJH  Release 10.88.00

              pnmquant: Fail if user specifies more than one of -meanpixel,
              -meancolor, and -center, rather than just pick one.

              pnmremap: Don't output any part of the image if program fails
              because the maxval of input and map file do not match, in a
              case where matching maxval is required, i.e. the user specified
              -firstisdefault or -missingcolor.

              ppmhist: sort secondarily by RGB with -sort=frequency, so
              output is repeatable.

              pnmcolormap: Add -splitpix, -splitcol, -splitdim.
              Thanks Vladislav Zavjalov.

              pbmtext: fix erroneous failure message with long input text.

              jpeg2ktopam, pamtojpeg2k: fix negative array index.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              jpeg2ktopam, pamtojpeg2k: fix assertion failure.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              jpeg2ktopam: Fix memory leak after decoder failure.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              jpeg2ktopam: fix null pointer dereference.  Always broken
              (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              pnmtorle, rletopnm: fix wild pointer dereference when memory
              allocation fails.  Always broken (programs were added to
              Netpbm in Release 9.0 (April 2000).

              pamsumm: Fix bug: with -mean and a conflicting option such as
              -sum, the program ignores one of the options.  It should fail.
