-Libpng 1.5.6 - November 3, 2011
+
+Libpng 1.6.2 - April 25, 2013
This is a public release of libpng, intended for use in production codes.
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- libpng-1.5.6.tar.xz (LZMA-compressed, recommended)
- libpng-1.5.6.tar.gz
- libpng-1.5.6.tar.bz2
+ libpng-1.6.2.tar.xz (LZMA-compressed, recommended)
+ libpng-1.6.2.tar.gz
Source files with CRLF line endings (for Windows), without the
"configure" script
- lpng156.7z (LZMA-compressed, recommended)
- lpng156.zip
+ lpng162.7z (LZMA-compressed, recommended)
+ lpng162.zip
Other information:
- libpng-1.5.6-README.txt
- libpng-1.5.6-LICENSE.txt
-
-Changes since the last public release (1.5.5):
-
- Fixed some 64-bit type conversion warnings in pngrtran.c
- Moved row_info from png_struct to a local variable.
- The various interlace mask arrays have been made into arrays of
- bytes and made PNG_CONST and static (previously some arrays were
- marked PNG_CONST and some weren't).
- Additional checks have been added to the transform code to validate the
- pixel depths after the transforms on both read and write.
- Removed some redundant code from pngwrite.c, in png_desgtroy_write_struct().
- Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4].
- This removes the need to allocate temporary strings for chunk names on
- the stack in the read/write code. Unknown chunk handling still uses the
- string form because this is exposed in the API.
- Added a note in the manual the png_read_update_info() must be called only
- once with a particular info_ptr.
- Revised test-pngtest.sh to report FAIL when pngtest fails.
- Added "--strict" option to pngtest, to report FAIL when the failure is
- only because the resulting valid files are different.
- Revised CMakeLists.txt to work with mingw and removed some material from
- CMakeLists.txt that is no longer useful in libpng-1.5.
- Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")."
- Speed up png_combine_row() for interlaced images. This reduces the generality
- of the code, allowing it to be optimized for Adam7 interlace. The masks
- passed to png_combine_row() are now generated internally, avoiding
- some code duplication and localizing the interlace handling somewhat.
- Align png_struct::row_buf - previously it was always unaligned, caused by
- a bug in the code that attempted to align it; the code needs to subtract
- one from the pointer to take account of the filter byte prepended to
- each row.
- Optimized png_combine_row() when rows are aligned. This gains a small
- percentage for 16-bit and 32-bit pixels in the typical case where the
- output row buffers are appropriately aligned. The optimization was not
- previously possible because the png_struct buffer was always misaligned.
- Removed two redundant tests for unitialized row.
- Fixed a relatively harmless memory overwrite in compressed text writing
- with a 1 byte zlib buffer.
- Add ability to call png_read_update_info multiple times to pngvalid.c
- Fixes for multiple calls to png_read_update_info. These fixes attend to
- most of the errors revealed in pngvalid, however doing the gamma work
- twice results in inaccuracies that can't be easily fixed. There is now
- a warning in the code if this is going to happen.
- Turned on multiple png_read_update_info in pngvalid transform tests.
- Prevent libpng from overwriting unused bits at the end of the image when
- it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
- overwrite the partial byte at the end of each row if the row width was not
- an exact multiple of 8 bits and the image is not interlaced.
- Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
- (Mans Rullgard).
- Changed misleading "Missing PLTE before cHRM" warning to "Out of place cHRM"
- Added PNG_LSR() and PNG_LSL() macros to defend against buggy compilers that
- evaluate non-taken code branches and complain about out-of-range shifts.
- Renamed the local variable 'byte' because it appears in a MSYS header
- file.
- Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/*/pngusr.h
+ libpng-1.6.2-README.txt
+ libpng-1.6.2-LICENSE.txt
+
+Changes since the last public release (1.6.1):
+
+ Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling.
+ Fixed incorrect warning of excess deflate data. End condition - the
+ warning would be produced if the end of the deflate stream wasn't read
+ in the last row. The warning is harmless.
+ Corrected the test on user transform changes on read. It was in the
+ png_set of the transform function, but that doesn't matter unless the
+ transform function changes the rowbuf size, and that is only valid if
+ transform_info is called.
+ Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c
+ (Flavio Medeiros).
+ Corrected length written to uncompressed iTXt chunks (Samuli Suominen).
+ Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length
+ written by libpng-1.6.0 and 1.6.1.
+ Disallow storing sRGB information when the sRGB is not supported.
+ Merge pngtest.c with libpng-1.7.0
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit