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

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

not yet  BJH  Release 10.84.02

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

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

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

18.10.02 BJH  Release 10.84.01

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

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

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.

              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
              behavior when font definitions are invalid in any of various
              ways.

              libnetpbm font facility (so pbmtext): Fix incorrect font names
              in error messages.

              pnmtopsnr: Add -machine, -max .

              Netpbmlib: Add /usr/local/netpbm/lib and /etc/X11 to search
              path for rgb.txt.

              makeman: Add some text replacements to solve glitches.
              Handle &mdash, &minus.

15.12.26 BJH  Release 10.73.00

              anytopnm: use --mime-type option instead of --mime on newer
              'file' program (on which --mime has a new meaning so that
              'anytopnm' cannot recognize some file types).

              anytopnm: recognize "Netpbm PAM" non-mime output from 'file'
              program as indicating PAM.

              pnmtops: fix bug: always thinks -level=N is -level=1.
              Introduced after Netpbm 10.26 (January 2005) but before 10.35
              (August 2006).  Manifests only with recent compilers.

              pnmpaste: fix bug with PBM: incorrect output.  Introduced in
              Netpbm 10.44 (September 2008).

              Build: fix undefined reference to parse_printf_format etc.  on
              system that doesn't have that facility.  Broken in Netpbm 10.69
              (December 2014).

              Build: fix superfluous error message when USER environment
              variable contains whitespace.  Broken since primordial Netpbm.

              Windows build: fix bug: make clean doesn't clean icon/netpbm.o.
              Broken since Netpbm 10.67 (June 2014).

              Test: improved pnmpaste test.

