Libpng 1.6.17 - March 26, 2015

This is a public release of libpng, intended for use in production codes.

Files available for download:

Source files with LF line endings (for Unix/Linux) and with a
"configure" script

  libpng-1.6.17.tar.xz (LZMA-compressed, recommended)
  libpng-1.6.17.tar.gz

Source files with CRLF line endings (for Windows), without the
"configure" script

  lpng1617.7z  (LZMA-compressed, recommended)
  lpng1617.zip

Other information:

  libpng-1.6.17-README.txt
  libpng-1.6.17-LICENSE.txt
  libpng-1.6.17-*.asc (armored detached GPG signatures)

Changes since the last public release (1.6.16):

 Removed duplicate PNG_SAFE_LIMITS_SUPPORTED handling from pngconf.h
 Corrected the width limit calculation in png_check_IHDR().
 Removed user limits from pngfix. Also pass NULL pointers to
   png_read_row to skip the unnecessary row de-interlace stuff.
 Added testing of png_set_packing() to pngvalid.c
 Regenerated configure scripts in the *.tar distributions with libtool-2.4.4
 Implement previously untested cases of libpng transforms in pngvalid.c
 Fixed byte order in 2-byte filler, in png_do_read_filler().
 Made the check for out-of-range values in png_set_tRNS() detect
   values that are exactly 2^bit_depth, and work on 16-bit platforms.
 Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47.
 Added #ifndef __COVERITY__ where needed in png.c, pngrutil.c and
   pngset.c to avoid warnings about dead code.
 Do not build png_product2() when it is unused.
 Display user limits in the output from pngtest.
 Eliminated the PNG_SAFE_LIMITS macro and restored the 1-million-column
   and 1-million-row default limits in pnglibconf.dfa, that can be reset
   by the user at build time or run time.  This provides a more robust
   defense against DOS and as-yet undiscovered overflows.
 Added PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED macro, on by default.
 Allow user to call png_get_IHDR() with NULL arguments (Reuben Hawkins).
 Rebuilt configure scripts with automake-1.15 and libtool-2.4.6
 Moved png_set_filter() prototype into a PNG_WRITE_SUPPORTED block
   of png.h.
 Avoid runtime checks when converting integer to png_byte with
   Visual Studio (Sergey Kosarevsky)
 Removed some comments that the configure script did not handle
   properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
 Free the unknown_chunks structure even when it contains no data.
 Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF
   for consistency, and remove some useless tests (Alexey Petruchik).
 Remove pnglibconf.h, pnglibconf.c, pnglibconf.pre, pnglibconf.dfn,
   and pnglibconf.out instead of pnglibconf.* in "make clean" (Cosmin).
 Fixed simplified 8-bit-linear to sRGB alpha. The calculated alpha
   value was wrong.  It's not clear if this affected the final stored
   value; in the obvious code path the upper and lower 8-bits of the
   alpha value were identical and the alpha was truncated to 8-bits
   rather than dividing by 257 (John Bowler).

Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe)
or to glennrp at users.sourceforge.net

Glenn R-P