Libpng 1.0.51 - December 3, 2009 This is a public release of libpng, intended for use in production codes. Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script libpng-1.0.51.tar.xz (LZMA-compressed, recommended) libpng-1.0.51.tar.gz libpng-1.0.51.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script libpng-1.0.51-no-config.tar.xz (LZMA-compressed, recommended) libpng-1.0.51-no-config.tar.gz libpng-1.0.51-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script lpng1051.zip lpng1051.7z lpng1051.tar.bz2 Project files libpng-1.0.51-project-netware.zip libpng-1.0.51-project-wince.zip Other information: libpng-1.0.51-README.txt libpng-1.0.51-KNOWNBUGS.txt libpng-1.0.51-LICENSE.txt libpng-1.0.51-Y2K-compliance.txt Changes since the last public release (1.0.50): version 1.0.51 [December 3, 2009] Moved redundant IHDR checking into new png_check_IHDR() in png.c and report all errors found in the IHDR data. Eliminated useless call to png_check_cHRM() from pngset.c Expanded TAB characters in pngrtran.c Added "xcode" project similar one already in libpng-1.4.0beta (Alam Arias). Eliminated a shadowed declaration of "pp" in png_handle_sPLT(). Revised pngconf.h to make it easier to enable iTXt support. From libpng version 1.2.9 through 1.2.40, defining PNG_iTXt_SUPPORTED did not work as expected. Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h Changed many "#if defined(x)" to "#ifdef x" and fixed some indentation. Added png_calloc() as a non-exported function. Relocated png_do_chop() ahead of building gamma tables in pngrtran.c This avoids building 16-bit gamma tables unnecessarily. Removed a harmless extra png_set_invert_alpha() from pngwrite.c Bugfixes and improvements to CMakeLists.txt (Philip Lowman) Moved CMakeLists.txt from scripts into the main libpng directory. Patched ltmain.sh for wince support. Added PNG_CONVERT_tIME_SUPPORTED macro. Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED Updated scripts/pngw32.def and projects/wince/png32ce.def Copied projects/wince/png32ce.def to the scripts directory. Added scripts/makefile.cegcc Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and PNG_ALLOCATED macros to detect deprecated direct access to the png_struct or info_struct members and other deprecated usage in applications (John Bowler). Removed three direct references to read_info_ptr members in pngtest.c that were detected by the new PNG_DEPSTRUCT macro. Marked deprecated function prototypes with PNG_DEPRECATED. Marked memory allocation function prototypes with PNG_ALLOCATED. Changed png_check_sig() to !png_sig_cmp() in contrib programs. Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c Marked nonexported functions with PNG_PRIVATE macro. Revised scripts/*.def to reflect functions actually exported by libpng. Updated the copyright year in scripts/pngw32.rc from 2004 to 2009. Moved descriptions of makefiles and other scripts out of INSTALL into scripts/README.txt Rebuilt the configure scripts with autoconf-2.65 Disabled the new pedantic warnings about deprecated function use and deprecated structure access unless the user defines PNG_PEDANTIC_WARNINGS. Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files. Updated the list of files and made some cosmetic changes in README. 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