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

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

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 pnmaddnoies 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.
              Always broken (pamsumm was new in Netpbm 10.21 (March 2004).

              Build: fix for Cygwin, "no rule to make pm_config.h".

19.06.28 BJH  Release 10.87.00

              pamfind: Add -machine .

              Multiple: fix bug: when you specify the same option twice, you
              can get a syntax error, with the message telling you you
              specified some other option that conflicts with it.  Should just
              take the last setting.

              pnmtopng: Fix bug: Defaults to no filters.  Should be all
              filters.  Effect is larger PNG output.  Broken after Netpbm
              10.26 (January 2005) but no later than Netpbm 10.35 (August
              2006).

              pnmtopng: Fix bug: Doesn't allow multiple filter options.
              Broken after Netpbm 10.26 (January 2005) but no later than
              Netpbm 10.35 (August 2006).

              pnmcrop: Don't allow -borderfile with -reportXXX.  It doesn't
              work.

              pnmcrop: fix bug: -bgcolor doesn't work.  Always present
              (-bgcolor was introduced in Netpbm 10.86 (March 2019)).

              pbmtext: fix bug: don't ignore -builtin when specified with
              -font.  Fail with syntax error instead.

              pbmtozinc: fix wrong output on big-endian machines.  Broken in
              Netpbm 10.71 (June 2015).

              pbmpage: Fix error message for invalid syntax.

              pamtris: Fix bug: debug trace left in

19.03.30 BJH  Release 10.86.00

              Add pamfind.

              Add pambrighten.

              Add pamhue.

              pnmcrop: Add -bg-color, bg-corner, -reportfull, -reportsize,
              -blank-image .

              pamtopng: Add -interlace .

              pamenlarge: Add -scale, -xscale, -yscale .

              pamenlarge: Much faster for PBM with xscale factor above 10;
              slightly faster for xscale factor 2-10.

              pamfile: Add -machine and -size .

              pamscale: Add -reportonly

              pamstretch-gen: Add -quiet, -plain.

              pamstretch-gen: Use -dropedge on the 'pamstretch' piece for
              better looking output.

              pamstretch: Accept scale factor of 1 as a parameter (already
              was accepted with -xscale and -yscale options).

              pamstretch: Don't mess with edge when scale factor is 1,
              regardless of -dropedge and -blackedge.

              ppmwheel: Add -huevalue, -huesaturation, -maxval .

              various: Fix unnormalizing code so a value exactly between two
              sample values rounds consistently up.  Affects many programs.

              pstopnm: Fix bug: -textalphabits has no effect.  Always broken.
              (-textalphabits was new in Netpbm 10.53 (December 2010)).

              pamtopng: Fix sBit chunk, bit shift value for 1-, 2-, and 4-bit-
              per-sample images.  Always broken (Pamtopng was new in Netpbm
              10.71 (June 2015)).

              pamtopng: Fix buffer overrun.  Always broken (Pamtopng was new
              in Netpbm 10.71 (June 2015)).

              pnmtopng: fix bug: -interlace ignored.  Broken in 10.55
              (June 2011).

              pamstretch: Reject very large scale factors instead of producing
              incorrect output.

              ppmbrighten: Fix crash with -normalize when there is only one
              intensity in the image.  Always broken - Ppmbrighten was new in
              the first Netpbm release in 1991.

              ppmdraw: Fix bug: 'setlinetype nodiag' says invalid type.
              Always broken.  (Ppmdraw was new in Netpbm 10.29 (August 2005)).

              Build: split link/ directory in package tree into staticlink/
              and sharedlink/ .  Make 'installnetpbm' do separate prompts to
              install static libraries and shared library stubs.  Make
              'installnetpbm' install clean symlink in the usual case that the
              shared library stub and shared library are in the same
              directory.

              Build: update 'mkdeb' so it works on Debian 9 (in addition to
              Debian 8).  Thanks Neil R Ormos <ormos@ormos.org>.

18.12.29 BJH  Release 10.85.00

              pnmpaste: Add -nand, -nor, and -nxor.

              pamcut: add -cropleft, -cropright, -croptop, -cropbottom.

              ppmtobmp: respect -bpp with PBM input.

              bmptopnm: allow single color colormap with bpp 1.

              bmptopnm: validate plane count = 1.

              bmptopnm: Add RLE4 compression decoding.  This was ostensibly
              added in Netpbm 10.32 (February 2006), but never worked.
              
              Add pammixmulti.  Thanks Scott Pakin (scott+pbm@pakin.org).

              pamtotga: Add -cmap16 .
    
              pamtris: Add -rgb, -grayscale.  Add w parameter to vertex
              instructions.  Fix perspective correctness.  Thanks Lucas Brunno
              Luna <lucaslunar32@hotmail.com>.

              picttoppm: accept rectangle specifications in input that have
              the corners in any order, not just upper left, then lower right.

              pamtotga: identify compressed colormapped format in error
              message saying the program doesn't know how to interpret it.

              pamtotga: Ignore extra planes in black and white or grayscale
              input instead of generating junk output.

              Merge build: make old names for JPEG, TIFF, and PNG converter
              programs work (function previously omitted by design because it
              was too hard).

              bmptopnm: Fix wrong output for non-colormapped OS2 BMP.  Broken
              in Netpbm 10.18 (September 2003).

              bmptopnm: Fix array bounds violation when index value in raster
              is too big.  Broken after Netpbm 10.11 (October 2002) but before
              10.19 (November 2003).

              libnetpbm: Fix invalid memory reference in color name processing
              when trivial memory allocation fails.

              pamtojpeg2k: fix incorrect interpretation of -ilyrrates option
              when it contains multiple delimiter characters in a row.  Always
              broken (pamtojpeg2k was new in Netpbm 10.12 (November 2002)).

              pnmtojbig: fix incorrect handling of -x option.  Always broken
              (pnmtojbig was new in Netpbm 9.2 (May 2000)).

              pjtoppm, pbmtoppa: fix arithmetic overflow.

              Build: fix parallel make.

              Build: fix reference to nonexistent getline on Mac OS X 10.6.

              Build: fix reference to nonexistent strndup on Mac OS X 10.6.

              Merge build: fix duplicate symbol 'prefabCode' in g3topbm,
              pbmtog3.  Introduced in Netpbm 10.79 (June 2017).

18.09.29 BJH  Release 10.84.00

              Add pamaltsat.  Thanks Anton Shepelev <anton.txt@gmail.com>.

              Add pamtris.  Thanks Lucas Brunno Luna
              <lucaslunar32@hotmail.com>.

              libpbmfont, pbmtext: fix bugs with BDF file lines with
              insufficient number of fields.  Unknown effect.

              pbmtext: -wchar works with built-in fonts.

              pbmtext: improved -verbose information about BDF fonts:
              include CHARSET_REGISTRY, CHARSET_ENCODING.

              libnetpbm font facilities: built-in fonts work with wide
              characters.

              pbmtext; libnetpbm BDF font processing: fix invalid memory
              reference when BDF font file has invalid syntax.  Broken
              in primordial Netpbm, ca 1993.

              pamgetcolor: fix bug: gets color of only the top half of a
              region.

              pnmfiasco, fiascotopnm: Fix trivial memory leak.  Always broken
              (programs were new in Netpbm 9.6, July 2000).

18.06.30 BJH  Release 10.83.00

              Add pamlevels.  Thanks Anton Shepelev <anton.txt@gmail.com>.

              Add pamgetcolor.  Thanks Anton Shepelev <anton.txt@gmail.com>.

              Add rgb-<maxval>:r/g/b color specification format.

              pngtopam: Fix bogus warning of non-square pixels when image does
              not contain pixel resolution information.  Introduced in Netpbm
              10.48 (September 2009).

              pstopnm: Fix divide-by-zero crash when Postscript input says
              the image has zero size.

              pstopnm: Fix divide-by-zero crash when computed resolution
              rounds down to zero dots per inch.

              pbmmask: Fix invalid memory reference with zero-dimension
              input image.  Broken in primordial Netpbm, ca 1989.

              pamtojpeg2k: Fix incorrect metadata in output with GRAYSCALE PAM
              input.  Always broken (pamtojpeg2k was new in Netpbm 10.12
              (November 2002)).

              libnetpbm: Add pnm_colorspec_rgb_integer,
              pnm_colorspec_rgb_norm, pnm_colorspec_rgb_x11,
              pnm_colorspec_dict, pnm_colorspec_dict_close.

              libnetpbm: Add pnm_parsecolor2.

              libnetpbm: Add pnm_allocpamtuplen, pnm_freepamtuplen.
              
              libnetpbm: Make the normalized tuple functions respect the
              allocation depth specified in struct pam (member
              'allocation_depth') instead of using the actual tuple depth
              (member 'depth').

              ilbmtoppm: Fix bug: may fail with bogus error message about an
              invalid CLUT chunk if image has a CLUT chunk.  Introduced after
              Netpbm 10.26 (January 2005) and at or before Netpbm 10.35
              (August 2006).

18.03.25 BJH  Release 10.82.00

              pbmtext: Add -wchar.

              pbmtext: Add -text-dump option.

              ppmhist: Add color summary to top of output, (except with
              -noheader).

              pnmremap: Add -randomseed.

              pnmquant: Add -norandom, -randomseed.

              pamtogif: Add -noclear option.

              giftopnm: Check "data width" value from GIF image properly:
              can't be bigger than 11, because the minimum code size is one
              more than the data width and the maximum code size is 12.  (Note
              that GIF spec prohibits anything more than 8).

              pnmpsnr: Add -targetX options.

              ppmrainbow: Add "ppmrainbow: " to error messages, like other
              programs.

              ppmrainbow: improve error message.

              g3topbm: Fix bug - produces invalid empty PBM image if input
              image is empty.

              ppmpat: Fix bug - crash or junk output with -camo or -anticamo
              and no -color.  Introduced in Netpbm 10.78 (March 2017).

              mrftopbm: Fix bug - wrong error messages or output when input
              invalidly short.  Always broken (mrftopbm was new in Netpbm
              10.18 (September 2003).

              Build: fix compile failure on systems without strnlen (such
              as MacOS X before 10.7).  Broken in 10.81 (December 2017).

17.12.30 BJH  Release 10.81.00

              sldtoppm: -lib and -dir don't work - always says slide not
              found.  Broken in Netpbm 10.63 (June 2013).

              sldtoppm: fix bug: says AutoCAD slide file isn't an AutoCAD
              slide file.  Broken after Netpbm 10.26 (January 2005), but no
              later than 10.35 (August 2006).

              sldtoppm: fix bug: wild memory accesses, weird messages when
              invalid input file has unterminated strings.
              
17.09.30 BJH  Release 10.80.00

              pnmtopalm: Refuse to create a compressed image with more than 8
              bits per pixel.

              pbmtext, libnetpbm font facilities: allow glyphs in font files
              that have no bitmap data; just used for their advance value to
              code a space.

              pbmtext: Improve error message when there is a problem reading
              the font file.

              libnetpbm font facilities: consider font invalid if a glyph is
              more than 65536 pixels high or wide.

              ppmshadow: handle images with a black background and low
              contrast images (i.e. little difference between foreground and
              background).

              ppmbrighten: fix bug: red pixels change hue.  Introduced in
              after Netpbm 10.11 (October 2002) and before Netpbm 10.18
              (September 2003).

              palmtopnm: fix crash if invalid input contains color index that
              is not in the palette.  Always broken (palmtopnm was new in
              Netpbm 9.10 (October 2001)).

              pnmtopalm: fix incorrect output with certain input files and
              -packbits_compression.  Always broken.  -packbits_compression
              was new in Netpbm 10.27 (March 2005).

              pnmtopalm: Correct error message recommending running
              pnmquant when the real solution is to run pnmremap to modify the
              image to Palm standard colors.

              pnmtopalm: Fix bug causing "color not in colormap" failure with
              -colormap and maxval other than 255.

              libnetpbm: font facilities: fix invalid memory reference with
              certain font files.

              libnetpbm: ppm_readcolordict: Improve error message when there is
              a problem reading the color dictionary.  Affects ppmhist.

              pgmmake: Fix bug: treats non-numeric gray-level argument as zero.
              Always broken (Pgmmake was new in Netpbm 10.32, February 2006).

              pdbimgtopam, pamtopdbimg: fix various cases of incorrect output,
              some always present (programs were new in Netpbm 10.52.00
              (October 2010)).

              libnetpbm: pnm_parsecolorn(), pnm_parsecolor(): fix parsing of
              rgb: color specifications: yields value slightly too dim.
              Affects many programs.  Broken in Netpbm 10.79 (June 2017).

              Makeman: make it work with Python 3.6 II.

17.06.30 BJH  Release 10.79.00

              Add pamtable .

              pamgauss: Add -maximize, -oversample .  Thanks Anton Shepelev
              <anton.txt@gmail.com>

              pnmconvol: Extend -normalize to be applicable to convolution
              kernels specified by PGM file.  Thanks Anton Shepelev
              <anton.txt@gmail.com>

              g3topbm: tolerate fill bits.

              pbmtog3: Add -align8, -align16.

              ppmshadow: Improve results for very small maxval.

              ppmshadow: eliminate extraneous messages from pnmconvol.

              libnetpbm: Add pnm_parsecolorn().

              libnetpbm: Improve error message for purported image that is
              exactly 1 byte long (so ends in the middle of what would be the
              magic number).

              pbmtox10bm: Get the Perl interpreter for this Perl program from
              the PATH instead of hardcoded as /usr/bin/perl (like all other
              Netpbm Perl programs).

              ppmcolormask: fix incorrect output when input maxval is not 255.
              Always broken (ppmcolormask was new in Netpbm 9.0, April 2000).

              bmptopnm: fix crash when input is a Windows BMP with negative
              number for width.  Always broken.  (bmptopnm was new, as
              bmptoppm, in original Netpbm, 1992).

              pamcomp: fix incorrect output with -mixtransparency.
              Always broken.  (-mixtransparency was new in Netpbm 10.56,
              September 2011).

              pamcomp: remove debug trace message with -mixtransparency.
              Always broken.  (-mixtransparency was new in Netpbm 10.56,
              September 2011).

              pnmtojpeg: fix array bounds violation in argument list.  Always
              broken (pnmtojpeg was new to Netpbm in Netpbm 8.2 (March 2000).

              pamcrater: fix incorrect output with non-square image.
              Introduced in Netpbm 10.69 (December 2014).

              svgtopam: fix treating negative width or height values in SVG
              like twos complement positive numbers; fail instead.  Always
              broken (svgtopam was new in Netpbm 10.33 (March 2006)).

              svgtopam: fix error messages when input has splines or negative
              positions.  Always broken (svgtopam was new in Netpbm 10.33
              (March 2006)).

              libnetpbm: fix bug: pm_system_XXX closes Standard Input if you
              supply a Standard Output accepter but not a Standard Input
              feeder.  Broken since Netpbm 10.40 (September 2007).

              Windows: fix bug: pm_system_lp() and pm_system_vp() fail
              silently instead of with a clear error message in an environment
              that does not provide Unix process management.  Always broken.
              (pm_system_lp and pm_system_vp were new in Netpbm 10.40
              (September 2007), but wouldn't even compile until Netpbm 10.42
              (March 2008)).

              installnetpbm: Accept globs for directory name responses
              (notably, ~/DIR).

              makeman: Make it work with Python 3.6.

              Build: don't try to build standardppmdfont.c if it already
              exists (so don't require ppmdcfont to exist).  Broken around
              Netpbm 10.35 (2006).

              Build: Define _XOPEN_SOURCE=500 in source files that use M_PI.
              While C libraries in the past have always provided this with
              just _XOPEN_SOURCE=null, it appears that M_PI is actually
              defined by Single Unix Specification 2, aka UNIX98, for which
              you need _XOPEN_SOURCE=500, and Cygwin has changed to enforce
              this.

              Build: document MinGW _XOPEN_SOURCE incompatibility and add
              warning to Configure.

              Debian packaging: fix bug: don't try to include Manweb files, as
              it is no longer packaged by 'make package'.

17.03.28 BJH  Release 10.78.00

              ppmpat: Add -color.

              ppmpat: Add -argyle1, -argyle2.

              pnmtotiff: Fail with -miniswhite or -minisblack on color image
              rather than produce an invalid TIFF.

              tifftopnmcmyk: Default rows per strip to the TIFF library
              default instead of whatever yields 8K strips.

              --version global option: with SOURCE_DATE_EPOCH environment
              variable, display source code datetime instead of build
              datetime.  And when displaying build datetime, do it in the
              local time of the process running the command instead of the
              process that did the build.

              tifftonm: Fix incorrect PBM output with two-color paletted TIFF
              image.  Broken in primordial Netpbm, ca 1990.

              tifftopnm: Fix memory corruption when image is more pixels than
              can be represented as a C unsigned integer.  Broken in Netpbm
              10.11 (October 2002).

              tifftopnmcmyk: Fix bug: fails with very wide images and no
              -rowsperstrip.  Always broken.  (Tifftopnmcmyk was new in Netpbm
              8.2 (March 2000).

              svgtopam: Fix crash when out of memory.  Always broken (svgtopam
              was new in Netpbm 10.33 (March 2006)).

              pnmcrop: Add -closeness

              libnetpbm: Add ppmd_pathbuilder_* functions.

              libnetpbm: ppmd_fill_path: remove debug trace.  Always broken
              (ppmd_fill_path was new in Netpbm 10.34 (June 2006).

              Build: don't create pointer man pages anymore.  These were
              classic man pages, created by 'make package', one for each
              program, that just told the user to get the manual from the web
              and that other options for manuals are available at install
              time.  Getting documentation online is commonplace enough now
              that the user doesn't need to be told to do it or that there are
              other options.  The existence of pointer man pages was,
              meanwhile, misleading, since it looked from the outside like
              they actually contained documentation.

              Build: Don't package or install Manweb setup (for accessing
              manuals on the web with Manweb).  Probably 100% unused and
              distracting.

              Debian package: change dependencies to be compatible with
              Debian 8.

16.12.25 BJH  Release 10.77.00

              pnmpad: Fix bug: incorrect output width.  Introduced in
              Netpbm 10.72 (July 2015).

              Makeman: Slight improvement to formatting of man pages.
              Thanks Werner LEMBERG <wl@gnu.org>.

              Test: Skip tests of some parts that are configured out of the
              build.

16.09.27 BJH  Release 10.76.00

              pnmquantall: Fix failure when temporary file location is not the
              same filesystem as the output file.  Always broken (pnmremap was
              new in Netpbm 10.58 (March 2012)).

              pnmquantall: Fix incorrect handling of when the Pnmremap or
              the final rename fails.  Always broken (pnmremap was new
              in Netpbm 10.58 (March 2012)).

              giftopnm: Fix bug: crash on little-endian computers that can't
              toleration unaligned memory access.  Thanks Ignatios Souvatzis
              (is@netbsd.org).  Broken in Netpbm 10.47 (June 2009).

              cmuwmtopbm: Fix trivial memory leak.  Always broken (cmuwmtopbm
              was in primordial Pbmplus, in 1988).

              Build: Add PKG_CONFIG make variable.

              Build: tifftopnm.c: Fix undefined WIFSIGNALED, etc.

16.06.26 BJH  Release 10.75.00

              pbmtextps: Add -leftmargin, -rightmargin, -topmargin,
              -bottommargin, -ascent, -descent, -pad, -crop.

              pbmtextps: Add -dump-ps.

              pbmtextps: Abort with error instead of generating single space
              when user supplies no text.

              pbmtextps: Accept fractional -fontsize.
              
              pbmtextps: Change margins for non-default fonts.

              pbmtextps: Minor output changes caused by code cleanup.

              bmptopnm: Add ability to convert Version 4 and 5 Windows BMP.

              pbmtext: Remove undocumented -dump option; add 'genfontc'
              development tool (buildtools/ directory) to replace it.

              pbmtext: Add -dry-run

              pbmtext: Add -dump-sheet

              pbmtext: Speedup: renders directly in raw PBM.

              pbmreduce: Add -randomseed.

              anytopnm, pnmmargin, pnmquant, ppmquant, pnmquantall, pgmcrater,
              ppmfade, ppmrainbow, ppmshadow, pbmtox10bm, pamstretch-gen:
              Add -version.

              fiascotopnm: Change -version to include Netpbm version.

              libnetpbm: Add pm_system2(), pm_system2_lp(), pm_system2_vp() -
              same as pm_system(), etc. but returns the termination status.

              pamarith: Fix incorrect output when maxvals differ, for
              -add, -multiply, -mean, -min, -max.  Broken in Netpbm 10.41
              (December 2007).

              pbmtextps: Fix bug: input text or font name with Postscript
              control characters messes up the Postscript program.  Always
              broken (pbmtextps was new in Netpbm 10.0 (June 2002).

              hpcdtoppm dummy version: Update web link to real version.

              ppmhist: Fix incorrect color names.  Introduced in
              Netpbm 10.19 (November 2003).

              ppmshadow: Fix bug: don't ignore invalid option.  Introduced in
              Netpbm 10.9 (September 2002).

              pnmpaste: Fix possible invalid memory access.  Introduced in
              Netpbm 1.44 (September 2008).

              pbmreduce: Fix undefined behavior when scale factor argument is
              too big.  Always present (pbmreduce was new in September 1989).

              pbmtext: Fix bug: invalid memory reference when text contains
              code points > 127.  Broken in 10.74 (March 2016).

              pnmtofiasco, fiascotopnm: Fix incorrect math on systems with
              unusual floating point representation.  Always broken (programs
              were new in Netpbm 9.6 (July 2000).

              cameratopam: Fix invalid memory reference; effect unknown.
              Introduced in Netpbm 10.68 (September 2014).

              Install on Windows: Fix backward compatibility symlinks for
              pnmtoplainpnm, pnmquantall.

              Build: Remove use of strndup so it compiles on Mac OS X 10.6.
              Broken in 10.74.

              Build: Remove use of isfinite so it compiles with C89 standard
              compiler.

16.03.27 BJH  Release 10.74.00

              pbmtext: Produce same image when you run pbmtext with -width
              explicitly set to the width you get when you don't specify
              width.

              pbmtext: Ignore -nomargins when -width is specified.

              pbmtext: Report when line ends are dropped because of
              truncation.

              pbmtext: Fix bug: if input has a code point that is not in the
              font, Pbmtext substitutes space, but behavior is undefined if
              font doesn't have space either.  Now it aborts the program in
              that case.

              pbmtext: Fix bug: Respect -width when specified.

              pbmtext: Fix bug: Deal correctly with negative -space.

              pbmtext: Fix bug: Consider all characters in line, not just
              first and last, in determining line width.

              libnetbpm font facility (so pbmtext): Fix bug: undefined
