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

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

12.03.29 BJH  Release 10.58.00

              Add ppmtospu, 22 years late.

              pngtopam: fix incorrect output when PNG has 16 bits per pixel.
              Broken in 10.56.

              pgmtexture: fix integer overflow in difference variance.
              Always broken.

              pgmtexture: fix array bounds violations in various calculations.
              Always broken.

              xpmtoppm: Make it work on XPM with zero characters per pixel.

              pm_make_tmpfile_fd: fix improper handling when unable to get
              memory to construct file name.

              ppmquantall: replace with pnmquantall and change from Bash
              to Perl.

              Windows/Mingw: fix bug: temporary file creation fails
              consistently.  Broken in 10.34.

              Windows/Mingw: set binary mode on files.

              Windows: compute program name correctly.

              configure: work around Perl bug that causes 'configure' to
              falsely conclude Svgalib is installed.

              Build: fix bug finding X libraries for merge buildl

              Build: redo conditional compilation of Windows to use
              MSVCRT, based on _WIN32, instead of WIN32.

              Build, Windows: various fixes.

              Build: use Pkgconfig to find libxml2 if it works (fall back
              to xml2-config).

11.12.30 BJH  Release 10.57.00

              pnmnorm: add -midvalue, -middle .

              pngtopam: fix crash with invalid tIME chunk.  Always broken.

              pamarith: fix wrong result with -multiply.  Broken in 10.41.

              pamscale: fix all black output with resampling.  Always broken.

              Build: don't use <alloca.h>.

11.09.28 BJH  Release 10.56.00

              Add pamexec.  Thanks Michael Pot <fmw@actrix.co.nz>.

              pbmclean: add -extended.  Idea from kugland@gmail.com.

              rasttopnm: add -index.

              pamcomp: Retain opacity information from underlying image.

              pnmtops: Add PBM fast path.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              libnetpbm and most programs that use color maps: speedup with
              new color hash function.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pnmquant: use File::Temp::tempfile() instead of local
              approximation if it is available.

              pnmquant: work with older Perl that doesn't have 3-argument open.
              Thanks Slaven Rezic <srezic@iconmobile.com>.

              pamscale: Issue error message instead of ignoring extraneous
              arguments.

              libnetpbm, many programs: fix bug in pm_allocarray(): returns
              NULL when can't get memory.  Calling programs thus crash on
              very large images.  Introduced in 10.51.
              
              pnmtopng: fix bug: with -alpha specifying a mask which contains
              no fully transparent area, output PNG is fully opaque.
              Introduced in 10.29.

              pnmtops: fix message: says "from top edge" where it means
              "from bottom edge."

              ppmcie: fix bug: fails with "X coordinate out of range" error.
              Introduced in 10.51.

              bmptopnm: Fail properly with BMP that indicates an illegal bits
              per pixel.

              Build: To find libpng, use the Pkgconfig database entry instead
              of libpng-config if it is available.

              Build: pnmtops: Instead of omitting pnmtops from the build when
              there is no libz, just omit ability to create flate-compressed
              output from pnmtops.

11.06.29 BJH  Release 10.55.00

              Add pamtosrf, srftopam.  Thanks Mike Frysinger
              (vapier@gentoo.org).

              pgmtexture: fix wrong sum variance result.  Wrong since the
              beginning.  Thanks Francois P. S. Luus <fpsluus@gmail.com>.

              pamrubber: fix crash.  Introduced in 10.54.

              libnetpbm: pm_system(): fix bug - program always takes
              Standard Input from invoker's Standard Input when you don't
              supply a Standard Output accepter.  Introduced in 10.40.

              ppmtobmp: fix bug: crash ("internal error") or bogus failure or
              incorrect output on image without palette (e.g. black and
              white).  Introduced in 10.54.

              pnmtops: fix floating point exception or bogus width/height
              too large error.  Introduced in 10.53.

              pnmcat: Fix garbage output when multiple input image are from
              Standard Input (now it just fails gracefully).

              Build: Use 'pkg-config' to find X libraries if possible (This
              works with modern Xorg installations).

              Build: pnmtopng, pamrgbatopng compile with newer libpng,
              as they no longer refer to private members of the pnginfo
              structure.

              Build: fix undefined "strsol" and "vsnprintfN" failure on
              systems without vasprintf().  Introduced in 10.53.

              Build: fix compiler warning in pbmtocmuwm.

              configure: fix selection of mingw compiler.  Introduced in
              10.48.

