]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libpng/lib/dist/ANNOUNCE
b719f6683b018ddcaf83b03ec492915823d1d02a
[l4.git] / l4 / pkg / libpng / lib / dist / ANNOUNCE
1
2 Libpng 1.6.0 - February 14, 2013
3
4 This is a public release of libpng, intended for use in production codes.
5
6 Files available for download:
7
8 Source files with LF line endings (for Unix/Linux) and with a
9 "configure" script
10
11    libpng-1.6.0.tar.xz (LZMA-compressed, recommended)
12    libpng-1.6.0.tar.gz
13
14 Source files with CRLF line endings (for Windows), without the
15 "configure" script
16
17    lpng160.7z  (LZMA-compressed, recommended)
18    lpng160.zip
19
20 Other information:
21
22    libpng-1.6.0-README.txt
23    libpng-1.6.0-LICENSE.txt
24
25 Changes since the last public release (1.5.7):
26
27   Removed machine-generated configure files from the GIT repository (they will
28     continue to appear in the tarball distributions and in the libpng15 and
29     earlier GIT branches).
30   Restored the new 'simplified' API, which was started in libpng-1.5.7beta02
31     but later deleted from libpng-1.5.7beta05.
32   Added example programs and test program pngstest for the new 'simplified' API.
33   Added ANSI-C (C90) headers and require them, and take advantage of the
34     change. Also fixed some of the projects/* and contrib/* files that needed
35     updates for libpng16 and the move of pngvalid.c.
36     With this change the required ANSI-C header files are assumed to exist: the
37     implementation must provide float.h, limits.h, stdarg.h and stddef.h and
38     libpng relies on limits.h and stddef.h existing and behaving as defined
39     (the other two required headers aren't used).  Non-ANSI systems that don't
40     have stddef.h or limits.h will have to provide an appropriate fake
41     containing the relevant types and #defines.
42   The use of FAR/far has been eliminated and the definition of png_alloc_size_t
43     is now controlled by a flag so that 'small size_t' systems can select it
44     if necessary.  Libpng 1.6 may not currently work on such systems -- it
45     seems likely that it will ask 'malloc' for more than 65535 bytes with any
46     image that has a sufficiently large row size (rather than simply failing
47     to read such images).
48   New tools directory containing tools used to generate libpng code.
49   Fixed race conditions in parallel make builds. With higher degrees of
50     parallelism during 'make' the use of the same temporary file names such
51     as 'dfn*' can result in a race where a temporary file from one arm of the
52     build is deleted or overwritten in another arm.  This changes the
53     temporary files for suffix rules to always use $* and ensures that the
54     non-suffix rules use unique file names.
55   Correct configure builds where build and source directories are separate.
56     The include path of 'config.h' was erroneously made relative in pngvalid.c
57     in libpng 1.5.7.
58   Start-up code size improvements, error handler flexibility. These changes
59     alter how the tricky allocation of the initial png_struct and png_info
60     structures are handled. png_info is now handled in pretty much the same
61     way as everything else, except that the allocations handle NULL return
62     silently.  png_struct is changed in a similar way on allocation and on
63     deallocation a 'safety' error handler is put in place (which should never
64     be required).  The error handler itself is changed to permit mismatches
65     in the application and libpng error buffer size; however, this means a
66     silent change to the API to return the jmp_buf if the size doesn't match
67     the size from the libpng compilation; libpng now allocates the memory and
68     this may fail.  Overall these changes result in slight code size
69     reductions; however, this is a reduction in code that is always executed
70     so is particularly valuable.  Overall on a 64-bit system the libpng DLL
71     decreases in code size by 1733 bytes.  pngerror.o increases in size by
72     about 465 bytes because of the new functionality.
73   Added png_convert_to_rfc1123_buffer() and deprecated png_convert_to_rfc1123()
74     to avoid including a spurious buffer in the png_struct.
75   Regenerated configure scripts with automake-1.11.2
76   Eliminated png_info_destroy(). It is now used only in png.c and only calls
77     one other internal function and memset().
78   Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously
79     it was disabled whenever internal fixed point arithmetic was selected,
80     which meant it didn't exist even on systems where FP was available but not
81     preferred.
82   Added pngvalid.c compile time checks for const APIs.
83   Implemented 'restrict' for png_info and png_struct. Because of the way
84     libpng works both png_info and png_struct are always accessed via a
85     single pointer.  This means adding C99 'restrict' to the pointer gives
86     the compiler some opportunity to optimize the code.  This change allows
87     that.
88   Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
89     location in configure.ac (Gilles Espinasse).
90   Changed png_memcpy to C assignment where appropriate. Changed all those
91     uses of png_memcpy that were doing a simple assignment to assignments
92     (all those cases where the thing being copied is a non-array C L-value).
93   Added some error checking to png_set_*() routines.
94   Removed the reference to the non-exported function png_memcpy() from
95     example.c.
96   Fixed the Visual C 64-bit build - it requires jmp_buf to be aligned, but
97     it had become misaligned.
98   Revised contrib/pngminus/pnm2png.c to avoid warnings when png_uint_32
99     and unsigned long are of different sizes.
100   Updated manual with description of the simplified API.
101   Fix bug in pngerror.c: some long warnings were being improperly truncated
102     (CVE-2011-3464, bug introduced in libpng-1.5.4).
103   Increased the formatted warning buffer to 192 bytes.
104   Fixed Min/GW uninstall to remove libpng.dll.a
105   Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived)
106     compiler issues slightly different warnings from those issued by the
107     current vesions of GCC. This eliminates those warnings by
108     adding/removing casts and small code rewrites.
109   Updated configure.ac from autoupdate: added --enable-werror option.
110     Also some layout regularization and removal of introduced tab characters
111     (replaced with 3-character indentation).  Obsolete macros identified by
112     autoupdate have been removed; the replacements are all in 2.59 so
113     the pre-req hasn't been changed.  --enable-werror checks for support
114     for -Werror (or the given argument) in the compiler.  This mimics the
115     gcc configure option by allowing -Werror to be turned on safely; without
116     the option the tests written in configure itself fail compilation because
117     they cause compiler warnings.
118   Rewrote autogen.sh to run autoreconf instead of running tools one-by-one.
119   Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt and
120     set CMAKE_LIBRARY_OUTPUT_DIRECTORY to "lib" on all platforms (C. Yapp).
121   Freeze libtool files in the 'scripts' directory. This version of autogen.sh
122     attempts to dissuade people from running it when it is not, or should not,
123     be necessary.  In fact, autogen.sh does not work when run in a libpng
124     directory extracted from a tar distribution anymore. You must run it in
125     a GIT clone instead.
126   Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
127     and renamed three whose names were inconsistent with those in
128     pngsuite/README.txt.
129   Check libtool/libtoolize version number (2.4.2) in configure.ac
130   Moved automake options to AM_INIT_AUTOMAKE in configure.ac
131   Added color-tests, silent-rules (Not yet implemented in Makefile.am) and
132     version checking to configure.ac
133   Cleaned up pngpriv.h to consistently declare all functions and data.
134     Also eliminated PNG_CONST_DATA, which is apparently not needed but we
135     can't be sure until it is gone.
136   Added symbol prefixing that allows all the libpng external symbols
137     to be prefixed (suggested by Reuben Hawkins).
138   Updated "ftbb*.png" list in the owatcom and vstudio projects.
139   Added Z_SOLO for zlib-1.2.6+ and correct pngstest tests
140   Revised INSTALL information about autogen.sh.
141   Updated list of test images in CMakeLists.txt
142   Corrected estimate of error in libpng png_set_rgb_to_gray API.  The API is
143     extremely inaccurate for sRGB conversions because it uses an 8-bit
144     intermediate linear value and it does not use the sRGB transform, so it
145     suffers from the known instability in gamma transforms for values close
146     to 0 (see Poynton).  The net result is that the calculation has a maximum
147     error of 14.99/255; 0.5/255^(1/2.2).  pngstest now uses 15 for the
148     permitted 8-bit error. This may still not be enough because of arithmetic
149     error.
150   Removed some unused arrays (with #ifdef) from png_read_push_finish_row().
151   Fixed a memory overwrite bug in simplified read of RGB PNG with
152     non-linear gamma Also bugs in the error checking in pngread.c and changed
153     quite a lot of the checks in pngstest.c to be correct; either correctly
154     written or not over-optimistic.  The pngstest changes are insufficient to
155     allow all possible RGB transforms to be passed; pngstest cmppixel needs
156     to be rewritten to make it clearer which errors it allows and then changed
157     to permit known inaccuracies.
158   Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h
159   Fixed fixed/float API export conditionals. 1) If FIXED_POINT or
160     FLOATING_POINT options were switched off, png.h ended up with lone ';'
161     characters.  This is not valid ANSI-C outside a function.  The ';'
162     characters have been moved inside the definition of PNG_FP_EXPORT and
163     PNG_FIXED_EXPORT. 2) If either option was switched off, the declaration
164     of the corresponding functions were completely omitted, even though some
165     of them are still used internally.  The result is still valid, but
166     produces warnings from gcc with some warning options (including -Wall). The
167     fix is to cause png.h to declare the functions with PNG_INTERNAL_FUNCTION
168     when png.h is included from pngpriv.h.
169   Check for invalid palette index while reading paletted PNG.  When one is
170     found, issue a warning.
171   Fixed CVE-2011-3026 buffer overrun bug.  Deal more correctly with the test
172     on iCCP chunk length. Also removed spurious casts that may hide problems
173     on 16-bit systems.
174   Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
175     pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
176     now that png_ptr->buffer is inaccessible to applications, the special
177     handling is no longer useful.
178   Added PNG_SAFE_LIMITS feature to pnglibconf.dfa, pngpriv.h, and new
179     pngusr.dfa to reset the user limits to safe ones if PNG_SAFE_LIMITS is
180     defined.  To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED=1" on the
181     configure command or put #define PNG_SAFE_LIMITS_SUPPORTED in
182     pnglibconf.h.prebuilt and pnglibconf.h.
183   Added information about the new limits in the manual.
184   Removed unused "current_text" members of png_struct and the png_free()
185     of png_ptr->current_text from pngread.c
186   Added PNG_IMAGE_FLAG_FAST for the benefit of applications that store
187     intermediate files, or intermediate in-memory data, while processing
188     image data with the simplified API.  The option makes the files larger
189     but faster to write and read.  pngstest now uses this by default; this
190     can be disabled with the --slow option.
191   Improved pngstest fine tuning of error numbers, new test file generator.
192     The generator generates images that test the full range of sample values,
193     allow the error numbers in pngstest to be tuned and checked.  makepng
194     also allows generation of images with extra chunks, although this is
195     still work-in-progress.
196   Fixed some bugs in ICC profile writing. The code should now accept
197     all potentially valid ICC profiles and reject obviously invalid ones.
198     It now uses png_error() to do so rather than casually writing a PNG
199     without the necessary color data.
200   Removed whitespace from the end of lines in all source files and scripts.
201   Added tests for invalid palette index while reading and writing.
202   Changed png_inflate() and calling routines to avoid overflow problems.
203     This is an intermediate check-in that solves the immediate problems and
204     introduces one performance improvement (avoiding a copy via png_ptr->zbuf.)
205     Further changes will be made to make ICC profile handling more secure.
206   Added contrib/libtests/tarith.c to test internal arithmetic functions from
207     png.c. This is a libpng maintainer program used to validate changes to the
208     internal arithmetic functions.
209   Made read 'inflate' handling like write 'deflate' handling. The read
210     code now claims and releases png_ptr->zstream, like the write code.
211     The bug whereby the progressive reader failed to release the zstream
212     is now fixed, all initialization is delayed, and the code checks for
213     changed parameters on deflate rather than always calling
214     deflatedEnd/deflateInit.
215   Validate the zTXt strings in pngvalid.
216   Added code to validate the windowBits value passed to deflateInit2().
217     If the call to deflateInit2() is wrong a png_warning will be issued
218     (in fact this is harmless, but the PNG data produced may be sub-optimal).
219   Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition. 
220   Reject all iCCP chunks after the first, even if the first one is invalid.
221   Deflate/inflate was reworked to move common zlib calls into single
222     functions [rw]util.c.  A new shared keyword check routine was also added
223     and the 'zbuf' is no longer allocated on progressive read.  It is now
224     possible to call png_inflate() incrementally.
225   If benign errors are disabled use maximum window on ancilliary inflate.
226     This works round a bug introduced in 1.5.4 where compressed ancillary
227     chunks could end up with a too-small windowBits value in the deflate
228     header.
229   Issue a png_benign_error() instead of png_warning() about bad palette index.
230   In pngtest, treat benign errors as errors if "-strict" is present.
231   Fixed a compiler warning under Cygwin (Windows-7, 32-bit system)
232   Revised example.c to put text strings in a temporary character array
233     instead of directly assigning string constants to png_textp members.
234     This avoids compiler warnings when -Wwrite-strings is enabled.
235   Added output flushing to aid debugging under Visual Studio. Unfortunately
236     this is necessary because the VS2010 output window otherwise simply loses
237     the error messages on error (they weren't flushed to the window before
238     the process exited, apparently!)
239   Added configuration support for benign errors and changed the read
240     default. Also changed some warnings in the iCCP and sRGB handling
241     from to benign errors. Configuration now makes read benign
242     errors warnings and write benign errors to errors by default (thus
243     changing the behavior on read).  The simplified API always forces
244     read benign errors to warnings (regardless of the system default, unless
245     this is disabled in which case the simplified API can't be built.)
246   Work around for duplicate row start calls; added warning messages.
247     This turns on PNG_FLAG_DETECT_UNINITIALIZED to detect app code that
248     fails to call one of the 'start' routines (not enabled in libpng-1.5
249     because it is technically an API change, since it did normally work
250     before.)  It also makes duplicate calls to png_read_start_row (an
251     internal function called at the start of the image read) benign, as
252     they were before changes to use png_inflate_claim. Somehow webkit is
253     causing this to happen; this is probably a mis-feature in the zlib
254     changes so this commit is only a work-round.
255   Removed erroneous setting of DETECT_UNINITIALIZED and added more
256     checks. The code now does a png_error if an attempt is made to do the
257     row initialization twice; this is an application error and it has
258     serious consequences because the transform data in png_struct is
259     changed by each call.
260   Added application error reporting and added chunk names to read
261     benign errors; also added --strict to pngstest - not enabled
262     yet because a warning is produced.
263   Avoid the double gamma correction warning in the simplified API.
264     This allows the --strict option to pass in the pngstest checks
265   Changed chunk handler warnings into benign errors, incrementally load iCCP
266   Added checksum-icc.c to contrib/tools
267   Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
268   Recognize known sRGB ICC profiles while reading; prefer writing the
269     iCCP profile over writing the sRGB chunk, controlled by the
270     PNG_sRGB_PROFILE_CHECKS option.
271   Revised png_set_text_2() to avoid potential memory corruption (fixes
272     CVE-2011-3048).
273   Revised scripts/makefile.darwin: use system zlib; remove quotes around
274     architecture list; add missing ppc architecture; add architecture options
275     to shared library link; don't try to create a shared lib based on missing
276     RELEASE variable.
277   Enable png_set_check_for_invalid_index() for both read and write.
278   Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpriv.h around
279     declaration of png_handle_unknown().
280   Added -lssp_nonshared in a comment in scripts/makefile.freebsd
281     and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE.
282   Removed need for -Wno-cast-align with clang.  clang correctly warns on
283     alignment increasing pointer casts when -Wcast-align is passed. This
284     fixes the cases that clang warns about either by eliminating the
285     casts from png_bytep to png_uint_16p (pngread.c), or, for pngrutil.c
286     where the cast is previously verified or pngstest.c where it is OK, by
287     introducing new png_aligncast macros to do the cast in a way that clang
288     accepts.
289   Revised CMakeLists.txt to not attempt to make a symlink under mingw.
290   Made fixes for new optimization warnings from gcc 4.7.0. The compiler
291     performs an optimization which is safe; however it then warns about it.
292     Changing the type of 'palette_number' in pngvalid.c removes the warning.
293   Do not depend upon a GCC feature macro being available for use in generating
294     the linker mapfile symbol prefix.
295   Improved performance of new do_check_palette_indexes() function (only
296     update the value when it actually increases, move test for whether
297     the check is wanted out of the function.
298   Don't check palette indexes if num_palette is 0 (as it can be in MNG files).
299   Revised png_set_keep_unknown_chunks() so num_chunks < 0 means ignore all
300     unknown chunks and all known chunks except for IHDR, PLTE, tRNS, IDAT,
301     and IEND.  Previously it only meant ignore all unknown chunks, the
302     same as num_chunks == 0. Revised png_image_skip_unused_chunks() to
303     provide a list of chunks to be processed instead of a list of chunks to
304     ignore.  Revised contrib/gregbook/readpng2.c accordingly.
305   Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it
306     depends on configure, which is not included in those archives.
307   Moved scripts/chkfmt to contrib/tools.
308   Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
309   Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
310   Do not use __restrict when GNUC is <= 3.1
311   Removed references to png_zalloc() and png_zfree() from the manual.
312   Fixed configurations where floating point is completely disabled.  Because
313     of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION declares
314     floating point APIs during libpng builds even if they are completely
315     disabled. This requires the png floating point types (png_double*) to be
316     declared even though the functions are never actually defined.  This
317     change provides a dummy definition so that the declarations work, yet any
318     implementation will fail to compile because of an incomplete type.
319   Re-eliminated the use of strcpy() in pngtest.c.  An unncessary use of
320     strcpy() was accidentally re-introduced in libpng16; this change replaces
321     it with strncpy().
322   Eliminated use of png_sizeof(); use sizeof() instead.
323   Use a consistent style for (sizeof type) and (sizeof (array))
324   Cleanup of png_set_filler().  This function does very different things on
325     read and write.  In libpng 1.6 the two cases can be distinguished and
326     considerable code cleanup, and extra error checking, is possible.  This
327     makes calls on the write side that have no effect be ignored with a
328     png_app_error(), which can be disabled in the app using
329     png_set_benign_errors(), and removes the spurious use of usr_channels
330     on the read side.
331   Insist on autotools 1.12.1 for git builds because there are security issues
332     with 1.12 and insisting on anything less would allow 1.12 to be used.
333   Removed info_ptr->signature[8] from WRITE-only builds.
334   Add some conditions for compiling png_fixed().  This is a small function
335     but it requires "-lm" on some platforms.
336   Cause pngtest --strict to fail on any warning from libpng (not just errors)
337     and cause it not to fail at the comparison step if libpng lacks support
338     for writing chunks that it reads from the input (currently only implemented
339     for compressed text chunks).
340   Make all three "make check" test programs work without READ or WRITE support.
341     Now "make check" will succeed even if libpng is compiled with -DPNG_NO_READ
342     or -DPNG_NO_WRITE.  The tests performed are reduced, but the basic reading
343     and writing of a PNG file is always tested by one or more of the tests.
344   Consistently use strlen(), memset(), memcpy(), and memcmp() instead of the
345     png_strlen(), png_memset(), png_memcpy(), and png_memcmp() macros.
346   Removed the png_sizeof(), png_strlen(), png_memset(), png_memcpy(), and
347     png_memcmp() macros.
348   Work around gcc 3.x and Microsoft Visual Studio 2010 complaints. Both object
349     to the split initialization of num_chunks.
350   Unknown handling fixes and clean up. This adds more correct option
351     control of the unknown handling, corrects the pre-existing bug where
352     the per-chunk 'keep' setting is ignored and makes it possible to skip
353     IDAT chunks in the sequential reader (broken in earlier 1.6 versions).
354     There is a new test program, test-unknown.c, which is a work in progress
355     (not currently part of the test suite).  Comments in the header files now
356     explain how the unknown handling works.
357   Allow fine grain control of unknown chunk APIs. This change allows
358     png_set_keep_unknown_chunks() to be turned off if not required and causes
359     both read and write to behave appropriately (on read this is only possible
360     if the user callback is used to handle unknown chunks).  The change
361     also removes the support for storing unknown chunks in the info_struct
362     if the only unknown handling enabled is via the callback, allowing libpng
363     to be configured with callback reading and none of the unnecessary code.
364   Corrected fix for unknown handling in pngtest. This reinstates the
365     libpng handling of unknown chunks other than vpAg and sTER (including
366     unsafe-to-copy chunks which were dropped before) and eliminates the
367     repositioning of vpAg and sTER in pngtest.png by changing pngtest.png
368     (so the chunks are where libpng would put them).
369   Added "tunknown" test and corrected a logic error in png_handle_unknown()
370     when SAVE support is absent.  Moved the shell test scripts for
371     contrib/libtests from the libpng top directory to contrib/libtests.
372     png_handle_unknown() must always read or skip the chunk, if
373     SAVE_UNKNOWN_CHUNKS is turned off *and* the application does not set
374     a user callback an unknown chunk will not be read, leading to a read
375     error, which was revealed by the "tunknown" test.
376   Cleaned up and corrected ICC profile handling.
377     contrib/libtests/makepng: corrected 'rgb' and 'gray' cases.  profile_error
378     messages could be truncated; made a correct buffer size calculation and
379     adjusted pngerror.c appropriately. png_icc_check_* checking improved;
380     changed the functions to receive the correct color type of the PNG on read
381     or write and check that it matches the color space of the profile (despite
382     what the comments said before, there is danger in assuming the app will
383     cope correctly with an RGB profile on a grayscale image and, since it
384     violates the PNG spec, allowing it is certain to produce inconsistent
385     app behavior and might even cause app crashes.) Check that profiles
386     contain the tags needed to process the PNG (tags all required by the ICC
387     spec). Removed unused PNG_STATIC from pngpriv.h.
388   Fixed the simplified API example programs and improved the error message
389     if the version field is not set.
390   Updated simplified API synopses and description of the png_image structure
391     in the manual.
392   Made makepng and pngtest produce identical PNGs, add "--relaxed" option
393     to pngtest. The "--relaxed" option turns off the benign errors that are
394     enabled by default in pre-RC builds. makepng can now write ICC profiles
395     where the length has not been extended to a multiple of 4, and pngtest
396     now intercepts all libpng errors, allowing the previously-introduced
397     "--strict test" on no warnings to actually work.
398   Added a work around for GCC 4.2 optimization bug.
399   Marked the broken (bad white point) original HP sRGB profiles correctly and
400     correct comments.
401   Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
402   Use /MDd for vstudio debug builds. Also added pngunkown to the vstudio
403     builds, fixed build errors and corrected a minor exit code error in
404     pngvalid if the 'touch' file name is invalid.
405   Add updated WARNING file to projects/vstudio from libpng 1.5/vstudio
406   Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
407     pngrtran.c (Domani Hannes).
408   Made pngvalid so that it will build outside the libpng source tree.
409   Made PNG_NO_READ_GAMMA switch off interfaces that depend on READ_GAMMA.
410     Prior to 1.6.0 switching off READ_GAMMA did unpredictable things to the
411     interfaces that use it (specifically, png_do_background in 1.4 would
412     simply display composite for grayscale images but do composition
413     with the incorrect arithmetic for color ones). In 1.6 the semantic
414     of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
415     depends on it; this obliges people who set it to consider whether they
416     really want it off if they happen to use any of the interfaces in
417     question (typically most users who disable it won't).
418   Added the ability for contrib/libtests/makepng.c to make a PNG with just one
419     color. This is useful for debugging pngstest color inaccuracy reports.
420   Made png_user_version_check() ok to use with libpng version 1.10.x and later.
421   Fixed typo in png.c (PNG_SET_CHUNK_MALLOC_MAX should be PNG_CHUNK_MALLOC_MAX)
422     that causes the MALLOC_MAX limit not to work (John Bowler)
423   Change png_warning() to png_app_error() in pngwrite.c and comment the
424     fall-through condition.
425   Change png_warning() to png_app_warning() in png_write_tRNS().
426   Rearranged the ARM-NEON optimizations: Isolated the machine specific code
427     to the hardware subdirectory and added comments to pngrutil.c so that
428     implementors of other optimizations know what to do.
429   Fixed cases of unquoted DESTDIR in Makefile.am
430   Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
431   Disassembled the version number in scripts/options.awk (necessary for
432     building on SunOs).
433   Made default Zlib compression settings be configurable. This adds #defines to
434     pnglibconf.h to control the defaults.
435   Fixed Windows build issues, enabled ARM compilation. Various warnings issued
436     by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old
437     GCCs.) ARM support is enabled by default in zlib.props (unsupported by
438     Microsoft) and ARM compilation is made possible by deleting the check for
439     x86. The test programs cannot be run because they are not signed.
440   Discontinued distributing libpng-1.x.x.tar.bz2.
441   Discontinued distributing libpng-1.7.0-1.6.0-diff.txt and similar.
442   Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.12.5.
443   Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
444   Fixed conceivable but difficult to repro overflow. Also added two test
445     programs to generate and test a PNG which should have the problem.
446   Added overflow detection in png_set_sPLT() and png_set_text_2().
447   Use consistent handling of overflows in text, sPLT and unknown png_set_* APIs
448   Added png_get_palette_max() function.
449   Fixed missing dependency in --prefix builds The intermediate
450     internal 'prefix.h' file can only be generated correctly after
451     pnglibconf.h, however the dependency was not in Makefile.am.  The
452     symptoms are unpredictable depending on the order make chooses to
453     build pngprefix.h and pnglibconf.h, often the error goes unnoticed
454     because there is a system pnglibconf.h to use instead.
455   Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED
456     block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly.
457
458 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
459 (subscription required; visit
460 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
461 to subscribe)
462 or to glennrp at users.sourceforge.net
463
464 Glenn R-P