src/3rdparty/libpng/CHANGES
changeset 30 5dc02b23752f
parent 0 1918ee327afb
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
     1 /*
     1 #if 0
       
     2 libpng_changes(){ /*
     2 CHANGES - changes for libpng
     3 CHANGES - changes for libpng
     3 
     4 
     4 version 0.2
     5 version 0.2
     5   added reader into png.h
     6   added reader into png.h
     6   fixed small problems in stub file
     7   fixed small problems in stub file
   537 version 1.0.5d [November 29, 1999]
   538 version 1.0.5d [November 29, 1999]
   538   Add type cast (png_const_charp) two places in png.c
   539   Add type cast (png_const_charp) two places in png.c
   539   Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
   540   Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
   540   Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
   541   Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
   541     to applications a macro "PNG_USE_LOCAL_ARRAYS".
   542     to applications a macro "PNG_USE_LOCAL_ARRAYS".
   542   Remove all the new declarations with #ifdef/#endif when
   543   comment out (with #ifdef) all the new declarations when
   543     PNG_USE_GLOBAL_ARRAYS is defined.
   544     PNG_USE_GLOBAL_ARRAYS is defined.
   544   Added PNG_EXPORT_VAR macro to accommodate making DLL's.
   545   Added PNG_EXPORT_VAR macro to accommodate making DLL's.
   545 version 1.0.5e [November 30, 1999]
   546 version 1.0.5e [November 30, 1999]
   546   Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
   547   Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
   547     structure; refactored the inflate/deflate support to make adding new chunks
   548     structure; refactored the inflate/deflate support to make adding new chunks
  1299   Revised Borland portion of png_malloc() to return NULL or issue
  1300   Revised Borland portion of png_malloc() to return NULL or issue
  1300     png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
  1301     png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
  1301   Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
  1302   Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
  1302     sequential read support.
  1303     sequential read support.
  1303   Added some "#if PNG_WRITE_SUPPORTED" blocks.
  1304   Added some "#if PNG_WRITE_SUPPORTED" blocks.
  1304   Removed some redundancy with #ifdef/#endif in png_malloc_default().
  1305   Added #ifdef to remove some redundancy in png_malloc_default().
  1305   Use png_malloc instead of png_zalloc to allocate the pallete.
  1306   Use png_malloc instead of png_zalloc to allocate the pallete.
  1306 version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
  1307 version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
  1307   Fixed buffer overflow vulnerability in png_handle_tRNS()
  1308   Fixed buffer overflow vulnerability in png_handle_tRNS()
  1308   Fixed integer arithmetic overflow vulnerability in png_read_png().
  1309   Fixed integer arithmetic overflow vulnerability in png_read_png().
  1309   Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
  1310   Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
  1369 version 1.2.8beta1 [November 1, 2004]
  1370 version 1.2.8beta1 [November 1, 2004]
  1370   Fixed bug in png_text_compress() that would fail to complete a large block.
  1371   Fixed bug in png_text_compress() that would fail to complete a large block.
  1371   Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
  1372   Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
  1372     strip alpha operation in png_do_strip_filler().
  1373     strip alpha operation in png_do_strip_filler().
  1373   Added PNG_1_2_X definition in pngconf.h
  1374   Added PNG_1_2_X definition in pngconf.h
  1374   Comment out with #ifdef/#endif png_info_init in png.c and png_read_init
  1375   Use #ifdef to comment out png_info_init in png.c and png_read_init in
  1375     in pngread.c (as of 1.3.0)
  1376     pngread.c (as of 1.3.0)
  1376 version 1.2.8beta2 [November 2, 2004]
  1377 version 1.2.8beta2 [November 2, 2004]
  1377   Reduce color_type to a nonalpha type after strip alpha operation in
  1378   Reduce color_type to a nonalpha type after strip alpha operation in
  1378     png_do_strip_filler().
  1379     png_do_strip_filler().
  1379 version 1.2.8beta3 [November 3, 2004]
  1380 version 1.2.8beta3 [November 3, 2004]
  1380   Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
  1381   Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
  1669 version 1.2.15rc2 [December 21, 2006]
  1670 version 1.2.15rc2 [December 21, 2006]
  1670   Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
  1671   Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
  1671   Added scripts/makefile.nommx
  1672   Added scripts/makefile.nommx
  1672 
  1673 
  1673 version 1.2.15rc3 [December 25, 2006]
  1674 version 1.2.15rc3 [December 25, 2006]
  1674   Fixed shared library numbering error that was introduced in 1.2.15beta6.
  1675   Fixed shared library numbering error that was intruduced in 1.2.15beta6.
  1675 
  1676 
  1676 version 1.2.15rc4 [December 27, 2006]
  1677 version 1.2.15rc4 [December 27, 2006]
  1677   Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
  1678   Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
  1678 
  1679 
  1679 version 1.2.15rc5 [December 31, 2006]
  1680 version 1.2.15rc5 [December 31, 2006]
  1680   Revised handling of rgb_to_gray.
  1681   Revised handling of rgb_to_gray.
  1681 
  1682 
  1682 version 1.0.23, 1.2.15 [January 5, 2007]
  1683 version 1.2.15 [January 5, 2007]
  1683   Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
  1684   Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
  1684 
  1685 
  1685 version 1.2.16beta1 [January 6, 2007]
  1686 version 1.2.16beta1 [January 6, 2007]
  1686   Fix bugs in makefile.nommx
  1687   Fix bugs in makefile.nommx
  1687 
  1688 
  1688 version 1.2.16beta2 [January 16, 2007]
  1689 version 1.2.16beta2 [January 16, 2007]
  1689   Revised scripts/CMakeLists.txt
  1690   Revised scripts/CMakeLists.txt
  1690 
  1691 
  1691 version 1.0.24, 1.2.16 [January 31, 2007]
  1692 version 1.2.16 [January 31, 2007]
  1692   No changes.
  1693   No changes.
  1693 
  1694 
  1694 version 1.2.17beta1 [March 6, 2007]
  1695 version 1.2.17beta1 [March 6, 2007]
  1695   Revised scripts/CMakeLists.txt to install both shared and static libraries.
  1696   Revised scripts/CMakeLists.txt to install both shared and static libraries.
  1696   Deleted a redundant line from pngset.c.
  1697   Deleted a redundant line from pngset.c.
  1757   Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
  1758   Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
  1758   Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
  1759   Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
  1759 
  1760 
  1760 version 1.2.19beta7 [May 22, 2007]
  1761 version 1.2.19beta7 [May 22, 2007]
  1761   Squelched png_squelch_warnings() in pnggccrd.c and added
  1762   Squelched png_squelch_warnings() in pnggccrd.c and added
  1762     an #ifdef PNG_MMX_CODE_SUPPORTED/#endif block around the declarations
  1763     an #ifdef PNG_MMX_CODE_SUPPORTED block around the declarations that caused
  1763     that caused the warnings that png_squelch_warnings was squelching.
  1764     the warnings that png_squelch_warnings was squelching.
  1764 
  1765 
  1765 version 1.2.19beta8 [May 22, 2007]
  1766 version 1.2.19beta8 [May 22, 2007]
  1766   Removed __MMX__ from test in pngconf.h.
  1767   Removed __MMX__ from test in pngconf.h.
  1767 
  1768 
  1768 version 1.2.19beta9 [May 23, 2007]
  1769 version 1.2.19beta9 [May 23, 2007]
  1771   Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
  1772   Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
  1772 
  1773 
  1773 version 1.2.19beta10 [May 24, 2007]
  1774 version 1.2.19beta10 [May 24, 2007]
  1774   Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
  1775   Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
  1775 
  1776 
  1776 version 1.2.19beta11 [May 28, 2007]
  1777 version 1.4.0beta1 [April 20, 2006]
  1777   Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
  1778   Enabled iTXt support (changes png_struct, thus requires so-number change).
  1778     changed three remaining instances of png_strcpy() to png_strncpy() (David
  1779   Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
  1779     Hill).
  1780   Eliminated PNG_1_0_X and PNG_1_2_X macros.
  1780   Make test for NULL row_buf at the beginning of png_do_read_transformations
  1781   Removed deprecated functions png_read_init, png_write_init, png_info_init,
  1781     unconditional.
  1782     png_permit_empty_plte, png_set_gray_1_2_4_to_8, png_check_sig, and
  1782 
  1783     removed the deprecated macro PNG_MAX_UINT.
  1783 version 1.2.19beta12 [May 28, 2007]
  1784   Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
  1784   Revised pnggccrd.c.
  1785   Removed many WIN32_WCE #ifdefs (Cosmin).
  1785 
  1786   Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
  1786 version 1.2.19beta13 [June 14, 2007]
  1787   Replaced sprintf() with png_sprintf() (Simon-Pierre)
  1787   Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
  1788 
  1788 
  1789 version 1.4.0beta2 [April 20, 2006]
  1789 version 1.2.19beta14 [June 16, 2007]
  1790   Revised makefiles and configure to avoid making links to libpng.so.*
  1790   Fix bug with handling of 16-bit transparency, introduced in 1.2.19beta2
  1791   Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
  1791 
  1792   Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
  1792 version 1.2.19beta15 [June 17, 2007]
  1793 
  1793   Revised pnggccrd.c.
  1794 version 1.4.0beta3 [May 10, 2006]
  1794 
  1795   Updated scripts/pngw32.def to comment out MMX functions.
  1795 version 1.2.19beta16 [June 18, 2007]
  1796   Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
  1796   Revised pnggccrd.c again.
  1797   Scripts/libpng.pc.in contained "configure" style version info and would
  1797   Updated contrib/gregbook.
  1798     not work with makefiles.
  1798   Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"'
  1799   Revised pngconf.h and added pngconf.h.in, so makefiles and configure can
  1799     in configure.ac
  1800     pass defines to libpng and applications.
  1800 
  1801 
  1801 version 1.2.19beta17 [June 19, 2007]
  1802 version 1.4.0beta4 [May 11, 2006]
  1802   Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed
  1803   Revised configure.ac, Makefile.am, and many of the makefiles to write
  1803     and to not use -O3 unless -DPNG_NO_MMX_CODE is also set.
  1804     their defines in pngconf.h.
  1804 
  1805 
  1805 version 1.2.19beta18 [June 23, 2007]
  1806 version 1.4.0beta5 [May 15, 2006]
  1806   Replaced some C++ style comments with C style comments in pnggccrd.c.
  1807   Added a missing semicolon in Makefile.am and Makefile.in
  1807   Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency
  1808   Deleted extraneous square brackets from configure.ac
  1808     on pnggccrd.o from many makefiles.
  1809 
  1809   Added sl and dylib to list of extensions be installed by Makefile.am
  1810 version 1.4.0beta6 [June 2, 2006]
  1810 
  1811   Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
  1811 version 1.2.19beta19 [June 28, 2007]
  1812     buffer overflow.
  1812   Fixed testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN in pngrtran.c
  1813   Changed sonum from 0 to 1.
  1813   More cleanup of pnggccrd.c and pngvcrd.c
  1814   Removed unused prototype for png_check_sig() from png.h
  1814 
  1815 
  1815 version 1.2.19beta20 [June 29, 2007]
  1816 version 1.4.0beta7 [June 16, 2006]
  1816   Rebuilt Makefile.in and configure using libtool-1.5.24.
  1817   Exported png_write_sig (Cosmin).
  1817   Fixed typo in pnggccrd.c
  1818   Optimized buffer in png_handle_cHRM() (Cosmin).
  1818 
  1819   Set pHYs = 2835 x 2835 pixels per meter, and added
  1819 version 1.2.19beta21 [June 30, 2007]
  1820     sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
  1820   More revision of pnggccrd.c
  1821   Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
  1821   Added "test" target to Makefile.in and Makefile.am
  1822   Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
  1822 
  1823   Added "(unsigned long)" typecast on png_uint_32 variables in printf lists.
  1823 version 1.2.19beta22 [July 3, 2007]
  1824 
  1824   Added info about pngrutil/pnggccrd/pngvcrd to png_get_header_version()
  1825 version 1.4.0beta8 [June 22, 2006]
  1825   Fix type definition of dummy_value_a, b in pnggccrd.c
  1826   Added demonstration of user chunk support in pngtest.c, to support the
  1826 
  1827     public sTER chunk and a private vpAg chunk.
  1827 version 1.2.19beta23 [July 10, 2007]
  1828 
  1828   Revert change to type definition of dummy_value_a, b in pnggccrd.c
  1829 version 1.4.0beta9 [July 3, 2006]
  1829   Make sure __PIC__ is defined in pnggccrd.c when PIC is defined.
  1830   Removed ordinals from scripts/pngw32.def and removed png_info_int and
  1830   Require gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW on x86_64 platforms
  1831     png_set_gray_1_2_4_to_8 entries.
  1831 
  1832   Inline call of png_get_uint_32() in png_get_uint_31().
  1832 version 1.2.19beta24 [July 14, 2007]
  1833   Use png_get_uint_31() to get vpAg width and height in pngtest.c
  1833   Added PNG_NO_READ_FILTER, PNG_NO_WRITE_FILTER, PNG_NO_WARNING macros.
  1834   Removed WINCE and Netware projects.
  1834   Added contrib/pngminim to demonstrate building minimal encoder and decoder
  1835   Removed standalone Y2KINFO file.
  1835 
  1836 
  1836 version 1.2.19beta25 [July 15, 2007]
  1837 version 1.4.0beta10 [July 12, 2006]
  1837   Removed the new PNG_NO_READ_FILTER macro since it would make the library
  1838   Eliminated automatic copy of pngconf.h to pngconf.h.in from configure and
  1838     unable to read valid PNG files, and filtering is at the heart of the
  1839     some makefiles, because it was not working reliably.  Instead, distribute
  1839     PNG format.
  1840     pngconf.h.in along with pngconf.h and cause configure and some of the
  1840 
  1841     makefiles to update pngconf.h from pngconf.h.in.
  1841 version 1.2.19beta26 [July 16, 2007]
  1842   Added pngconf.h to DEPENDENCIES in Makefile.am
  1842   Changed "png_free(str)" to "png_free(png_ptr,str)" in pngrutil.c WinCE
  1843 
  1843     code (Yves Piguet).  This bug was introduced in libpng-1.2.14.
  1844 version 1.4.0beta11 [August 19, 2006]
  1844   Updated scripts/CMakeLists.txt
  1845   Removed AC_FUNC_MALLOC from configure.ac.
  1845   Relocated a misplaced #endif in pnggccrd.c
  1846   Added a warning when writing iCCP profile with mismatched profile length.
  1846 
  1847   Patched pnggccrd.c to assemble on x86_64 platforms.
  1847 version 1.2.19beta27 [July 17, 2007]
  1848   Moved chunk header reading into a separate function png_read_chunk_header()
  1848   Fixed incorrect stride and number of bytes copied (was 4 instead of
  1849     in pngrutil.c.  The chunk header (len+sig) is now serialized in a single
  1849     6 bytes) in the cleanup loop of pnggccrd.c and pngvcrd.c for handling
  1850     operation (Cosmin).
  1850     the end of 48-bit interlaced rows (Glenn R-P).
  1851   Implemented support for I/O states. Added png_ptr member io_state, and
  1851 
  1852     functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
  1852 version 1.2.19beta28 [July 19, 2007]
  1853     (Cosmin).
  1853   Removed requirement for gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW
  1854   Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
  1854     on x86_64 platforms
  1855   Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
  1855   Added png_warning() in pngrutil.c for short iCCP, iTXt, sPLT, or zTXT chunks.
  1856   Removed the include directories and libraries from CFLAGS and LDFLAGS
  1856   Revised pngtest.c so warnings are displayed regardless of PNG_NO_STDIO.
  1857     in scripts/makefile.gcc (Cosmin).
  1857 
  1858   Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
  1858 version 1.2.19beta29 [July 20, 2007]
  1859   Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
  1859   Fix typo in pnggccrd.c (%%eax should be %%ax in secondloop48)
  1860   Added pngintrn.h to the Visual C++ projects (Cosmin).
  1860 
  1861   Removed scripts/list (Cosmin).
  1861 version 1.2.19beta30 [July 26, 2007]
  1862   Updated copyright year in scripts/pngwin.def (Cosmin).
  1862   Revised pnggccrd.c
  1863   Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
  1863 
  1864   Disallowed the user to redefine png_size_t, and enforced a consistent use
  1864 version 1.2.19beta31 [July 27, 2007]
  1865     of png_size_t across libpng (Cosmin).
  1865   Fix typos in pnggccrd.c
  1866   Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
  1866 
  1867     to png_size_t (Cosmin).
  1867 version 1.0.27rc1 and 1.2.19rc1 [July 31, 2007]
  1868   Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
  1868   Disable PNG_MMX_CODE_SUPPORTED when PNG_ASSEMBLER_CODE_SUPPORTED is off.
  1869   Removed some unnecessary type casts (Cosmin).
  1869   Enable PNG_MMX_READ_FILTER_* by default, except when gcc-3.x is being
  1870   Changed prototype of png_get_compression_buffer_size() and
  1870     used (they were inadvertently disabled in libpng-1.2.19beta23).
  1871     png_set_compression_buffer_size() to work with png_size_t instead of
  1871   Fix some debugging statements in pnggccrd.c and pngrutil.c
  1872     png_uint_32 (Cosmin).
  1872   Added information about disabling the MMX code in libpng documentation.
  1873   Removed png_memcpy_check() and png_memset_check() (Cosmin).
  1873 
  1874   Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
  1874 version 1.0.27rc2 and 1.2.19rc2 [August 4, 2007]
  1875   Clarified that png_zalloc() does not clear the allocated memory,
  1875   Removed some "#if 0" blocks.
  1876     and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
  1876   Made a global struct local in pngvcrd.c to make it thread safe.
  1877   Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
  1877   Issue a png_error() if application attempts to transform a row tht
  1878     pngconf.h, and used it in all memory allocation functions (Cosmin).
  1878     has not been initialized.
  1879   Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
  1879 
  1880     mentioning that the symbols declared in that file are private, and
  1880 version 1.0.27rc3 and 1.2.19rc3 [August 9, 2007]
  1881     updated the scripts and the Visual C++ projects accordingly (Cosmin).
  1881   Slightly revised pngvcrd.c
  1882   Removed circular references between pngconf.h and pngconf.h.in in
  1882 
  1883     scripts/makefile.vc*win32 (Cosmin).
  1883 version 1.0.27rc4 and 1.2.19rc4 [August 9, 2007]
  1884   Removing trailing '.' from the warning and error messages (Cosmin).
  1884   Revised pnggccrd.c debugging change of rc1, which was broken.
  1885   Added pngdefs.h that is built by makefile or configure, instead of
       
  1886     pngconf.h.in (Glenn).
       
  1887   Detect and fix attempt to write wrong iCCP profile length.
       
  1888 
       
  1889 version 1.4.0beta12 [October 19, 2006]
       
  1890   Changed "logical" to "bitwise" in the documentation.
       
  1891   Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
       
  1892   Add a typecast to stifle compiler warning in pngrutil.c
       
  1893 
       
  1894 version 1.4.0beta13 [November 10, 2006]
       
  1895   Fix potential buffer overflow in sPLT chunk handler.
       
  1896   Fix Makefile.am to not try to link to noexistent files.
       
  1897 
       
  1898 version 1.4.0beta14 [November 15, 2006]
       
  1899   Check all exported functions for NULL png_ptr.
       
  1900 
       
  1901 version 1.4.0beta15 [November 17, 2006]
       
  1902   Relocated two misplaced tests for NULL png_ptr.
       
  1903   Built Makefile.in with automake-1.9.6 instead of 1.9.2.
       
  1904   Build configure with autoconf-2.60 instead of 2.59
       
  1905   Add "install: all" in Makefile.am so "configure; make install" will work.
       
  1906 
       
  1907 version 1.4.0beta16 [November 17, 2006]
       
  1908   Added a typecast in png_zalloc().
       
  1909 
       
  1910 version 1.4.0beta17 [December 4, 2006]
       
  1911   Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
       
  1912   Add "png_bytep" typecast to profile while calculating length in pngwutil.c
       
  1913 
       
  1914 version 1.4.0beta18 [December 7, 2006]
       
  1915   Added scripts/CMakeLists.txt
       
  1916 
       
  1917 version 1.4.0beta19 [May 16, 2007]
  1885   Revised scripts/CMakeLists.txt
  1918   Revised scripts/CMakeLists.txt
  1886   Change default to PNG_NO_GLOBAL_ARRAYS for MSVC.
  1919   Rebuilt configure and Makefile.in with newer tools.
  1887   Turn off PNG_FLAG_ROW_INIT flag when setting transforms that expand pixels.
  1920   Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
  1888 
  1921   Added scripts/makefile.nommx
  1889 version 1.0.27rc5 and 1.2.19rc5 [August 10, 2007]
  1922 
  1890   Fix typo (missing '"') in pnggccrd.c
  1923 version 1.4.0beta20 [July 9, 2008]
  1891   Revise handling of png_strtod in recent versions of WINCE
  1924   Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
  1892 
  1925     calling set_unknown_chunk_location() need them.
  1893 version 1.0.27rc6 and 1.2.19rc6 [August 15, 2007]
  1926   Moved several macro definitions from pngpriv.h to pngconf.h
  1894   Fix typo (missing ',') in contrib/gregbook/readpng2.c
  1927   Merge with changes to the 1.2.X branch, as of 1.2.30beta04.
  1895   Undid row initialization error exit added to rc2 and rc4.
  1928   Deleted all use of the MMX assembler code and Intel-licensed optimizations.
  1896 
  1929   Revised makefile.mingw
  1897 version 1.0.27 and 1.2.19 [August 18, 2007]
  1930 
  1898   Conditionally restored row initialization error exit.
  1931 version 1.4.0beta21 [July 21, 2008]
  1899 
       
  1900 version 1.2.20beta01 [August 19, 2007]
       
  1901   Fixed problem with compiling pnggccrd.c on Intel-Apple platforms.
       
  1902   Changed png_malloc() to png_malloc_warn() in png_set_sPLT().
       
  1903   Added PNG_NO_ERROR_TEXT feature, with demo in contrib/pngminim
       
  1904   Removed define PNG_WARN_UNINITIALIZED_ROW 1 /* 0: warning; 1: error */
       
  1905     because it caused some trouble.
       
  1906 
       
  1907 version 1.2.20beta02 [August 20, 2007]
       
  1908   Avoid compiling pnggccrd.c on Intel-Apple platforms.
       
  1909 
       
  1910 version 1.2.20beta03 [August 20, 2007]
       
  1911   Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
       
  1912     and visualc71.
       
  1913 
       
  1914 version 1.2.20beta04 [August 21, 2007]
       
  1915   Revised pngvcrd.c for improved efficiency (Steve Snyder).
       
  1916 
       
  1917 version 1.2.20rc1 [August 23, 2007]
       
  1918   Revised pngconf.h to set PNG_NO_MMX_CODE for gcc-3.x compilers.
       
  1919 
       
  1920 version 1.2.20rc2 [August 27, 2007]
       
  1921   Revised scripts/CMakeLists.txt
       
  1922   Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
       
  1923     or part of pngrutil.c is selected.
       
  1924 
       
  1925 version 1.2.20rc3 [August 30, 2007]
       
  1926   Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
       
  1927   Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
       
  1928   Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
       
  1929   Restored a "superfluous" #ifdef that was removed from 1.2.20rc2 pnggccrd.c,
       
  1930     breaking the png_mmx_support() function.
       
  1931 
       
  1932 version 1.2.20rc4 [September 1, 2007]
       
  1933   Removed Intel contributions (MMX, Optimized C).
       
  1934 
       
  1935 version 1.2.20rc5 [September 2, 2007]
       
  1936   Restored configure and Makefile.in to rc3 and put a snippet of code in
       
  1937     pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
       
  1938 
       
  1939 version 1.2.20rc6 [September 2, 2007]
       
  1940   Fixed bugs in scripts/CMakeLists.txt
       
  1941   Removed pngvcrd.c references from msvc projects.
       
  1942 
       
  1943 version 1.0.28 and 1.2.20 [September 8, 2007]
       
  1944   Removed "(NO READ SUPPORT)" from png_get_header_version() string.
       
  1945 
       
  1946 version 1.2.21beta1 [September 14, 2007]
       
  1947   Fixed various mistakes reported by George Cook and Jeff Phillips:
       
  1948   logical vs bitwise NOT in pngrtran.c, bug introduced in 1.2.19rc2
       
  1949   16-bit cheap transparency expansion, bug introduced in 1.2.19beta2
       
  1950   errors with sizeof(unknown_chunk.name), bugs introduced in 1.2.19beta11
       
  1951   <= compare with unsigned var in pngset.c, should be ==.
       
  1952 
       
  1953 version 1.2.21beta2 [September 18, 2007]
       
  1954   Removed some extraneous typecasts.
       
  1955 
       
  1956 version 1.2.21rc1 [September 25, 2007]
       
  1957   Fixed potential out-of-bounds reads in png_handle_pCAL() and
       
  1958     png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
       
  1959 
       
  1960 version 1.2.21rc2 [September 26, 2007]
       
  1961   Fixed potential out-of-bounds reads in png_handle_sCAL(),
       
  1962     png_handle_iTXt(), and png_push_read_tEXt().
       
  1963   Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
       
  1964   Revised makefiles to update paths in libpng.pc properly.
       
  1965 
       
  1966 version 1.2.21rc3 [September 27, 2007]
       
  1967   Revised makefiles to update "Libs" in libpng.pc properly.
       
  1968 
       
  1969 version 1.0.29 and 1.2.21rc3 [October 4, 2007]
       
  1970   No changes.
       
  1971 
       
  1972 version 1.2.22beta1 [October 4, 2007]
       
  1973   Again, fixed logical vs bitwise NOT in pngrtran.c, bug introduced
       
  1974     in 1.2.19rc2
       
  1975 
       
  1976 version 1.2.22beta2 [October 5, 2007]
       
  1977   Fixed string length error in pngset.c (caused crashes while decoding iCCP)
       
  1978   Add terminating NULL after each instance of png_strncpy().
       
  1979 
       
  1980 version 1.2.22beta3 [October 6, 2007]
       
  1981   Fix two off-by-one terminating NULL after png_strncpy().
       
  1982 
       
  1983 version 1.2.22beta4 [October 7, 2007]
       
  1984   Changed some 0 to '\0'.
       
  1985 
       
  1986 version 1.0.30rc1 and 1.2.22rc1 [October 8, 2007]
       
  1987   No changes.
       
  1988 
       
  1989 version 1.0.30 and 1.2.22 [October 13, 2007]
       
  1990   No changes.
       
  1991 
       
  1992 version 1.2.23beta01 [October 15, 2007]
       
  1993   Reduced number of invocations of png_strlen() in pngset.c.
       
  1994   Changed [azAZ09_] to [_abcde...89] in Makefile.am for better localization.
       
  1995 
       
  1996 version 1.2.23beta02 [October 16, 2007]
       
  1997   Eliminated png_strncpy() and png_strcpy() (Pierre Poissinger)
       
  1998   Changed $AN to $(AN) in Makefile.am.
       
  1999 
       
  2000 version 1.2.23beta03 [October 16, 2007]
       
  2001   Fixed off-by-one error in pngset.c
       
  2002   Restore statement to set last character of buffer to \0 in pngerror.c
       
  2003 
       
  2004 version 1.2.23beta04 [October 23, 2007]
       
  2005   Reject attempt to set all-zero cHRM values.
       
  2006 
       
  2007 version 1.2.23beta05 [October 26, 2007]
       
  2008   Add missing quotes in projects/visualc6, lost in version 1.2.20rc3
       
  2009 
       
  2010 version 1.2.23rc01 [November 2, 2007]
       
  2011   No changes.
       
  2012 
       
  2013 version 1.2.23 [November 6, 2007]
       
  2014   No changes.
       
  2015 
       
  2016 version 1.2.24beta01 [November 19, 2007]
       
  2017   Moved misplaced test for malloc failure in png_set_sPLT().  This bug was
       
  2018     introduced in libpng-1.2.20beta01.
       
  2019   Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
       
  2020   Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
       
  2021     when png_ptr is NULL (Marshall Clow).
       
  2022   Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
       
  2023     Frysinger).
       
  2024 
       
  2025 version 1.2.24beta02 [November 30, 2007]
       
  2026   Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
       
  2027     (David Hill).
       
  2028 
       
  2029 version 1.2.24rc01 [December 7, 2007]
       
  2030   No changes.
       
  2031 
       
  2032 version 1.2.24     [December 14, 2007]
       
  2033   Make sure not to redefine _BSD_SOURCE in pngconf.h
       
  2034   Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
       
  2035     unused files.
       
  2036 
       
  2037 version 1.2.25beta01 [January 7, 2008]
       
  2038   Fixed bug with unknown chunk handling, introduced in version 1.2.17rc2
       
  2039 
       
  2040 version 1.2.25beta02 [January 10, 2008]
       
  2041   Prevent gamma from being applied twice.
       
  2042 
       
  2043 version 1.2.25rc01 [January 17, 2008]
       
  2044   No changes.
       
  2045 
       
  2046 version 1.2.25beta03 [January 22, 2008]
       
  2047   Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
       
  2048   Check for info_ptr == NULL in png_read_info() and png_process_data().
       
  2049   Check for possible use of NULL user_png_ver[] in png_create_read_struct().
       
  2050   Change "if (swidth == NULL)" to "if (sheight == NULL)" in png_handle_sCAL
       
  2051     (bug introduced in libpng-1.2.4/1.0.13).
       
  2052   Return from png_destroy_read_struct() if png_ptr_ptr is NULL.
       
  2053   Fix overflow of "msg" in png_decompress_chunk().
       
  2054 
       
  2055 version 1.2.25beta04 [January 26, 2008]
       
  2056   Work around Coverity bug report by slightly refactoring
       
  2057     png_read_push_finish_row()
       
  2058 
       
  2059 version 1.2.25beta05 [January 31, 2008]
       
  2060   Added libpng-1.2.25beta05.tar.lzma to distribution.  Get the lzma codec
       
  2061     from <http://tukaani.org/lzma>.
       
  2062   Added lp1225b05.7z to distribution.  Get the 7-zip decoder from
       
  2063     from <http://www.7-zip.org>.
       
  2064   Fixed some broken links in the README file.
       
  2065 
       
  2066 version 1.2.25beta06 [February 6, 2008]
       
  2067   Refactored png_read_push_finish_row() again, trying to satisfy Coverity.
       
  2068   Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
       
  2069   clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
       
  2070   fixed potential NULL dereference of info_ptr in png_handle_bKGD();
       
  2071   fixed potential NULL dereference of user_png_ver[] in
       
  2072     png_create_write_struct_2(). (Coverity)
       
  2073 
       
  2074 version 1.2.25rc02 [February 10, 2008]
       
  2075   Reset png_ptr->pass in png_read_push_finish_row() before break.
       
  2076   Changed "pass" from png_byte to int.
       
  2077 
       
  2078 version 1.2.25 and 1.0.31 [February 18, 2008]
       
  2079   No changes.
       
  2080 
       
  2081 version 1.2.26beta01 [February 21, 2008]
       
  2082   Added missing "(" in pngmem.c.  Bug introduced in libpng-1.2.2/1.0.13
       
  2083 
       
  2084 version 1.2.26beta02 [March 12, 2008]
       
  2085   Refined error message returned from deflateInit2 in pngwutil.c
       
  2086   Check IHDR length in png_push_read_chunk() before saving it.
       
  2087 
       
  2088 version 1.2.26beta03 [March 16, 2008]
       
  2089   Revised contrib/gregbook to handle premature end-of-file and file
       
  2090     read errors correctly.
       
  2091 
       
  2092 version 1.2.26beta04 [March 18, 2008]
       
  2093   Free png_ptr->big_row_buf and png_ptr->prev_row before allocating
       
  2094     new copies in png_read_start_row().  Bug introduced in libpng-1.2.22.
       
  2095 
       
  2096 version 1.2.26beta05 [March 19, 2008]
       
  2097   Removed extra png_free() added in libpng-1.2.26beta04.
       
  2098 
       
  2099 version 1.2.26beta06 [March 19, 2008]
       
  2100   Avoid reallocating big_row_buf and prev_row when the size does not increase.
       
  2101 
       
  2102 version 1.2.26rc01 [March 26, 2008]
       
  2103   Ifdef out some code that is unused when interlacing is not supported.
       
  2104 
       
  2105 versions 1.0.32 and 1.2.26 [April 2, 2008]
       
  2106   No changes.
       
  2107 
       
  2108 version 1.2.27beta01 [April 12, 2008]
       
  2109   Fixed bug (introduced in libpng-1.0.5h) with handling zero-length
       
  2110     unknown chunks.
       
  2111   Added more information about png_set_keep_unknown_chunks() to the
       
  2112     documentation.
       
  2113   Reject tRNS chunk with out-of-range samples instead of masking off
       
  2114     the invalid high bits as done in since libpng-1.2.19beta5.
       
  2115 
       
  2116 version 1.2.27beta02 [April 13, 2008]
       
  2117   Revised documentation about unknown chunk and user chunk handling.
       
  2118   Keep tRNS chunk with out-of-range samples and issue a png_warning().
       
  2119 
       
  2120 version 1.2.27beta03 [April 14, 2008]
       
  2121   Added check for NULL ptr in TURBOC version of png_free_default().
       
  2122   Removed several unnecessary checks for NULL before calling png_free().
       
  2123   Revised png_set_tRNS() so that calling it twice removes and invalidates
       
  2124     the previous call.
       
  2125   Revised pngtest to check for out-of-range tRNS samples.
       
  2126 
       
  2127 version 1.2.27beta04 [April 18, 2008]
       
  2128   Added AC_LIBTOOL_WIN32_DLL to configure.ac
       
  2129   Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.62
       
  2130 
       
  2131 version 1.2.27beta05 [April 19, 2008]
       
  2132   Added MAINTAINERCLEANFILES variable to Makefile.am
       
  2133 
       
  2134 version 1.2.27beta06 [April 21, 2008]
       
  2135   Avoid changing color_type from GRAY to RGB by
       
  2136     png_set_expand_gray_1_2_4_to_8().
       
  2137 
       
  2138 version 1.2.27rc01 [April 23, 2008]
       
  2139   Fix broken URL for rfc2083 in png.5 and libpng-*.txt
       
  2140 
       
  2141 version 1.0.33 and 1.2.27 [April 30, 2008]
       
  2142   No changes.
       
  2143 
       
  2144 version 1.0.34 and 1.2.28 [April 30, 2008]
       
  2145   Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.61
       
  2146     due to backward incompatibilities.
       
  2147   Removed a stray object file from contrib/gregbook
       
  2148 
       
  2149 version 1.2.29beta01 [May 1, 2008]
       
  2150   Removed some stray *.diff and *.orig files
       
  2151 
       
  2152 version 1.2.29beta02 [May 1, 2008]
       
  2153   Reverted Makefile.in, aclocal.m4, and configure to the libpng-1.2.26
       
  2154     versions.
       
  2155 
       
  2156 version 1.2.29beta03 [May 2, 2008]
       
  2157   Added --force to autogen libtoolize options and --force-missing to
       
  2158     automake options.
       
  2159   Changed $(ECHO) to echo in Makefile.am and Makefile.in
       
  2160   Updated all configure files to autoconf-2.62
       
  2161   Comment out pnggcrd.c code with #ifdef/#endif if using MSC_VER
       
  2162 
       
  2163 version 1.2.29rc01 [May 4, 2008]
       
  2164   No changes.
       
  2165 
       
  2166 version 1.0.35 and 1.2.29 [May 8, 2008]
       
  2167   No changes.
       
  2168 
       
  2169 version 1.0.37 [May 9, 2008]
       
  2170   Updated Makefile.in and configure (omitted version 1.0.36).
       
  2171 
       
  2172 version 1.2.30beta01 [May 29, 2008]
       
  2173   Updated libpng.pc-configure.in and libpng-config.in per debian bug reports.
       
  2174 
       
  2175 version 1.2.30beta02 [June 25, 2008]
       
  2176   Restored png_flush(png_ptr) at the end of png_write_end(), that was
       
  2177     removed from libpng-1.0.9beta03.
       
  2178 
       
  2179 version 1.2.30beta03 [July 6, 2008]
       
  2180   Merged some cosmetic whitespace changes from libpng-1.4.0beta19.
       
  2181   Inline call of png_get_uint_32() in png_get_uint_31(), as in 1.4.0beta19.
       
  2182   Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
       
  2183   Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
       
  2184   Added new private function png_read_chunk_header() from 1.4.0beta19.
       
  2185   Merge reading of chunk length and chunk type into a single 8-byte read.
       
  2186   Merge writing of chunk length and chunk type into a single 8-byte write.
       
  2187 
       
  2188 version 1.2.30beta04 [July 10, 2008]
       
  2189   Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
       
  2190 
       
  2191 version 1.0.38rc01, 1.2.30rc01 [July 18, 2008]
       
  2192   No changes.
       
  2193 
       
  2194 version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
       
  2195   Moved local array "chunkdata" from pngrutil.c to the png_struct, so
  1932   Moved local array "chunkdata" from pngrutil.c to the png_struct, so
  2196     it will be freed by png_read_destroy() in case of a read error (Kurt
  1933     it will be freed by png_read_destroy() in case of a read error (Kurt
  2197     Christensen).
  1934     Christensen).
  2198 
  1935 
  2199 version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
  1936 version 1.4.0beta22 [July 21, 2008]
  2200   Changed "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
  1937   Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
  2201 
  1938 
  2202 version 1.0.38rc04, 1.2.30rc04 [July 22, 2008]
  1939 version 1.4.0beta23 [July 22, 2008]
  2203   Changed "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
  1940   Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
  2204     png_decompress_chunk().
  1941     png_decompress_chunk().
  2205 
  1942 
  2206 version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
  1943 version 1.4.0beta24 [July 25, 2008]
  2207   Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
  1944   Change all remaining "chunkdata" to "png_ptr->chunkdata" in
  2208     png_decompress_chunk() and remove chunkdata from parameter list.
  1945     png_decompress_chunk(), and remove "chunkdata" from parameter list.
  2209   Put a call to png_check_chunk_name() in png_read_chunk_header().
  1946   Put a call to png_check_chunk_name() in png_read_chunk_header().
  2210   Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
  1947   Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
  2211   Removed two calls to png_check_chunk_name() occuring later in the process.
  1948   Removed two calls to png_check_chunk_name() occuring later in the process.
  2212 
  1949   Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
  2213 version 1.0.38rc06, 1.2.30rc06 [July 29, 2008]
  1950 
       
  1951 version 1.4.0beta25 [July 30, 2008]
  2214   Added a call to png_check_chunk_name() in pngpread.c
  1952   Added a call to png_check_chunk_name() in pngpread.c
  2215   Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
  1953   Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
  2216 
  1954   Added png_push_have_buffer() function to pngpread.c
  2217 version 1.0.38r07, 1.2.30r07 [August 2, 2008]
  1955   Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
       
  1956   Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
       
  1957   Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
       
  1958   Synced contrib directory and configure files with libpng-1.2.30beta06.
       
  1959   Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
       
  1960   Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
       
  1961 
       
  1962 version 1.4.0beta26 [August 4, 2008]
       
  1963   Removed png_push_have_buffer() function in pngpread.c.  It increased the
       
  1964     compiled library size slightly.
  2218   Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
  1965   Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
  2219   Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
  1966   Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
  2220   Added code in pngset.c to quiet compiler warnings.
       
  2221   Updated contrib/visupng/cexcept.h to version 2.0.1
  1967   Updated contrib/visupng/cexcept.h to version 2.0.1
  2222   Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
  1968   Added PNG_LITERAL_CHARACTER macros for #, [, and ].
  2223 
  1969 
  2224 version 1.0.38r08, 1.2.30r08 [August 2, 2008]
  1970 version 1.4.0beta27 [August 5, 2008]
  2225   Enclose "volatile" declarations in #ifdef PNG_SETJMP_SUPPORTED (Cosmin).
  1971   Revised usage of PNG_LITERAL_SHARP in pngerror.c.
  2226 
  1972   Moved newline character from individual png_debug messages into the
  2227 version 1.0.38, 1.2.30 [August 14, 2008]
  1973     png_debug macros.
  2228   No changes.
  1974   Allow user to #define their own png_debug, png_debug1, and png_debug2.
  2229 
  1975 
  2230 version 1.2.31rc01 [August 19, 2008]
  1976 version 1.4.0beta28 [August 5, 2008]
       
  1977   Revised usage of PNG_LITERAL_SHARP in pngerror.c.
       
  1978   Added PNG_STRING_NEWLINE macro
       
  1979 
       
  1980 version 1.4.0beta29 [August 9, 2008]
       
  1981   Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
       
  1982   Added PNG_STRING_COPYRIGHT macro.
       
  1983   Added non-ISO versions of png_debug macros.
       
  1984 
       
  1985 version 1.4.0beta30 [August 14, 2008]
       
  1986   Added premultiplied alpha feature (Volker Wiendl).
       
  1987 
       
  1988 version 1.4.0beta31 [August 18, 2008]
       
  1989   Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
  2231   Removed extra crc check at the end of png_handle_cHRM().  Bug introduced
  1990   Removed extra crc check at the end of png_handle_cHRM().  Bug introduced
  2232     in libpng-1.2.30beta03 (Heiko Nitzsche).
  1991     in libpng-1.4.0beta20.
  2233 
  1992 
  2234 version 1.2.31rc02 [August 19, 2008]
  1993 version 1.4.0beta32 [August 19, 2008]
  2235   Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
  1994   Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
  2236 
  1995   Revised PNG_NO_STDIO version of png_write_flush()
  2237 version 1.2.31rc03 [August 19, 2008]
  1996 
  2238   Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block, off by default, around
  1997 version 1.4.0beta33 [August 20, 2008]
  2239     new png_flush().
  1998   Added png_get|set_chunk_cache_max() to limit the total number of sPLT,
  2240 
  1999     text, and unknown chunks that can be stored.
  2241 version 1.0.39, 1.2.31 [August 21, 2008]
  2000 
  2242   No changes.
  2001 version 1.4.0beta34 [September 6, 2008]
  2243 
  2002   Shortened tIME_string to 29 bytes in pngtest.c
  2244 version 1.2.32beta01 [September 6, 2008]
       
  2245   Shortened tIME_string to 29 bytes in pngtest.c (bug introduced in
       
  2246     libpng-1.2.22).
       
  2247   Fixed off-by-one error introduced in png_push_read_zTXt() function in
  2003   Fixed off-by-one error introduced in png_push_read_zTXt() function in
  2248     libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
  2004     libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
  2249   These bugs have been given the vulnerability id CVE-2008-3964.
  2005 
  2250 
  2006 version 1.4.0beta35 [October 6, 2008]
  2251 version 1.0.40, 1.2.32 [September 18, 2008]
  2007   Changed "trans_values" to "trans_color".
  2252   No changes.
  2008   Changed so-number from 0 to 14.  Some OS do not like 0.
  2253 
       
  2254 version 1.2.33beta01 [October 6, 2008]
       
  2255   Revised makefile.darwin to fix shared library numbering.
  2009   Revised makefile.darwin to fix shared library numbering.
  2256   Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
  2010   Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
  2257     in example.c (debian bug report)
  2011     in example.c (debian bug report)
  2258 
  2012 
  2259 version 1.2.33rc01 [October 15, 2008]
  2013 version 1.4.0beta36 [October 25, 2008]
  2260   No changes.
  2014   Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
  2261 
  2015 
  2262 version 1.0.41rc01, version 1.2.33rc02 [October 23, 2008]
  2016 version 1.4.0beta37 [November 13, 2008]
  2263   Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tEXt()
  2017   Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
  2264     to avoid memory leak after memory failure while reading tEXt chunk.`
  2018     and pngwrite.c
  2265 
  2019 
  2266 version 1.2.33 [October 31, 2008]
  2020 version 1.4.0beta38 [November 22, 2008]
  2267   No changes.
  2021   Added check for zero-area RGB cHRM triangle in png_check_cHRM() and
  2268 
  2022     png_check_cHRM_fixed().
  2269 version 1.2.34beta01 [November 27, 2008]
  2023 
       
  2024 version 1.4.0beta39 [November 23, 2008]
  2270   Revised png_warning() to write its message on standard output by default
  2025   Revised png_warning() to write its message on standard output by default
  2271     when warning_fn is NULL. This was the behavior prior to libpng-1.2.9beta9.
  2026     when warning_fn is NULL.
  2272   Fixed string vs pointer-to-string error in png_check_keyword().
  2027 
  2273   Added png_check_cHRM_fixed() in png.c and moved checking from pngget.c,
  2028 version 1.4.0beta40 [November 24, 2008]
  2274     pngrutil.c, and pngwrite.c, and eliminated floating point cHRM checking.
  2029   Eliminated png_check_cHRM().  Instead, always use png_check_cHRM_fixed().
  2275   Added check for zero-area RGB cHRM triangle in png_check_cHRM_fixed().
       
  2276   In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
  2030   In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
  2277     check for all-zero coordinates that is detected by the triangle check.
  2031     check for all-zero coordinates that is detected by the triangle check.
  2278   Revised png_warning() to write its message on standard output by default
  2032 
  2279     when warning_fn is NULL.
  2033 version 1.4.0beta41 [November 26, 2008]
  2280 
  2034   Fixed string vs pointer-to-string error in png_check_keyword().
  2281 version 1.2.34beta02 [November 28, 2008]
  2035   Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
  2282   Corrected off-by-one error in bKGD validity check in png_write_bKGD()
  2036     overflows.
  2283     and in png_handle_bKGD().
  2037   Added PNG_NO_CHECK_cHRM conditional.
  2284 
  2038 
  2285 version 1.2.34beta03 [December 1, 2008]
  2039 version 1.4.0beta42, 43 [December 1, 2008]
  2286   Revised bKGD validity check to use >= x instead of > x + 1
  2040   Merge png_debug with version 1.2.34beta04.
  2287   Merged with png_debug from libpng-1.4.0 to remove newlines.
  2041 
  2288 
  2042 version 1.4.0beta44 [December 6, 2008]
  2289 version 1.2.34beta04 [December 2, 2008]
       
  2290   More merging with png_debug from libpng-1.4.0 to remove newlines.
       
  2291 
       
  2292 version 1.2.34beta05 [December 5, 2008]
       
  2293   Removed redundant check for key==NULL before calling png_check_keyword()
  2043   Removed redundant check for key==NULL before calling png_check_keyword()
  2294     to ensure that new_key gets initialized and removed extra warning
  2044     to ensure that new_key gets initialized and removed extra warning
  2295     (Arvan Pritchard).
  2045     (Merge with version 1.2.34beta05 -- Arvan Pritchard).
  2296 
  2046 
  2297 version 1.2.34beta06 [December 9, 2008]
  2047 version 1.4.0beta45 [December 9, 2008]
  2298   In png_write_png(), respect the placement of the filler bytes in an earlier
  2048   In png_write_png(), respect the placement of the filler bytes in an earlier
  2299     call to png_set_filler() (Jim Barry).
  2049     call to png_set_filler() (Jim Barry).
  2300 
  2050 
  2301 version 1.2.34beta07 [December 9, 2008]
  2051 version 1.4.0beta46 [December 10, 2008]
  2302   Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
  2052   Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
  2303     PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
  2053     PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
  2304     PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
  2054     PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
  2305 
  2055 
  2306 version 1.0.42rc01, 1.2.34rc01 [December 11, 2008]
  2056 version 1.4.0beta47 [December 15, 2008]
  2307   No changes.
  2057   Turned off PNG_READ_DITHER_SUPPORTED by default.
  2308 
  2058 
  2309 version 1.0.42, 1.2.34 [December 18, 2008]
  2059 version 1.4.0beta48 [February 14, 2009]
  2310   No changes.
  2060   Added new exported function png_calloc().
  2311 
  2061   Combined several instances of png_malloc(); png_memset() into png_calloc().
  2312 version 1.2.35beta01 [February 4, 2009]
  2062   Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
  2313   Zero out some arrays of pointers after png_malloc(). (Tavis Ormandy)
  2063     but was never defined.
  2314 
  2064 
  2315 version 1.2.35beta02 [February 4, 2009]
  2065 version 1.4.0beta49 [February 28, 2009]
  2316   Zero out more arrays of pointers after png_malloc().
  2066   Added png_fileno() macro to pngconf.h, used in pngwio.c
  2317 
  2067   Corrected order of #ifdef's in png_debug definition in png.h
  2318 version 1.2.35beta03 [February 5, 2009]
  2068   Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
  2319   Use png_memset() instead of a loop to intialize pointers.  We realize
  2069     for pcal_params.
  2320     this will not work on platforms where the NULL pointer is not all zeroes.
  2070   Fixed order of #ifdef directives in the png_debug defines in png.h
  2321 
  2071     (bug introduced in libpng-1.2.34/1.4.0beta29).
  2322 version 1.2.35rc01 [February 11, 2009]
       
  2323   No changes.
       
  2324 
       
  2325 version 1.2.35rc02 [February 12, 2009]
       
  2326   Fix typo in new png_memset call in pngset.c (png_color should be png_charp)
       
  2327 
       
  2328 version 1.0.43 and 1.2.35 [February 14, 2009]
       
  2329   No changes.
       
  2330 
       
  2331 version 1.2.36beta01 [February 28, 2009]
       
  2332   Revised comments in png_set_read_fn() and png_set_write_fn().
  2072   Revised comments in png_set_read_fn() and png_set_write_fn().
  2333   Revised order of #ifdef's and indentation in png_debug definitions of png.h
  2073 
  2334     bug introduced in libpng-1.2.34.
  2074 version 1.4.0beta50 [March 18, 2009]
  2335 
  2075   Use png_calloc() instead of png_malloc() to allocate big_row_buf when
  2336 version 1.2.36beta02 [March 21, 2009]
  2076     reading an interlaced file, to avoid a possible UMR.
  2337   Use png_memset() after png_malloc() of big_row_buf when reading an
  2077   Undid revision of PNG_NO_STDIO version of png_write_flush().  Users
  2338     interlaced file, to avoid a possible UMR.
  2078     having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined
  2339   Undid recent revision of PNG_NO_STDIO version of png_write_flush().  Users
  2079     or supply their own flush_fn() replacement.
  2340     having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined.
  2080   Revised libpng*.txt and png.h documentation about use of png_write_flush()
  2341   Revised libpng*.txt documentation about use of png_write_flush().
  2081     and png_set_write_fn().
  2342   Removed fflush() from pngtest.c.
  2082   Removed fflush() from pngtest.c.
  2343   Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
  2083   Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
  2344 
  2084 
  2345 version 1.2.36beta03 [March 27, 2009]
  2085 version 1.4.0beta51 [March 21, 2009]
  2346   Relocated misplaced PNG_1_0_X define in png.h that caused the prototype
  2086   Removed new png_fileno() macro from pngconf.h .
  2347     for png_set_strip_error_numbers() to be omitted from PNG_NO_ASSEMBLER_CODE
  2087 
  2348     builds.  This bug was introduced in libpng-1.2.15beta4.
  2088 version 1.4.0beta52 [March 27, 2009]
       
  2089   Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
       
  2090     This avoids building 16-bit gamma tables unnecessarily.
       
  2091   Removed fflush() from pngtest.c.
       
  2092   Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
  2349   Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
  2093   Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
  2350 
  2094 
  2351 version 1.2.36beta04 [April 5, 2009]
  2095 version 1.4.0beta53 [April 1, 2009]
       
  2096   Removed some remaining MMX macros from pngpriv.h
  2352   Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
  2097   Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
  2353 
  2098 
  2354 version 1.2.36beta05 [April 24, 2009]
  2099 version 1.4.0beta54 [April 13, 2009]
  2355   Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
  2100   Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
  2356     application code writers to bypass the check for multiple inclusion
  2101     application code writers to bypass the check for multiple inclusion
  2357     of setjmp.h when they know that it is safe to ignore the situation.
  2102     of setjmp.h when they know that it is safe to ignore the situation.
  2358   Made some cosmetic changes to whitespace in pngtest output.
  2103   Eliminated internal use of setjmp() in pngread.c and pngwrite.c
       
  2104   Reordered ancillary chunks in pngtest.png to be the same as what
       
  2105     pngtest now produces, and made some cosmetic changes to pngtest output.
       
  2106   Eliminated deprecated png_read_init_3() and png_write_init_3() functions.
       
  2107 
       
  2108 version 1.4.0beta55 [April 15, 2009]
       
  2109   Simplified error handling in pngread.c and pngwrite.c by putting
       
  2110     the new png_read_cleanup() and png_write_cleanup() functions inline.
       
  2111 
       
  2112 version 1.4.0beta56 [April 25, 2009]
  2359   Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
  2113   Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
  2360     "shadowed declaration" warning from gcc-4.3.3.
  2114     "shadowed declaration" warning from gcc-4.3.3.
  2361   Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
  2115   Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
  2362     warning about a global "gamma" variable in math.h on some platforms.
  2116     warning about a global "gamma" variable in math.h on some platforms.
  2363 
  2117 
  2364 version 1.2.36rc01 [April 30, 2009]
  2118 version 1.4.0beta57 [May 2, 2009]
  2365   No changes.
  2119   Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
  2366 
  2120     but was never defined (again).
  2367 version 1.0.44 and 1.2.36 [May 7, 2009]
  2121   Rebuilt configure scripts with autoconf-2.63 instead of 2.62
  2368   No changes.
  2122   Removed pngprefs.h and MMX from makefiles
  2369 
  2123 
  2370 version 1.2.37beta01 [May 14, 2009]
  2124 version 1.4.0beta58 [May 14, 2009]
  2371   Fixed inconsistency in pngrutil.c, introduced in libpng-1.2.36.  The
  2125   Changed pngw32.def to pngwin.def in makefile.mingw (typo was intruduced
  2372     memset() was using "png_ptr->rowbytes" instead of "row_bytes", which
  2126     in beta57).
  2373     the corresponding png_malloc() uses (Joe Drew).
       
  2374   Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
  2127   Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
  2375   Updated some of the makefiles in the scripts directory (merged with
  2128 
  2376     those in libpng-1.4.0beta57).
  2129 version 1.4.0beta59 [May 15, 2009]
  2377 
  2130   Reformated sources in libpng style (3-space intentation, comment format)
  2378 version 1.2.37beta02 [May 19, 2009]
  2131   Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
  2379   Fixed typo in libpng documentation (FILTER_AVE should be FILTER_AVG)
  2132   Added sections about the git repository and our coding style to the
       
  2133     documentation
  2380   Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
  2134   Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
       
  2135 
       
  2136 version 1.4.0beta60 [May 19, 2009]
  2381   Conditionally compile png_read_finish_row() which is not used by
  2137   Conditionally compile png_read_finish_row() which is not used by
  2382     progressive readers.
  2138     progressive readers.
  2383   Added contrib/pngminim/preader to demonstrate building minimal progressive
  2139   Added contrib/pngminim/preader to demonstrate building minimal progressive
  2384     decoder, based on contrib/gregbook with embedded libpng and zlib.
  2140     decoder, based on contrib/gregbook with embedded libpng and zlib.
  2385 
  2141 
  2386 version 1.2.37beta03 [May 20, 2009]
  2142 version 1.4.0beta61 [May 20, 2009]
  2387   In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
  2143   In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
  2388     is only one makefile in those directories, and revised the README files
  2144     is only one makefile in those directories, and revised the README files
  2389     accordingly.
  2145     accordingly.
  2390   Reformated sources in libpng style (3-space indentation, comment format)
  2146   More reformatting of comments, mostly to capitalize sentences.
  2391 
  2147 
  2392 version 1.2.37rc01 [May 27, 2009]
  2148 version 1.4.0beta62 [June 2, 2009]
  2393   No changes.
       
  2394 
       
  2395 versions 1.2.37 and 1.0.45 [June 4, 2009]
       
  2396   Reformatted several remaining "else statement;" and "if () statement;" into
       
  2397     two lines.
       
  2398   Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
  2149   Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
  2399     and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
  2150     and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
  2400   Added sections about the git repository and our coding style to the
  2151   Reformatted several remaining "else statement" into two lines.
  2401     documentation (merged from libpng-1.4.0beta62)
       
  2402   Added a section to the libpng documentation about using png_get_io_ptr()
  2152   Added a section to the libpng documentation about using png_get_io_ptr()
  2403     in configure scripts to detect the presence of libpng.
  2153     in configure scripts to detect the presence of libpng.
  2404 
  2154 
  2405 version 1.2.38beta01 [June 17, 2009]
  2155 version 1.4.0beta63 [June 15, 2009]
  2406   Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
  2156   Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
  2407     multiple times and to specify the sample order in the tRNS chunk,
  2157     multiple times and to specify the sample order in the tRNS chunk,
  2408     because the ISO PNG specification has a typo in the tRNS table.
  2158     because the ISO PNG specification has a typo in the tRNS table.
  2409   Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
  2159   Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
  2410     PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
  2160     PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
  2411     available for ignoring known chunks even when not saving unknown chunks.
  2161     available for ignoring known chunks even when not saving unknown chunks.
  2412   Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
  2162   Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
  2413     "#if defined()" and "if !defined()" where possible.
  2163     "#if defined()" and "if !defined()" where possible.
  2414   Added PNG_NO_HANDLE_AS_UNKNOWN in the PNG_LEGACY_SUPPORTED block of
  2164 
  2415     pngconf.h, and moved the various unknown chunk macro definitions
  2165 version 1.4.0beta64 [June 24, 2009]
  2416     outside of the PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
  2166   Eliminated PNG_LEGACY_SUPPORTED code.
  2417 
  2167   Moved the various unknown chunk macro definitions outside of the
  2418 version 1.0.46 [June 18, 2009]
  2168      PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
  2419   Removed some editing cruft from scripts/libpng.pc.in and some makefiles.
  2169 
  2420 
  2170 version 1.4.0beta65 [June 26, 2009]
  2421 version 1.2.38rc01 [June 24, 2009]
  2171   Added a reference to the libpng license in each file.
  2422   No changes.
  2172 
  2423 
  2173 version 1.4.0beta66 [June 27, 2009]
  2424 version 1.2.38rc02 [June 29, 2009]
  2174   Refer to the libpng license instead of the libpng license in each file.
  2425   Added a reference to the libpng license in each source file.
  2175 
  2426 
  2176 version 1.4.0beta67 [July 6, 2009]
  2427 version 1.2.38rc03 [July 11, 2009]
  2177   Relocated INVERT_ALPHA within png_read_png() and png_write_png().
  2428   Revised references to the libpng license in pngconf.h and contrib/visupng
  2178   Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
  2429     source files.
  2179   Added an "xcode" project to the projects directory (Alam Arias).
  2430   Rebuilt configure scripts with autoconf-2.63.
  2180 
  2431 
  2181 version 1.4.0beta68 [July 19, 2009]
  2432 version 1.0.47 and 1.2.38 [July 16, 2009]
  2182   Avoid some tests in filter selection in pngwutil.c
  2433   No changes.
  2183 
  2434 
  2184 version 1.4.0beta69 [July 25, 2009]
  2435 version 1.2.39beta01 [July 25, 2009]
  2185   Simplified the new filter-selection test.  This runs faster in the
       
  2186     common "PNG_ALL_FILTERS" and PNG_FILTER_NONE cases.
       
  2187   Removed extraneous declaration from the new call to png_read_gray_to_rgb()
       
  2188     (bug introduced in libpng-1.4.0beta67).
       
  2189   Fixed up xcode project (Alam Arias)
  2436   Added a prototype for png_64bit_product() in png.c
  2190   Added a prototype for png_64bit_product() in png.c
  2437 
  2191 
  2438 version 1.2.39beta02 [July 27, 2009]
  2192 version 1.4.0beta70 [July 27, 2009]
  2439   Avoid a possible NULL dereference in debug build, in png_set_text_2().
  2193   Avoid a possible NULL dereference in debug build, in png_set_text_2().
  2440     (bug introduced in libpng-0.95, discovered by Evan Rouault)
  2194     (bug introduced in libpng-0.95, discovered by Evan Rouault)
  2441 
  2195 
  2442 version 1.2.39beta03 [July 29, 2009]
  2196 version 1.4.0beta71 [July 29, 2009]
  2443   Relocated new png_64_bit_product() prototype into png.h
       
  2444   Expanded the information about prototypes in the libpng style section of
       
  2445     the documentation.
       
  2446   Rebuilt configure scripts with autoconf-2.64.
  2197   Rebuilt configure scripts with autoconf-2.64.
  2447 
  2198 
  2448 version 1.2.39beta04 [August 1, 2009]
  2199 version 1.4.0beta72 [August 1, 2009]
  2449   Replaced *.tar.lzma with *.txz in distribution.  Get the xz codec
  2200   Replaced *.tar.lzma with *.tar.xz in distribution.  Get the xz codec
  2450     from <http://tukaani.org/xz>.
  2201     from <http://tukaani.org/xz>.
  2451 
  2202 
  2452 version 1.2.39beta05 [August 1, 2009]
  2203 version 1.4.0beta73 [August 1, 2009]
  2453   Reject attempt to write iCCP chunk with negative embedded profile length
  2204   Reject attempt to write iCCP chunk with negative embedded profile length
  2454     (JD Chen)
  2205     (JD Chen)
  2455 
  2206 
  2456 version 1.2.39c01 [August 6, 2009]
  2207 version 1.4.0beta74 [August 8, 2009]
  2457   No changes.
  2208   Changed png_ptr and info_ptr member "trans" to "trans_alpha".
  2458 
  2209 
  2459 version 1.2.39 and 1.0.48 [August 13, 2009]
  2210 version 1.4.0beta75 [August 21, 2009]
  2460   No changes.
       
  2461 
       
  2462 version 1.2.40beta01 [August 20, 2009]
       
  2463   Removed an extra png_debug() recently added to png_write_find_filter().
  2211   Removed an extra png_debug() recently added to png_write_find_filter().
  2464   Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
  2212   Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
  2465 
  2213 
  2466 version 1.2.40rc01 [September 2, 2009]
  2214 version 1.4.0beta76 [August 22, 2009]
       
  2215   Moved an incorrectly located test in png_read_row() in pngread.c
       
  2216 
       
  2217 version 1.4.0beta77 [August 27, 2009]
       
  2218   Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
       
  2219     and the "noconfig" files from the distribution.
       
  2220   Moved CMakeLists.txt from scripts into the main libpng directory.
  2467   Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
  2221   Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
  2468 
  2222 
  2469 version 1.2.40 and 1.0.49 [September 10, 2009]
  2223 version 1.4.0beta78 [August 31, 2009]
       
  2224   Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
       
  2225   Eliminated PNG_NO_FREE_ME and PNG_FREE_ME_SUPPORTED macros.
       
  2226   Use png_malloc plus a loop instead of png_calloc() to initialize
       
  2227     row_pointers in png_read_png().
       
  2228 
       
  2229 version 1.4.0beta79 [September 1, 2009]
       
  2230   Eliminated PNG_GLOBAL_ARRAYS and PNG_LOCAL_ARRAYS; always use local arrays.
       
  2231   Eliminated PNG_CALLOC_SUPPORTED macro and always provide png_calloc().
       
  2232 
       
  2233 version 1.4.0beta80 [September 17, 2009]
       
  2234   Removed scripts/libpng.icc
       
  2235   Changed typecast of filler from png_byte to png_uint_16 in png_set_filler().
       
  2236     (Dennis Gustafsson)
       
  2237   Fixed typo introduced in beta78 in pngtest.c ("#if def " should be "#ifdef ")
       
  2238 
       
  2239 version 1.4.0beta81 [September 23, 2009]
       
  2240   Eliminated unused PNG_FLAG_FREE_* defines from pngpriv.h
       
  2241   Expanded TAB characters in pngrtran.c
       
  2242   Removed PNG_CONST from all "PNG_CONST PNG_CHNK" declarations to avoid
       
  2243     compiler complaints about doubly declaring things "const".
       
  2244   Changed all "#if [!]defined(X)" to "if[n]def X" where possible.
       
  2245   Eliminated unused png_ptr->row_buf_size
       
  2246 
       
  2247 version 1.4.0beta82 [September 25, 2009]
       
  2248   Moved redundant IHDR checking into new png_check_IHDR() in png.c
       
  2249     and report all errors found in the IHDR data.
       
  2250   Eliminated useless call to png_check_cHRM() from pngset.c
       
  2251 
       
  2252 version 1.4.0beta83 [September 25, 2009]
       
  2253   Revised png_check_IHDR() to eliminate bogus complaint about filter_type.
       
  2254 
       
  2255 version 1.4.0beta84 [September 30, 2009]
       
  2256   Fixed some inconsistent indentation in pngconf.h
       
  2257   Revised png_check_IHDR() to add a test for width variable less than 32-bit.
       
  2258 
       
  2259 version 1.4.0beta85 [October 1, 2009]
       
  2260   Revised png_check_IHDR() again, to check info_ptr members instead of
       
  2261     the contents of the returned parameters.
       
  2262 
       
  2263 version 1.4.0beta86 [October 9, 2009]
       
  2264   Updated the "xcode" project (Alam Arias).
       
  2265   Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
       
  2266 
       
  2267 version 1.4.0rc01 [October 19, 2009]
       
  2268   Trivial cosmetic changes.
       
  2269 
       
  2270 version 1.4.0beta87 [October 30, 2009]
       
  2271   Moved version 1.4.0 back into beta.
       
  2272 
       
  2273 version 1.4.0beta88 [October 30, 2009]
       
  2274   Revised libpng*.txt section about differences between 1.2.x and 1.4.0
       
  2275     because most of the new features have now been ported back to 1.2.41
       
  2276 
       
  2277 version 1.4.0beta89 [November 1, 2009]
       
  2278   More bugfixes and improvements to CMakeLists.txt (Philip Lowman)
       
  2279   Removed a harmless extra png_set_invert_alpha() from pngwrite.c
       
  2280   Apply png_user_chunk_cache_max within png_decompress_chunk().
       
  2281   Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
       
  2282 
       
  2283 version 1.4.0beta90 [November 2, 2009]
       
  2284   Removed all remaining WIN32_WCE #ifdefs except those involving the
       
  2285     time.h "tm" structure
       
  2286 
       
  2287 version 1.4.0beta91 [November 3, 2009]
       
  2288   Updated scripts/pngw32.def and projects/wince/png32ce.def
       
  2289   Copied projects/wince/png32ce.def to the scripts directory.
       
  2290   Added scripts/makefile.wce
       
  2291   Patched ltmain.sh for wince support.
       
  2292   Added PNG_CONVERT_tIME_SUPPORTED macro.
       
  2293 
       
  2294 version 1.4.0beta92 [November 4, 2009]
       
  2295   Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
       
  2296   Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
       
  2297   Revised libpng*.txt to describe differences from 1.2.40 to 1.4.0 (instead
       
  2298     of differences from 1.2.41 to 1.4.0)
       
  2299 
       
  2300 version 1.4.0beta93 [November 7, 2009]
       
  2301   Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
       
  2302     PNG_ALLOCATED macros to detect deprecated direct access to the
       
  2303     png_struct or info_struct members and other deprecated usage in
       
  2304     applications (John Bowler).
       
  2305   Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
       
  2306     to prevent warnings about direct access to png structs by libpng
       
  2307     functions while building libpng.  They need to be tested, especially
       
  2308     those using compilers other than gcc.
       
  2309   Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
       
  2310     They should work but still need to be updated to remove
       
  2311     references to pnggccrd.c or pngvcrd.c and ASM building.
       
  2312   Added README.txt to the beos, cbuilder5, netware, and xcode projects warning
       
  2313     that they need to be updated, to remove references to pnggccrd.c and
       
  2314     pngvcrd.c and to depend on pngpriv.h
       
  2315   Removed three direct references to read_info_ptr members in pngtest.c
       
  2316     that were detected by the new PNG_DEPSTRUCT macro.
       
  2317   Moved the png_debug macro definitions and the png_read_destroy(),
       
  2318     png_write_destroy() and png_far_to_near() prototypes from png.h
       
  2319     to pngpriv.h (John Bowler)
       
  2320   Moved the synopsis lines for png_read_destroy(), png_write_destroy()
       
  2321     png_debug(), png_debug1(), and png_debug2() from libpng.3 to libpngpf.3.
       
  2322 
       
  2323 version 1.4.0beta94 [November 9, 2009]
       
  2324   Removed the obsolete, unused pnggccrd.c and pngvcrd.c files.
       
  2325   Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
       
  2326   Removed dependency of pngtest.o on pngpriv.h in the makefiles.
       
  2327   Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
       
  2328 
       
  2329 version 1.4.0beta95 [November 10, 2009]
       
  2330   Changed png_check_sig() to !png_sig_cmp() in contrib programs.
       
  2331   Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
       
  2332   Changed png_check_sig() to !png_sig_cmp() in contrib programs.
       
  2333   Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
       
  2334   Changed pngminim/*/gather.sh to stop trying to remove pnggccrd.c and pngvcrd.c
       
  2335   Added dependency on pngpriv.h in contrib/pngminim/*/makefile
       
  2336 
       
  2337 version 1.4.0beta96 [November 12, 2009]
       
  2338   Renamed scripts/makefile.wce to scripts/makefile.cegcc
       
  2339   Revised Makefile.am to use libpng.sys while building libpng.so
       
  2340     so that only PNG_EXPORT functions are exported.
       
  2341   Removed the deprecated png_check_sig() function/macro.
       
  2342   Removed recently removed function names from scripts/*.def
       
  2343   Revised pngtest.png to put chunks in the same order written by pngtest
       
  2344     (evidently the same change made in libpng-1.0beta54 was lost).
       
  2345   Added PNG_PRIVATE macro definition in pngconf.h for possible future use.
       
  2346 
       
  2347 version 1.4.0beta97 [November 13, 2009]
       
  2348   Restored pngtest.png to the libpng-1.4.0beta7 version.
       
  2349   Removed projects/beos and netware.txt; no one seems to be supporting them.
       
  2350   Revised Makefile.in
       
  2351 
       
  2352 version 1.4.0beta98 [November 13, 2009]
       
  2353   Added the "xcode" project to zip distributions,
       
  2354   Fixed a typo in scripts/pngwin.def introduced in beta97.
       
  2355 
       
  2356 version 1.4.0beta99 [November 14, 2009]
       
  2357   Moved libpng-config.in and libpng.pc-configure.in out of the scripts
       
  2358     directory, to libpng-config.in and libpng-pc.in, respectively, and
       
  2359     modified Makefile.am and configure.ac accordingly.  Now "configure"
       
  2360     needs nothing from the "scripts" directory.
       
  2361   Avoid redefining PNG_CONST in pngconf.h
       
  2362 
       
  2363 version 1.4.0beta100 [November 14, 2009]
       
  2364   Removed ASM builds from projects/visualc6 and projects/visualc71
       
  2365   Removed scripts/makefile.nommx and makefile.vcawin32
       
  2366   Revised CMakeLists.txt to account for new location of libpng-config.in
       
  2367     and libpng-pc.in
       
  2368   Updated INSTALL to reflect removal and relocation of files.
       
  2369 
       
  2370 version 1.4.0beta101 [November 14, 2009]
       
  2371   Restored the binary files (*.jpg, *.png, some project files) that were
       
  2372     accidentally deleted from the zip and 7z distributions when the xcode
       
  2373     project was added.
       
  2374 
       
  2375 version 1.4.0beta102 [November 18, 2009]
       
  2376   Added libpng-config.in and libpng-pc.in to the zip and 7z distributions.
       
  2377   Fixed a typo in projects/visualc6/pngtest.dsp, introduced in beta100.
       
  2378   Moved descriptions of makefiles and other scripts out of INSTALL into
       
  2379     scripts/README.txt
       
  2380   Updated the copyright year in scripts/pngwin.rc from 2006 to 2009.
       
  2381 
       
  2382 version 1.4.0beta103 [November 21, 2009]
       
  2383   Removed obsolete comments about ASM from projects/visualc71/README_zlib.txt
       
  2384   Align row_buf on 16-byte boundary in memory.
       
  2385   Restored the PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED guard around the call
       
  2386     to png_flush() after png_write_IEND().  See 1.4.0beta32, 1.4.0beta50
       
  2387     changes above and 1.2.30, 1.2.30rc01 and rc03 in 1.2.41 CHANGES.  Someone
       
  2388     needs this feature.
       
  2389   Make the 'png_jmpbuf' macro expand to a call that records the correct
       
  2390     longjmp function as well as returning a pointer to the setjmp
       
  2391     jmp_buf buffer, and marked direct access to jmpbuf 'deprecated'.
       
  2392     (John Bowler)
       
  2393 
       
  2394 version 1.4.0beta104 [November 22, 2009]
       
  2395   Removed png_longjmp_ptr from scripts/*.def and libpng.3
       
  2396   Rebuilt configure scripts with autoconf-2.65
       
  2397 
       
  2398 version 1.4.0beta105 [November 25, 2009]
       
  2399   Use fast integer PNG_DIVIDE_BY_255() or PNG_DIVIDE_BY_65535()
       
  2400     to accomplish alpha premultiplication when
       
  2401     PNG_READ_COMPOSITE_NODIV_SUPPORTED is defined.
       
  2402   Changed "/255" to "/255.0" in background calculations to make it clear
       
  2403     that the 255 is used as a double.
       
  2404 
       
  2405 version 1.4.0beta106 [November 27, 2009]
       
  2406   Removed premultiplied alpha feature.
       
  2407 
       
  2408 version 1.4.0beta107 [December 4, 2009]
       
  2409   Updated README
       
  2410   Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
       
  2411   Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
       
  2412   Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
       
  2413     to put png.h and pngconf.h in $prefix/include, like the other scripts,
       
  2414     instead of in $prefix/include/libpng.  Also revised makefile.sco
       
  2415     to put them in $prefix/include/libpng14 instead of in
       
  2416     $prefix/include/libpng/libpng14.
       
  2417 
       
  2418 version 1.4.0beta108 [December 11, 2009]
       
  2419   Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
       
  2420   Relocated png_do_chop() to its original position in pngrtran.c; the
       
  2421     change in version 1.2.41beta08 caused transparency to be handled wrong
       
  2422     in some 16-bit datastreams (Yusaku Sugai).
       
  2423 
       
  2424 version 1.4.0beta109 [December 13, 2009]
       
  2425   Added "bit_depth" parameter to the private png_build_gamma_table() function.
       
  2426   Pass bit_depth=8 to png_build_gamma_table() when bit_depth is 16 but the
       
  2427     PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit
       
  2428     tables.
       
  2429 
       
  2430 version 1.4.0rc02 [December 20, 2009]
       
  2431   Declared png_cleanup_needed "volatile" in pngread.c and pngwrite.c
       
  2432 
       
  2433 version 1.4.0rc03 [December 22, 2009]
       
  2434   Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
       
  2435     (revising the change in 1.4.0beta99)
       
  2436 
       
  2437 version 1.4.0rc04 [December 25, 2009]
       
  2438   Swapped PNG_UNKNOWN_CHUNKS_SUPPORTED and PNG_HANDLE_AS_UNKNOWN_SUPPORTED
       
  2439     in pngset.c to be consistent with other changes in version 1.2.38.
       
  2440 
       
  2441 version 1.4.0rc05 [December 25, 2009]
       
  2442   Changed "libpng-pc.in" to "libpng.pc.in" in configure.ac, configure, and
       
  2443     Makefile.in to be consistent with changes in libpng-1.4.0rc03
       
  2444 
       
  2445 version 1.4.0rc06 [December 29, 2009]
       
  2446   Reverted the gamma_table changes from libpng-1.4.0beta109.
       
  2447   Fixed some indentation errors.
       
  2448 
       
  2449 version 1.4.0rc07 [January 1, 2010]
       
  2450   Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
       
  2451   Use png_calloc() instead of png_malloc(); png_memset() in pngrutil.c
       
  2452   Update copyright year to 2010.
       
  2453 
       
  2454 version 1.4.0rc08 [January 2, 2010]
       
  2455   Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
       
  2456     in pngtest.c
       
  2457 
       
  2458 version 1.4.0 [January 3, 2010]
  2470   No changes.
  2459   No changes.
  2471 
  2460 
  2472 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
  2461 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
  2473 (subscription required; visit
  2462 (subscription required; visit
  2474 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
  2463 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
  2475 to subscribe)
  2464 to subscribe)
  2476 or to glennrp at users.sourceforge.net
  2465 or to glennrp at users.sourceforge.net
  2477 
  2466 
  2478 Glenn R-P
  2467 Glenn R-P
  2479 */
  2468 */ }
       
  2469 #endif