11.03.30 BJH  Release 10.54.00

              Add pamrubber.  Thanks Willem van Schaik <willem@schaik.com>.

              Add ppmtoapplevol.  Thanks Matthew Garrett
              <mjg59@srcf.ucam.org>.

              Add pamwipeout.  Thanks Willem van Schaik <willem@schaik.com>.

              pngtopam: add -byrow.

              pnmtopclxl: add -embedded.

              pgmtoascii: Truncates instead of undefined behavior if input
              image is wider than specified width.

              Add libpamd (PAM version of classic libppmd drawing routines).

              Rename pbmtoicon to pbmtosunicon, to go with change
              of icontopbm to sunicontopnm in 10.53.

              g3topbm: correct error message: codes go up to 13 bits.

              pamstereogram: fix crash when not doing texture.

              pgmtoascii: Fix numerous output bugs.

              pngtopam: fix bug: -verbose reports history chunk present when
              it's really a palette.

              pnmpsnr: fix bug: says PGM images differ when they don't
              and vice versa.

10.12.30 BJH  Release 10.53.00

              Add pammosaicknit.  Thanks Scott Pakin.

              pstopnm: Add -textalphabits, default Ghostscript TextAlphaBits
              to 4.

              pngtopam: include tuple type in output.  Thanks
              Thomas Henlich <thenlich@users.sourceforge.net>.

              sunicontopnm: Understands Depth=8.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              sunicontopnm: Validate header.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              bmptopnm: Don't crash on invalid zero value of image height in
              the BMP header of a compressed file.  Always broken.
              
              bmptopnm: don't crash on large invalid value of 'colorsused' in
              the BMP header.  Introduced in 9.11.

              pm_mallocarray2: fix wild pointers when image is too big to fit
              in a single chunk of malloc memory.  Affects many Netpbm
              programs.  Introduced in 10.51.00.

              ilbmtoppm: Don't crash on image that has a transparent color
              index, but no color map.

              sunicontopnm: fix for 32 bit items in input.  Thanks Prophet of
              the Way <afu@wta.att.ne.jp>.

              sunicontopnm: fix arithmetic overflows.  Thanks Prophet of the
              Way <afu@wta.att.ne.jp>.

              icontopbm: rename to sunicontopnm.

              pamstereogram: Add mapped texture stereogram option.
              Thanks Scott Pakin.

              pamstereogram: slight change to dpi and eye separation defaults.
              invert near/far dark/light association.  Thanks Scott Pakin.

              pnmtops: Fix incorrect output with -flate.  Thanks Prophet of
              the Way <afu@wta.att.ne.jp>.

              sgitopnm: Fix arithmetic overflow on -channel option.  Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              sgitopnm: Fix crash with -channel on verbatim SGI image.  Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              fitstopnm: Deal properly with NaN in input image.

              pm_floatFromBigendFloat, pm_doubleFromBigendFloat, fitstopnm:
              fix corrupted output.  Broken in 10.46.

              pamtopdbimg: fix corrupted output image.  Thanks Scott Pakin.

              pdbimgtopam: fix corrupted output image.  Thanks Scott Pakin.

              pnmtops: fix arithmetic overflows.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              Rename all external symbols that don't have a Netpbm prefix
              to start with "pm_": shhopt, nstring, nsleep.  Eliminate
              createBlackTuple -- pnmCreateBlackTuple already existed.

              libnetpbm: Change shared library major number to 11 because
              of above renaming.

              build: include -lm in build of pamtopdbimg, pdbimgtopam.

              configure: Make warnings stand out more.

              configure: Fix crash when libpng test compile fails.

