
Libpng 1.5.23rc02 - July 12, 2015

This is not intended to be a public release.  It will be replaced
within a few weeks by a public version or by another test version.

Files available for download:

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

   1.5.23rc02.tar.xz (LZMA-compressed, recommended)
   1.5.23rc02.tar.gz
   1.5.23rc02.tar.bz2

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

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

Other information:

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

Changes since the last public release (1.5.22):

Version 1.5.23beta01 [May 21, 2015]
  Removed unused PNG_SET_CHUNK_[CACHE|MALLOC]_LIMIT_SUPPORTED definitions
    from pnglibconf.h.prebuilt (Andrew Church).
  Replaced "unexpected" with an integer in pngset.c where a long was
    expected, to avoid a compiler warning when PNG_DEBUG > 1.
  Fix typecast in a png_debug2() statement in png_set_text_2() to
    avoid a compiler warning in PNG_DEBUG builds.
  Avoid Coverity issue 80858 (REVERSE NULL) in pngtest.c PNG_DEBUG builds.
  Avoid a harmless potential integer overflow in png_XYZ_from_xy() (Bug
    report from Christopher Ferris).

Version 1.5.23beta02 [June 30, 2015]
  Removed WRITE_WEIGHTED_FILTERED code, to save a few kbytes of the
    compiled library size. It never worked properly and as far as we can
    tell, no one uses it. The png_set_filter_heuristics() and
    png_set_filter_heuristics_fixed() APIs are retained but deprecated
    and do nothing.
  Quieted Coverity issues in pngvalid.c.
  Removed non-working progressive reader 'skip' function.

Version 1.5.23rc01 [July 9, 2015]
  Belatedly added Mans Rullgard to the list of Contributing Authors.

Version 1.5.23rc02 [July 12, 2015]
  Restored unused FILTER_HEURISTIC macros removed at libpng-1.5.23beta02
    to png.h to avoid compatibility warnings.

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
