
Libpng 1.2.15 - January 5, 2007

This is a public release of libpng, intended for use in production codes.

Files available for download:

Source files with LF line endings (for Unix/Linux) and with a
"configure" script

   libpng-1.2.15.tar.gz
   libpng-1.2.15.tar.bz2

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

   libpng-1.2.15-no-config.tar.gz
   libpng-1.2.15-no-config.tar.bz2

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

   lpng1215.zip
   lpng1215.tar.bz2

Project files

   libpng-1.2.15-project-netware.zip
   libpng-1.2.15-project-wince.zip

Other information:

   libpng-1.2.15-README.txt
   libpng-1.2.15-KNOWNBUGS.txt
   libpng-1.2.15-LICENSE.txt
   libpng-1.2.15-Y2K-compliance.txt

Changes since the last public release (1.2.14):

version 1.2.15 [January 5, 2007]

  Generated configure with autoconf-2.61 instead of 2.60
  Revised configure.ac to update libpng.pc and libpng-config.
  Always export MMX asm functions, just stubs if not building pnggccrd.c
  Add "png_bytep" typecast to profile while calculating length in pngwutil.c
  Added scripts/CMakeLists.txt
  Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
  Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
  Added scripts/makefile.nommx
  Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
  Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.

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
