
Libpng 1.2.26beta02 - March 13, 2008

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

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

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

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

   lp1226b02.zip
   lp1226b02.7z
   lp1226b02.tar.bz2

Project files

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

Other information:

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

Changes since the last public release (1.2.25):

version 1.2.26beta01 [February 21, 2008]
  Added missing "(" in pngmem.c.  Bug introduced in libpng-1.2.2/1.0.13

version 1.2.26beta02 [March 13, 2008]
  Refined error message returned from deflateInit2 in pngwutil.c
  Check IHDR length in png_push_read_chunk() before saving it.

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
