blob: 07d5bcc27aa140eacd980e8e48a9381be275c448 [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001
Chris Craikb50c2172013-07-29 15:28:30 -07002Libpng 1.6.3 - July 18, 2013
The Android Open Source Project893912b2009-03-03 19:30:05 -08003
4This is a public release of libpng, intended for use in production codes.
5
6Files available for download:
7
8Source files with LF line endings (for Unix/Linux) and with a
9"configure" script
10
Chris Craikb50c2172013-07-29 15:28:30 -070011 libpng-1.6.3.tar.xz (LZMA-compressed, recommended)
12 libpng-1.6.3.tar.gz
The Android Open Source Project893912b2009-03-03 19:30:05 -080013
14Source files with CRLF line endings (for Windows), without the
15"configure" script
16
Chris Craikb50c2172013-07-29 15:28:30 -070017 lpng163.7z (LZMA-compressed, recommended)
18 lpng163.zip
The Android Open Source Project893912b2009-03-03 19:30:05 -080019
20Other information:
21
Chris Craikb50c2172013-07-29 15:28:30 -070022 libpng-1.6.3-README.txt
23 libpng-1.6.3-LICENSE.txt
The Android Open Source Project893912b2009-03-03 19:30:05 -080024
Chris Craikb50c2172013-07-29 15:28:30 -070025Changes since the last public release (1.6.2):
The Android Open Source Project893912b2009-03-03 19:30:05 -080026
Chris Craikb50c2172013-07-29 15:28:30 -070027 Revised stack marking in arm/filter_neon.S and configure.ac.
28 Ensure that NEON filter stuff is completely disabled when switched 'off'.
29 Previously the ARM NEON specific files were still built if the option
30 was switched 'off' as opposed to being explicitly disabled.
31 Test for 'arm*' not just 'arm' in the host_cpu configure variable.
32 Rebuilt the configure scripts.
33 Expanded manual paragraph about writing private chunks, particularly
34 the need to call png_set_keep_unknown_chunks() when writing them.
35 Avoid dereferencing NULL pointer possibly returned from
36 png_create_write_struct() (Andrew Church).
37 Calculate our own zlib windowBits when decoding rather than trusting the
38 CMF bytes in the PNG datastream.
39 Added an option to force maximum window size for inflating, which was
40 the behavior of libpng15 and earlier.
41 Added png-fix-itxt and png-fix-too-far-back to the built programs and
42 removed warnings from the source code and timepng that are revealed as
43 a result.
44 Detect wrong libpng versions linked to png-fix-too-far-back, which currently
45 only works with libpng versions that can be made to reliably fail when
46 the deflate data contains an out-of-window reference. This means only
47 1.6 and later.
48 Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning
49 message which it is easier to work round than ignore.
50 Updated contrib/pngminus/pnm2png.c (Paul Stewart):
51 Check for EOF
52 Ignore "#" delimited comments in input file to pnm2png.c.
53 Fixed whitespace handling
54 Added a call to png_set_packing()
55 Initialize dimension values so if sscanf fails at least we have known
56 invalid values.
57 Attempt to detect configuration issues with png-fix-too-far-back, which
58 requires both the correct libpng and the correct zlib to function
59 correctly.
60 Check ZLIB_VERNUM for mismatches, enclose #error in quotes
61 Added information in the documentation about problems with and fixes for
62 the bad CRC and bad iTXt chunk situations.
63 Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and
64 WRITE_PACK supported (writes error message that it can't read P1 or
65 Improved png-fix-too-far-back usage message, added --suffix option.
66 Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the
67 right zlib header files.
68 Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile
69 Removed a redundant test in png_set_IHDR().
70 Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt)
71 Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt
72 Enclose the prototypes for the simplified write API in
73 #ifdef PNG_STDIO_SUPPORTED/#endif
74 Make ARM NEON support work at compile time (not just configure time).
75 This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when
76 using a compiler that compiles for multiple architectures at one time.
77 Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from
78 pnglibconf.h, allowing more of the decisions to be made internally
79 (pngpriv.h) during the compile. Without this, symbol prefixing is broken
80 under certain circumstances on ARM platforms. Now only the API parts of
81 the optimizations ('check' vs 'api') are exposed in the public header files
82 except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the
83 decision about whether or not to use the optimizations.
84 Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage.
85 Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test
86 on __ARM_NEON__ from configure time to compile time. This breaks symbol
87 prefixing because the definition of the special png_init_filter_functions
88 call was hidden at configure time if the relevant compiler arguments are
89 passed in CFLAGS as opposed to CC. This change attempts to avoid all
90 the confusion that would result by declaring the init function even when
91 it is not used, so that it will always get prefixed.
92 Revised libpng.3 so that "doclifter" can process it.
93 Revised example.c to illustrate use of PNG_DEFAULT_sRGB and PNG_GAMMA_MAC_18
94 as parameters for png_set_gamma(). These have been available since
95 libpng-1.5.4.
96 Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c and revised it
97 to check all compressed chunks known to libpng.
98 Updated documentation to show default behavior of benign errors correctly.
99 Only compile ARM code when PNG_READ_SUPPORTED is defined.
100 Fixed undefined behavior in contrib/tools/pngfix.c and added new strip
101 option. pngfix relied on undefined behavior and even a simple change from
102 gcc to g++ caused it to fail. The new strip option 'unsafe' has been
103 implemented and is the default if --max is given. Option names have
104 been clarified, with --strip=transform now stripping the bKGD chunk,
105 which was stripped previously with --strip=unused.
106 Added all documented chunk types to pngpriv.h
107 Unified pngfix.c source with libpng17.
108 Revised manual about changes in iTXt chunk handling made in libpng-1.6.0.
109 Added "/* SAFE */" comments in pngrutil.c and pngrtran.c where warnings
110 may be erroneously issued by code-checking applications.
The Android Open Source Project893912b2009-03-03 19:30:05 -0800111
112Send comments/corrections/commendations to png-mng-implement at lists.sf.net
Patrick Scotta0bb96c2009-07-22 11:50:02 -0400113(subscription required; visit
The Android Open Source Project893912b2009-03-03 19:30:05 -0800114https://lists.sourceforge.net/lists/listinfo/png-mng-implement
Chris Craikb50c2172013-07-29 15:28:30 -0700115to subscribe)
116or to glennrp at users.sourceforge.net
The Android Open Source Project893912b2009-03-03 19:30:05 -0800117
118Glenn R-P