2 Libpng 1.5.1 - February 3, 2011
4 This is a public release of libpng, intended for use in production codes.
6 Files available for download:
8 Source files with LF line endings (for Unix/Linux) and with a
11 libpng-1.5.1.tar.xz (LZMA-compressed, recommended)
15 Source files with CRLF line endings (for Windows), without the
18 lpng151.7z (LZMA-compressed, recommended)
23 libpng-1.5.1-README.txt
24 libpng-1.5.1-LICENSE.txt
26 Changes since the last public release (1.5.0):
28 Added description of png_set_crc_action() to the manual.
29 Added a note in the manual that the type of the iCCP profile was changed
30 from png_charpp to png_bytepp in png_get_iCCP(). Similarly,
31 it was changed from png_charpp to png_const_bytepp in png_set_iCCP().
32 Ensure that png_rgb_to_gray ignores palette mapped images, if libpng
33 internally happens to call it with one.
34 Fixed the failure to handle palette mapped images correctly.
35 Fixed a bug in handling of interlaced images (bero at arklinux.org).
36 Updated CMakeLists.txt (Clifford Yapp)
37 Fixed typecasting of some png_debug() statements (Cosmin)
38 Updated documentation of png_set|get_tRNS() (Thomas Klausner).
39 Mentioned in the documentation that applications must #include "zlib.h"
40 if they need access to anything in zlib.h, and that a number of
41 macros such as png_memset() are no longer accessible by applications.
42 Corrected pngvalid gamma test "sample" function to access all of the color
43 samples of each pixel, instead of sampling the red channel three times.
44 Changed variable names index, div, exp, and gamma to char_index, divisor,
45 exp_b10, and gamma_val, respectively, to avoid "shadow" warnings.
46 Prevent png_push_crc_skip() from hanging while reading an unknown chunk
47 or an over-large compressed zTXt chunk with the progressive reader.
48 Eliminated more GCC "shadow" warnings.
49 Revised png_fixed() in png.c to avoid compiler warning about reaching the
50 end without returning anything.
51 In the manual, describe the png_get_IHDR() arguments in the correct order.
52 Added const_png_structp and const_png_infop types, and used them in
53 prototypes for most png_get_*() functions.
54 Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name()
55 Added synopses for the IO_STATE functions and other missing synopses
56 to the manual. Removed the synopses from libpngpf.3 because they
57 were out of date and no longer useful. Better information can be
58 obtained by reading the prototypes and comments in pngpriv.h
59 Attempted to fix cpp on Solaris with S. Studio 12 cc, fix build
60 Added a make macro DFNCPP that is a CPP that will accept the tokens in
61 a .dfn file and adds configure stuff to test for such a CPP. ./configure
62 should fail if one is not available.
63 Corrected const_png_ in png.h to png_const_ to avoid polluting the namespace.
64 Added png_get_current_row_number and png_get_current_pass_number for the
65 benefit of the user transform callback.
66 Added png_process_data_pause and png_process_data_skip for the benefit of
67 progressive readers that need to stop data processing or want to optimize
68 skipping of unread data (e.g. if the reader marks a chunk to be skipped.)
69 Enhanced pngvalid, corrected an error in gray_to_rgb, corrected doc error.
70 pngvalid contains tests of transforms, which tests are currently disabled
71 because they are incompletely tested. gray_to_rgb was failing to expand
72 the bit depth for smaller bit depth images; this seems to be a long
73 standing error and resulted, apparently, in invalid output. The
74 documentation did not accurately describe what libpng really does when
75 converting RGB to gray.
76 Fixed incorrect examples of callback prototypes in the manual, that were
77 introduced in libpng-1.0.0.
78 In addition the order of the png_get_uint macros with respect to the
79 relevant function definitions has been reversed. This helps the
80 preprocessing of the symbol files be more robust. Furthermore, the
81 symbol file preprocessing now uses -DPNG_NO_USE_READ_MACROS even when
82 the library may actually be built with PNG_USE_READ_MACROS; this stops
83 the read macros interfering with the symbol file format.
84 Made the manual, synopses, and function prototypes use the function
85 argument names file_gamma, int_file_gamma, and srgb_intent consistently.
86 Changed PNG_UNUSED from "param=param;" to "(void)param;".
87 Added transform tests to pngvalid and simplified the arguments.
88 Added a request in the manual that applications do not use "png_" or
89 "PNG_" to begin any of their own symbols.
91 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
92 (subscription required; visit
93 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
94 to subscribe) or to glennrp at users.sourceforge.net