10.09.26 BJH  Release 10.52.00

              Add pamtopdbimg, pdbimgtopam.

              Add pamrecolor.  Thanks Scott Pakin.

              anytopnm: Use 'pngtopam' shell command instead of 'pngtopnm'.

              pnmtopng:  -libversion doesn't report level of linked libz.
              It was a modularity violation and caused build failures on
              Mac OS X, because pnmtopng per se doesn't know about libz --
              it's used by libpng.

              libnetpbm: add pm_readbiglong2, pm_readbiglong2u,
              pm_readlittlelong2, pm_readlittlelong2u: These use the proper
              32 bit integer types instead of "long".  (But the old ones
              still work in legacy code because long is always at least 32
              bits).

              pnmconvol: fix reversed sense of -nooffset.  Introduced in
              10.49.

              ppmtompeg: fix crash with free of unallocated memory.
              Broken after 10.18, not later than 10.26.

              Build: fix parallel make - multiple simultaneous attempts to
              build lib/util/importinc.

              Build: don't fail due to SIGRTMIN, SIGRTMAX being undefined.

              Build: don't expect snprintf() to exist.

              Build: don't use <strings.h> or bzero().

              Build: fix PNGVER.  Thanks Matthew Fischer
              <futhark@users.sourceforge.net>.

10.06.27 BJH  Release 10.51.00

              Add ppmtoascii.  Thanks "Frank Ch. Eigler" <fche@elastic.org>.

              pnmtops: Add -bitsperpixel option.

              pamx: Make exit status 0 instead of 10 when window manager
              requests termination.

              pnmsmooth: Respect -plain.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pnmsmooth: Don't display pnmconvol messages (i.e. run
              pnmconvol with -quiet).

              pamflip: speedup for PBM.  Use SSE2 and skip some idempotent
              pixel movement.  Thanks Prophet of the Way <afu@wta.att.ne.jp>.

              anytopnm: recognize "PC bitmap" in 'file' response as BMP.
              (in addition to existing "PC bitmap data").

              libnetpbm, various PBM programs: Use SSE insted of MMX.  Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              pbmtext/libpbmfont: Fix wild pointer; probably asymptomatic.
              Introduced in 10.39.

              pbmtext/libpbmfont: Fix some error messages for bad fonts.

              pbmtext/libpbmfont: fix crash with a BDF font with negative
              left or bottom border.  Introduced in 10.39.

              pamarith: fix memory leak.  Introduced in 10.41.

              pnm_bytespersample(): fix bogus assertion on 64 bit system.

              pnmtops: fix bug: 12 bits per sample output when 8 would do.
              Introduced in 10.40.

              palmtopnm: fix for pixel size 16.  Thanks Paul Bolle
              <pebolle@tiscali.nl>.

              pnmsmooth: Fail politely when convolution matrix is so
              large as to bust the system's program parameter size limit
              on the invocation of pnmconvol.

              avstopam: fix incorrect output.

              pnmsmooth: fix arithmetic overflow with absurdly large
              convolution matrix dimensions.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pnmsmooth: fix wild pointer: causes wrong arguments to
              'pnmconvol'.  Introduced in 10.50.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pamscale: fix -reduce.  Introduced in 10.27.

              pampaintspill: fix incorrect output.

              libnetpbm text drawing: fix incorrect output in all cases.
              Introduced in 10.47.

              libnetpbm line drawing: fix bogus assertion, introduced in 10.47.

              build: fix incorrect determination of when vasprintf() exists
              in libc.

              configure: don't default to /usr/X11R6/lib/libX11.so just because
              /usr/X11R6 exists.  /usr/X11R6/lib must exist.

