mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng16] Choose to use our calculated windowBits or the zlib header setting
via the benign-errors setting. If benign errors are allowed, then ignore the windowBits setting in the zlib header.
This commit is contained in:
parent
30b247f1ea
commit
f02bb98fdf
775
CHANGES
775
CHANGES
@ -3776,269 +3776,656 @@ Version 1.5.7rc03 [December 7, 2011]
|
|||||||
Version 1.5.7 [December 15, 2011]
|
Version 1.5.7 [December 15, 2011]
|
||||||
Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
|
Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
|
||||||
reported by earlier versions.
|
reported by earlier versions.
|
||||||
|
Fixed minor memset/sizeof errors in pngvalid.c.
|
||||||
|
|
||||||
Version 1.5.8beta01 [January 15, 2011]
|
Version 1.6.0beta01 [December 15, 2011]
|
||||||
Removed '#include config.h"' from contrib/libtests/pngvalid.c. It's not
|
Removed machine-generated configure files from the GIT repository (they will
|
||||||
needed and causes trouble for VPATH building.
|
continue to appear in the tarball distributions and in the libpng15 and
|
||||||
|
earlier GIT branches).
|
||||||
|
Restored the new 'simplified' API, which was started in libpng-1.5.7beta02
|
||||||
|
but later deleted from libpng-1.5.7beta05.
|
||||||
|
Added example programs for the new 'simplified' API.
|
||||||
|
Added ANSI-C (C90) headers and require them, and take advantage of the
|
||||||
|
change. Also fixed some of the projects/* and contrib/* files that needed
|
||||||
|
updates for libpng16 and the move of pngvalid.c.
|
||||||
|
With this change the required ANSI-C header files are assumed to exist: the
|
||||||
|
implementation must provide float.h, limits.h, stdarg.h and stddef.h and
|
||||||
|
libpng relies on limits.h and stddef.h existing and behaving as defined
|
||||||
|
(the other two required headers aren't used). Non-ANSI systems that don't
|
||||||
|
have stddef.h or limits.h will have to provide an appropriate fake
|
||||||
|
containing the relevant types and #defines.
|
||||||
|
The use of FAR/far has been eliminated and the definition of png_alloc_size_t
|
||||||
|
is now controlled by a flag so that 'small size_t' systems can select it
|
||||||
|
if necessary. Libpng 1.6 may not currently work on such systems -- it
|
||||||
|
seems likely that it will ask 'malloc' for more than 65535 bytes with any
|
||||||
|
image that has a sufficiently large row size (rather than simply failing
|
||||||
|
to read such images).
|
||||||
|
New tools directory containing tools used to generate libpng code.
|
||||||
|
Fixed race conditions in parallel make builds. With higher degrees of
|
||||||
|
parallelism during 'make' the use of the same temporary file names such
|
||||||
|
as 'dfn*' can result in a race where a temporary file from one arm of the
|
||||||
|
build is deleted or overwritten in another arm. This changes the
|
||||||
|
temporary files for suffix rules to always use $* and ensures that the
|
||||||
|
non-suffix rules use unique file names.
|
||||||
|
|
||||||
|
Version 1.6.0beta02 [December 21, 2011]
|
||||||
|
Correct configure builds where build and source directories are separate.
|
||||||
|
The include path of 'config.h' was erroneously made relative in pngvalid.c
|
||||||
|
in libpng 1.5.7.
|
||||||
|
|
||||||
|
Version 1.6.0beta03 [December 22, 2011]
|
||||||
|
Start-up code size improvements, error handler flexibility. These changes
|
||||||
|
alter how the tricky allocation of the initial png_struct and png_info
|
||||||
|
structures are handled. png_info is now handled in pretty much the same
|
||||||
|
way as everything else, except that the allocations handle NULL return
|
||||||
|
silently. png_struct is changed in a similar way on allocation and on
|
||||||
|
deallocation a 'safety' error handler is put in place (which should never
|
||||||
|
be required). The error handler itself is changed to permit mismatches
|
||||||
|
in the application and libpng error buffer size; however, this means a
|
||||||
|
silent change to the API to return the jmp_buf if the size doesn't match
|
||||||
|
the size from the libpng compilation; libpng now allocates the memory and
|
||||||
|
this may fail. Overall these changes result in slight code size
|
||||||
|
reductions; however, this is a reduction in code that is always executed
|
||||||
|
so is particularly valuable. Overall on a 64-bit system the libpng DLL
|
||||||
|
decreases in code size by 1733 bytes. pngerror.o increases in size by
|
||||||
|
about 465 bytes because of the new functionality.
|
||||||
|
Added png_convert_to_rfc1123_buffer() and deprecated png_convert_to_rfc1123()
|
||||||
|
to avoid including a spurious buffer in the png_struct.
|
||||||
|
|
||||||
|
Version 1.6.0beta04 [December 30, 2011]
|
||||||
|
Regenerated configure scripts with automake-1.11.2
|
||||||
|
Eliminated png_info_destroy(). It is now used only in png.c and only calls
|
||||||
|
one other internal function and memset().
|
||||||
|
Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously
|
||||||
|
it was disabled whenever internal fixed point arithmetic was selected,
|
||||||
|
which meant it didn't exist even on systems where FP was available but not
|
||||||
|
preferred.
|
||||||
|
Added pngvalid.c compile time checks for const APIs.
|
||||||
|
Implemented 'restrict' for png_info and png_struct. Because of the way
|
||||||
|
libpng works both png_info and png_struct are always accessed via a
|
||||||
|
single pointer. This means adding C99 'restrict' to the pointer gives
|
||||||
|
the compiler some opportunity to optimize the code. This change allows
|
||||||
|
that.
|
||||||
Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
|
Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
|
||||||
location in configure.ac (Gilles Espinasse).
|
location in configure.ac (Gilles Espinasse).
|
||||||
|
Changed png_memcpy to C assignment where appropriate. Changed all those
|
||||||
|
uses of png_memcpy that were doing a simple assignment to assignments
|
||||||
|
(all those cases where the thing being copied is a non-array C L-value).
|
||||||
|
Added some error checking to png_set_*() routines.
|
||||||
|
Removed the reference to the non-exported function png_memcpy() from
|
||||||
|
example.c.
|
||||||
|
Fixed the Visual C 64-bit build - it requires jmp_buf to be aligned, but
|
||||||
|
it had become misaligned.
|
||||||
|
Revised contrib/pngminus/pnm2png.c to avoid warnings when png_uint_32
|
||||||
|
and unsigned long are of different sizes.
|
||||||
|
|
||||||
|
Version 1.6.0beta05 [January 15, 2012]
|
||||||
|
Updated manual with description of the simplified API (copied from png.h)
|
||||||
Fix bug in pngerror.c: some long warnings were being improperly truncated
|
Fix bug in pngerror.c: some long warnings were being improperly truncated
|
||||||
(CVE-2011-3464, bug introduced in libpng-1.5.3beta05).
|
(CVE-2011-3464, bug introduced in libpng-1.5.3beta05).
|
||||||
|
|
||||||
Version 1.5.8rc01 [January 21, 2012]
|
Version 1.6.0beta06 [January 24, 2012]
|
||||||
No changes.
|
Added palette support to the simplified APIs. This commit
|
||||||
|
changes some of the macro definitions in png.h, app code
|
||||||
Version 1.5.8rc02 [January 25, 2012]
|
may need corresponding changes.
|
||||||
|
Increased the formatted warning buffer to 192 bytes.
|
||||||
|
Added color-map support to simplified API. This is an initial version for
|
||||||
|
review; the documentation has not yet been updated.
|
||||||
Fixed Min/GW uninstall to remove libpng.dll.a
|
Fixed Min/GW uninstall to remove libpng.dll.a
|
||||||
Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt
|
|
||||||
|
|
||||||
Version 1.5.8 [February 1, 2012]
|
Version 1.6.0beta07 [January 28, 2012]
|
||||||
No changes.
|
Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived)
|
||||||
|
compiler issues slightly different warnings from those issued by the
|
||||||
|
current vesions of GCC. This eliminates those warnings by
|
||||||
|
adding/removing casts and small code rewrites.
|
||||||
|
Updated configure.ac from autoupdate: added --enable-werror option.
|
||||||
|
Also some layout regularization and removal of introduced tab characters
|
||||||
|
(replaced with 3-character indentation). Obsolete macros identified by
|
||||||
|
autoupdate have been removed; the replacements are all in 2.59 so
|
||||||
|
the pre-req hasn't been changed. --enable-werror checks for support
|
||||||
|
for -Werror (or the given argument) in the compiler. This mimics the
|
||||||
|
gcc configure option by allowing -Werror to be turned on safely; without
|
||||||
|
the option the tests written in configure itself fail compilation because
|
||||||
|
they cause compiler warnings.
|
||||||
|
Rewrote autogen.sh to run autoreconf instead of running tools one-by-one.
|
||||||
|
Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt and
|
||||||
|
set CMAKE_LIBRARY_OUTPUT_DIRECTORY to "lib" on all platforms (C. Yapp).
|
||||||
|
Freeze libtool files in the 'scripts' directory. This version of autogen.sh
|
||||||
|
attempts to dissuade people from running it when it is not, or should not,
|
||||||
|
be necessary. In fact, autogen.sh does not work when run in a libpng
|
||||||
|
directory extracted from a tar distribution anymore. You must run it in
|
||||||
|
a GIT clone instead.
|
||||||
|
Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
|
||||||
|
and renamed three whose names were inconsistent with those in
|
||||||
|
pngsuite/README.txt.
|
||||||
|
|
||||||
Version 1.5.9beta01 [February 3, 2012]
|
Version 1.6.0beta08 [February 1, 2012]
|
||||||
Rebuilt configure scripts in the tar distributions.
|
Fixed Image::colormap misalignment in pngstest.c
|
||||||
|
Check libtool/libtoolize version number (2.4.2) in configure.ac
|
||||||
|
Divide test-pngstest.sh into separate pngstest runs for basic and
|
||||||
|
transparent images.
|
||||||
|
Moved automake options to AM_INIT_AUTOMAKE in configure.ac
|
||||||
|
Added color-tests, silent-rules (Not yet implemented in Makefile.am) and
|
||||||
|
version checking to configure.ac
|
||||||
|
Improved pngstest speed by not doing redundant tests and add const to
|
||||||
|
the background parameter of png_image_finish_read. The --background
|
||||||
|
option is now done automagically only when required, so that commandline
|
||||||
|
option no longer exists.
|
||||||
|
Cleaned up pngpriv.h to consistently declare all functions and data.
|
||||||
|
Also eliminated PNG_CONST_DATA, which is apparently not needed but we
|
||||||
|
can't be sure until it is gone.
|
||||||
|
Added symbol prefixing that allows all the libpng external symbols
|
||||||
|
to be prefixed (suggested by Reuben Hawkins).
|
||||||
|
Updated "ftbb*.png" list in the owatcom and vstudio projects.
|
||||||
|
Fixed 'prefix' builds on clean systems. The generation of pngprefix.h
|
||||||
|
should not require itself.
|
||||||
|
Updated INSTALL to explain that autogen.sh must be run in a GIT clone,
|
||||||
|
not in a libpng directory extracted from a tar distribution.
|
||||||
|
|
||||||
Version 1.5.9beta02 [February 16, 2012]
|
Version 1.6.0beta09 [February 1, 2012]
|
||||||
Removed two unused definitions from scripts/pnglibconf.h.prebuilt
|
Reverted the prebuilt configure files to libpng-1.6.0beta05 condition.
|
||||||
|
|
||||||
|
Version 1.6.0beta10 [February 3, 2012]
|
||||||
|
Added Z_SOLO for zlib-1.2.6+ and correct pngstest tests
|
||||||
|
Updated list of test images in CMakeLists.txt
|
||||||
|
Updated the prebuilt configure files to current condition.
|
||||||
|
Revised INSTALL information about autogen.sh; it works in tar distributions.
|
||||||
|
|
||||||
|
Version 1.6.0beta11 [February 16, 2012]
|
||||||
|
Fix character count in pngstest command in projects/owatcom/pngstest.tgt
|
||||||
|
Revised test-pngstest.sh to report PASS/FAIL for each image.
|
||||||
|
Updated documentation about the simplified API.
|
||||||
|
Corrected estimate of error in libpng png_set_rgb_to_gray API. The API is
|
||||||
|
extremely inaccurate for sRGB conversions because it uses an 8-bit
|
||||||
|
intermediate linear value and it does not use the sRGB transform, so it
|
||||||
|
suffers from the known instability in gamma transforms for values close
|
||||||
|
to 0 (see Poynton). The net result is that the calculation has a maximum
|
||||||
|
error of 14.99/255; 0.5/255^(1/2.2). pngstest now uses 15 for the
|
||||||
|
permitted 8-bit error. This may still not be enough because of arithmetic
|
||||||
|
error.
|
||||||
Removed some unused arrays (with #ifdef) from png_read_push_finish_row().
|
Removed some unused arrays (with #ifdef) from png_read_push_finish_row().
|
||||||
|
Fixed a memory overwrite bug in simplified read of RGB PNG with
|
||||||
|
non-linear gamma Also bugs in the error checking in pngread.c and changed
|
||||||
|
quite a lot of the checks in pngstest.c to be correct; either correctly
|
||||||
|
written or not over-optimistic. The pngstest changes are insufficient to
|
||||||
|
allow all possible RGB transforms to be passed; pngstest cmppixel needs
|
||||||
|
to be rewritten to make it clearer which errors it allows and then changed
|
||||||
|
to permit known inaccuracies.
|
||||||
Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h
|
Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h
|
||||||
|
Fixed fixed/float API export conditionals. 1) If FIXED_POINT or
|
||||||
|
FLOATING_POINT options were switched off, png.h ended up with lone ';'
|
||||||
|
characters. This is not valid ANSI-C outside a function. The ';'
|
||||||
|
characters have been moved inside the definition of PNG_FP_EXPORT and
|
||||||
|
PNG_FIXED_EXPORT. 2) If either option was switched off, the declaration
|
||||||
|
of the corresponding functions were completely omitted, even though some
|
||||||
|
of them are still used internally. The result is still valid, but
|
||||||
|
produces warnings from gcc with some warning options (including -Wall). The
|
||||||
|
fix is to cause png.h to declare the functions with PNG_INTERNAL_FUNCTION
|
||||||
|
when png.h is included from pngpriv.h.
|
||||||
|
Check for invalid palette index while reading paletted PNG. When one is
|
||||||
|
found, issue a warning and increase png_ptr->num_palette accordingly.
|
||||||
|
Apps are responsible for checking to see if that happened.
|
||||||
|
|
||||||
Version 1.5.9rc01 [February 17, 2012]
|
Version 1.6.0beta12 [February 18, 2012]
|
||||||
|
Do not increase num_palette on invalid_index.
|
||||||
|
Relocated check for invalid palette index to pngrtran.c, after unpacking
|
||||||
|
the sub-8-bit pixels.
|
||||||
Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when
|
Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when
|
||||||
iCCP chunk support was added at libpng-1.0.6. Deal more correctly with the
|
iCCP chunk support was added at libpng-1.0.6. Deal more correctly with the
|
||||||
test on iCCP chunk length. Also removed spurious casts that may hide
|
test on iCCP chunk length. Also removed spurious casts that may hide
|
||||||
problems on 16-bit systems.
|
problems on 16-bit systems.
|
||||||
|
|
||||||
Version 1.5.9 [February 18, 2012]
|
Version 1.6.0beta13 [February 24, 2012]
|
||||||
No changes.
|
|
||||||
|
|
||||||
Version 1.5.10beta01 [February 24, 2012]
|
|
||||||
Removed two useless #ifdef directives from pngread.c and one from pngrutil.c
|
|
||||||
Always put the CMAKE_LIBRARY in "lib" (removed special WIN32 case).
|
|
||||||
Removed empty vstudio/pngstest directory (Clifford Yapp).
|
|
||||||
Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
|
Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
|
||||||
pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
|
pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
|
||||||
now that png_ptr->buffer is inaccessible to applications, the special
|
now that png_ptr->buffer is inaccessible to applications, the special
|
||||||
handling is no longer useful.
|
handling is no longer useful.
|
||||||
Fixed bug with png_handle_hIST with odd chunk length (Frank Busse).
|
Added PNG_SAFE_LIMITS feature to pnglibconf.dfa, pngpriv.h, and new
|
||||||
Added PNG_SAFE_LIMITS feature to pnglibconf.dfa and code in pngconf.h
|
pngusr.dfa to reset the user limits to safe ones if PNG_SAFE_LIMITS is
|
||||||
to reset the user limits to safe ones if PNG_SAFE_LIMITS is defined.
|
defined. To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED=1" on the
|
||||||
To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED" on the configure
|
configure command or put #define PNG_SAFE_LIMITS_SUPPORTED in
|
||||||
command or put "#define PNG_SAFE_LIMITS_SUPPORTED" in pnglibconf.h.
|
pnglibconf.h.prebuilt and pnglibconf.h.
|
||||||
Revised the SAFE_LIMITS feature to be the same as the feature in libpng16.
|
|
||||||
Added information about the new limits in the manual.
|
|
||||||
|
|
||||||
Version 1.5.10beta02 [February 27, 2012]
|
Version 1.6.0beta14 [February 27, 2012]
|
||||||
|
Added information about the new limits in the manual.
|
||||||
Updated Makefile.in
|
Updated Makefile.in
|
||||||
|
|
||||||
Version 1.5.10beta03 [March 6, 2012]
|
Version 1.6.0beta15 [March 2, 2012]
|
||||||
Removed unused "current_text" members of png_struct and the png_free()
|
Removed unused "current_text" members of png_struct and the png_free()
|
||||||
of png_ptr->current_text from pngread.c
|
of png_ptr->current_text from pngread.c
|
||||||
Added palette-index checking. Issue a png_warning() if an invalid index is
|
Rewrote pngstest.c for substantial speed improvement.
|
||||||
found.
|
Fixed transparent pixel and 16-bit rgb tests in pngstest and removed a
|
||||||
|
spurious check in pngwrite.c
|
||||||
|
Added PNG_IMAGE_FLAG_FAST for the benefit of applications that store
|
||||||
|
intermediate files, or intermediate in-memory data, while processing
|
||||||
|
image data with the simplified API. The option makes the files larger
|
||||||
|
but faster to write and read. pngstest now uses this by default; this
|
||||||
|
can be disabled with the --slow option.
|
||||||
|
Improved pngstest fine tuning of error numbers, new test file generator.
|
||||||
|
The generator generates images that test the full range of sample values,
|
||||||
|
allow the error numbers in pngstest to be tuned and checked. makepng
|
||||||
|
also allows generation of images with extra chunks, although this is
|
||||||
|
still work-in-progress.
|
||||||
|
Added check for invalid palette index while reading.
|
||||||
|
Fixed some bugs in ICC profile writing. The code should now accept
|
||||||
|
all potentially valid ICC profiles and reject obviously invalid ones.
|
||||||
|
It now uses png_error() to do so rather than casually writing a PNG
|
||||||
|
without the necessary color data.
|
||||||
|
Removed whitespace from the end of lines in all source files and scripts.
|
||||||
|
|
||||||
Version 1.5.10beta04 [March 10, 2012]
|
Version 1.6.0beta16 [March 6, 2012]
|
||||||
|
Relocated palette-index checking function from pngrutil.c to pngtrans.c
|
||||||
|
Added palette-index checking while writing.
|
||||||
|
Changed png_inflate() and calling routines to avoid overflow problems.
|
||||||
|
This is an intermediate check-in that solves the immediate problems and
|
||||||
|
introduces one performance improvement (avoiding a copy via png_ptr->zbuf.)
|
||||||
|
Further changes will be made to make ICC profile handling more secure.
|
||||||
|
Fixed build warnings (MSVC, GCC, GCC v3). Cygwin GCC with default options
|
||||||
|
declares 'index' as a global, causing a warning if it is used as a local
|
||||||
|
variable. GCC 64-bit warns about assigning a (size_t) (unsigned 64-bit)
|
||||||
|
to an (int) (signed 32-bit). MSVC, however, warns about using the
|
||||||
|
unary '-' operator on an unsigned value (even though it is well defined
|
||||||
|
by ANSI-C to be ~x+1). The padding calculation was changed to use a
|
||||||
|
different method. Removed the tests on png_ptr->pass.
|
||||||
|
Added contrib/libtests/tarith.c to test internal arithmetic functions from
|
||||||
|
png.c. This is a libpng maintainer program used to validate changes to the
|
||||||
|
internal arithmetic functions.
|
||||||
|
Made read 'inflate' handling like write 'deflate' handling. The read
|
||||||
|
code now claims and releases png_ptr->zstream, like the write code.
|
||||||
|
The bug whereby the progressive reader failed to release the zstream
|
||||||
|
is now fixed, all initialization is delayed, and the code checks for
|
||||||
|
changed parameters on deflate rather than always calling
|
||||||
|
deflatedEnd/deflateInit.
|
||||||
|
Validate the zTXt strings in pngvalid.
|
||||||
|
Added code to validate the windowBits value passed to deflateInit2().
|
||||||
|
If the call to deflateInit2() is wrong a png_warning will be issued
|
||||||
|
(in fact this is harmless, but the PNG data produced may be sub-optimal).
|
||||||
|
|
||||||
|
Version 1.6.0beta17 [March 10, 2012]
|
||||||
Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
|
Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
|
||||||
Fixed CMF optimization of non-IDAT compressed chunks, which was added at
|
|
||||||
libpng-1.5.4. It sometimes produced too small of a window.
|
|
||||||
|
|
||||||
Version 1.5.10beta05 [March 10, 2012]
|
|
||||||
Reject all iCCP chunks after the first, even if the first one is invalid.
|
Reject all iCCP chunks after the first, even if the first one is invalid.
|
||||||
|
Deflate/inflate was reworked to move common zlib calls into single
|
||||||
|
functions [rw]util.c. A new shared keyword check routine was also added
|
||||||
|
and the 'zbuf' is no longer allocated on progressive read. It is now
|
||||||
|
possible to call png_inflate() incrementally.
|
||||||
|
If benign errors are disabled use maximum window on ancilliary inflate.
|
||||||
|
This works round a bug introduced in 1.5.4 where compressed ancillary
|
||||||
|
chunks could end up with a too-small windowBits value in the deflate
|
||||||
|
header.
|
||||||
|
|
||||||
|
Version 1.6.0beta18 [March 16, 2012]
|
||||||
Issue a png_benign_error() instead of png_warning() about bad palette index.
|
Issue a png_benign_error() instead of png_warning() about bad palette index.
|
||||||
|
In pngtest, treat benign errors as errors if "-strict" is present.
|
||||||
Fixed an off-by-one error in the palette index checking function.
|
Fixed an off-by-one error in the palette index checking function.
|
||||||
|
Fixed a compiler warning under Cygwin (Windows-7, 32-bit system)
|
||||||
Revised example.c to put text strings in a temporary character array
|
Revised example.c to put text strings in a temporary character array
|
||||||
instead of directly assigning string constants to png_textp members.
|
instead of directly assigning string constants to png_textp members.
|
||||||
This avoids compiler warnings when -Wwrite-strings is enabled.
|
This avoids compiler warnings when -Wwrite-strings is enabled.
|
||||||
|
Added output flushing to aid debugging under Visual Studio. Unfortunately
|
||||||
|
this is necessary because the VS2010 output window otherwise simply loses
|
||||||
|
the error messages on error (they weren't flushed to the window before
|
||||||
|
the process exited, apparently!)
|
||||||
|
Added configuration support for benign errors and changed the read
|
||||||
|
default. Also changed some warnings in the iCCP and sRGB handling
|
||||||
|
from to benign errors. Configuration now makes read benign
|
||||||
|
errors warnings and write benign errors to errors by default (thus
|
||||||
|
changing the behavior on read). The simplified API always forces
|
||||||
|
read benign errors to warnings (regardless of the system default, unless
|
||||||
|
this is disabled in which case the simplified API can't be built.)
|
||||||
|
|
||||||
Version 1.5.10 [March 29, 2012]
|
Version 1.6.0beta19 [March 18, 2012]
|
||||||
|
Work around for duplicate row start calls; added warning messages.
|
||||||
|
This turns on PNG_FLAG_DETECT_UNINITIALIZED to detect app code that
|
||||||
|
fails to call one of the 'start' routines (not enabled in libpng-1.5
|
||||||
|
because it is technically an API change, since it did normally work
|
||||||
|
before.) It also makes duplicate calls to png_read_start_row (an
|
||||||
|
internal function called at the start of the image read) benign, as
|
||||||
|
they were before changes to use png_inflate_claim. Somehow webkit is
|
||||||
|
causing this to happen; this is probably a mis-feature in the zlib
|
||||||
|
changes so this commit is only a work-round.
|
||||||
|
Removed erroneous setting of DETECT_UNINITIALIZED and added more
|
||||||
|
checks. The code now does a png_error if an attempt is made to do the
|
||||||
|
row initialization twice; this is an application error and it has
|
||||||
|
serious consequences because the transform data in png_struct is
|
||||||
|
changed by each call.
|
||||||
|
Added application error reporting and added chunk names to read
|
||||||
|
benign errors; also added --strict to pngstest - not enabled
|
||||||
|
yet because a warning is produced.
|
||||||
|
Avoid the double gamma correction warning in the simplified API.
|
||||||
|
This allows the --strict option to pass in the pngstest checks
|
||||||
|
|
||||||
|
Version 1.6.0beta20 [March 29, 2012]
|
||||||
|
Changed chunk handler warnings into benign errors, incrementally load iCCP
|
||||||
|
Added checksum-icc.c to contrib/tools
|
||||||
Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
|
Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
|
||||||
|
Recognize known sRGB ICC profiles while reading; prefer writing the
|
||||||
|
iCCP profile over writing the sRGB chunk, controlled by the
|
||||||
|
PNG_sRGB_PROFILE_CHECKS option.
|
||||||
Revised png_set_text_2() to avoid potential memory corruption (fixes
|
Revised png_set_text_2() to avoid potential memory corruption (fixes
|
||||||
CVE-2011-3048, also known as CVE-2012-3425).
|
CVE-2011-3048, also known as CVE-2012-3425).
|
||||||
|
|
||||||
Version 1.5.11beta01 [April 28, 2012]
|
Version 1.6.0beta21 [April 27, 2012]
|
||||||
Revised scripts/makefile.darwin: use system zlib; remove quotes around
|
Revised scripts/makefile.darwin: use system zlib; remove quotes around
|
||||||
architecture list; add missing ppc architecture; add architecture options
|
architecture list; add missing ppc architecture; add architecture options
|
||||||
to shared library link; don't try to create a shared lib based on missing
|
to shared library link; don't try to create a shared lib based on missing
|
||||||
RELEASE variable.
|
RELEASE variable.
|
||||||
Enable png_set_check_for_invalid_index() for both read and write.
|
Enable png_set_check_for_invalid_index() for both read and write.
|
||||||
Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED/#endif in pngpriv.h around
|
Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpriv.h around
|
||||||
declaration of png_handle_unknown().
|
declaration of png_handle_unknown().
|
||||||
Added -lssp_nonshared in a comment in scripts/makefile.freebsd
|
Added -lssp_nonshared in a comment in scripts/makefile.freebsd
|
||||||
and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE.
|
and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE.
|
||||||
|
|
||||||
Version 1.5.11rc01 [May 23, 2012]
|
Version 1.6.0beta22 [May 23, 2012]
|
||||||
No changes.
|
Removed need for -Wno-cast-align with clang. clang correctly warns on
|
||||||
|
alignment increasing pointer casts when -Wcast-align is passed. This
|
||||||
|
fixes the cases that clang warns about either by eliminating the
|
||||||
|
casts from png_bytep to png_uint_16p (pngread.c), or, for pngrutil.c
|
||||||
|
where the cast is previously verified or pngstest.c where it is OK, by
|
||||||
|
introducing new png_aligncast macros to do the cast in a way that clang
|
||||||
|
accepts.
|
||||||
|
|
||||||
Version 1.5.11rc02 [May 29, 2012]
|
Version 1.6.0beta23 [June 6, 2012]
|
||||||
Fixed some typos in comments.
|
|
||||||
Revised CMakeLists.txt to not attempt to make a symlink under mingw.
|
Revised CMakeLists.txt to not attempt to make a symlink under mingw.
|
||||||
Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
|
Made fixes for new optimization warnings from gcc 4.7.0. The compiler
|
||||||
and renamed three whose names were inconsistent with those in
|
performs an optimization which is safe; however it then warns about it.
|
||||||
pngsuite/README.txt.
|
Changing the type of 'palette_number' in pngvalid.c removes the warning.
|
||||||
|
|
||||||
Version 1.5.11rc03 [June 4, 2012]
|
|
||||||
Do not depend upon a GCC feature macro being available for use in generating
|
Do not depend upon a GCC feature macro being available for use in generating
|
||||||
the linker mapfile symbol prefix.
|
the linker mapfile symbol prefix.
|
||||||
Made fixes for new optimization warnings from gcc 4.7.0. The compiler
|
Improved performance of new do_check_palette_indexes() function (only
|
||||||
performed an optimization which is safe but then warned about it.
|
update the value when it actually increases, move test for whether
|
||||||
Changing the type of 'palette_number' in pngvalid.c removes the warning.
|
the check is wanted out of the function.
|
||||||
|
|
||||||
Version 1.5.11rc04 [June 6, 2012]
|
Version 1.6.0beta24 [June 7, 2012]
|
||||||
Improved performance of new do_check_palette_indexes() function.
|
|
||||||
|
|
||||||
Version 1.5.11rc05 [June 7, 2012]
|
|
||||||
Don't check palette indexes if num_palette is 0 (as it can be in MNG files).
|
Don't check palette indexes if num_palette is 0 (as it can be in MNG files).
|
||||||
|
|
||||||
Version 1.5.11 [June 14, 2012]
|
Version 1.6.0beta25 [June 16, 2012]
|
||||||
Include zlib.h in contrib/gregbook and contrib/visupng examples.
|
Revised png_set_keep_unknown_chunks() so num_chunks < 0 means ignore all
|
||||||
|
unknown chunks and all known chunks except for IHDR, PLTE, tRNS, IDAT,
|
||||||
|
and IEND. Previously it only meant ignore all unknown chunks, the
|
||||||
|
same as num_chunks == 0. Revised png_image_skip_unused_chunks() to
|
||||||
|
provide a list of chunks to be processed instead of a list of chunks to
|
||||||
|
ignore. Revised contrib/gregbook/readpng2.c accordingly.
|
||||||
|
|
||||||
Version 1.5.12 [July 11, 2012]
|
Version 1.6.0beta26 [July 10, 2012]
|
||||||
Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it
|
Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it
|
||||||
depends on configure, which is not included in those archives.
|
depends on configure, which is not included in those archives.
|
||||||
|
Moved scripts/chkfmt to contrib/tools.
|
||||||
Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
|
Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
|
||||||
|
|
||||||
Version 1.5.13beta01 [August 8, 2012]
|
Version 1.6.0beta27 [August 11, 2012]
|
||||||
Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
|
Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
|
||||||
|
Do not use __restrict when GNUC is <= 3.1
|
||||||
Removed references to png_zalloc() and png_zfree() from the manual.
|
Removed references to png_zalloc() and png_zfree() from the manual.
|
||||||
Revised PNG_FP_EXPORT and PNG_FIXED_EXPORT macros to avoid generating
|
Fixed configurations where floating point is completely disabled. Because
|
||||||
lone semicolons (patch ported from libpng-1.6.0beta11).
|
of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION declares
|
||||||
|
floating point APIs during libpng builds even if they are completely
|
||||||
|
disabled. This requires the png floating point types (png_double*) to be
|
||||||
|
declared even though the functions are never actually defined. This
|
||||||
|
change provides a dummy definition so that the declarations work, yet any
|
||||||
|
implementation will fail to compile because of an incomplete type.
|
||||||
|
Re-eliminated the use of strcpy() in pngtest.c. An unncessary use of
|
||||||
|
strcpy() was accidentally re-introduced in libpng16; this change replaces
|
||||||
|
it with strncpy().
|
||||||
|
Eliminated use of png_sizeof(); use sizeof() instead.
|
||||||
|
Use a consistent style for (sizeof type) and (sizeof (array))
|
||||||
|
Cleanup of png_set_filler(). This function does very different things on
|
||||||
|
read and write. In libpng 1.6 the two cases can be distinguished and
|
||||||
|
considerable code cleanup, and extra error checking, is possible. This
|
||||||
|
makes calls on the write side that have no effect be ignored with a
|
||||||
|
png_app_error(), which can be disabled in the app using
|
||||||
|
png_set_benign_errors(), and removes the spurious use of usr_channels
|
||||||
|
on the read side.
|
||||||
|
Insist on autotools 1.12.1 for git builds because there are security issues
|
||||||
|
with 1.12 and insisting on anything less would allow 1.12 to be used.
|
||||||
|
Removed info_ptr->signature[8] from WRITE-only builds.
|
||||||
|
Add some conditions for compiling png_fixed(). This is a small function
|
||||||
|
but it requires "-lm" on some platforms.
|
||||||
|
Cause pngtest --strict to fail on any warning from libpng (not just errors)
|
||||||
|
and cause it not to fail at the comparison step if libpng lacks support
|
||||||
|
for writing chunks that it reads from the input (currently only implemented
|
||||||
|
for compressed text chunks).
|
||||||
|
Make all three "make check" test programs work without READ or WRITE support.
|
||||||
|
Now "make check" will succeed even if libpng is compiled with -DPNG_NO_READ
|
||||||
|
or -DPNG_NO_WRITE. The tests performed are reduced, but the basic reading
|
||||||
|
and writing of a PNG file is always tested by one or more of the tests.
|
||||||
|
Consistently use strlen(), memset(), memcpy(), and memcmp() instead of the
|
||||||
|
png_strlen(), png_memset(), png_memcpy(), and png_memcmp() macros.
|
||||||
|
Removed the png_sizeof(), png_strlen(), png_memset(), png_memcpy(), and
|
||||||
|
png_memcmp() macros.
|
||||||
|
Work around gcc 3.x and Microsoft Visual Studio 2010 complaints. Both object
|
||||||
|
to the split initialization of num_chunks.
|
||||||
|
|
||||||
Version 1.5.13beta02 [September 10, 2012]
|
Version 1.6.0beta28 [August 29, 2012]
|
||||||
Corrected handling of the image array and the row_pointers array in example.c
|
Unknown handling fixes and clean up. This adds more correct option
|
||||||
When png_set_filler is used to strip a filler channel during write, the
|
control of the unknown handling, corrects the pre-existing bug where
|
||||||
code prior to 1.5 would ignore the case where the output required an
|
the per-chunk 'keep' setting is ignored and makes it possible to skip
|
||||||
alpha channel or when the output was a palettized PNG. In libpng-1.5 the
|
IDAT chunks in the sequential reader (broken in earlier 1.6 versions).
|
||||||
ignorance was lost and libpng proceeded to strip the channel resulting
|
There is a new test program, test-unknown.c, which is a work in progress
|
||||||
in a bad (potential memory overwrite) failure later. This reverts
|
(not currently part of the test suite). Comments in the header files now
|
||||||
the behavior to the pre-1.5 state but issues a warning. libpng-1.6 is
|
explain how the unknown handling works.
|
||||||
expected to issue an error on the erroneous png_set_filler call.
|
Allow fine grain control of unknown chunk APIs. This change allows
|
||||||
Use png_memset() consistently (pngmem.c contained some bare "memset" calls).
|
png_set_keep_unknown_chunks() to be turned off if not required and causes
|
||||||
|
both read and write to behave appropriately (on read this is only possible
|
||||||
|
if the user callback is used to handle unknown chunks). The change
|
||||||
|
also removes the support for storing unknown chunks in the info_struct
|
||||||
|
if the only unknown handling enabled is via the callback, allowing libpng
|
||||||
|
to be configured with callback reading and none of the unnecessary code.
|
||||||
|
Corrected fix for unknown handling in pngtest. This reinstates the
|
||||||
|
libpng handling of unknown chunks other than vpAg and sTER (including
|
||||||
|
unsafe-to-copy chunks which were dropped before) and eliminates the
|
||||||
|
repositioning of vpAg and sTER in pngtest.png by changing pngtest.png
|
||||||
|
(so the chunks are where libpng would put them).
|
||||||
|
Added "tunknown" test and corrected a logic error in png_handle_unknown()
|
||||||
|
when SAVE support is absent. Moved the shell test scripts for
|
||||||
|
contrib/libtests from the libpng top directory to contrib/libtests.
|
||||||
|
png_handle_unknown() must always read or skip the chunk, if
|
||||||
|
SAVE_UNKNOWN_CHUNKS is turned off *and* the application does not set
|
||||||
|
a user callback an unknown chunk will not be read, leading to a read
|
||||||
|
error, which was revealed by the "tunknown" test.
|
||||||
|
Cleaned up and corrected ICC profile handling.
|
||||||
|
contrib/libtests/makepng: corrected 'rgb' and 'gray' cases. profile_error
|
||||||
|
messages could be truncated; made a correct buffer size calculation and
|
||||||
|
adjusted pngerror.c appropriately. png_icc_check_* checking improved;
|
||||||
|
changed the functions to receive the correct color type of the PNG on read
|
||||||
|
or write and check that it matches the color space of the profile (despite
|
||||||
|
what the comments said before, there is danger in assuming the app will
|
||||||
|
cope correctly with an RGB profile on a grayscale image and, since it
|
||||||
|
violates the PNG spec, allowing it is certain to produce inconsistent
|
||||||
|
app behavior and might even cause app crashes.) Check that profiles
|
||||||
|
contain the tags needed to process the PNG (tags all required by the ICC
|
||||||
|
spec). Removed unused PNG_STATIC from pngpriv.h.
|
||||||
|
|
||||||
Version 1.5.13rc01 [September 17, 2012]
|
Version 1.6.0beta29 [September 4, 2012]
|
||||||
No changes.
|
Fixed the simplified API example programs to add the *colormap parameter
|
||||||
|
to several of he API and improved the error message if the version field
|
||||||
|
is not set.
|
||||||
|
Added contrib/examples/* to the *.zip and *.7z distributions.
|
||||||
|
Updated simplified API synopses and description of the png_image structure
|
||||||
|
in the manual.
|
||||||
|
Made makepng and pngtest produce identical PNGs, add "--relaxed" option
|
||||||
|
to pngtest. The "--relaxed" option turns off the benign errors that are
|
||||||
|
enabled by default in pre-RC builds. makepng can now write ICC profiles
|
||||||
|
where the length has not been extended to a multiple of 4, and pngtest
|
||||||
|
now intercepts all libpng errors, allowing the previously-introduced
|
||||||
|
"--strict test" on no warnings to actually work.
|
||||||
|
Improved ICC profile handling including cHRM chunk generation and fixed
|
||||||
|
Cygwin+MSVC build errors. The ICC profile handling now includes more
|
||||||
|
checking. Several errors that caused rejection of the profile are now
|
||||||
|
handled with a warning in such a way that the invalid profiles will be
|
||||||
|
read by default in release (but not pre-RC) builds but will not be
|
||||||
|
written by default. The easy part of handling the cHRM chunk is written,
|
||||||
|
where the ICC profile contains the required data. The more difficult
|
||||||
|
part plus guessing a gAMA value requires code to pass selected RGB values
|
||||||
|
through the profile.
|
||||||
|
|
||||||
Version 1.5.13 [September 27, 2012]
|
Version 1.6.0beta30 [October 24, 2012]
|
||||||
No changes.
|
Changed ICC profile matrix/vector types to not depend on array type rules.
|
||||||
|
By the ANSI-C standard the new types should be identical to the previous
|
||||||
Version 1.5.14beta01 [October 24, 2012]
|
versions, and all known versions of gcc tested with the previous versions
|
||||||
|
except for GCC-4.2.1 work with this version. The change makes the ANSI-C
|
||||||
|
rule that const applied to an array of elements applies instead to the
|
||||||
|
elements in the array moot by explicitly applying const to the base
|
||||||
|
elements of the png_icc_matrix and png_icc_vector types. The accidental
|
||||||
|
(harmless) 'const' previously applied to the parameters of two of the
|
||||||
|
functions have also been removed.
|
||||||
|
Added a work around for GCC 4.2 optimization bug.
|
||||||
|
Marked the broken (bad white point) original HP sRGB profiles correctly and
|
||||||
|
correct comments.
|
||||||
Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
|
Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
|
||||||
Warn about the incorrect runtime library setting for VS2010 debug DLL builds.
|
Use /MDd for vstudio debug builds. Also added pngunkown to the vstudio
|
||||||
|
builds, fixed build errors and corrected a minor exit code error in
|
||||||
|
pngvalid if the 'touch' file name is invalid.
|
||||||
|
Add updated WARNING file to projects/vstudio from libpng 1.5/vstudio
|
||||||
Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
|
Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
|
||||||
pngrtran.c (Domani Hannes).
|
pngrtran.c (Domani Hannes).
|
||||||
|
|
||||||
Version 1.5.14beta02 [omitted]
|
Version 1.6.0beta31 [November 1, 2012]
|
||||||
|
Undid the erroneous change to vstudio/pngvalid build in libpng-1.6.0beta30.
|
||||||
|
Made pngvalid so that it will build outside the libpng source tree.
|
||||||
|
Made builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail).
|
||||||
|
Made PNG_NO_READ_GAMMA switch off interfaces that depend on READ_GAMMA.
|
||||||
|
Prior to 1.6.0 switching off READ_GAMMA did unpredictable things to the
|
||||||
|
interfaces that use it (specifically, png_do_background in 1.4 would
|
||||||
|
simply display composite for grayscale images but do composition
|
||||||
|
with the incorrect arithmetic for color ones). In 1.6 the semantic
|
||||||
|
of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
|
||||||
|
depends on it; this obliges people who set it to consider whether they
|
||||||
|
really want it off if they happen to use any of the interfaces in
|
||||||
|
question (typically most users who disable it won't).
|
||||||
|
Fixed GUIDs in projects/vstudio. Some were duplicated or missing,
|
||||||
|
resulting in VS2010 having to update the files.
|
||||||
|
Removed non-working ICC profile support code that was mostly added to
|
||||||
|
libpng-1.6.0beta29 and beta30. There was too much code for too little
|
||||||
|
gain; implementing full ICC color correction may be desireable but is left
|
||||||
|
up to applications.
|
||||||
|
|
||||||
Version 1.5.14beta03 [December 15, 2012]
|
Version 1.6.0beta32 [November 25, 2012]
|
||||||
Added missing "-" in front of DNO_GZIP in contrib/pngminim/*/makefile.
|
Fixed an intermittent SEGV in pngstest due to an uninitialized array element.
|
||||||
Check for png_ptr==NULL earlier in png_zalloc().
|
Added the ability for contrib/libtests/makepng.c to make a PNG with just one
|
||||||
Ignore, with a warning, out-of-range value of num_trans in png_set_tRNS().
|
color. This is useful for debugging pngstest color inaccuracy reports.
|
||||||
Rearranged building of ARM NEON optimizations. The ARM specific code is
|
Fixed error checking in the simplified write API (Olaf van der Spek)
|
||||||
split out entirely to the arm subdirectory and changes to configure.ac and
|
Made png_user_version_check() ok to use with libpng version 1.10.x and later.
|
||||||
Makefile.am to add new stuff are reduced. Now material code changes,
|
|
||||||
although for build test purposes, --enable-arm-neon now builds on non-ARM
|
Version 1.6.0beta33 [December 15, 2012]
|
||||||
systems.
|
Fixed typo in png.c (PNG_SET_CHUNK_MALLOC_MAX should be PNG_CHUNK_MALLOC_MAX)
|
||||||
Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.12.5.
|
that causes the MALLOC_MAX limit not to work (John Bowler)
|
||||||
|
Change png_warning() to png_app_error() in pngwrite.c and comment the
|
||||||
|
fall-through condition.
|
||||||
|
Change png_warning() to png_app_warning() in png_write_tRNS().
|
||||||
|
Rearranged the ARM-NEON optimizations: Isolated the machine specific code
|
||||||
|
to the hardware subdirectory and added comments to pngrutil.c so that
|
||||||
|
implementors of other optimizations know what to do.
|
||||||
Fixed cases of unquoted DESTDIR in Makefile.am
|
Fixed cases of unquoted DESTDIR in Makefile.am
|
||||||
Fixed a minor bug in types to malloc and major bug in handling compressed
|
Rebuilt Makefile.in, etc., with autoconf-2.69 and automake-1.12.5.
|
||||||
iTXt. Compressed iTXt could not be handled.
|
|
||||||
|
|
||||||
Version 1.5.14beta04 [December 19, 2012]
|
Version 1.6.0beta34 [December 19, 2012]
|
||||||
Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
|
Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
|
||||||
Disassembled the version number in scripts/options.awk (necessary for
|
Disassembled the version number in scripts/options.awk (necessary for
|
||||||
building on SunOs).
|
building on SunOs).
|
||||||
|
|
||||||
Version 1.5.14beta05 [December 23, 2012]
|
Version 1.6.0beta35 [December 23, 2012]
|
||||||
|
Made default Zlib compression settings be configurable. This adds #defines to
|
||||||
|
pnglibconf.h to control the defaults.
|
||||||
Fixed Windows build issues, enabled ARM compilation. Various warnings issued
|
Fixed Windows build issues, enabled ARM compilation. Various warnings issued
|
||||||
by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old
|
by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old
|
||||||
GCCs.) ARM support is enabled by default in zlib.props (unsupported by
|
GCCs.) ARM support is enabled by default in zlib.props (unsupported by
|
||||||
Microsoft) and ARM compilation is made possible by deleting the check for
|
Microsoft) and ARM compilation is made possible by deleting the check for
|
||||||
x86. The test programs cannot be run because they are not signed.
|
x86. The test programs cannot be run because they are not signed.
|
||||||
|
|
||||||
Version 1.5.14beta06 [January 1, 2013]
|
Version 1.6.0beta36 [January 2, 2013]
|
||||||
Discontinued distributing libpng-1.5.14-1.5.13-diff.txt and similar.
|
Discontinued distributing libpng-1.x.x.tar.bz2.
|
||||||
|
Discontinued distributing libpng-1.7.0-1.6.0-diff.txt and similar.
|
||||||
|
Rebuilt configure with autoconf-2.69 (inadvertently not done in beta33)
|
||||||
Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
|
Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
|
||||||
|
|
||||||
Version 1.5.14beta07 [January 6, 2012]
|
Version 1.6.0beta37 [January 10, 2013]
|
||||||
Replaced AM_CONFIG_HEADER(config.h) with AC_CONFIG_HEADERS([config.h])
|
Fixed conceivable but difficult to repro overflow. Also added two test
|
||||||
in configure.ac
|
programs to generate and test a PNG which should have the problem.
|
||||||
De-configured build fixes to make a range of deconfiguration options (such
|
|
||||||
as switching off read or write support) work in more cases. Also upgraded
|
|
||||||
pngtest and pngvalid to the libpng 1.6 versions (with some modifications)
|
|
||||||
which provide more extensive testing. Replaced pngtest.png because pngtest
|
|
||||||
writes the ancillary chunks in a different order.
|
|
||||||
|
|
||||||
Version 1.5.14beta08 [January 10, 2013]
|
Version 1.6.0beta39 [January 19, 2013]
|
||||||
Check validity of "num_unknowns" parameter of png_set_unknown_chunks()
|
Again corrected attempt at overflow detection in png_set_unknown_chunks().
|
||||||
(Bug report from yuris).
|
Added overflow detection in png_set_sPLT() and png_set_text_2().
|
||||||
|
|
||||||
Version 1.5.14rc01 [January 17, 2013]
|
Version 1.6.0beta40 [January 20, 2013]
|
||||||
|
Use consistent handling of overflows in text, sPLT and unknown png_set_* APIs
|
||||||
|
|
||||||
|
Version 1.6.0rc01 [January 26, 2013]
|
||||||
No changes.
|
No changes.
|
||||||
|
|
||||||
Version 1.5.14rc02 [January 17, 2013]
|
Version 1.6.0rc02 [February 4, 2013]
|
||||||
Revised test for validity of "num_unknowns" to eliminate compiler warnings.
|
|
||||||
|
|
||||||
Version 1.5.14rc03 [January 18, 2013]
|
|
||||||
Check the validity of the "nentries" parameter of png_set_sPLT() and the
|
|
||||||
"num_text" parameter of png_set_text_2().
|
|
||||||
|
|
||||||
Version 1.5.14 [January 24, 2013]
|
|
||||||
Removed an obsolete line from the manual.
|
|
||||||
|
|
||||||
Version 1.5.15beta01 [February 4, 2013]
|
|
||||||
Enabled renaming of the extern (but not DLL exported) ARM filter functions.
|
|
||||||
Also enabled inclusion of pngpriv.h in non-C files by preventing C/C++
|
|
||||||
specific definitions if PNG_VERSION_INFO_ONLY is defined.
|
|
||||||
Added png_get_palette_max() function.
|
Added png_get_palette_max() function.
|
||||||
|
|
||||||
Version 1.5.15beta02 [February 5, 2013]
|
Version 1.6.0rc03 [February 5, 2013]
|
||||||
Made a probably general fix for the preprocessing used to generate source
|
Fixed the png_get_palette_max API.
|
||||||
files. This change might make the check for a special C preprocessor
|
|
||||||
unnecessary, and it also eliminates the requirement for sed in the
|
|
||||||
configure build process.
|
|
||||||
Fix typo in Makefile.am, fix scripts/pnglibconf.mak and makefile.std
|
|
||||||
Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.13
|
|
||||||
Fix 'setting' handling in options.awk and fixed palette_max API
|
|
||||||
|
|
||||||
Version 1.5.15beta03 [February 7, 2013]
|
Version 1.6.0rc04 [February 7, 2013]
|
||||||
Remove SUN OS cc -E workround - no longer required
|
|
||||||
Turn serial tests back on (recently turned off by autotools upgrade).
|
Turn serial tests back on (recently turned off by autotools upgrade).
|
||||||
|
|
||||||
Version 1.5.15beta04 [February 15, 2013]
|
Version 1.6.0rc05 [February 8, 2013]
|
||||||
|
Update manual about png_get_palette_max().
|
||||||
|
|
||||||
|
Version 1.6.0rc06 [February 9, 2013]
|
||||||
|
Fixed missing dependency in --prefix builds The intermediate
|
||||||
|
internal 'prefix.h' file can only be generated correctly after
|
||||||
|
pnglibconf.h, however the dependency was not in Makefile.am. The
|
||||||
|
symptoms are unpredictable depending on the order make chooses to
|
||||||
|
build pngprefix.h and pnglibconf.h, often the error goes unnoticed
|
||||||
|
because there is a system pnglibconf.h to use instead.
|
||||||
|
|
||||||
|
Version 1.6.0rc07 [February 10, 2013]
|
||||||
Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED
|
Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED
|
||||||
block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly.
|
block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly.
|
||||||
|
|
||||||
Version 1.5.15beta05 [February 17, 2013]
|
Version 1.6.0rc08 [February 10, 2013]
|
||||||
Use approved/supported Android method to check for NEON, use Linux/POSIX
|
Fix typo in png.h #ifdef
|
||||||
1003.1 API to check /proc/self/auxv avoiding buffer allocation and other
|
|
||||||
library calls.
|
Version 1.6.0 [February 14, 2013]
|
||||||
|
No changes.
|
||||||
|
|
||||||
|
Version 1.6.1beta01 [February 16, 2013]
|
||||||
|
Made symbol prefixing work with the ARM neon optimizations. Also allow
|
||||||
|
pngpriv.h to be included for preprocessor definitions only, so it can
|
||||||
|
be used in non-C/C++ files. Back ported from libpng 1.7.
|
||||||
|
Made sRGB check numbers consistent.
|
||||||
|
Ported libpng 1.5 options.awk/dfn file handling to 1.6, fixed one bug.
|
||||||
|
Removed cc -E workround, corrected png_get_palette_max API Tested on
|
||||||
|
SUN OS cc 5.9, which demonstrates the tokenization problem previously
|
||||||
|
avoided by using /lib/cpp. Since all .dfn output is now protected in
|
||||||
|
double quotes unless it is to be macro substituted the fix should
|
||||||
|
work everywhere.
|
||||||
|
Enabled parallel tests - back ported from libpng-1.7.
|
||||||
|
scripts/pnglibconf.dfa formatting improvements back ported from libpng17.
|
||||||
Fixed a race condition in the creation of the build 'scripts' directory
|
Fixed a race condition in the creation of the build 'scripts' directory
|
||||||
while building with a parallel make.
|
while building with a parallel make.
|
||||||
Use parentheses more consistently in "#if defined(MACRO)" tests.
|
Use approved/supported Android method to check for NEON, use Linux/POSIX
|
||||||
|
1003.1 API to check /proc/self/auxv avoiding buffer allocation and other
|
||||||
|
library calls (ported from libpng15).
|
||||||
|
|
||||||
Version 1.5.15beta06 [February 22, 2013]
|
Version 1.6.1beta02 [February 19, 2013]
|
||||||
Fixed PNG_ALIGN(ED)_MEMORY and add ability to turn off ARM_NEON
|
Use parentheses more consistently in "#if defined(MACRO)" tests.
|
||||||
runtime checks
|
Folded long lines.
|
||||||
|
Reenabled code to allow zero length PLTE chunks for MNG.
|
||||||
|
|
||||||
|
Version 1.6.1beta03 [February 22, 2013]
|
||||||
|
Fixed ALIGNED_MEMORY support.
|
||||||
|
Allow run-time ARM NEON checking to be disabled. A new configure option:
|
||||||
|
--enable-arm-neon=always will stop the run-time checks. New checks
|
||||||
|
within arm/arm_init.c will cause the code not to be compiled unless
|
||||||
|
__ARM_NEON__ is set. This should make it fail safe (if someone asks
|
||||||
|
for it on then the build will fail if it can't be done.)
|
||||||
Updated the INSTALL document.
|
Updated the INSTALL document.
|
||||||
|
|
||||||
Version 1.5.15beta07 [February 27, 2013]
|
Version 1.6.1beta04 [February 27, 2013]
|
||||||
Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
|
Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
|
||||||
Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
|
Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
|
||||||
Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
|
Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
|
||||||
with CRLF line endings.
|
with CRLF line endings.
|
||||||
|
|
||||||
Version 1.5.15beta08 [March 5, 2013]
|
Version 1.6.1beta05 [March 1, 2013]
|
||||||
Avoid a possible memory leak in contrib/gregbook/readpng.c
|
Avoid a possible memory leak in contrib/gregbook/readpng.c
|
||||||
Made the _SUPPORTED macro definitions consistent. The change made in
|
|
||||||
libpng15 to #define *_SUPPORTED 1, to match the use of -D*_SUPPORTED
|
Version 1.6.1beta06 [March 4, 2013]
|
||||||
(which means -D*_SUPPORTED=1) and avoid compiler warnings from GCC was made
|
Better documentation of unknown handling API interactions.
|
||||||
inconsistently and causes problems as a result, also some additions in
|
|
||||||
pnglibconf.h.prebuilt were inconsistent (omitting the 1). This changes 1.5
|
|
||||||
back to the scheme used both before (1.4) and after (1.6). This might cause
|
|
||||||
some build scripts to issue warnings, and might, in the extreme, cause some
|
|
||||||
applications to fail (but they would fail anyway against 1.6). It seems
|
|
||||||
safer to go for consistency, given the change in 1.6, not correctness here,
|
|
||||||
particularly as 'make check' currently warns anyway on the symbols.dfn check
|
|
||||||
because of the inconsistencies.
|
|
||||||
Corrected Android builds and corrected libpng.vers with symbol
|
Corrected Android builds and corrected libpng.vers with symbol
|
||||||
prefixing This adds an API to set optimization options externally,
|
prefixing This adds an API to set optimization options externally,
|
||||||
providing an alternative and general solution for the non-portable
|
providing an alternative and general solution for the non-portable
|
||||||
@ -4048,7 +4435,21 @@ Version 1.5.15beta08 [March 5, 2013]
|
|||||||
settings to depend on options and options can now set (or override) the
|
settings to depend on options and options can now set (or override) the
|
||||||
defaults for settings.
|
defaults for settings.
|
||||||
|
|
||||||
Version 1.5.15beta09 [March 13, 2013]
|
Version 1.6.1beta07 [March 7, 2013]
|
||||||
|
Corrected simplified API default gamma for color-mapped output, added
|
||||||
|
a flag to change default. In 1.6.0 when the simplified API was used
|
||||||
|
to produce color-mapped output from an input image with no gamma
|
||||||
|
information the gamma assumed for the input could be different from
|
||||||
|
that assumed for non-color-mapped output. In particular 16-bit depth
|
||||||
|
input files were assumed to be sRGB encoded, whereas in the 'direct'
|
||||||
|
case they were assumed to have linear data. This was an error. The
|
||||||
|
fix makes the simplified API treat all input files the same way and
|
||||||
|
adds a new flag to the png_image::flags member to allow the
|
||||||
|
application/user to specify that 16-bit files contain sRGB data
|
||||||
|
rather than the default linear.
|
||||||
|
Fixed bugs in the pngpixel and makepng test programs.
|
||||||
|
|
||||||
|
Version 1.6.1beta08 [March 7, 2013]
|
||||||
Fixed CMakelists.txt to allow building a single variant of the library
|
Fixed CMakelists.txt to allow building a single variant of the library
|
||||||
(Claudio Bley):
|
(Claudio Bley):
|
||||||
Introduced a PNG_LIB_TARGETS variable that lists all activated library
|
Introduced a PNG_LIB_TARGETS variable that lists all activated library
|
||||||
@ -4060,37 +4461,77 @@ Version 1.5.15beta09 [March 13, 2013]
|
|||||||
first argument. When symlinking the filename component of that path is
|
first argument. When symlinking the filename component of that path is
|
||||||
determined and used as the link target.
|
determined and used as the link target.
|
||||||
Use copy_if_different in the CREATE_SYMLINK macro.
|
Use copy_if_different in the CREATE_SYMLINK macro.
|
||||||
|
|
||||||
|
Version 1.6.1beta09 [March 13, 2013]
|
||||||
Eliminated two warnings from the Intel C compiler. The warnings are
|
Eliminated two warnings from the Intel C compiler. The warnings are
|
||||||
technically valid, although a reasonable treatment of division would
|
technically valid, although a reasonable treatment of division would
|
||||||
show it to be incorrect.
|
show it to be incorrect.
|
||||||
|
|
||||||
Version 1.5.15rc01 [March 21, 2013]
|
Version 1.6.1rc01 [March 21, 2013]
|
||||||
No changes.
|
No changes.
|
||||||
|
|
||||||
Version 1.5.15 [March 28, 2013]
|
Version 1.6.1 [March 28, 2013]
|
||||||
No changes.
|
No changes.
|
||||||
|
|
||||||
Version 1.5.16beta01 [April 25, 2013]
|
Version 1.6.2beta01 [April 14, 2013]
|
||||||
|
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
|
Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c
|
||||||
(Flavio Medeiros).
|
(Flavio Medeiros).
|
||||||
|
Corrected length written to uncompressed iTXt chunks (Samuli Suominen).
|
||||||
|
Bug was introduced in libpng-1.6.0.
|
||||||
|
|
||||||
|
Version 1.6.2rc01 [April 18, 2013]
|
||||||
|
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.
|
||||||
|
|
||||||
|
Version 1.6.2rc02 [April 18, 2013]
|
||||||
|
Merge pngtest.c with libpng-1.7.0
|
||||||
|
|
||||||
|
Version 1.6.2rc03 [April 22, 2013]
|
||||||
|
Trivial spelling cleanup.
|
||||||
|
|
||||||
|
Version 1.6.2rc04 and 1.6.2rc05 [omitted]
|
||||||
|
|
||||||
|
Version 1.6.2rc06 [April 24, 2013]
|
||||||
|
Reverted to version 1.6.2rc03. Recent changes to arm/neon support
|
||||||
|
have been ported to libpng-1.7.0beta09 and will reappear in version
|
||||||
|
1.6.3beta01.
|
||||||
|
|
||||||
|
Version 1.6.2 [April 25, 2013]
|
||||||
|
No changes.
|
||||||
|
|
||||||
|
Version 1.6.3beta01 [April 25, 2013]
|
||||||
Revised stack marking in arm/filter_neon.S and configure.ac.
|
Revised stack marking in arm/filter_neon.S and configure.ac.
|
||||||
Ensure that NEON filter stuff is completely disabled when switched 'off'.
|
Ensure that NEON filter stuff is completely disabled when switched 'off'.
|
||||||
Previously the ARM NEON specific files were still built if the option
|
Previously the ARM NEON specific files were still built if the option
|
||||||
was switched 'off' as opposed to being explicitly disabled.
|
was switched 'off' as opposed to being explicitly disabled.
|
||||||
Avoid a compiler warning about unused png_ptr in translate_gamma_flags()
|
|
||||||
|
|
||||||
Version 1.5.16beta02 [April 26, 2013]
|
Version 1.6.3beta02 [April 26, 2013]
|
||||||
Revise pngtest.c to skip tests of unsupported features.
|
|
||||||
Regenerated configure files.
|
|
||||||
|
|
||||||
Version 1.5.16beta03 [April 26, 2013]
|
|
||||||
Test for 'arm*' not just 'arm' in the host_cpu configure variable.
|
Test for 'arm*' not just 'arm' in the host_cpu configure variable.
|
||||||
|
Rebuilt the configure scripts.
|
||||||
|
|
||||||
Version 1.5.16beta04 [May 1, 2013]
|
Version 1.6.3beta03 [April 30, 2013]
|
||||||
Expanded manual paragraph about writing private chunks, particularly
|
Expanded manual paragraph about writing private chunks, particularly
|
||||||
the need to call png_set_keep_unknown_chunks() when writing them.
|
the need to call png_set_keep_unknown_chunks() when writing them.
|
||||||
|
Avoid dereferencing NULL pointer possibly returned from
|
||||||
|
png_create_write_struct() (Andrew Church).
|
||||||
|
|
||||||
Version 1.5.16beta05 [May 2, 2013]
|
Version 1.6.3beta04 [May 6, 2013]
|
||||||
|
Calculate our own zlib windowBits when decoding rather than trusting the
|
||||||
|
CMF bytes in the PNG datastream.
|
||||||
|
|
||||||
|
Version 1.6.3beta05 [May 6, 2013]
|
||||||
|
Choose to use our calculated windowBits or the zlib header setting via
|
||||||
|
the benign-errors setting. If benign errors are allowed, then ignore
|
||||||
|
the windowBits setting in the zlib header.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
3080
pngrutil.c
3080
pngrutil.c
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user