
Libpng 1.4.5rc02 - November 20, 2010

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

   1.4.5rc02.tar.xz (LZMA-compressed, recommended)
   1.4.5rc02.tar.gz
   1.4.5rc02.tar.bz2

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

   lp145r02.zip
   lp145r02.7z

Other information:

   1.4.5rc02-README.txt
   1.4.5rc02-LICENSE.txt

Changes since the last public release (1.4.4):

version 1.4.5beta01 [September 25, 2010]
  Fixed possible configure.ac bug introduced in version 1.4.4rc05.
  Rebuilt configure scripts with autoconf-2.68 instead of autoconf-2.65

version 1.4.5beta02 [October 5, 2010]
  Reverted configure scripts to autoconf-2.65
  Fixed problem with symbols creation in Makefile.am which was assuming that
    all versions of cpp write to standard output by default (Martin Banky). The
    bug was introduced in libpng-1.2.9beta5.

version 1.4.5beta03 [October 8, 2010]
  Wrapped long lines in CMakeLists.txt and introduced ${libpng_public_hdrs}
  Undid Makefile.am revision of 1.4.5beta02.

version 1.4.5beta04 [November 8, 2010]
  Check for out-of-range text compression mode in png_set_text().

version 1.4.5rc01 [November 19, 2010]
  No changes.

version 1.4.5rc02 [November 20, 2010]
  Removed some extraneous parentheses that appeared in pngrutil.c of
    libpng-1.4.3bet01
  Revised png_get_uint_32, png_get_int_32, png_get_uint_16 (Cosmin)
  Moved reading of file signature into png_read_sig (Cosmin)
  Fixed atomicity of chunk header serialization (Cosmin)
  Added test for io_state in pngtest.c (Cosmin)

Send comments/corrections/commendations to glennrp at users.sourceforge.net
or to png-mng-implement at lists.sf.net (subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement).

Glenn R-P