10.03.27 BJH  Release 10.50.00

              Add pamtoavs, avstopam.  Thanks Scott Pakin.

              Add pampaintspill.

              pnmconvol: Add -normalize .

              pm_system(): Close extraneous file descriptors that, among
              other things, prevent child from seeing EOF.

              libnetpbm: Add PNM_GETR(), PNM_GETG(), PNM_GETB().  Same
              as PPM_GETR(), etc.

              libnetpbm: Add ppm_luminosity().  Same as PPM_LUMIN, but
              returns pixval.

              pnmhisteq: Equalize based on luminosity alone, rather than a
              strange combination of luminosity and HSV value.

              pamenlarge: Make special fast path for scale factors up to 10
              (2, 3, and 5 already existed).  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pamflip: Speed up for most images.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              ybmtopbm: Assume YBM format has raster in natural order
              instead of byte-reversed.  This is what pbmtoybm creates,
              and is most logical.  We don't know if there are any existing
              YBM images or generators of them other than pbmtoybm.

              pbmpscale: speedup.

              pbmclean: speedup.

              pbmtext: fix crash when BDF font file contains spurious
              blank line.  Ignore such blank lines.
              
              pbmpscale: fix arithmetic overflow on output image dimensions.

              pbmtogem, pbmtoybm, pgmtolispm, ppmtoilbm, pnmtosgi: fix
              arithmetic overflow with image dimension represented as
              16 bit integer.

              pbmpage: fix garbage output.

              pnmhistmap: Fix crash with -width.  Always broken.

              libppmd/ppmpat: fix wild pointer in ppmd_fill_drawprocp();
              broken in 10.47.

              palmtopnm: fix incorrect "PALM_DIRECT_COLOR_FLAG is not valid
              for version 3 encoding type" failure.  Thanks Paul Bolle
              <pebolle@tiscali.nl>.

              pamtosvg: fix bug: occasional crash with out of range error.
              Introduced in 10.42.

              palmtopnm: fix incorrect output with version 3 direct color.
              Thanks Paul Bolle <pebolle@tiscali.nl>.

              Build: don't fail due to SIGPWR being undefined.

09.12.30 BJH  Release 10.49.00

              Add pnmmercator.

              pnmconvol: Add -matrix, -matrixfile.

              pambayer: add -nointerpolate.

              jpeg2ktopam: Work with JP2 input as well as JPC.

              pamscale: Work on multi image stream.

              ppmrainbow: Make new directory for temporary files.
              Prevents interference by other user who shares the main
              temporary file directory.

              libnetpbm: When reading plain format PNM with PAM routines,
              validate pixel against maxval (necessary for integer non-overrun
              guarantees).

              pnmsmooth: change -dump option to output a new pnmconvol
              -matrix option instead of a PGM file (because pnmsmooth now
              uses -matrix).

              pnmtofiasco: fix bug: doesn't work with Standard Input.

              pnmsmooth: fix incorrect call to pm_system_lp() that makes
              it never work (but it wouldn't anyway because pm_system_lp()
              was broken -- see below).

              pm_system*: fix various bugs making it never work.

              xpmtoppm: fix wild pointer with color index > 127.

              xpmtoppm: fix wild pointer when the input has a color index
              value that is too large to be consistent with the number of
              colors and bytes per pixel.

              pamtouil: fix crash when -name option doesn't contain an
              underscore.
              
              pamtosvg: fix some bug with unset Z coordinate.

              pnmtofiasco, fiascotopnm: fix bug on bigendian machine.

              pngtopam: use png_create_read_struct() instead of
              png_create_write_struct().  Broken since 10.48.

              configure: advise if adding -lz -lm fixes libpng link problem.

              makeman: some fixes or enhancements.

