
Libpng 1.4.2rc02 - April 16, 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.2rc02.tar.xz (LZMA-compressed, recommended)
   1.4.2rc02.tar.gz
   1.4.2rc02.tar.bz2

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

   lp142r02.zip
   lp142r02.7z

Other information:

   1.4.2rc02-README.txt
   1.4.2rc02-LICENSE.txt

Changes since the last public release (1.4.1):

version 1.4.2beta01 [April 1, 2010]
  Restored the macro definition of png_check_sig().
  Conditionally compile an "else" statement in png_decompress_chunk().

version 1.4.2rc01 [April 10, 2010]
  No changes.

version 1.4.2rc02 [April 16, 2010]
  Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
  Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
    more accurately what it actually does.  At the same time, renamed
    the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
    PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.

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
