
Libpng 1.4.0beta13 - November 8, 2006

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.0beta13.tar.gz
   1.4.0beta13.tar.bz2

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

   1.4.0beta13-no-config.tar.gz
   1.4.0beta13-no-config.tar.bz2

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

   lp140b13.zip
   lp140b13.tar.bz2

Other information:

   1.4.0beta13-README.txt
   1.4.0beta13-KNOWNBUGS.txt
   1.4.0beta13-LICENSE.txt
   1.4.0beta13-Y2K-compliance.txt

Changes since the last public release (1.2.10):

version 1.2.10beta1 [April 15, 2006]
  Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
    -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
    to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.

version 1.2.10beta2 [April 15, 2006]
  Manually updated Makefile.in and configure.  Changed png_conf.h.in
    back to config.h.

version 1.2.10beta3 [April 15, 2006]
  Change png_conf.h back to config.h in pngconf.h.

version 1.2.10beta4 [April 16, 2006]
  Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.

version 1.2.10beta5 [April 16, 2006]
  Added a configure check for compiling assembler code in pnggccrd.c

version 1.2.10beta6 [April 17, 2006]
  Revised the configure check for pnggccrd.c
  Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
  Added @LIBPNG_DEFINES@ to arguments when building libpng.sym

version 1.2.10beta7 [April 18, 2006]
  Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.

version 1.2.10rc1 [April 19, 2006]
  Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
  Fixed "LN_FS" typo in makefile.sco and makefile.solaris.

version 1.2.10rc2 [April 19, 2006]
  Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
    in configure.ac
  Made the configure warning about versioned symbols less arrogant.

version 1.2.10rc3 [April 20, 2006]
  Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
    writing an embedded PNG without the 8-byte signature.

version 1.4.0beta1 [April 20, 2006]
  Enabled iTXt support (changes png_struct, thus requires so-number change).
  Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
  Eliminated PNG_1_0_X and PNG_1_2_X macros.
  Removed deprecated functions png_read_init, png_write_init, png_info_init,
    png_permit_empty_plte, png_set_gray_1_2_4_to_8, and removed the
    deprecated macro PNG_MAX_UINT.
  Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
  Removed many WIN32_WCE #ifdefs (Cosmin).
  Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
  Replaced sprintf() with png_sprintf() (Simon-Pierre)

version 1.4.0beta2 [April 20, 2006]
  Revised makefiles to avoid making links to libpng.so.*
  Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
  Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
  Updated scripts/pngw32.def to comment out MMX functions.

version 1.2.11beta1 [May 31, 2006]
  scripts/libpng.pc.in contained "configure" style version info and would
    not work with makefiles.
  The shared-library makefiles were linking to libpng.so.0 instead of
    libpng.so.3 compatibility as the library.

version 1.4.0beta3 [May 10, 2006]
  Updated scripts/pngw32.def to comment out MMX functions.
  Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
  Revised pngconf.h and added pngconf.h.in so makefiles and configure can
    pass defines to libpng and applications.

version 1.4.0beta4 [May 11, 2006]
  Revised configure.ac, Makefile.am, and many of the makefiles to write
    their defines in pngconf.h.

version 1.4.0beta5 [May 15, 2006]
  Added a missing semicolon in Makefile.am and Makefile.in
  Deleted extraneous square brackets from configure.ac

version 1.2.11beta2 [June 2, 2006]
  Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
    buffer overflow.
  Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb))

version 1.4.0beta6 [June 2, 2006]
  Changed sonum from 0 to 1.
  Removed unused prototype for png_check_sig() from png.h

version 1.2.11beta3 [June 5, 2006]
  Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
  Removed the accidental leftover Makefile.in~ (Cosmin).
  Avoided potential buffer overflow and optimized buffer in
    png_write_sCAL(), png_write_sCAL_s() (Cosmin).
  Removed the include directories and libraries from CFLAGS and LDFLAGS
    in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).

