
Libpng 1.2.54beta01 - October 23, 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

   libpng-1.2.54beta01.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.54beta01.tar.gz
   libpng-1.2.54beta01.tar.bz2

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

   libpng-1.2.54beta01-no-config.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.54beta01-no-config.tar.gz
   libpng-1.2.54beta01-no-config.tar.bz2

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

   lp1254b01.zip
   lp1254b01.7z
   lp1254b01.tar.bz2

Project files

   libpng-1.2.54beta01-project-netware.zip
   libpng-1.2.54beta01-project-wince.zip

Other information:

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

Changes since the last public release (1.2.53):

version 1.2.54beta01 [October 23, 2015]
  Fix typecast in a png_debug2() statement in png_set_text_2() to
    avoid a compiler warning in PNG_DEBUG builds.
  Fixed printf formats in pngtest.c to avoid compiler warnings and a
    Coverity warning in PNG_DEBUG builds.
  Avoid Coverity issue 80858 (REVERSE NULL) in pngtest.c PNG_DEBUG builds.
  Removed WRITE_WEIGHTED_FILTERED code.
  Avoid potentially dereferencing NULL info_ptr in png_info_init_3().
  Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c
  Use nanosleep() instead of usleep() in contrib/gregbook/rpng2-x.c
    because usleep() is deprecated (port from libpng16).
  Fixed some bad links in the man page.
  Added a safety check in png_set_tIME() (Bug report from Qixue Xiao).

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
