
Libpng 1.2.39beta02 - July 28, 2009

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.39beta02.tar.gz
   libpng-1.2.39beta02.tar.lzma
     (Get the lzma codec from <http://tukaani.org/lzma>).
   libpng-1.2.39beta02.tar.bz2

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

   libpng-1.2.39beta02-no-config.tar.gz
   libpng-1.2.39beta02-no-config.tar.lzma
   libpng-1.2.39beta02-no-config.tar.bz2

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

   lp1239b02.zip
   lp1239b02.7z
   lp1239b02.tar.bz2

Project files

   libpng-1.2.39beta02-project-netware.zip
   libpng-1.2.39beta02-project-wince.zip

Other information:

   libpng-1.2.39beta02-README.txt
   libpng-1.2.39beta02-KNOWNBUGS.txt
   libpng-1.2.39beta02-LICENSE.txt
   libpng-1.2.39beta02-Y2K-compliance.txt
   libpng-1.2.39beta02-[previous version]-diff.txt

Changes since the last public release (1.2.38):

version 1.2.39beta01 [July 25, 2009]
  Added a prototype for png_64bit_product() in png.c

version 1.2.39beta02 [July 28, 2009]
  Avoid a possible NULL dereference in debug build, in png_set_text_2().
    (bug introduced in libpng-0.95, discovered by Evan Rouault)

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
