
Libpng 1.2.5 - October 3, 2002

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

Changes since the last public release (1.2.4):

  Revised makefile.cygwin to use DLL number 12 instead of 13.
  Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
  Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
  Removed some stray *.o files from contrib/gregbook.
  Changed png_error() to png_warning() about "Too much data" in pngpread.c
    and about "Extra compressed data" in pngrutil.c.
  Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
  Updated makefile.hggcc
  Updated png.c and pnggccrd.c handling of return from png_mmx_support()
  Only issue png_warning() about "Too much data" in pngpread.c when avail_in
    is nonzero.
  Updated makefiles to install a separate libpng.so.3 with its own rpath.
  Revised makefiles to not remove previous minor versions of shared libraries.
  Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
    library loader directive.
  Revised libpng-config script.
  Relocated two misplaced PNGAPI lines in pngtest.c

Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu

Glenn R-P
