
Libpng 1.2.36beta01 - February 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.36beta01.tar.gz
   libpng-1.2.36beta01.tar.lzma
     (Get the lzma codec from <http://tukaani.org/lzma>).
   libpng-1.2.36beta01.tar.bz2

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

   libpng-1.2.36beta01-no-config.tar.gz
   libpng-1.2.36beta01-no-config.tar.lzma
   libpng-1.2.36beta01-no-config.tar.bz2

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

   lp1236b01.zip
   lp1236b01.7z
   lp1236b01.tar.bz2

Project files

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

Other information:

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

Changes since the last public release (1.2.34):

version 1.2.35beta01 [February 4, 2009]
  Zero out some arrays of pointers after png_malloc(). (Tavis Ormandy)

version 1.2.35beta02 [Feburary 4, 2009]
  Zero out more arrays of pointers after png_malloc().

version 1.2.35beta03 [February 5, 2009]
  Use png_memset() instead of a loop to intialize pointers.  We realize
    this will not work on platforms where the NULL pointer is not all zeroes.

version 1.2.35rc01 [February 11, 2009]
  No changes.

version 1.2.35rc02 [February 12, 2009]
  Fix typo in new png_memset call in pngset.c (png_color should be png_charp)

version 1.0.43 and 1.2.35 [February 14, 2009]
  No changes.

version 1.2.36beta01 [February 28, 2009]
  Revised comments in png_set_read_fn() and png_set_write_fn().
  Revised order of #ifdef's and indentation in png_debug definitions of png.h
    bug introduced in libpng-1.2.34.

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
