
Libpng 1.2.40beta01 - August 20, 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.40beta01.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.40beta01.tar.gz
   libpng-1.2.40beta01.tar.bz2

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

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

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

   lp1240b01.zip
   lp1240b01.7z
   lp1240b01.tar.bz2

Project files

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

Other information:

   libpng-1.2.40beta01-README.txt
   libpng-1.2.40beta01-KNOWNBUGS.txt
   libpng-1.2.40beta01-LICENSE.txt
   libpng-1.2.40beta01-Y2K-compliance.txt
   libpng-1.2.40beta01-[previous version]-diff.txt

Changes since the last public release (1.2.39):

version 1.2.40beta01 [August 20, 2009]
  Removed an extra png_debug() recently added to png_write_find_filter().
  Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.

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
