
Libpng 1.0.11 - April 27, 2001

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

Changes since the last public release (1.0.10):

  Added type casts on several png_malloc() calls (Dimitri Papadapoulos).
  Removed a no-longer needed AIX work-around from pngconf.h
  Changed several "//" single-line comments to C-style in pnggccrd.c
  Removed PNGAPI from private functions whose prototypes did not have PNGAPI.
  Updated scripts/pngos2.def
  Added a check for NULL return from user's malloc_fn().
  Removed some useless type casts of the NULL pointer.
  Added makefile.netbsd

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

Glenn R-P
