
Libpng 1.2.19beta5 - May 21, 2007

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

   libpng-1.2.19beta5.tar.gz
   libpng-1.2.19beta5.tar.bz2

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

   libpng-1.2.19beta5-no-config.tar.gz
   libpng-1.2.19beta5-no-config.tar.bz2

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

   lp1219b05.zip
   lp1219b05.tar.bz2

Project files

   libpng-1.2.19beta5-project-netware.zip
   libpng-1.2.19beta5-project-wince.zip

Other information:

   libpng-1.2.19beta5-README.txt
   libpng-1.2.19beta5-KNOWNBUGS.txt
   libpng-1.2.19beta5-LICENSE.txt
   libpng-1.2.19beta5-Y2K-compliance.txt

Changes since the last public release (1.2.18):

version 1.2.19beta1 [May 18, 2007]
  Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
    change of libpng-1.2.17beta2.  Changed other "const" to "PNG_CONST"

version 1.2.19beta2 [May 18, 2007]
  Fixed png_do_expand() to only use the appropriate bits of tRNS value.

version 1.2.19beta3 [May 20, 2007]
  Add some "png_byte" typecasts in png_check_keyword().
  Write new_key instead of key in zTXt chunk.

version 1.2.19beta4 [May 21, 2007]
  Add png_snprintf() function and use it in place of sprint() for improved
    defense against buffer overflows.

version 1.2.19beta5 [May 21, 2007]
  Fixed png_handle_tRNS() to only use the appropriate bits of tRNS value.
  Changed handling of more unused parameters, to avoid compiler warnings.
  Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.

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
