1
1
2
- Libpng 1.4.1 - February 25, 2010
2
+ Libpng 1.5.7 - December 15, 2011
3
3
4
4
This is a public release of libpng, intended for use in production codes.
5
5
@@ -8,57 +8,91 @@ Files available for download:
8
8
Source files with LF line endings (for Unix/Linux) and with a
9
9
"configure" script
10
10
11
- libpng-1.4.1 .tar.xz (LZMA-compressed, recommended)
12
- libpng-1.4.1 .tar.gz
13
- libpng-1.4.1 .tar.bz2
11
+ libpng-1.5.7 .tar.xz (LZMA-compressed, recommended)
12
+ libpng-1.5.7 .tar.gz
13
+ libpng-1.5.7 .tar.bz2
14
14
15
15
Source files with CRLF line endings (for Windows), without the
16
16
"configure" script
17
17
18
- lpng141.zip
19
- lpng141.7z
18
+ lpng157.7z (LZMA-compressed, recommended)
19
+ lpng157.zip
20
20
21
21
Other information:
22
22
23
- libpng-1.4.1 -README.txt
24
- libpng-1.4.1 -LICENSE.txt
23
+ libpng-1.5.7 -README.txt
24
+ libpng-1.5.7 -LICENSE.txt
25
25
26
- Changes since the last public release (1.4.0):
27
-
28
- version 1.4.1 [February 25, 2010]
29
-
30
- Updated CMakeLists.txt for consistent indentation and to avoid an
31
- unclosed if-statement warning (Philip Lowman).
32
- Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
33
- KNOWNBUG, and libpng.la (Robert Schwebel).
34
- Revised the makefiles to install the same files and symbolic
35
- except for libpng.la and libpng14.la.
36
- Make png_set|get_compression_buffer_size() available even when
37
- PNG_WRITE_SUPPORTED is not enabled.
38
- Revised Makefile.am and Makefile.in to simplify their maintenance.
39
- Revised the makefiles to install a link to libpng14.so.14.1
40
- Removed png_set_premultiply_alpha() from scripts/*.def
41
- Revised png_decompress_chunk() to improve speed and memory usage when
42
- decoding large chunks, using a two-pass method suggested by John Bowler.
43
- Added png_set|get_chunk_malloc_max() functions.
44
- Relocated "int k" declaration in pngtest.c to minimize its scope.
45
- Folded some long lines in the source files.
46
- Added defineable PNG_USER_CHUNK_CACHE_MAX and PNG_USER_CHUNK_MALLOC_MAX
47
- Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
48
- png_ptr->png_user_chunk_malloc_max.
49
- Return allocated "old_buffer" in png_push_save_buffer() before calling
50
- png_error(), to avoid a potential memory leak.
51
- Removed the cbuilder5 project, which has not been updated to 1.4.0.
52
- Complete rewrite of two-pass png_decompress_chunk() by John Bowler.
53
- Removed obsolete unused MMX-querying support from contrib/gregbook
54
- Removed the AIX redefinition of jmpbuf in png.h
55
- Define _ALL_SOURCE in configure.ac, makefile.aix, and CMakeLists.txt
56
- when using AIX compiler.
57
- Removed unused gzio.c from contrib/pngminim gather and makefile scripts
26
+ Changes since the last public release (1.5.6):
27
+ Added support for ARM processor (Mans Rullgard)
28
+ Fixed bug in pngvalid on early allocation failure; fixed type cast in
29
+ pngmem.c; pngvalid would attempt to call png_error() if the allocation
30
+ of a png_struct or png_info failed. This would probably have led to a
31
+ crash. The pngmem.c implementation of png_malloc() included a cast
32
+ to png_size_t which would fail on large allocations on 16-bit systems.
33
+ Fix for the preprocessor of the Intel C compiler. The preprocessor
34
+ splits adjacent @ signs with a space; this changes the concatentation
35
+ token from @-@-@ to PNG_JOIN; that should work with all compiler
36
+ preprocessors.
37
+ Paeth filter speed improvements from work by Siarhei Siamashka. This
38
+ changes the 'Paeth' reconstruction function to improve the GCC code
39
+ generation on x86. The changes are only part of the suggested ones;
40
+ just the changes that definitely improve speed and remain simple.
41
+ The changes also slightly increase the clarity of the code.
42
+ Check compression_type parameter in png_get_iCCP and remove spurious
43
+ casts. The compression_type parameter is always assigned to, so must
44
+ be non-NULL. The cast of the profile length potentially truncated the
45
+ value unnecessarily on a 16-bit int system, so the cast of the (byte)
46
+ compression type to (int) is specified by ANSI-C anyway.
47
+ Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left
48
+ the sBIT fields in the test pixel as 0, which resulted in a floating
49
+ point division by zero which was irrelevant but causes systems where
50
+ FP exceptions cause a crash. Added code to pngvalid to turn on FP
51
+ exceptions if the appropriate glibc support is there to ensure this is
52
+ tested in the future.
53
+ Added versioning to pnglibconf.h comments.
54
+ Installed more accurate linear to sRGB conversion tables. The slightly
55
+ modified tables reduce the number of 16-bit values that
56
+ convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used
57
+ to generate the tables is now in a contrib/sRGBtables sub-directory.
58
+ Added run-time detection of NEON support.
59
+ Multiple transform bug fixes plus a work-round for double gamma correction.
60
+ libpng does not support more than one transform that requires linear data
61
+ at once - if this is tried typically the results is double gamma
62
+ correction. Since the simplified APIs can need rgb to gray combined with
63
+ a compose operation it is necessary to do one of these outside the main
64
+ libpng transform code. This check-in also contains fixes to various bugs
65
+ in compose and rgb to gray (on palette).
66
+ Fixes for C++ compilation using g++ When libpng source is compiled
67
+ using g++. The compiler imposes C++ rules on the C source; thus it
68
+ is desireable to make the source work with either C or C++ rules
69
+ without throwing away useful error information. This change adds
70
+ png_voidcast to allow C semantic (void*) cases or the corresponding
71
+ C++ static_cast operation, as appropriate.
72
+ Added --noexecstack to assembler file compilation. GCC does not set
73
+ this on assembler compilation, even though it does on C compilation.
74
+ This creates security issues if assembler code is enabled; the
75
+ work-around is to set it by default in the flags for $(CCAS)
76
+ Removed "zTXt" from warning in generic chunk decompression function.
77
+ Validate time settings passed to pngset() and png_convert_to_rfc1123()
78
+ (Frank Busse).
79
+ Added MINGW support to CMakeLists.txt
80
+ Reject invalid compression flag or method when reading the iTXt chunk.
81
+ Moved pngvalid.c into contrib/libtests
82
+ Rebuilt Makefile.in, configure, etc., with autoconf-2.68
83
+ Replaced an "#if" with "#ifdef" in pngrtran.c
84
+ Revised #if PNG_DO_BC block in png.c (use #ifdef and add #else)
85
+ Revised pngconf.h to use " __declspec(restrict)" only when MSC_VER >= 1400,
86
+ as in libpng-1.5.4.
87
+ Put CRLF line endings in the owatcom project files.
88
+ Updated CMakeLists.txt to account for the relocation of pngvalid.c
89
+ Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
90
+ reported by earlier versions.
58
91
59
92
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
60
- (subscription required; visit
93
+ (subscription required; visit
61
94
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
62
- to subscribe) or to glennrp at users.sourceforge.net
95
+ to subscribe)
96
+ or to glennrp at users.sourceforge.net
63
97
64
98
Glenn R-P
0 commit comments