15.09.26 BJH  Release 10.72.00

              Add pamunlookup .

              pamtopng: Implement -itxt .

              pamlookup: Add -byplane .

              pbmtoescp2: Add -stripeheight .

              phmtoescp2: Add -resolution .

              pbmtoescp2: Add -formfeed .

              pbmtoescp2: Add -raw .

              pbmtoescp2: Add -resolution=720 .

              pbmtoescp2: Pad output horizontally to a multiple of 8 columns
              and vertically to a whole stripe to prevent image loss.

              fitstopnm: Add message saying you're probably making a mistake
              if you have a 3-D image and don't specify -image.  The third
              dimension is almost always time in practice.

              fitstopnm: Fix -min and -max.  Broken in Netpbm 10.39 (June
              2007).

              pnmtopclxl: fix buffer overrun causing unpredictable behavior.
              (Introduced in Netpbm 10.54 (March 2011).

              pnmtopclxl: fix wild memory access when out of memory.  Always
              broken (Pnmtopclxl was new in Netpbm 10.6 (July 2002)).

              pnmtopclxl: fix wild memory access with pathologically large and
              uncompressible image.  Always broken (Pnmtopclxl was new in
              Netpbm 10.6 (July 2002)).

              pnmtopclxl: fix silent output corruption when a file write
              fails.  Always broken (Pnmtopclxl was new in Netpbm 10.6 (July
              2002)).

              escp2topbm: Fix -plain.  Always broken (escp2topbm was new in
              Netpbm 10.18 (September 2003)).

              pnmpad: Add -mheight, -mwidth.

              ppmtoilbm: Fix failure with -hamforce and -nocompression.
              Broken in Netpbm 9.12 (March 2001).

              makeman: fix Python syntax error.  Introduced in Netpbm 10.70
              (June 2015).

15.06.28 BJH  Release 10.71.00

              Add pamtopng.  Thanks Willem vanSchaik (willem@schaik.com).

              pnmtopng: Add -srgbintent.

              pamstereogram: Add -xbegin.  Change default to render from
              center outwards intead of from right to left, thus making the
              center of the image the crispest part.  Thanks Scott Pakin
              (scott@pakin.org).

              pamstereogram: Allow -xshift and -yshift to be negative.  Thanks
              Scott Pakin (scott@pakin.org).

              pnmpsnr: Add -rgb.

              ppmtoicr: remove -rle option.  Actually, it never worked
              because of a bug.  Now it isn't expected to.  Ppmtoicr was
              new in 1991.

              pnmtopalm: Fix arithmetic overflow with ridiculously large
              image.  Introduced after Netpbm 10.26 (January 2005) but before
              Netpbm 10.35 (August 2006).

              palmtopnm: Fix distorted output with PackBits compressed input.
              Always broken (Ability to convert PackBits input was new in
              Netpbm 10.27 (March 2005).

              pbmtoepson: fix -protocol option - never works and sometimes
              crashes program.  Always broken (-protocol was new in Netpbm
              10.23 (July 2004).

              pbmtoppa: fix buffer overruns, double-free crashes.  Always
              broken (pbmtoppa was new in Netpbm 9.1 (March 2000).

              pbmtomatrixorbital: fix bug: fails if you specify the input
              file name argument.  Always broken.  (pbmtomatrixorbital was
              new in Netpbm 10.18 (Setpember 2003).

              sbigtopgm: fix detection of camera type.  Always broken
              (sbigtopgm was new in Netpbm 8.3 (March 2000)).

              sbigtopgm: fix recognition of compressed image.  Broken in
              Netpbm 10.70 (March 2015).

              pbmtogo: Fix bug: garbage first row.  Broken at least since
              November 1989.

              pbmtogo: Fix bug: buffer overrun with certain input.  Broken
              at least since November 1989.

              pbmtoescp2: Fix bug: overrun on certain input.  Always broken
              (pbmtoescp2 was new in Netpbm 10.18 (September 2003)).

              escp2topbm: Fix buffer overrun on certain input.  Always broken
              (escp2topbm was new in Netpbm 10.18 (September 2003)).

              libnetpbm: pm_stripeq: fix bug: wild pointer access when
              comparator is shorter than comparand.  Doesn't affect function,
              but could cause crash or privacy exposure.  Affects reading of a
              PAM file by any program.  Introduced in one of Netpbm 10.27
              (March 2005) through 10.35 (August 2006).

              pnmconvol: Fix bug: wrong output for pixels that convolve to
              negative values (should be clipped to zero).  Introduced in
              Netpbm 10.68 (September 2014).

              pbmtog3: Fix buffer overrun.  Introduced in Netpbm 10.23
              (July 2004).

              cameratopam: Fix arithmetic underflow in JPEG processing;
              unknown effect.

              pbmtoxbm: Fix bug: crash with zero width input.  Broken in
              Netpbm 10.37 (December 2006).

              sbigtopgm: fix buffer overrun with invalid input image.  Always
              present (sbigtopgm was new in Netpbm 8.3 (March 2000)).

              pnmtorle: Fix buffer overrun with long file name.  Always
              present.  (pnmtorle was new to Netpbm in Netpbm 9.0 (April
              2000)).

              pbmtopk: Fix buffer overrun with long file name.  Always
              present.  (pbmtopk was new in Netpbm 1 (March 1991)).

              pktopbm: Fix buffer overrun with long file name.  Always
              present.  (pbmtopk was new in Netpbm 1 (March 1991)).

              ppmtoyuvsplit: Fix buffer overrun with long file name.  Always
              present.  (New in Netpbm 1 (March 1991)).

              pbmtopi3: Fix bug: wrong output when input is higher or wider
              than 640 pixels.  Always broken (pbmtopi3 was new in September
              1991).

              st4topgm: Fix bug: with no argument, uses file named "'" instead
              of Standard Input.  Always present (st45topgm was new in Netpbm
              10.70 (March 2015).

              pbmtomgr: Fix incorrect output when input is too large (must be
              at most 4095 pixels high or wide).  Always broken.  (pbmtomgr
              was new in 1989).

              pbmtomacp: fix wild pointer dereference with -b larger than
              image height.  Always broken.  (pbmtomacp was new in X.V11R3
              (March 1988).

              ppmtorgb3: Fix buffer overflow with long input file name.
              Always present.  (ppmtorgb3 was new in X.V11R4 (November 1989).

              ppmtoarbtxt: fix bug: wrong output when high numbers represent
              darker.  Broken in Netpbm 10.69 (November 2014).

              ppmtoarbtxt: better rounding in sample values.

              libnetpbm: Remove bitio.h as an external interface.

              test: replace some GNU-only code with more portable code that
              works on OS X.  Thanks Ryan Schmidt <ryandesign@macports.org>.

              makeman: deal properly with backlash in source.  But something
              was wrong with this change and it caused the program always to
              fail, so we reversed this change in 10.72.

              Build: don't build and install libjbig and libjasper if we
              are using external versions of them instead.

              Build: various cross-compile fixes, especially for MinGW.

              Build: work around bug in GCC < 4.2 related to SSE2 builtins
              that causes compile of pamflip to fail.

              Build: fix 'make package' where config.mk sets a subdirectory
              other than 'man' for the manual.

              Build: improve pointer man page text.

15.03.29 BJH  Release 10.70.00

              Add st4topgm, pgmtost4.

              Add pgmtosbig.  Mainly a test tool for sbigtopgm.

              Add yuy2topam.  Thanks Michael Haardt.

              tifftopnm: allow input file to be nonseekable.
              Thanks Ludolf Holzheid <ludolf.holzheid@gmx.de>.

              pnmhisteq: add -noblack and -nowhite.  Idea from Andrew Brooks
              <arb@sat.dundee.ac.uk>.

              pgmmorphconv: add -gradient.  Thanks Michael Haardt
              <michael@moria.de>.

              giftopnm: Fix bug: crashes if purported GIF has neither a global
              color map nor a local one.

              pgmmorphconv: fix bug: always produces PGM Plain format.  Always
              present (progam was added to Netpbm in Release 10.0 (June 2002)).

              pamtilt: fix bug: unconditional crash.  Broken in Netpbm 10.63
              (June 2013).

              pnmgamma -srgbtobt709, -bt709tosrgb: fix bug; incorrect output
              nearly always.  Always broken (These options were new in
              Netpbm 10.32 (February 2006)).

              pamtosvg: fix use of unset variable; probably results in a
              crash.  Always present (pamtosvg was new in Netpbm 10.33 (March
              2006)).

              cameratopam: fix bug: variable used before set; unknown impact.
              Introduced in Netpbm 10.66 (March 2014).

              On Windows, don't leave temporary files around (previous code
              did so because unlink of an open file fails in Windows; new
              code deletes temporary files via atexit).  Thanks
              Ludolf Holzheid <ludolf.holzheid@gmx.de>.

              Libnetpbm: fix external header file pm.h so it does not include
              internal header file pm_c_util.h.  Introduced in Netpbm
              10.69 (December 2014).

              build: fix incompatible type compilation error in giftopnm.
              Introduced in Netpbm 10.38 (March 2007) (but obviously manifests
              only in recent build environments).

              build: fix compile failure in wordint_access_be.h with Bigendian
              target platforms.  Introduced in Netpbm 10.63 (June 2013).

              build: fix compile failure in pbmtomacp, ppmtoacad, pgmabel:
              TRUE redefined.  Introduced in Netpbm 10.69 (December 2014).

14.12.25 BJH  Release 10.69.00

              pnmnorm: add -bsingle, -wsingle.

              ppmtoarbtxt: Do some validation of format strings.  Thanks
              Akira F Urushibata <afu@wta.att.ne.jp>.

              pamcrater: Add -verbose.

              ppmtoarbtxt: Fail if a #() escape sequence runs off end of
              file or is too long to process; before, the program would
              treat the text from # to EOF or where the buffer filled up
              as literal text, even ignoring any #() within.

              NetBSD: show actual numbers in messages instead of "f" or
              no information, by using NetBSD's vasprintf.

              Make %g in messages display the actual number instead of "g" in
              messages where platform doesn't have vasprintf.  (But scores of
              %f are still left).

              anytopnm: convert all images in a multi-image GIF instead of
              just the first.
              
              Improve "bad magic number" message from pbmXXX, and pgmXXX, and
              pnmXXX programs.

              Fix bogus message from ppmXXX programs when the input is not
              (per the magic number) a Netpbm image.  Introduced after
              Netpbm 10.26 (January 2005) but before Netpbm 10.35 (August
              2006).

              ppmtoarbtxt: Fix some undefined behavior when program limits
              are exceeded (i.e. buffer overruns).

              pambackground: fix bug: segfault or incorrect results in most
              cases.  Thanks Ludolf Holzheid (ludolf.holzheid@gmx.de).
              Introduced in Netpbm 10.37 (December 2006).

              Windows build: fix universal build failure with "No rule to make
              ...icon.netpbm.oLINKERISCOMPILER...".  Broken in Netpbm 10.67
              (June 2014).

14.09.26 BJH  Release 10.68.00

              Split pgmcrater into pamcrater and pamshadedrelief.

              pnmconvol: add -bias .

              Remove pnmcomp, install a pnmcomp symlink for pamcomp.

              Fix incorrect option parsing when there are multiple common
              options (e.g. -plain -quiet).  Always broken.  (Possibility of
              specifying multiple common options that don't cause the program
              to ignore every other option (like -version) was new in Netpbm
              10.10 (October 2002).

              cameratopam: fix buffer overflow.  Always present.  (cameratopam
              was new in Netpbm 10.28 (June 2005)).

              cameratopam: fix incorrect output introduced in Netpbm 10.51
              (June 2010).

              ppmtopict: Fix unconditional crash.  Introduced in 
              Netpbm 10.52 (September 2010).

              pcdovtoppm: Fix crash due to invalid operator == on some
              systems.  Always broken (pcdovtoppm was new sometime between
              Netpbm 9.25 (March 2002) and Netpbm 10.11 (October 2002)).

              Build: change _XOPEN_SOURCE from 600 back to 500 in 7 files.  It
              was changed from 500 to 600 in Subversion revision 1731 in
              Netpbm 10.60 (September 2012) because that made a similar
              version of Netpbm compile on Mac OSX.  Without it, strdup did
              not get defined.  But this is apparently a bug in Mac OSX, since
              X/Open 500 does have strdup.  Furthermore, many other Netpbm
              files use strdup and apparently compile OK on Mac OSX without
              600.  Finally, we see today that Illumos system header files
              deliberately kill the compilation if the compiler is pre-C99 and
              _XOPEN_SOURCE is 600.  So we go back to 500 and if the problem
              on Mac OSX gets reported again, we will look more deeply.

              Build: change _XOPEN_SOURCE from 600 back to 500 in
              jpeg2ktopam.c and pamtojpeg2k.c.  It was changed from 500 to 600
              in Netpbm 10.41 (December 2007), reportedly to get int_fast32_t,
              etc. defined on AIX, but other files that use int_fast32_t
              don't have it today, so that must be wrong.  See above for the
              drawback of 600.

              Build: fix undefined symbols in fiasco converters with
              static libraries.

              Build: provide means of setting the default search path for
              rgb.txt color database via config.mk.

              Build: fix bug which prevents JBIG converters from building with
              internal JBIG library.  Introduced in 10.67.00.

              Build: fix bug which makes build of Ppmsvga fail (which is
              attempted only on a system with libvga).  Introduced in Netpbm
              10.63 (June 2013)

              Build: fix build failure in an environment that does not have
              __inline .  Introduced some time between Netpbm 10.26
              (January 2005) and Netpbm 10.35 (August 2006).

              Build: fix build failure on SCO OpenServer due to SIGURG not
              existing.  Broken in Netpbm 10.49 (December 2009).

              Build: Declare _XOPEN_SOURCE >= 500 in source files that use
              strdup.

              Build: fix compile failure due to use of reserved word
              'stdout'.

              Build with 'installosf': Fix crash due to invalid operator ==
              on some systems.

14.06.29 BJH  Release 10.67.00

              sgitopnm: add ability to convert 2-channel SGI image.
              Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              sgitopnm: add ability to work with non-seekable input (e.g. a
              pipe).  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              pamtotiff: add -output, use Standard Output normally (before, it
              had to be seekable.  Also, you could do an append operation to
              Standard Output; now you have to use -output for that).  Thanks
              Akira F Urushibata <afu@wta.att.ne.jp>.

              pamsharpness: put primary output on Standard Output instead of
              on Standard Error as a Netpbm message.

              pamflip: fix bug when built with WANT_SSE=n: column-for-row
              transformations of PBM produce garbage output.  Introduced in
              10.65 (December 2013).

              sgitopnm: fix bug: no output if input is RLE compressed.  Broken
              in Netpbm 10.53 (December 2010).  Thanks Akira F Urushibata
              <afu@wta.att.ne.jp>.

              jpegtopnm -dumpexif: fix incorrect display of resolution.
              Always broken.  (-dumpexif was new in Netpbm 9.18 September
              2001).

              jpegtopnm -dumpexif: fix truncated make, model, or datetime.
              Always broken.  (-dumpexif was new in Netpbm 9.18 September
              2001).

              jpegtopnm -dumpexif: fix wild pointer with invalid EXIF data.
              Always broken.  (-dumpexif was new in Netpbm 9.18 September
              2001).

              Windows build: include an icon in every executable.  The icon
              was designed by Ron Vantreese (ait_frog-netpbm@yahoo.com).

              Build: fix bug in which null value is not taken to mean
              "in the system search path" for JBIGHDR_DIR and JASPERHDR_DIR.

              Build: Fix inconsistent use of upper and lower case Y and N in 
              make variables, causing static library not to get built.
              Introduced in 10.66.

              Build: fix dependencies in .deb package so they work with
              Debian 6 at least.  Always broken (.deb capability was new in
              10.66).

14.03.30 BJH  Release 10.66.00

              Add pamvalidate.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              Add pamfix: Does what pamfixtrunc did, plus repairs excessive
              sample values.

              pamfixtrunc: implement as call to new pamfix.

              pgmhist, ppmhist: Add -forensic: Analyze invalid >maxval pixels.
              Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              pgmramp: add -diagonal.  Thanks Akira F Urushibata
              <afu@wta.att.ne.jp>.

              libnetpbm: Read functions validate that sample values do not
              exceed maxval.  Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              libnetpbm: Validate image dimensions are small enough that you
              can allocate a row buffer.  Thanks Akira F Urushibata
              <afu@wta.att.ne.jp>.

              pgmhist: fix incorrect report of quantiles or crash due to array
              bounds violation in some builds.  Thanks Akira F Urushibata
              <afu@wta.att.ne.jp>.  Always broken.  Quantile reporting was
              new in Netpbm 10.61 (December 2012).

              pgmhist: fix buffer overrun with -median.  Always broken.
              -median was new in Netpbm 10.61 (December 2012).

              pnmmargin: fix for size 0 and superfluous "unexpected operator" 
              message with size != 0.  Introduced in 10.42.

              pstopnm: fix wrong interpretations of -xsize and -ysize when
              rendering image in landscape (rotated).  This can appear as
              stretching and squashing.  Probably always broken.

              pstopnm: fix wrong orientation sometimes when you specify
              both -xsize and -ysize.  Introduced in 10.65.

              pgmramp: fix bogus output with really large images.  Thanks
              Akira F Urushibata <afu@wta.att.ne.jp>.  Always broken.

              ppmrelief: fix out-of-bound values in output.  Always broken.
              ppmrelief was new in primordial Netpbm in 1989.
              Thanks Akira F Urushibata <afu@wta.att.ne.jp>.

              ppmrelief: fix crash when input image is too small.  Always
              broken.  ppmrelief was new in primordial Netpbm in 1989.  Thanks
              Akira F Urushibata <afu@wta.att.ne.jp>.

              pgmtexture: fix buffer overflow.  Always broken.  (Program
              was added in primordial Netpbm in 1991).

              pamdeinterlace: fix incorrect output with -takeodd and image has
              only one row.  Always broken (pamdeinterlace was introduced in
              Netpbm 9.21 (January 2001)).  Thanks Akira F Urushibata
              <afu@wta.att.ne.jp>.