09.09.27 BJH  Release 10.48.00

              ppmsvgalib: Wait to initialize Svgalib to prevent it from
              interfering with error messages early code might issue, and
              leaving the console in an undesirable state if the failures
              cause the program to abort early.

              tifftopnm: wait for Pamflip processes to terminate before
              exiting.

              Remove pngtopnm from the package.  Pngtopnm is now an alias
              for Pngtopam.

              pngtopam, pnmtopng: Compiles with libpng 1.4 beta.

              pamtotiff: do miniswhite properly with 8 and 16 bit samples.

              pamsumm: fix syntax error message.

              pambayer: fix unconditional crash/failure when you aren't using
              Standard Input.

              Add pbmtocis, cistopbm.  Thanks John Elliott
              <jce@seasip.demon.co.uk>.

              Build: tifftopnm builds on systems without fork().

              Build: work with JPEG library Version 7.

              Build: Configure recognizes libvga.a installed without
              libvga.so and offers that as default.

              Build: Configure recognizes the Mingw-64 compiler.

              Build: fix failure of a merge build on a system that doesn't
              have the PNG library.

              Build: fix failure to recognize static library in omitting
              -R from link.

              Build: use AR from config.mk instead of "ar" to build static
              libraries: libnetpbm, librle, libjasper.

              Build: don't use "uint".

              Package: fix installation of pnmplain on Windows (.exe suffix).

09.06.27 BJH  Release 10.47.00

              Add pamsistoaglyph.  Thanks Scott Pakin.

              pnmpsnr: Use more precise math to conclude that images are
              identical.

              Add /usr/share/netpbm/rgb.txt to search path for color
              dictionary.

              Remove nstring.h from exported interfaces.

              giftopnm: improve efficiency.

              libppmd: Add ppmd_point-based functions (ppmd_linep(), etc).

              pnmremap: fix: -firstisdefault uses an arbitrary color from the
              map as default.

              pnmremap: fix -missingcolor:  where map file (ergo output) is not
              depth 3, uses an arbitrary color.

              pnmremap: fix loss of dithering when the map (and thus the
              output) has lower maxval than the input.  (Old code scales down
              to the new maxval before dithering).

              giftopnm: fix for unlikely case of a block smaller than a code.

              ppmpat: fix crash in -squig.

              ppmpat: fix crash when width or height is zero.

              ppmpat: fix wrong output with -poles.

              libppmd (ppmpat, ppmdraw): Fix various out of bounds number
              problems.

              ilbmtoppm: fix some bug in interpreting ILBM input.
              (due to wrong pm_uintFromBigend16()).  From 10.46.

              ximtoppm: fix crash in command line processing.

              ppmrainbow: exit with proper exit status upon failure.
              
              ppmfade: eliminate reference to undeclared subroutine.

              ppmquantall: don't use 'set' to set Bourne shell variable.

              pnmtile: fix reference to arbitrary storage in option
              processing.  Introduced in 10.42.

              pamstereogram: fix tuple type in output file (and crash
              with -verbose) with -patfile .

              pamstereogram: fix uninitialized bytes per sample value.

              pbmtomacp: fix buffer overflow.

              libnetpbm (ppmd): fix: don't ignore failure to read font file.

              Fix: remove inclusion of pm_c_util.h from sshopt.h, which is
              an exported interface header file, whereas pm_c_util.h is not.

              Lots of changes to integer code, bit access, word access, etc.
              None functional.  Some speedup.

              make distclean: remove lib/compile.h.
              
              configure: use TEMP environment variable for TMPDIR if TMPDIR
              is not set.  Don't try different temp file names forever; the
              problem may not be the filename.

              configure: offer Gcc as an optional compiler for HP-UX.

