
Libpng 1.2.41beta04 - October 7, 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.41beta04.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.41beta04.tar.gz
   libpng-1.2.41beta04.tar.bz2

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

   libpng-1.2.41beta04-no-config.tar.xz (LZMA-compressed, recommended)
   libpng-1.2.41beta04-no-config.tar.gz
   libpng-1.2.41beta04-no-config.tar.bz2

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

   lp1241b04.zip
   lp1241b04.7z
   lp1241b04.tar.bz2

Project files

   libpng-1.2.41beta04-project-netware.zip
   libpng-1.2.41beta04-project-wince.zip

Other information:

   libpng-1.2.41beta04-README.txt
   libpng-1.2.41beta04-KNOWNBUGS.txt
   libpng-1.2.41beta04-LICENSE.txt
   libpng-1.2.41beta04-Y2K-compliance.txt
   libpng-1.2.41beta04-[previous version]-diff.txt

Changes since the last public release (1.2.40):

version 1.2.41beta01 [September 25, 2009]
  Moved redundant IHDR checking into new png_check_IHDR() in png.c
    and report all errors found in the IHDR data.
  Eliminated useless call to png_check_cHRM() from pngset.c
  Expanded TAB characters in pngrtran.c

version 1.2.41beta02 [September 30, 2009]
  Revised png_check_IHDR().

version 1.2.41beta03 [October 1, 2009]
  Revised png_check_IHDR() again, to check info_ptr members instead of
    the contents of the returned parameters.

version 1.2.41beta04 [October 7, 2009]
  Added "xcode" project similar one already in libpng-1.4.0beta (Alam Arias).
  Ported some cosmetic changes from libpng-1.4.0beta86.
  Eliminated a shadowed declaration of "pp" in png_handle_sPLT().

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
