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