09.03.29 BJH  Release 10.46.00

              xwdtopnm: Add -cmapdump .

              xwdtopnm: Change maxval calculation for truecolor to fit
              X11 spec.  Now it's determined by bits_per_rgb.

              xwdtopnm: Add warning about 2 byte sample output.
         
              pnmcrop: fast path for PBM.

              pnmcrop: Use border file instead of original image to determine
              the background color (i.e. the color of added margins).

              pnmscale: finally make it just an alias of pamscale, which
              obsoleted it in 10.20.
              
              pnmcut: finally make it just an alias of pamcut, which
              obsoleted it in 9.20.

              tifftopnm: fix orientation problem on big-endian machines.
              Introduced in 10.42.

              pnmcrop: various fixes.

              g3topbm: fix array bound violation.  Introduced in 10.32.

              pnmcat: fix array bound violation with PBM top/bottom
              concatenation.  Introduced in 10.44.

              ilbmtoppm: Fix array bound violation with compressed ILBM.
              Introduced in 10.18.

              fitstopnm: fix garbage output when input is little endian
              floating point FITS.

              picttoppm: Fix crash with -fullres and all-text PICT image.
              Also issue warning that program omits text with -fullres.

              picttoppm: Improve error/informational messages.

              picttoppm: Don't fail if 'fontdir' file doesn't exist.  Bug
              from 10.44.

              ppmtopict: Use two-byte length field when image width > 200
              instead of > 250.  Former is what Picttoppm has been assuming
              since March 2004, when it was found to work better than 250,
              which is the number documented as right.

              ilbmtoppm: fix bug: appends color map PPM to output if input
              has color map; fails if input doesn't have color map.  Broken
              in 10.18.

              leaftoppm: fix bug: uses red channel as all three channels;
              (produces grayscale output).  Broken between 10.19 and 10.26,
              inclusive.

              pbmtomrf, mrftopbm: fix crashes, incorrect output in all
              cases.  Broken forever.

              pnm_alloctupletable, pnm_tuplehashtotable,
              pnm_computetuplefreqtable3: fix crash when out of memory,
              memory leak with uncomputably large numbers.

              build: rename getline() in xvminitoppm.c to avoid collision
              with libc.

              Source tree: split out some of editor/ directory into new
              editor/specialty directory.

08.12.28 BJH  Release 10.45.00

              pgmnoise: Add -randomseed.

              ppmtobmp: Add -mapfile option.

              pnm_createBlackTuple(): Fix array bounds violation with
              PBM, PGM.

              pnmtoddif: Fix crash with any PGM input.

              pgmnoise: Fix bug: never generates full white pixel.

              pamditherbw: Fix -value other than .5 with -fs, -atkinson.

              Configure: fix crash when Libxml2 is installed, but not new
              enough version.

              Build: Use GNU compile options for Darwin.

              Build: Move CFLAGS later in libjasper and librle build so that a
              -I in CFLAGS doesn't interfere with finding the local libjasper
              and Netpbm header files.

              Build: Move LDFLAGS later so that a -L in LDFLAGS doesn't
              interfere with finding the built libnetpbm.  (The common
              link rule is already this way in 10.44.00; all the other
              link rules are now the same).

              Build: Rename Makefile.common, Makefile.config, to common.mk,
              etc.

              Build: Add source type declarations to make -ansi compile work.

