
Libpng 1.2.57rc01 - December 27, 2016

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

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

Source files with LF line endings (for Unix/Linux) without the
"configure" script

   libpng-1.2.57rc01-no-config.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.57rc01-no-config.tar.gz

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

   lp1257r01.zip
   lp1257r01.7z

Project files

   libpng-1.2.57rc01-project-netware.zip
   libpng-1.2.57rc01-project-wince.zip

Other information:

   libpng-1.2.57rc01-README.txt
   libpng-1.2.57rc01-KNOWNBUGS.txt
   libpng-1.2.57rc01-LICENSE.txt
   libpng-1.2.57rc01-Y2K-compliance.txt
   libpng-1.2.57rc01-[previous version]-diff.txt
   libpng-1.2.57rc01-*.asc (armored detached GPG signatures)

Changes since the last public release (1.2.56):

version 1.2.57rc01 [December 27, 2016]
  Fix typos in libpng.3 synopses (Eric S. Raymond).
  Fixed undefined behavior in png_push_save_buffer(). Do not call
    memcpy() with a null source, even if count is zero (Leon Scroggins III).

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
#endif