version 1.2.11beta4 [June 6, 2006]
  Allow zero-length IDAT chunks after the entire zlib datastream, but not
    after another intervening chunk type.

version 1.2.11rc2 [June 14, 2006]
  Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
  Revised INSTALL and autogen.sh
  Fixed typo in several makefiles (-W1 should be -Wl)

version 1.2.11rc3 [June 15, 2006]
  Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
    reading out of bounds.

version 1.4.0beta7 [June 16, 2006]
  Exported png_write_sig (Cosmin).
  Optimized buffer in png_handle_cHRM() (Cosmin).
  Set pHYs = 2835 x 2835 pixels per meter, and added
    sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
  Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
  Added typedef for png_int_32 and png_uint_32 on 64-bit systems.

version 1.4.0beta8 [June 21, 2006]
  Added demonstration of user chunk support in pngtest.c, to support the
    public sTER chunk and a private vpAg chunk.

version 1.4.0beta9 [July 3, 2006]
  Removed ordinals from scripts/pngw32.def and removed png_info_int and
    png_set_gray_1_2_4_to_8 entries.
  Inline call of png_get_uint_32() in png_get_uint_31().
  Use png_get_uint_31() to get vpAg width and height in pngtest.c
  Removed WINCE and Netware projects.
  Removed standalone Y2KINFO file.

version 1.4.0beta10 [July 12, 2006]
  Added "all: pngconf.h.in pngconf.h" target to Makefile.am

version 1.4.0beta11 [August 19, 2006]
  Removed AC_FUNC_MALLOC from configure.ac.
  Added a warning when writing iCCP profile with mismatched profile length.
  Patched pnggccrd.c to assemble on x86_64 platforms.
  Moved chunk header reading into a separate function png_read_chunk_header()
    in pngrutil.c.  The chunk header (len+sig) is now serialized in a single
    operation (Cosmin).
  Implemented support for I/O states. Added png_ptr member io_state, and
    functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
    (Cosmin).
  Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
  Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
  Removed the include directories and libraries from CFLAGS and LDFLAGS
    in scripts/makefile.gcc (Cosmin).
  Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
  Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
  Added pngintrn.h to the Visual C++ projects (Cosmin).
  Removed scripts/list (Cosmin).
  Updated copyright year in scripts/pngwin.def (Cosmin).
  Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
  Disallowed the user to redefine png_size_t, and enforced a consistent use
    of png_size_t across libpng (Cosmin).
  Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
    to png_size_t (Cosmin).
  Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
  Removed some unnecessary type casts (Cosmin).
  Changed prototype of png_get_compression_buffer_size() and
    png_set_compression_buffer_size() to work with png_size_t instead of
    png_uint_32 (Cosmin).
  Removed png_memcpy_check() and png_memset_check() (Cosmin).
  Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
  Clarified that png_zalloc() does not clear the allocated memory,
    and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
  Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
    pngconf.h, and used it in all memory allocation functions (Cosmin).
  Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
    mentioning that the symbols declared in that file are private, and
    updated the scripts and the Visual C++ projects accordingly (Cosmin).
  Removed circular references between pngconf.h and pngconf.h.in in
    scripts/makefile.vc*win32 (Cosmin).
  Removing trailing '.' from the warning and error messages (Cosmin).
  Added pngdefs.h that is built by makefile or configure, instead of
    pngconf.h.in (Glenn).

version 1.4.0beta12 [October 19, 2006]
  Changed "logical" to "bitwise" in the documentation.
  Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
  Add a typecast to stifle compiler warning in pngrutil.c

version 1.4.0beta13 [November 8, 2006]
  Fix potential buffer overflow in sPLT chunk handler.
  Fix Makefile.am to not try to link to noexistent files.
  Fix pngerror.c to not use NULL png_ptr.

version 1.4.0betaN [future]
  Build shared libraries with -lz and sometimes -lm.

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