08.09.27 BJH  Release 10.44.00

              Add pngtopam as a replacement for pngtopnm.  Has ability
              to generate image with alpha channel.  Thanks 
              David Jones <drj@ravenbrook.com>.

              pnmcolormap (pnmquant): round instead of truncating when
              computing means.

              pamcut, pnmcat, pnmpaste, pnmpad, g3topbm: Add fast PBM
              path.  Thanks Prophet of the Way <afu@wta.att.ne.jp>.

              pnmpaste: fail if user specified stdin for both images.

              libppmd/ppmdraw: fix crash when line is completely out of
              frame.

              pamgradient: fix bug: always produces color, not grayscale.

              pnm_backgroundxel(), pnm_backgroundxelrow() (affects
              pnmrotate, pnmshear, pnmcrop, pnmcat: correctly average
              corner colors to determine background (fill) color.

              pamcut: don't crash when cutting a region entirely to
              the left or right of the input image, with -pad.  Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              pamcut: don't crash when left > right or top > bottom with
              -pad.  Thanks Prophet of the Way <afu@wta.att.ne.jp>.

              pgmhist: arbitrary output when total pixels doesn't fit in an
              integer.

              pamcomp: fix bug: arbitrary output when combined number of rows
              doesn't fit in an integer.

              pamtosvg: remove "needed exchange" debug trace.

              Add pbmminkowski (source code has been in package since 10.12
              but not documented or built by default).

              pnmmontage: don't corrupt file names when they contain
              colons.

              pamflip: fix bug: garbage output for PBMs, since 10.42.

              pngtopnm: fix gamma correction.

              pngtopnm: fix bug: when background is color, output
              should be PPM.

              pamperspective: fix bug: array bounds violation crash.

              Build: add dependencies so parallel make of top level
              "all" works.

08.06.27 BJH  Release 10.43.00

              Add pamtompfont: Mplayer bitmap font.

              pamthreshold: copy transparency information from input to
              output.

              pnmnorm: adjust bvalue, wvalue when -bpercent and/or -wpercent
              would cause an overlap, instead of failing.

              pamscale: fix PBM input + -nomix.

              anytopnm: fix parsing of type description.

              pamtilt: fix crash with excessive angle.

              pbmtext: remove meaningless "no output" from error messages.

              pbm_loadbdffont(): handle zero size glyph.  Affects pbmtext.

              pbmtext: fail properly if input contains no text.

              pbmtext: fix buffer overrun with tab characters.

              pnmnorm: fix -colorvalue, -saturation, -keephues options.

              pnmnorm: fix resolution of conflicting -wpercent and -wvalue.

              pamtohtmltbl: fix output error: contains holes due to
              uninitialized memory.

              xvminitoppm: fix.  Totally broken since 10.34.

              pnmtopclxl: fix crash with Standard Input input.

              pbmtogo: fix buffer overrun with too wide image.

              tgatoppm: fix standard input invocation.

              pamtotga: fix free of unallocated memory with no -name option.

              pamtouil: fix double free of memory.

              ppmd_filledrectangle: fail properly on negative image
              height, width.

              Add back ppmd_fill_init() for backward compatibility;
              removed in 10.29.

              Build: make it work with Gcc 4.3 and -sse.

08.03.26 BJH  Release 10.42.00

              anytopnm: Recognize xwd image by 'file' type.

              pamflip: Rewrite low-memory algorithm; use temp files and
              conserve virtual as well as real memory.

              tifftopnm: orient raster properly in row-by-row operation
              when TIFF uses nonstandard raster orientation.  (ORIENTATION
              tag).

              pbmtext: fail cleanly if -width, -space, or -lspace is
              too large for computation.  Thanks Prophet of the Way
              <afu@wta.att.ne.jp>.

              pnmtile: deal with zero width/height.

              pbmtext: fix negative -space.

              pbmtext: fail cleanly if input line is > 5000 characters.

              pamundice: Fix bogus error about missing "-instem" option.

              pgmdeshadow: fix crash in option processing.

              pgmmedian: fix crash.

              pgmbentley: fix output; black areas not black.

              pamtosvg: fix various bugs: crash, poor tracing, memory leaks.

              pamtosvg: fix log file name with Standard Input.
              
              ppmtoarbtxt: fix array bounds violation with really large
              replacement sequence.

              ppmtoarbtxt: fix missing right parenthesis with impostor
              replacement sequence.

              pnmnlfilt: fix internal error "impossible alpha value".

              Add pm_tmpfile_fd() and pm_make_tmpfile_fd().

              Various things to make it build on Windows without POSIX
              emulation.

              Build: Include LDFLAGS environment variable in link of
              build tools.
              
07.12.27 BJH  Release 10.41.00

              pamenlarge: much faster for PBM.  Thanks Prophet of the
              Way <afu@wta.att.ne.jp>.

              pamenlarge: remove arithmetic overflow.

              pnmmontage: new search algorithm to choose square
              output quickly.  Thanks "Nic Roets" <nroets@gmail.com>.

              bmptopnm: fix crash with 16 bit images.

              palmcolor8.map: Make it a 256 color map sorted by index,
              per Palm's spec.  Thanks Paul Bolle <pebolle@tiscali.nl>.

              xwdtopnm: deal with too-large bits per pixel value in XWD 
              header.

              pamditherbw, pamsharpness, pamsharpmask, pamtopfm:
              fix crash due to write to arbitrary memory.

              pamtotiff: fix incorrect pixels with PNM maxval != TIFF
              maxval.

              pnmcrop: fix -verbose message about background color with
              -white.

              pbmmake: handle ridiculously large height, width arguments.

              pnmcat: fix arithmetic overflow.

              libnetpbm: Add arithmetic overflow protection to PBM
              routines, like PGM/PPM/PNM have had for a long time.

              libnetpbm: make all row free operations go through
              pm_freerow(); change row buffer type from char * to void *
              for pm_allocrow(), pm_freerow().

              set _XOPEN_SOURCE=600 so jpeg2ktopam and pamtojpeg2k
              compile on AIX (_XOPEN_SOURCE=500 keeps int_fast32_t from
              being defined).

              pamperspective: Eliminate build-time symbol conflict
              with 'nearest' on AIX.

              Fix bug: ppmdraw.h, ppmdfont.h not installed.

              Add -fPIC to all Gcc compiles of library modules, so it works
              on AMD64, IA64.

              Add Windows version of gethostname to ppmtompeg; normal build
              does not use it.

              package, install: install interface header files as
              <netpbm/xxx.h> instead of just <xxx.h>.

07.09.26 BJH  Release 10.40.00

              pamfunc: Add -andmask, -ormask, -xormask, -not,
              -shiftleft, -shiftright.

              pbmtonokia: fail if input is > 255 x 255.  Thanks Paul Bolle
              <pebolle@tiscali.nl>.

              pnmmargin: add -plain option.    Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              pnmgamma: improve error messages.

              pamstack: accept Standard Input properly.

              pnmmargin: recognize invalid options better.  Thanks
              Prophet of the Way <afu@wta.att.ne.jp>.

              anytopnm, pnmmargin, pamstretch-gen, ppmquantall: fix
              small temporary file security exposure.

              pnmtopalm: fix typo in error message.  Thanks Paul Bolle
              <pebolle@tiscali.nl>.

              pnmtops: fix crash when program attempts to write 12 bits per
              sample Postscript.  It doesn't really know how to do that, so
              now it just writes 8 unless you do -psfilter.

              pnmtopng: Sort palette properly when alpha maxval != 255.

              pnmtopng: Fix array bound violation with = 256 colors and -alpha.

              pnmtopng: Fix array bound violation with > 256 alpha mask levels.

              pamtopfm: Fix wrong selection of default endianness.

              libnetpbm: Add pm_system_lp(), pm_system_vp().

              libnetpbm: Make pbm_readpbminit() and pgm_readpgminit()
              recognize incompatible Netpbm formats and issue a
              helpful error message.

              libnetpbm: pbm_readppminit: read PBM as maxval of 255, not 1.

              libnetpbm: Fix pm_drain() to use the specified limit.
              Thanks Paul Bolle <pebolle@tiscali.nl>.

              libnetpbm: Fix multi-line TUPLTYPE interpretation:
              separate lines with blank, not newline.  Thanks Paul
              Bolle <pebolle@tiscali.nl>.

              libnetpbm: Reject empty TUPLTYPE header.

              libnetpbm: Fix uninitialized variable in pnm_allocpamrown().

              libnetpbm: fix crash in REALLOCARRAY with advanced optimization.

              libnetpbm: REALLOCARRAY frees memory if it fails.

              Rename pamtooctave to pamtooctaveimg.

              Build: don't build pstopnm on system without unix process
              management.

              Build: put -l's after .o's in test links.

              Build: don't use 'uint' type.  Solaris 10 apparently doesn't
              have it.

              Build: Add missing <stdlib.h> to ppmrough.c.

07.06.26 BJH  Release 10.39.00

              Add pamtooctave.  Thanks Scott Pakin (scott@pakin.org).

              Add pamundice.

              fitstopnm: add -omaxval.

              pnmremap: add -norand.

