
Libpng 1.4.4rc04 - September 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.4rc04.tar.xz (LZMA-compressed, recommended)
   1.4.4rc04.tar.gz
   1.4.4rc04.tar.bz2

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

   lp144r04.zip
   lp144r04.7z

Other information:

   1.4.4rc04-README.txt
   1.4.4rc04-LICENSE.txt

Changes since the last public release (1.4.3):

version 1.4.4beta01 [July 12, 2010]
  Removed extraneous new_push_process_row.c file.
  Revised the "SEE ALSO" style of libpng.3, libpngpf.3, and png.5
  Removed some newly-added TAB characters from pngpread.c.
  Fixed some indentation in pngpread.c and pngrutil.c
  Changed "extern PNG_EXPORT" to "PNG_EXPORT" in png.h (Jan Nijtmans)
  Changed "extern" to "PNG_EXTERN" in pngpriv.h (except for the 'extern "C" {')
  Put "#ifndef PNG_EXTERN, #endif" around "#define PNG_EXTERN" in pngpriv.h

version 1.4.4beta02 [July 24, 2010]
  Added -DNO_PNG_SNPRINTF to CFLAGS in scripts/makefile.dj2
  Moved the definition of png_snprintf() outside of the enclosing
    #ifdef blocks in pngconf.h
  Added a special case typedef of png_longjmp_ptr for WATCOM.

version 1.4.4beta03 [July 24, 2010]
  Removed reference to cbuilder5/* from Makefile.in and Makefile.am
  Eliminated the new special case typedef of png_longjmp_ptr for WATCOM
    and made a special case "#define PNGAPI" in pngconf.h instead.

version 1.4.4beta04 [July 31, 2010]
  Updated the read macros and functions from 1.5.0beta38.

version 1.4.4beta05 [August 6, 2010]
  Updated projects/visualc71 so it can find scripts/pnglibconf.h
  Removed unused png_mem_* defines from pngconf.h.
  Correct use of _WINDOWS_ in pngconf.h

version 1.4.4beta06 [August 11, 2010]
  Don't try to use version-script with cygwin/mingw.
  Revised contrib/gregbook to work under cygwin/mingw.

version 1.4.4beta07 [August 26, 2010]
  Updated prebuilt aclocal.m4 and ltmain.sh
  Add .dll.a to the list of extensions to be symlinked by Makefile.am (Yaakov)
  Updated CMakelists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
    installing libpng in /usr/lib64 (Funda Wang).
  Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
  Revised CMakeLists.txt to make symlinks instead of copies when installing.
  Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
  Moved "#include pngusr.h" ahead of PNG_USER_PRIVATEBUILD test in pngconf.h
  Eliminated a deprecated reference to png_ptr->io_ptr in pngtest.c
  Eliminated new unnecessary #if tests regarding the sCAL chunk from pngrutil.c

version 1.4.4beta08 [September 2, 2010]
  Updated the xcode project to work with libpng-1.4.x and added iOS targets
    for simulator and device (Philippe Hausler).

version 1.4.4rc01 [September 10, 2010]
  No changes.

version 1.4.4rc02 [September 13, 2010]
  Revised CMakeLists.txt (Philip Lowman).

version 1.4.4rc03 [September 14, 2010]
  Removed an extraneous close-double-quote from CMakeLists.txt
  Eliminated another deprecated reference to png_ptr->io_ptr in pngtest.c

version 1.4.4rc04 [September 16, 2010]
  Fixed indentation and removed debugging message from CMakeLists.txt
  Revised autogen.sh to recognize and use $AUTOCONF, $AUTOMAKE, $AUTOHEADER,
    $AUTOPOINT, $ACLOCAL and $LIBTOOLIZE

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
