2 CHANGES - changes for libpng
5 added reader into png.h
6 fixed small problems in stub file
10 split up pngwrite.c to several files
13 cleaned up writer, adding a few new transformations
14 fixed some bugs in writer
15 interfaced with zlib 0.5
17 added check for 64 KB blocks for 16 bit machines
20 cleaned up code and commented code
21 simplified time handling into png_time
22 created png_color_16 and png_color_8 to handle color needs
23 cleaned up color type defines
25 made various names more consistent
26 interfaced with zlib 0.71
27 cleaned up zTXt reader and writer (using zlib's Reset functions)
28 split transformations into pngrtran.c and pngwtran.c
31 interfaced with zlib 0.8
32 fixed many reading and writing bugs
33 saved using 3 spaces instead of tabs
36 added png_large_malloc() and png_large_free()
38 cleaned up some compiler warnings
39 added png_start_read_image()
42 cleaned up lots of bugs
43 finished dithering and other stuff
45 changed name from pnglib to libpng
47 version 0.71 [June, 1995]
48 changed pngtest.png for zlib 0.93
49 fixed error in libpng.txt and example.c
53 added png_set_filler()
54 split up pngstub.c into pngmem.c, pngio.c, and pngerror.c
55 added #define's to remove unwanted code
56 moved png_info_init() to png.c
57 added old_size into png_realloc()
58 added functions to manually set filtering and compression info
59 changed compression parameters based on image type
60 optimized filter selection code
62 changed external functions passing floats to doubles (k&r problems?)
63 put all the configurable stuff in pngconf.h
64 enabled png_set_shift to work with paletted images on read
65 added png_read_update_info() - updates info structure with
68 version 0.81 [August, 1995]
69 incorporated Tim Wegner's medium model code (thanks, Tim)
71 version 0.82 [September, 1995]
74 version 0.85 [December, 1995]
75 added more medium model code (almost everything's a far)
76 added i/o, error, and memory callback functions
77 fixed some bugs (16 bit, 4 bit interlaced, etc.)
78 added first run progressive reader (barely tested)
80 version 0.86 [January, 1996]
82 improved documentation
84 version 0.87 [January, 1996]
85 fixed medium model bugs
86 fixed other bugs introduced in 0.85 and 0.86
87 added some minor documentation
89 version 0.88 [January, 1996]
90 fixed progressive bugs
91 replaced tabs with spaces
92 cleaned up documentation
93 added callbacks for read/write and warning/error functions
95 version 0.89 [July, 1996]
96 added new initialization API to make libpng work better with shared libs
97 we now have png_create_read_struct(), png_create_write_struct(),
98 png_create_info_struct(), png_destroy_read_struct(), and
99 png_destroy_write_struct() instead of the separate calls to
100 malloc and png_read_init(), png_info_init(), and png_write_init()
101 changed warning/error callback functions to fix bug - this means you
102 should use the new initialization API if you were using the old
103 png_set_message_fn() calls, and that the old API no longer exists
104 so that people are aware that they need to change their code
105 changed filter selection API to allow selection of multiple filters
106 since it didn't work in previous versions of libpng anyways
107 optimized filter selection code
108 fixed png_set_background() to allow using an arbitrary RGB color for
110 fixed gamma and background correction for paletted images, so
111 png_correct_palette is not needed unless you are correcting an
112 external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED
113 in pngconf.h) - if nobody uses this, it may disappear in the future.
114 fixed bug with Borland 64K memory allocation (Alexander Lehmann)
115 fixed bug in interlace handling (Smarasderagd, I think)
116 added more error checking for writing and image to reduce invalid files
117 separated read and write functions so that they won't both be linked
118 into a binary when only reading or writing functionality is used
119 new pngtest image also has interlacing and zTXt
120 updated documentation to reflect new API
122 version 0.90 [January, 1997]
123 made CRC errors/warnings on critical and ancillary chunks configurable
124 libpng will use the zlib CRC routines by (compile-time) default
125 changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner)
126 added external C++ wrapper statements to png.h (Gilles Dauphin)
127 allow PNG file to be read when some or all of file signature has already
128 been read from the beginning of the stream. ****This affects the size
129 of info_struct and invalidates all programs that use a shared libpng****
130 fixed png_filler() declarations
131 fixed? background color conversions
132 fixed order of error function pointers to match documentation
133 current chunk name is now available in png_struct to reduce the number
134 of nearly identical error messages (will simplify multi-lingual
135 support when available)
136 try to get ready for unknown-chunk callback functions:
137 - previously read critical chunks are flagged, so the chunk handling
138 routines can determine if the chunk is in the right place
139 - all chunk handling routines have the same prototypes, so we will
140 be able to handle all chunks via a callback mechanism
141 try to fix Linux "setjmp" buffer size problems
142 removed png_large_malloc, png_large_free, and png_realloc functions.
144 version 0.95 [March, 1997]
145 fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never
146 fixed bug in PNG file signature compares when start != 0
147 changed parameter type of png_set_filler(...filler...) from png_byte
149 added test for MACOS to ensure that both math.h and fp.h are not #included
150 added macros for libpng to be compiled as a Windows DLL (Andreas Kupries)
151 added "packswap" transformation, which changes the endianness of
152 packed-pixel bytes (Kevin Bracey)
153 added "strip_alpha" transformation, which removes the alpha channel of
154 input images without using it (not necessarily a good idea)
155 added "swap_alpha" transformation, which puts the alpha channel in front
156 of the color bytes instead of after
157 removed all implicit variable tests which assume NULL == 0 (I think)
158 changed several variables to "png_size_t" to show 16/32-bit limitations
159 added new pCAL chunk read/write support
160 added experimental filter selection weighting (Greg Roelofs)
161 removed old png_set_rgbx() and png_set_xrgb() functions that have been
162 obsolete for about 2 years now (use png_set_filler() instead)
163 added macros to read 16- and 32-bit ints directly from buffer, to be
164 used only on those systems that support it (namely PowerPC and 680x0)
165 With some testing, this may become the default for MACOS/PPC systems.
166 only calculate CRC on data if we are going to use it
167 added macros for zTXt compression type PNG_zTXt_COMPRESSION_???
168 added macros for simple libpng debugging output selectable at compile time
169 removed PNG_READ_END_MODE in progressive reader (Smarasderagd)
170 more description of info_struct in libpng.txt and png.h
171 more instructions in example.c
172 more chunk types tested in pngtest.c
173 renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be
174 png_set_<chunk>. We now have corresponding png_get_<chunk>
175 functions in pngget.c to get information in info_ptr. This isolates
176 the application from the internal organization of png_info_struct
177 (good for shared library implementations).
179 version 0.96 [May, 1997]
180 fixed serious bug with < 8bpp images introduced in 0.95
181 fixed 256-color transparency bug (Greg Roelofs)
182 fixed up documentation (Greg Roelofs, Laszlo Nyul)
183 fixed "error" in pngconf.h for Linux setjmp() behaviour
184 fixed DOS medium model support (Tim Wegner)
185 fixed png_check_keyword() for case with error in static string text
186 added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul)
187 added typecasts to quiet compiler errors
188 added more debugging info
190 version 0.97 [January, 1998]
191 removed PNG_USE_OWN_CRC capability
192 relocated png_set_crc_action from pngrutil.c to pngrtran.c
193 fixed typecasts of "new_key", etc. (Andreas Dilger)
194 added RFC 1152 [sic] date support
195 fixed bug in gamma handling of 4-bit grayscale
196 added 2-bit grayscale gamma handling (Glenn R-P)
197 added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P)
198 minor corrections in libpng.txt
199 added simple sRGB support (Glenn R-P)
200 easier conditional compiling, e.g. define PNG_READ/WRITE_NOT_FULLY_SUPPORTED;
201 all configurable options can be selected from command-line instead
202 of having to edit pngconf.h (Glenn R-P)
203 fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
204 added more conditions for png_do_background, to avoid changing
205 black pixels to background when a background is supplied and
206 no pixels are transparent
207 repaired PNG_NO_STDIO behaviour
208 tested NODIV support and made it default behaviour (Greg Roelofs)
209 added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
210 regularized version numbering scheme and bumped shared-library major
211 version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs)
213 version 0.98 [January, 1998]
214 cleaned up some typos in libpng.txt and in code documentation
215 fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
216 cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c
217 changed recommendation about file_gamma for PC images to .51 from .45,
218 in example.c and libpng.txt, added comments to distinguish between
219 screen_gamma, viewing_gamma, and display_gamma.
220 changed all references to RFC1152 to read RFC1123 and changed the
221 PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED
222 added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
223 changed srgb_intent from png_byte to int to avoid compiler bugs
225 version 0.99 [January 30, 1998]
226 free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
227 fixed a longstanding "packswap" bug in pngtrans.c
228 fixed some inconsistencies in pngconf.h that prevented compiling with
229 PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined
230 fixed some typos and made other minor rearrangement of libpng.txt (Andreas)
231 changed recommendation about file_gamma for PC images to .50 from .51 in
232 example.c and libpng.txt, and changed file_gamma for sRGB images to .45
233 added a number of functions to access information from the png structure
234 png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit)
235 added TARGET_MACOS similar to zlib-1.0.8
236 define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined
237 added type casting to all png_malloc() function calls
238 version 0.99a [January 31, 1998]
239 Added type casts and parentheses to all returns that return a value.(Tim W.)
240 version 0.99b [February 4, 1998]
241 Added type cast png_uint_32 on malloc function calls where needed.
242 Changed type of num_hist from png_uint_32 to int (same as num_palette).
243 Added checks for rowbytes overflow, in case png_size_t is less than 32 bits.
244 Renamed makefile.elf to makefile.lnx.
245 version 0.99c [February 7, 1998]
246 More type casting. Removed erroneous overflow test in pngmem.c.
247 Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes.
248 Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5.
249 version 0.99d [February 11, 1998]
250 Renamed "far_to_near()" "png_far_to_near()"
252 Version 99c "buffered" operations didn't work as intended. Replaced them
253 with png_memcpy_check() and png_memset_check().
254 Added many "if (png_ptr == NULL) return" to quell compiler warnings about
255 unused png_ptr, mostly in pngget.c and pngset.c.
256 Check for overlength tRNS chunk present when indexed-color PLTE is read.
257 Cleaned up spelling errors in libpng.3/libpng.txt
258 Corrected a problem with png_get_tRNS() which returned undefined trans array
259 version 0.99e [February 28, 1998]
260 Corrected png_get_tRNS() again.
261 Add parentheses for easier reading of pngget.c, fixed "||" should be "&&".
262 Touched up example.c to make more of it compileable, although the entire
263 file still can't be compiled (Willem van Schaik)
264 Fixed a bug in png_do_shift() (Bryan Tsai)
265 Added a space in png.h prototype for png_write_chunk_start()
266 Replaced pngtest.png with one created with zlib 1.1.1
267 Changed pngtest to report PASS even when file size is different (Jean-loup G.)
268 Corrected some logic errors in png_do_invert_alpha() (Chris Patterson)
269 version 0.99f [March 5, 1998]
270 Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey)
271 Moved makefiles into a "scripts" directory, and added INSTALL instruction file
272 Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok)
273 Added pointers to "note on libpng versions" in makefile.lnx and README
274 Added row callback feature when reading and writing nonprogressive rows
275 and added a test of this feature in pngtest.c
276 Added user transform callbacks, with test of the feature in pngtest.c
277 version 0.99g [March 6, 1998, morning]
278 Minor changes to pngtest.c to suppress compiler warnings.
279 Removed "beta" language from documentation.
280 version 0.99h [March 6, 1998, evening]
281 Minor changes to previous minor changes to pngtest.c
282 Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED
283 and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro
284 Added user transform capability
286 version 1.00 [March 7, 1998]
287 Changed several typedefs in pngrutil.c
288 Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik)
289 replaced "while(1)" with "for(;;)"
290 added PNGARG() to prototypes in pngtest.c and removed some prototypes
291 updated some of the makefiles (Tom Lane)
292 changed some typedefs (s_start, etc.) in pngrutil.c
293 fixed dimensions of "short_months" array in pngwrite.c
294 Replaced ansi2knr.c with the one from jpeg-v6
296 version 1.0.0 [March 8, 1998]
297 Changed name from 1.00 to 1.0.0 (Adam Costello)
298 Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
299 version 1.0.0a [March 9, 1998]
300 Fixed three bugs in pngrtran.c to make gamma+background handling consistent
302 Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz
303 for major, minor, and bugfix releases. This is 10001. (Adam Costello,
305 Make months range from 1-12 in png_convert_to_rfc1123
306 version 1.0.0b [March 13, 1998]
307 Quieted compiler complaints about two empty "for" loops in pngrutil.c
308 Minor changes to makefile.s2x
309 Removed #ifdef/#endif around a png_free() in pngread.c
311 version 1.0.1 [March 14, 1998]
312 Changed makefile.s2x to reduce security risk of using a relative pathname
313 Fixed some typos in the documentation (Greg).
314 Fixed a problem with value of "channels" returned by png_read_update_info()
315 version 1.0.1a [April 21, 1998]
316 Optimized Paeth calculations by replacing abs() function calls with intrinsics
317 plus other loop optimizations. Improves avg decoding speed by about 20%.
318 Commented out i386istic "align" compiler flags in makefile.lnx.
319 Reduced the default warning level in some makefiles, to make them consistent.
320 Removed references to IJG and JPEG in the ansi2knr.c copyright statement.
321 Fixed a bug in png_do_strip_filler with XXRRGGBB => RRGGBB transformation.
322 Added grayscale and 16-bit capability to png_do_read_filler().
323 Fixed a bug in pngset.c, introduced in version 0.99c, that sets rowbytes
324 too large when writing an image with bit_depth < 8 (Bob Dellaca).
325 Corrected some bugs in the experimental weighted filtering heuristics.
326 Moved a misplaced pngrutil code block that truncates tRNS if it has more
327 than num_palette entries -- test was done before num_palette was defined.
328 Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins).
329 Changed compiler flags in makefile.wat for better optimization (Pawel Mrochen).
330 version 1.0.1b [May 2, 1998]
331 Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg).
332 Relocated the png_composite macros from pngrtran.c to png.h (Greg).
333 Added makefile.sco (contributed by Mike Hopkirk).
334 Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
335 Fixed a bug in pngrtran.c that would set channels=5 under some circumstances.
336 More work on the Paeth-filtering, achieving imperceptible speedup (A Kleinert).
337 More work on loop optimization which may help when compiled with C++ compilers.
338 Added warnings when people try to use transforms they've defined out.
339 Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran.
340 Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg)
341 version 1.0.1c [May 11, 1998]
342 Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
343 filler bytes should have been 0xff instead of 0xf.
344 Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images.
345 Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED
346 out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h
347 Added "PNG_NO_WRITE_TRANSFORMS" etc., as alternatives for *_NOT_SUPPORTED,
348 for consistency, in pngconf.h
349 Added individual "ifndef PNG_NO_[CAPABILITY]" in pngconf.h to make it easier
350 to remove unwanted capabilities via the compile line
351 Made some corrections to grammar (which, it's) in documentation (Greg).
352 Corrected example.c, use of row_pointers in png_write_image().
353 version 1.0.1d [May 24, 1998]
354 Corrected several statements that used side effects illegally in pngrutil.c
355 and pngtrans.c, that were introduced in version 1.0.1b
356 Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
357 More corrections to example.c, use of row_pointers in png_write_image()
359 Added pngdll.mak and pngdef.pas to scripts directory, contributed by
360 Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
361 Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
362 Changed several loops from count-down to count-up, for consistency.
363 version 1.0.1e [June 6, 1998]
364 Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
365 added warnings when people try to set png_read_fn and png_write_fn in
367 Added a test such that png_do_gamma will be done when num_trans==0
368 for truecolor images that have defined a background. This corrects an
369 error that was introduced in libpng-0.90 that can cause gamma processing
371 Added tests in png.h to include "trans" and "trans_values" in structures
372 when PNG_READ_BACKGROUND_SUPPORTED or PNG_READ_EXPAND_SUPPORTED is defined.
373 Add png_free(png_ptr->time_buffer) in png_destroy_read_struct()
374 Moved png_convert_to_rfc_1123() from pngwrite.c to png.c
375 Added capability for user-provided malloc_fn() and free_fn() functions,
376 and revised pngtest.c to demonstrate their use, replacing the
377 PNGTEST_DEBUG_MEM feature.
378 Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
380 version 1.0.2 [June 14, 1998]
381 Fixed two bugs in makefile.bor .
382 version 1.0.2a [December 30, 1998]
383 Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
384 Fixed a bug in png_do_filler() that made it fail to write filler bytes in
385 the left-most pixel of each row (Kevin Bracey).
386 Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
387 in pngtest.c (Duncan Simpson).
388 Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
389 even when no tIME chunk was present in the source file.
390 Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
391 Fixed a problem in png_read_push_finish_row(), which would not skip some
392 passes that it should skip, for images that are less than 3 pixels high.
393 Interchanged the order of calls to png_do_swap() and png_do_shift()
394 in pngwtran.c (John Cromer).
395 Added #ifdef PNG_DEBUG/#endif surrounding use of PNG_DEBUG in png.h .
396 Changed "bad adaptive filter type" from error to warning in pngrutil.c .
397 Fixed a documentation error about default filtering with 8-bit indexed-color.
398 Separated the PNG_NO_STDIO macro into PNG_NO_STDIO and PNG_NO_CONSOLE_IO
400 Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions.
401 Added png_get_copyright() and png_get_header_version() functions.
402 Revised comments on png_set_progressive_read_fn() in libpng.txt and example.c
403 Added information about debugging in libpng.txt and libpng.3 .
404 Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco.
405 Removed lines after Dynamic Dependencies" in makefile.aco .
406 Revised makefile.dec to make a shared library (Jeremie Petit).
407 Removed trailing blanks from all files.
408 version 1.0.2a [January 6, 1999]
409 Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
410 Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
411 Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
412 Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
415 version 1.0.3 [January 14, 1999]
416 Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice)
417 Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO.
418 version 1.0.3a [August 12, 1999]
419 Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning
420 if an attempt is made to read an interlaced image when it's not supported.
421 Added check if png_ptr->trans is defined before freeing it in pngread.c
422 Modified the Y2K statement to include versions back to version 0.71
423 Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c
424 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments)
425 Replaced leading blanks with tab characters in makefile.hux
426 Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents.
427 Changed (float)red and (float)green to (double)red, (double)green
428 in png_set_rgb_to_gray() to avoid "promotion" problems in AIX.
429 Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey).
430 Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt).
431 Updated documentation to refer to the PNG-1.2 specification.
432 Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c
433 in makefile.knr, INSTALL, and README (L. Peter Deutsch)
434 Fixed bugs in calculation of the length of rowbytes when adding alpha
435 channels to 16-bit images, in pngrtran.c (Chris Nokleberg)
436 Added function png_set_user_transform_info() to store user_transform_ptr,
437 user_depth, and user_channels into the png_struct, and a function
438 png_get_user_transform_ptr() to retrieve the pointer (Chris Nokleberg)
439 Added function png_set_empty_plte_permitted() to make libpng useable
441 Corrected the typedef for png_free_ptr in png.h (Jesse Jones).
442 Correct gamma with srgb is 45455 instead of 45000 in pngrutil.c, to be
443 consistent with PNG-1.2, and allow variance of 500 before complaining.
444 Added assembler code contributed by Intel in file pngvcrd.c and modified
445 makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation, Gilles Vollant)
446 Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy.
447 Added some aliases for png_set_expand() in pngrtran.c, namely
448 png_set_expand_PLTE(), png_set_expand_depth(), and png_set_expand_tRNS()
449 (Greg Roelofs, in "PNG: The Definitive Guide").
450 Added makefile.beo for BEOS on X86, contributed by Sander Stok.
451 version 1.0.3b [August 26, 1999]
452 Replaced 2147483647L several places with PNG_MAX_UINT macro, defined in png.h
453 Changed leading blanks to tabs in all makefiles.
454 Define PNG_USE_PNGVCRD in makefile.w32, to get MMX assembler code.
455 Made alternate versions of png_set_expand() in pngrtran.c, namely
456 png_set_gray_1_2_4_to_8, png_set_palette_to_rgb, and png_set_tRNS_to_alpha
457 (Greg Roelofs, in "PNG: The Definitive Guide"). Deleted the 1.0.3a aliases.
458 Relocated start of 'extern "C"' block in png.h so it doesn't include pngconf.h
459 Revised calculation of num_blocks in pngmem.c to avoid a potentially
460 negative shift distance, whose results are undefined in the C language.
461 Added a check in pngset.c to prevent writing multiple tIME chunks.
462 Added a check in pngwrite.c to detect invalid small window_bits sizes.
463 version 1.0.3d [September 4, 1999]
464 Fixed type casting of igamma in pngrutil.c
465 Added new png_expand functions to scripts/pngdef.pas and pngos2.def
466 Added a demo read_user_transform_fn that examines the row filters in pngtest.c
468 version 1.0.4 [September 24, 1999]
469 Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
470 Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
471 Made several minor corrections to pngtest.c
472 Renamed the makefiles with longer but more user friendly extensions.
473 Copied the PNG copyright and license to a separate LICENSE file.
474 Revised documentation, png.h, and example.c to remove reference to
475 "viewing_gamma" which no longer appears in the PNG specification.
476 Revised pngvcrd.c to use MMX code for interlacing only on the final pass.
477 Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a
478 Split makefile.win32vc into two versions, makefile.vcawin32 (uses MMX
479 assembler code) and makefile.vcwin32 (doesn't).
480 Added a CPU timing report to pngtest.c (enabled by defining PNGTEST_TIMING)
481 Added a copy of pngnow.png to the distribution.
482 version 1.0.4a [September 25, 1999]
483 Increase max_pixel_depth in pngrutil.c if a user transform needs it.
484 Changed several division operations to right-shifts in pngvcrd.c
485 version 1.0.4b [September 30, 1999]
486 Added parentheses in line 3732 of pngvcrd.c
487 Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1
488 version 1.0.4c [October 1, 1999]
489 Added a "png_check_version" function in png.c and pngtest.c that will generate
490 a helpful compiler error if an old png.h is found in the search path.
491 Changed type of png_user_transform_depth|channels from int to png_byte.
492 version 1.0.4d [October 6, 1999]
493 Changed 0.45 to 0.45455 in png_set_sRGB()
494 Removed unused PLTE entries from pngnow.png
495 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly.
496 version 1.0.4e [October 10, 1999]
497 Fixed sign error in pngvcrd.c (Greg Roelofs)
498 Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P)
499 version 1.0.4f [October 15, 1999]
500 Surrounded example.c code with #if 0 .. #endif to prevent people from
501 inadvertently trying to compile it.
502 Changed png_get_header_version() from a function to a macro in png.h
503 Added type casting mostly in pngrtran.c and pngwtran.c
504 Removed some pointless "ptr = NULL" in pngmem.c
505 Added a "contrib" directory containing the source code from Greg's book.
507 version 1.0.5 [October 15, 1999]
508 Minor editing of the INSTALL and README files.
509 version 1.0.5a [October 23, 1999]
510 Added contrib/pngsuite and contrib/pngminus (Willem van Schaik)
511 Fixed a typo in the png_set_sRGB() function call in example.c (Jan Nijtmans)
512 Further optimization and bugfix of pngvcrd.c
513 Revised pngset.c so that it does not allocate or free memory in the user's
514 text_ptr structure. Instead, it makes its own copy.
515 Created separate write_end_info_struct in pngtest.c for a more severe test.
516 Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak.
517 version 1.0.5b [November 23, 1999]
518 Moved PNG_FLAG_HAVE_CHUNK_HEADER, PNG_FLAG_BACKGROUND_IS_GRAY and
519 PNG_FLAG_WROTE_tIME from flags to mode.
520 Added png_write_info_before_PLTE() function.
521 Fixed some typecasting in contrib/gregbook/*.c
522 Updated scripts/makevms.com and added makevms.com to contrib/gregbook
523 and contrib/pngminus (Martin Zinser)
524 version 1.0.5c [November 26, 1999]
525 Moved png_get_header_version from png.h to png.c, to accommodate ansi2knr.
526 Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to
527 accommodate making DLL's: Moved usr_png_ver from global variable to function
528 png_get_header_ver() in png.c. Moved png_sig to png_sig_bytes in png.c and
529 eliminated use of png_sig in pngwutil.c. Moved the various png_CHNK arrays
530 into pngtypes.h. Eliminated use of global png_pass arrays. Declared the
531 png_CHNK and png_pass arrays to be "const". Made the global arrays
532 available to applications (although none are used in libpng itself) when
533 PNG_NO_GLOBAL_ARRAYS is not defined or when PNG_GLOBAL_ARRAYS is defined.
534 Removed some extraneous "-I" from contrib/pngminus/makefile.std
535 Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2.
536 Change PNG_SRGB_INTENT to PNG_sRGB_INTENT in libpng.txt and libpng.3
537 version 1.0.5d [November 29, 1999]
538 Add type cast (png_const_charp) two places in png.c
539 Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
540 Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
541 to applications a macro "PNG_USE_LOCAL_ARRAYS".
542 Remove all the new declarations with #ifdef/#endif when
543 PNG_USE_GLOBAL_ARRAYS is defined.
544 Added PNG_EXPORT_VAR macro to accommodate making DLL's.
545 version 1.0.5e [November 30, 1999]
546 Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
547 structure; refactored the inflate/deflate support to make adding new chunks
548 with trailing compressed parts easier in the future, and added new functions
549 png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
550 png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
551 NOTE: Applications that write text chunks MUST define png_text->lang
552 before calling png_set_text(). It must be set to NULL if you want to
553 write tEXt or zTXt chunks. If you want your application to be able to
554 run with older versions of libpng, use
556 #ifdef PNG_iTXt_SUPPORTED
557 png_text[i].lang = NULL;
560 Changed png_get_oFFs() and png_set_oFFs() to use signed rather than unsigned
561 offsets (Eric S. Raymond).
562 Combined PNG_READ_cHNK_SUPPORTED and PNG_WRITE_cHNK_SUPPORTED macros into
563 PNG_cHNK_SUPPORTED and combined the three types of PNG_text_SUPPORTED
564 macros, leaving the separate macros also available.
565 Removed comments on #endifs at the end of many short, non-nested #if-blocks.
566 version 1.0.5f [December 6, 1999]
567 Changed makefile.solaris to issue a warning about potential problems when
568 the ucb "ld" is in the path ahead of the ccs "ld".
569 Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3.
570 Added sCAL chunk support (Eric S. Raymond).
571 version 1.0.5g [December 7, 1999]
572 Fixed "png_free_spallettes" typo in png.h
573 Added code to handle new chunks in pngpread.c
574 Moved PNG_CHNK string macro definitions outside of PNG_NO_EXTERN block
575 Added "translated_key" to png_text structure and png_write_iTXt().
576 Added code in pngwrite.c to work around a newly discovered zlib bug.
577 version 1.0.5h [December 10, 1999]
578 NOTE: regarding the note for version 1.0.5e, the following must also
579 be included in your code:
580 png_text[i].translated_key = NULL;
581 Unknown chunk handling is now supported.
582 Option to eliminate all floating point support was added. Some new
583 fixed-point functions such as png_set_gAMA_fixed() were added.
584 Expanded tabs and removed trailing blanks in source files.
585 version 1.0.5i [December 13, 1999]
586 Added some type casts to silence compiler warnings.
587 Renamed "png_free_spalette" to "png_free_spalettes" for consistency.
588 Removed leading blanks from a #define in pngvcrd.c
589 Added some parameters to the new png_set_keep_unknown_chunks() function.
590 Added a test for up->location != 0 in the first instance of writing
591 unknown chunks in pngwrite.c
592 Changed "num" to "i" in png_free_spalettes() and png_free_unknowns() to
594 Added png_free_hIST() function.
595 Various patches to fix bugs in the sCAL and integer cHRM processing,
596 and to add some convenience macros for use with sCAL.
597 version 1.0.5j [December 21, 1999]
598 Changed "unit" parameter of png_write_sCAL from png_byte to int, to work
599 around buggy compilers.
600 Added new type "png_fixed_point" for integers that hold float*100000 values
601 Restored backward compatibility of tEXt/zTXt chunk processing:
602 Restored the first four members of png_text to the same order as v.1.0.5d.
603 Added members "lang_key" and "itxt_length" to png_text struct. Set
604 text_length=0 when "text" contains iTXt data. Use the "compression"
605 member to distinguish among tEXt/zTXt/iTXt types. Added
606 PNG_ITXT_COMPRESSION_NONE (1) and PNG_ITXT_COMPRESSION_zTXt(2) macros.
607 The "Note" above, about backward incompatibility of libpng-1.0.5e, no
609 Fixed png_read|write_iTXt() to read|write parameters in the right order,
610 and to write the iTXt chunk after IDAT if it appears in the end_ptr.
611 Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs)
612 Reversed the order of trying to write floating-point and fixed-point gAMA.
613 version 1.0.5k [December 27, 1999]
614 Added many parentheses, e.g., "if (a && b & c)" becomes "if (a && (b & c))"
615 Added png_handle_as_unknown() function (Glenn)
616 Added png_free_chunk_list() function and chunk_list and num_chunk_list members
618 Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE.
619 Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings
620 about ignoring incorrect gAMA with sRGB (gAMA was in fact not ignored)
621 Added png_free_tRNS(); png_set_tRNS() now malloc's its own trans array (ESR).
622 Define png_get_int_32 when oFFs chunk is supported as well as when pCAL is.
623 Changed type of proflen from png_int_32 to png_uint_32 in png_get_iCCP().
624 version 1.0.5l [January 1, 2000]
625 Added functions png_set_read_user_chunk_fn() and png_get_user_chunk_ptr()
626 for setting a callback function to handle unknown chunks and for
627 retrieving the associated user pointer (Glenn).
628 version 1.0.5m [January 7, 2000]
629 Added high-level functions png_read_png(), png_write_png(), png_free_pixels().
630 version 1.0.5n [January 9, 2000]
631 Added png_free_PLTE() function, and modified png_set_PLTE() to malloc its
632 own memory for info_ptr->palette. This makes it safe for the calling
633 application to free its copy of the palette any time after it calls
635 version 1.0.5o [January 20, 2000]
636 Cosmetic changes only (removed some trailing blanks and TABs)
637 version 1.0.5p [January 31, 2000]
638 Renamed pngdll.mak to makefile.bd32
639 Cosmetic changes in pngtest.c
640 version 1.0.5q [February 5, 2000]
641 Relocated the makefile.solaris warning about PATH problems.
642 Fixed pngvcrd.c bug by pushing/popping registers in mmxsupport (Bruce Oberg)
643 Revised makefile.gcmmx
644 Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros
645 version 1.0.5r [February 7, 2000]
646 Removed superfluous prototype for png_get_itxt from png.h
647 Fixed a bug in pngrtran.c that improperly expanded the background color.
648 Return *num_text=0 from png_get_text() when appropriate, and fix documentation
649 of png_get_text() in libpng.txt/libpng.3.
650 version 1.0.5s [February 18, 2000]
651 Added "png_jmp_env()" macro to pngconf.h, to help people migrate to the
652 new error handler that's planned for the next libpng release, and changed
653 example.c, pngtest.c, and contrib programs to use this macro.
654 Revised some of the DLL-export macros in pngconf.h (Greg Roelofs)
655 Fixed a bug in png_read_png() that caused it to fail to expand some images
656 that it should have expanded.
657 Fixed some mistakes in the unused and undocumented INCH_CONVERSIONS functions
659 Changed the allocation of palette, history, and trans arrays back to
660 the version 1.0.5 method (linking instead of copying) which restores
661 backward compatibility with version 1.0.5. Added some remarks about
662 that in example.c. Added "free_me" member to info_ptr and png_ptr
663 and added png_free_data() function.
664 Updated makefile.linux and makefile.gccmmx to make directories conditionally.
665 Made cosmetic changes to pngasmrd.h
666 Added png_set_rows() and png_get_rows(), for use with png_read|write_png().
667 Modified png_read_png() to allocate info_ptr->row_pointers only if it
668 hasn't already been allocated.
669 version 1.0.5t [March 4, 2000]
670 Changed png_jmp_env() migration aiding macro to png_jmpbuf().
671 Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c
672 Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when
673 PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b
674 Files in contrib/gregbook were revised to use png_jmpbuf() and to select
675 a 24-bit visual if one is available, and to allow abbreviated options.
676 Files in contrib/pngminus were revised to use the png_jmpbuf() macro.
677 Removed spaces in makefile.linux and makefile.gcmmx, introduced in 1.0.5s
678 version 1.0.5u [March 5, 2000]
679 Simplified the code that detects old png.h in png.c and pngtest.c
680 Renamed png_spalette (_p, _pp) to png_sPLT_t (_tp, _tpp)
681 Increased precision of rgb_to_gray calculations from 8 to 15 bits and
682 added png_set_rgb_to_gray_fixed() function.
683 Added makefile.bc32 (32-bit Borland C++, C mode)
684 version 1.0.5v [March 11, 2000]
685 Added some parentheses to the png_jmpbuf macro definition.
686 Updated references to the zlib home page, which has moved to freesoftware.com.
687 Corrected bugs in documentation regarding png_read_row() and png_write_row().
688 Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt.
689 Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3,
690 revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin)
692 version 1.0.6 [March 20, 2000]
693 Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
694 Added makefile.sggcc (SGI IRIX with gcc)
695 version 1.0.6d [April 7, 2000]
696 Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO
697 Added data_length parameter to png_decompress_chunk() function
698 Revised documentation to remove reference to abandoned png_free_chnk functions
699 Fixed an error in png_rgb_to_gray_fixed()
700 Revised example.c, usage of png_destroy_write_struct().
701 Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file
702 Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c
703 Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
704 version 1.0.6e [April 9, 2000]
705 Added png_data_freer() function.
706 In the code that checks for over-length tRNS chunks, added check of
707 info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
708 Minor revisions of libpng.txt/libpng.3.
709 Check for existing data and free it if the free_me flag is set, in png_set_*()
711 Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED
713 Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c
714 and mentioned the purposes of the two macros in libpng.txt/libpng.3.
715 version 1.0.6f [April 14, 2000]
716 Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data.
717 Add checks in png_set_text() for NULL members of the input text structure.
718 Revised libpng.txt/libpng.3.
719 Removed superfluous prototype for png_set_itxt from png.h
720 Removed "else" from pngread.c, after png_error(), and changed "0" to "length".
721 Changed several png_errors about malformed ancillary chunks to png_warnings.
722 version 1.0.6g [April 24, 2000]
723 Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
724 Relocated paragraph about png_set_background() in libpng.3/libpng.txt
725 and other revisions (Matthias Benckmann)
726 Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
727 png_ptr members to restore binary compatibility with libpng-1.0.5
728 (breaks compatibility with libpng-1.0.6).
729 version 1.0.6h [April 24, 2000]
730 Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds
731 libpng.so.10 & libpng.so.10.6h instead of libpng.so.2 & libpng.so.2.1.0.6h)
732 This is a temporary change for test purposes.
733 version 1.0.6i [May 2, 2000]
734 Rearranged some members at the end of png_info and png_struct, to put
735 unknown_chunks_num and free_me within the original size of the png_structs
736 and free_me, png_read_user_fn, and png_free_fn within the original png_info,
737 because some old applications allocate the structs directly instead of
738 using png_create_*().
739 Added documentation of user memory functions in libpng.txt/libpng.3
740 Modified png_read_png so that it will use user_allocated row_pointers
741 if present, unless free_me directs that it be freed, and added description
742 of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3.
743 Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version
744 1.00) members of png_struct and png_info, to regain binary compatibility
745 when you define this macro. Capabilities lost in this event
746 are user transforms (new in version 1.0.0),the user transform pointer
747 (new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT,
748 the high-level interface, and unknown chunks support (all new in 1.0.6).
749 This was necessary because of old applications that allocate the structs
750 directly as authors were instructed to do in libpng-0.88 and earlier,
751 instead of using png_create_*().
752 Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
753 can be used to detect codes that directly allocate the structs, and
754 code to check these modes in png_read_init() and png_write_init() and
755 generate a libpng error if the modes aren't set and PNG_LEGACY_SUPPORTED
757 Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
758 version 1.0.6j [May 3, 2000]
759 Overloaded png_read_init() and png_write_init() with macros that convert
760 calls to png_read_init_2() or png_write_init_2() that check the version
762 version 1.0.7beta11 [May 7, 2000]
763 Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes
764 which are no longer used.
765 Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is
766 defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED
768 Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory
769 overrun when old applications fill the info_ptr->text structure directly.
770 Added PNGAPI macro, and added it to the definitions of all exported functions.
771 Relocated version macro definitions ahead of the includes of zlib.h and
773 version 1.0.7beta12 [May 12, 2000]
774 Revised pngset.c to avoid a problem with expanding the png_debug macro.
775 Deleted some extraneous defines from pngconf.h
776 Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined.
777 Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined.
778 Added png_access_version_number() function.
779 Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data().
780 Expanded libpng.3/libpng.txt information about png_data_freer().
781 version 1.0.7beta14 [May 17, 2000] (beta13 was not published)
782 Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as
783 warnings instead of errors, as pngrutil.c does.
784 Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png()
785 will actually write IDATs.
786 Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32.
787 Make png_free_data() ignore its final parameter except when freeing data
788 that can have multiple instances (text, sPLT, unknowns).
789 Fixed a new bug in png_set_rows().
790 Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
791 Added png_set_invalid() function.
792 Fixed incorrect illustrations of png_destroy_write_struct() in example.c.
793 version 1.0.7beta15 [May 30, 2000]
794 Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce
795 fewer error messages.
796 Rearranged checks for Z_OK to check the most likely path first in pngpread.c
798 Added checks in pngtest.c for png_create_*() returning NULL, and mentioned
799 in libpng.txt/libpng.3 the need for applications to check this.
800 Changed names of png_default_*() functions in pngtest to pngtest_*().
801 Changed return type of png_get_x|y_offset_*() from png_uint_32 to png_int_32.
802 Fixed some bugs in the unused PNG_INCH_CONVERSIONS functions in pngget.c
803 Set each pointer to NULL after freeing it in png_free_data().
804 Worked around a problem in pngconf.h; AIX's strings.h defines an "index"
805 macro that conflicts with libpng's png_color_16.index. (Dimitri Papadapoulos)
806 Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux).
807 version 1.0.7beta16 [June 4, 2000]
808 Revised the workaround of AIX string.h "index" bug.
809 Added a check for overlength PLTE chunk in pngrutil.c.
810 Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
811 indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
812 Added a warning in png_decompress_chunk() when it runs out of data, e.g.
813 when it tries to read an erroneous PhotoShop iCCP chunk.
814 Added PNG_USE_DLL macro.
815 Revised the copyright/disclaimer/license notice.
816 Added contrib/msvctest directory
817 version 1.0.7rc1 [June 9, 2000]
818 Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200)
819 Added contrib/visupng directory (Willem van Schaik)
820 version 1.0.7beta18 [June 23, 2000]
821 Revised PNGAPI definition, and pngvcrd.c to work with __GCC__
822 and do not redefine PNGAPI if it is passed in via a compiler directive.
823 Revised visupng/PngFile.c to remove returns from within the Try block.
824 Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros.
825 Updated contrib/visupng/cexcept.h to version 1.0.0.
826 Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks.
827 version 1.0.7rc2 [June 28, 2000]
828 Updated license to include disclaimers required by UCITA.
829 Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
831 version 1.0.7 [July 1, 2000]
832 Revised the definition of "trans_values" in libpng.3/libpng.txt
833 version 1.0.8beta1 [July 8, 2000]
834 Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
835 Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
837 Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h.
838 Removed unused "#include <assert.h>" from png.c
839 Added WindowsCE support.
840 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
841 version 1.0.8beta2 [July 10, 2000]
842 Added project files to the wince directory and made further revisions
843 of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE.
844 version 1.0.8beta3 [July 11, 2000]
845 Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
846 for indexed-color input files to avoid potential double-freeing trans array
847 under some unusual conditions; problem was introduced in version 1.0.6f.
848 Further revisions to pngtest.c and files in the wince subdirectory.
849 version 1.0.8beta4 [July 14, 2000]
850 Added the files pngbar.png and pngbar.jpg to the distribution.
851 Added makefile.cygwin, and cygwin support in pngconf.h
852 Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
853 version 1.0.8rc1 [July 16, 2000]
854 Revised png_debug() macros and statements to eliminate compiler warnings.
856 version 1.0.8 [July 24, 2000]
857 Added png_flush() in pngwrite.c, after png_write_IEND().
858 Updated makefile.hpux to build a shared library.
859 version 1.0.9beta1 [November 10, 2000]
860 Fixed typo in scripts/makefile.hpux
861 Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
862 Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
863 Changed "cdrom.com" in documentation to "libpng.org"
864 Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
865 Changed type of "params" from voidp to png_voidp in png_read|write_png().
866 Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
867 Revised the 3 instances of WRITEFILE in pngtest.c.
868 Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
869 Updated png.rc in dll/msvc project
870 Revised makefile.dec to define and use LIBPATH and INCPATH
871 Increased size of global png_libpng_ver[] array from 12 to 18 chars.
872 Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
873 Removed duplicate png_crc_finish() from png_handle_bKGD() function.
874 Added a warning when application calls png_read_update_info() multiple times.
875 Revised makefile.cygwin
876 Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
877 Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
878 version 1.0.9beta2 [November 19, 2000]
879 Renamed the "dll" subdirectory "projects".
880 Added borland project files to "projects" subdirectory.
881 Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
882 Add error message in png_set_compression_buffer_size() when malloc fails.
883 version 1.0.9beta3 [November 23, 2000]
884 Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
885 Removed the png_flush() in pngwrite.c that crashes some applications
886 that don't set png_output_flush_fn.
887 Added makefile.macosx and makefile.aix to scripts directory.
888 version 1.0.9beta4 [December 1, 2000]
889 Change png_chunk_warning to png_warning in png_check_keyword().
890 Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
891 version 1.0.9beta5 [December 15, 2000]
892 Added support for filter method 64 (for PNG datastreams embedded in MNG).
893 version 1.0.9beta6 [December 18, 2000]
894 Revised png_set_filter() to accept filter method 64 when appropriate.
895 Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
896 help prevent applications from using MNG features in PNG datastreams.
897 Added png_permit_mng_features() function.
898 Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
899 version 1.0.9rc1 [December 23, 2000]
900 Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
901 Fixed error handling of unknown compression type in png_decompress_chunk().
902 In pngconf.h, define __cdecl when _MSC_VER is defined.
903 version 1.0.9beta7 [December 28, 2000]
904 Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
905 Revised memory management in png_set_hIST and png_handle_hIST in a backward
906 compatible manner. PLTE and tRNS were revised similarly.
907 Revised the iCCP chunk reader to ignore trailing garbage.
908 version 1.0.9beta8 [January 12, 2001]
909 Moved pngasmrd.h into pngconf.h.
910 Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
911 version 1.0.9beta9 [January 15, 2001]
912 Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
913 wince and msvc project module definition files.
914 Minor revision of makefile.cygwin.
915 Fixed bug with progressive reading of narrow interlaced images in pngpread.c
916 version 1.0.9beta10 [January 16, 2001]
917 Do not typedef png_FILE_p in pngconf.h when PNG_NO_STDIO is defined.
918 Fixed "png_mmx_supported" typo in project definition files.
919 version 1.0.9beta11 [January 19, 2001]
920 Updated makefile.sgi to make shared library.
921 Removed png_mmx_support() function and disabled PNG_MNG_FEATURES_SUPPORTED
922 by default, for the benefit of DLL forward compatibility. These will
923 be re-enabled in version 1.2.0.
924 version 1.0.9rc2 [January 22, 2001]
925 Revised cygwin support.
927 version 1.0.9 [January 31, 2001]
928 Added check of cygwin's ALL_STATIC in pngconf.h
929 Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
930 version 1.0.10beta1 [March 14, 2001]
931 Revised makefile.dec, makefile.sgi, and makefile.sggcc; added makefile.hpgcc.
932 Reformatted libpng.3 to eliminate bad line breaks.
933 Added checks for _mmx_supported in the read_filter_row function of pnggccrd.c
934 Added prototype for png_mmx_support() near the top of pnggccrd.c
935 Moved some error checking from png_handle_IHDR to png_set_IHDR.
936 Added PNG_NO_READ_SUPPORTED and PNG_NO_WRITE_SUPPORTED macros.
937 Revised png_mmx_support() function in pnggccrd.c
938 Restored version 1.0.8 PNG_WRITE_EMPTY_PLTE_SUPPORTED behavior in pngwutil.c
939 Fixed memory leak in contrib/visupng/PngFile.c
940 Fixed bugs in png_combine_row() in pnggccrd.c and pngvcrd.c (C version)
941 Added warnings when retrieving or setting gamma=0.
942 Increased the first part of msg buffer from 16 to 18 in png_chunk_warning().
943 version 1.0.10rc1 [March 23, 2001]
944 Changed all instances of memcpy, strcpy, and strlen to png_memcpy, png_strcpy,
946 Revised png_mmx_supported() function in pnggccrd.c to return proper value.
947 Fixed bug in progressive reading (pngpread.c) with small images (height < 8).
949 version 1.0.10 [March 30, 2001]
950 Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin
951 Added beos project files (Chris Herborth)
952 version 1.0.11beta1 [April 3, 2001]
953 Added type casts on several png_malloc() calls (Dimitri Papadapoulos).
954 Removed a no-longer needed AIX work-around from pngconf.h
955 Changed several "//" single-line comments to C-style in pnggccrd.c
956 version 1.0.11beta2 [April 11, 2001]
957 Removed PNGAPI from several functions whose prototypes did not have PNGAPI.
958 Updated scripts/pngos2.def
959 version 1.0.11beta3 [April 14, 2001]
960 Added checking the results of many instances of png_malloc() for NULL
961 version 1.0.11beta4 [April 20, 2001]
962 Undid the changes from version 1.0.11beta3. Added a check for NULL return
963 from user's malloc_fn().
964 Removed some useless type casts of the NULL pointer.
965 Added makefile.netbsd
967 version 1.0.11 [April 27, 2001]
968 Revised makefile.netbsd
969 version 1.0.12beta1 [May 14, 2001]
970 Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot)
971 Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h
972 Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings.
973 Eliminated the png_error about apps using png_read|write_init(). Instead,
974 libpng will reallocate the png_struct and info_struct if they are too small.
975 This retains future binary compatibility for old applications written for
976 libpng-0.88 and earlier.
977 version 1.2.0beta1 [May 6, 2001]
979 Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
981 Added runtime selection of MMX features.
982 Added png_set_strip_error_numbers function and related macros.
983 version 1.2.0beta2 [May 7, 2001]
984 Finished merging 1.2.0beta1 with version 1.0.11
985 Added a check for attempts to read or write PLTE in grayscale PNG datastreams.
986 version 1.2.0beta3 [May 17, 2001]
987 Enabled user memory function by default.
988 Modified png_create_struct so it passes user mem_ptr to user memory allocator.
989 Increased png_mng_features flag from png_byte to png_uint_32.
990 Bumped shared-library (so-number) and dll-number to 3.
991 version 1.2.0beta4 [June 23, 2001]
992 Check for missing profile length field in iCCP chunk and free chunk_data
993 in case of truncated iCCP chunk.
994 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
995 Bumped dll-number from 2 to 3 in makefile.cygwin
996 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
997 if user attempts to run it on an 8-bit display.
998 Updated contrib/gregbook
999 Use png_malloc instead of png_zalloc to allocate palette in pngset.c
1000 Updated makefile.ibmc
1001 Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes
1002 of png_write_oFFS width and height from png_uint_32 to png_int_32.
1004 Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c
1005 version 1.2.0beta5 [August 8, 2001]
1006 Revised contrib/gregbook
1007 Revised makefile.gcmmx
1008 Revised pnggccrd.c to conditionally compile some thread-unsafe code only
1009 when PNG_THREAD_UNSAFE_OK is defined.
1010 Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with
1011 value exceeding 2^bit_depth-1
1012 Revised makefile.sgi and makefile.sggcc
1013 Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
1014 Removed restriction that do_invert_mono only operate on 1-bit opaque files
1016 version 1.2.0 [September 1, 2001]
1017 Changed a png_warning() to png_debug() in pnggccrd.c
1018 Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
1019 version 1.2.1beta1 [October 19, 2001]
1020 Revised makefile.std in contrib/pngminus
1021 Include background_1 in png_struct regardless of gamma support.
1022 Revised makefile.netbsd and makefile.macosx, added makefile.darwin.
1023 Revised example.c to provide more details about using row_callback().
1024 version 1.2.1beta2 [October 25, 2001]
1025 Added type cast to each NULL appearing in a function call, except for
1028 version 1.2.1beta3 [October 27, 2001]
1029 Removed type casts from all NULLs.
1030 Simplified png_create_struct_2().
1031 version 1.2.1beta4 [November 7, 2001]
1032 Revised png_create_info_struct() and png_creat_struct_2().
1033 Added error message if png_write_info() was omitted.
1034 Type cast NULLs appearing in function calls when _NO_PROTO or
1035 PNG_TYPECAST_NULL is defined.
1036 version 1.2.1rc1 [November 24, 2001]
1037 Type cast NULLs appearing in function calls except when PNG_NO_TYPECAST_NULL
1039 Changed typecast of "size" argument to png_size_t in pngmem.c calls to
1040 the user malloc_fn, to agree with the prototype in png.h
1041 Added a pop/push operation to pnggccrd.c, to preserve Eflag (Maxim Sobolev)
1042 Updated makefile.sgi to recognize LIBPATH and INCPATH.
1043 Updated various makefiles so "make clean" does not remove previous major
1044 version of the shared library.
1045 version 1.2.1rc2 [December 4, 2001]
1046 Always allocate 256-entry internal palette, hist, and trans arrays, to
1047 avoid out-of-bounds memory reference caused by invalid PNG datastreams.
1048 Added a check for prefix_length > data_length in iCCP chunk handler.
1050 version 1.2.1 [December 7, 2001]
1052 version 1.2.2beta1 [February 22, 2002]
1053 Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
1054 Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
1055 libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
1056 Revised makefile.darwin to remove "-undefined suppress" option.
1057 Added checks for gamma and chromaticity values over 21474.83, which exceed
1058 the limit for PNG unsigned 32-bit integers when encoded.
1059 Revised calls to png_create_read_struct() and png_create_write_struct()
1060 for simpler debugging.
1061 Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
1062 version 1.2.2beta2 [February 23, 2002]
1063 Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
1064 Check for invalid image dimensions in png_get_IHDR.
1065 Added missing "fi;" in the install target of the SGI makefiles.
1066 Added install-static to all makefiles that make shared libraries.
1067 Always do gamma compensation when image is partially transparent.
1068 version 1.2.2beta3 [March 7, 2002]
1069 Compute background.gray and background_1.gray even when color_type is RGB
1070 in case image gets reduced to gray later.
1071 Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
1072 Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown
1073 Removed unused png_write_destroy_info prototype from png.h
1074 Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case
1075 Added install-shared target to all makefiles that make shared libraries.
1076 Stopped a double free of palette, hist, and trans when not using free_me.
1077 Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64.
1078 version 1.2.2beta4 [March 8, 2002]
1079 Compute background.gray and background_1.gray even when color_type is RGB
1080 in case image gets reduced to gray later (Jason Summers).
1081 Relocated a misplaced /bin/rm in the "install-shared" makefile targets
1082 Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library.
1083 version 1.2.2beta5 [March 26, 2002]
1084 Added missing PNGAPI to several function definitions.
1085 Check for invalid bit_depth or color_type in png_get_IHDR(), and
1086 check for missing PLTE or IHDR in png_push_read_chunk() (Matthias Clasen).
1087 Revised iTXt support to accept NULL for lang and lang_key.
1088 Compute gamma for color components of background even when color_type is gray.
1089 Changed "()" to "{}" in scripts/libpng.pc.in.
1090 Revised makefiles to put png.h and pngconf.h only in $prefix/include/libpngNN
1091 Revised makefiles to make symlink to libpng.so.NN in addition to libpngNN.so
1092 version 1.2.2beta6 [March 31, 2002]
1093 version 1.0.13beta1 [March 31, 2002]
1094 Prevent png_zalloc() from trying to memset memory that it failed to acquire.
1095 Add typecasts of PNG_MAX_UINT in pngset_cHRM_fixed() (Matt Holgate).
1096 Ensure that the right function (user or default) is used to free the
1097 png_struct after an error in png_create_read_struct_2().
1098 version 1.2.2rc1 [April 7, 2002]
1099 version 1.0.13rc1 [April 7, 2002]
1100 Save the ebx register in pnggccrd.c (Sami Farin)
1101 Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
1102 Updated makefiles to put headers in include/libpng and remove old include/*.h.
1104 version 1.2.2 [April 15, 2002]
1105 version 1.0.13 [April 15, 2002]
1106 Revised description of png_set_filter() in libpng.3/libpng.txt.
1107 Revised makefile.netbsd and added makefile.neNNbsd and makefile.freebsd
1108 version 1.0.13patch01 [April 17, 2002]
1109 version 1.2.2patch01 [April 17, 2002]
1110 Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc
1111 Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install
1112 Added install: target to makefile.32sunu and makefile.64sunu
1113 version 1.0.13patch03 [April 18, 2002]
1114 version 1.2.2patch03 [April 18, 2002]
1115 Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
1116 subdirectory to libpngNN subdirectory without the full pathname.
1117 Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
1118 version 1.2.3rc1 [April 28, 2002]
1119 Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
1120 Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
1121 Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
1122 Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
1123 Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
1124 Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
1125 Revised makefile.darwin to make relative links without full pathname.
1126 Added setjmp() at the end of png_create_*_struct_2() in case user forgets
1127 to put one in their application.
1128 Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and
1129 removed them from module definition files.
1130 version 1.2.3rc2 [May 1, 2002]
1131 Fixed bug in reporting number of channels in pngget.c and pngset.c,
1132 that was introduced in version 1.2.2beta5.
1133 Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
1134 png_default_flush(), and png_push_fill_buffer() and included them in
1135 module definition files.
1136 Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
1137 version 1.2.3rc3 [May 1, 2002]
1138 Revised prototype for png_default_flush()
1139 Remove old libpng.pc and libpngNN.pc before installing new ones.
1140 version 1.2.3rc4 [May 2, 2002]
1141 Typos in *.def files (png_default_read|write -> png_default_read|write_data)
1142 In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
1143 Added libpng-config and libpngNN-config and modified makefiles to install them.
1144 Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
1145 Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
1146 version 1.2.3rc5 [May 11, 2002]
1147 Changed "error" and "message" in prototypes to "error_message" and
1148 "warning_message" to avoid namespace conflict.
1149 Revised 15 makefiles to build libpng-config from libpng-config-*.in
1150 Once more restored png_zalloc and png_zfree to regular nonexported form.
1151 Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
1152 to nonexported form, but with PNGAPI, and removed them from module def files.
1153 version 1.2.3rc6 [May 14, 2002]
1154 Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
1155 Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
1156 Removed leftover libpng-config "sed" script from four makefiles.
1157 Revised libpng-config creating script in 16 makefiles.
1159 version 1.2.3 [May 22, 2002]
1160 Revised libpng-config target in makefile.cygwin.
1161 Removed description of png_set_mem_fn() from documentation.
1162 Revised makefile.freebsd.
1163 Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR).
1164 Revised projects/msvc/README.txt
1165 Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
1166 version 1.2.4beta1 [May 24, 2002]
1167 Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
1168 Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
1169 Added missing "\" before closing double quote in makefile.gcmmx.
1170 Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
1172 version 1.2.4beta2 [June 25, 2002]
1173 Plugged memory leak of png_ptr->current_text (Matt Holgate).
1174 Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
1175 Added -soname to the loader flags in makefile.dec, makefile.sgi, and
1177 Added "test-installed" target to makefile.linux, makefile.gcmmx,
1178 makefile.sgi, and makefile.sggcc.
1179 version 1.2.4beta3 [June 28, 2002]
1180 Plugged memory leak of row_buf in pngtest.c when there is a png_error().
1181 Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
1182 Added "test-installed" target to makefile.32sunu, makefile.64sunu,
1183 makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
1184 makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
1185 version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
1186 Added "test-installed" target to makefile.cygwin and makefile.sco.
1187 Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
1189 version 1.2.4 and 1.0.14 [July 8, 2002]
1190 Changed png_warning() to png_error() when width is too large to process.
1191 version 1.2.4patch01 [July 20, 2002]
1192 Revised makefile.cygwin to use DLL number 12 instead of 13.
1193 version 1.2.5beta1 [August 6, 2002]
1194 Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
1195 Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
1196 Removed some stray *.o files from contrib/gregbook.
1197 Changed png_error() to png_warning() about "Too much data" in pngpread.c
1198 and about "Extra compressed data" in pngrutil.c.
1199 Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
1200 Updated makefile.hpgcc
1201 Updated png.c and pnggccrd.c handling of return from png_mmx_support()
1202 version 1.2.5beta2 [August 15, 2002]
1203 Only issue png_warning() about "Too much data" in pngpread.c when avail_in
1205 Updated makefiles to install a separate libpng.so.3 with its own rpath.
1206 version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002]
1207 Revised makefiles to not remove previous minor versions of shared libraries.
1208 version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002]
1209 Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
1210 library loader directive.
1211 Added missing "$OBJSDLL" line to makefile.gcmmx.
1212 Added missing "; fi" to makefile.32sunu.
1213 version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
1214 Revised libpng-config script.
1216 version 1.2.5 and 1.0.15 [October 3, 2002]
1217 Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
1219 Relocated two misplaced PNGAPI lines in pngtest.c
1220 version 1.2.6beta1 [October 22, 2002]
1221 Commented out warning about uninitialized mmx_support in pnggccrd.c.
1222 Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h.
1223 Relocated two more misplaced PNGAPI lines in pngtest.c
1224 Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
1225 introduced in version 1.0.2.
1226 Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu.
1227 version 1.2.6beta2 [November 1, 2002]
1228 Added libpng-config "--ldopts" output.
1229 Added "AR=ar" and "ARFLAGS=rc" and changed "ar rc" to "$(AR) $(ARFLAGS)"
1231 version 1.2.6beta3 [July 18, 2004]
1232 Reverted makefile changes from version 1.2.6beta2 and some of the changes
1233 from version 1.2.6beta1; these will be postponed until version 1.2.7.
1234 Version 1.2.6 is going to be a simple bugfix release.
1235 Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
1236 Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
1237 Added "#!/bin/sh" at the top of configure, for recognition of the
1238 'x' flag under Cygwin (Cosmin).
1239 Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin).
1240 Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin).
1241 Fixed the special memory handler for Borland C under DOS, in pngmem.c
1243 Removed some spurious assignments in pngrutil.c (Cosmin).
1244 Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings
1245 on 16-bit platforms (Cosmin).
1246 Enclosed shift op expressions in parentheses, to silence warnings (Cosmin).
1247 Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
1248 in png_handle_sRGB() (Cosmin).
1249 Added compression_type to png_struct, and optimized the window size
1250 inside the deflate stream (Cosmin).
1251 Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin).
1252 Fixed handling of unknown chunks that come after IDAT (Cosmin).
1253 Allowed png_error() and png_warning() to work even if png_ptr == NULL
1255 Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
1257 Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
1258 Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded
1259 values in png.c (Simon-Pierre, Cosmin).
1260 Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
1261 Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc
1263 Moved the definition of PNG_HEADER_VERSION_STRING near the definitions
1264 of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin).
1265 Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
1266 Updated scripts/makefile.vc(a)win32 (Cosmin).
1267 Updated the MSVC project (Simon-Pierre, Cosmin).
1268 Updated the Borland C++ Builder project (Cosmin).
1269 Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
1270 Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
1271 Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
1272 Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
1274 Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to
1275 projects/cbuilder5/ (Cosmin).
1276 Moved projects/visualc6/png32ms.def to scripts/pngw32.def,
1277 and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin).
1278 Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin).
1279 Changed line endings to DOS style in cbuilder5 and visualc6 files, even
1280 in the tar.* distributions (Cosmin).
1281 Updated contrib/visupng/VisualPng.dsp (Cosmin).
1282 Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin).
1283 Added a separate distribution with "configure" and supporting files (Junichi).
1284 version 1.2.6beta4 [July 28, 2004]
1285 Added user ability to change png_size_t via a PNG_SIZE_T macro.
1286 Added png_sizeof() and png_convert_size() functions.
1287 Added PNG_SIZE_MAX (maximum value of a png_size_t variable.
1288 Added check in png_malloc_default() for (size_t)size != (png_uint_32)size
1289 which would indicate an overflow.
1290 Changed sPLT failure action from png_error to png_warning and abandon chunk.
1291 Changed sCAL and iCCP failures from png_error to png_warning and abandon.
1292 Added png_get_uint_31(png_ptr, buf) function.
1293 Added PNG_UINT_32_MAX macro.
1294 Renamed PNG_MAX_UINT to PNG_UINT_31_MAX.
1295 Made png_zalloc() issue a png_warning and return NULL on potential
1297 Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x
1298 Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
1299 Revised Borland portion of png_malloc() to return NULL or issue
1300 png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
1301 Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
1302 sequential read support.
1303 Added some "#if PNG_WRITE_SUPPORTED" blocks.
1304 Removed some redundancy with #ifdef/#endif in png_malloc_default().
1305 Use png_malloc instead of png_zalloc to allocate the pallete.
1306 version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
1307 Fixed buffer overflow vulnerability in png_handle_tRNS()
1308 Fixed integer arithmetic overflow vulnerability in png_read_png().
1309 Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
1310 duplicate chunk types to go undetected.
1311 Fixed some timestamps in the -config version
1312 Rearranged order of processing of color types in png_handle_tRNS().
1313 Added ROWBYTES macro to calculate rowbytes without integer overflow.
1314 Updated makefile.darwin and removed makefile.macosx from scripts directory.
1315 Imposed default one million column, one-million row limits on the image
1316 dimensions, and added png_set_user_limits() function to override them.
1317 Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
1318 Fixed wrong cast of returns from png_get_user_width|height_max().
1319 Changed some "keep the compiler happy" from empty statements to returns,
1320 Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
1321 version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
1322 Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
1323 Revised pngtest's png_debug_malloc() to use png_malloc() instead of
1324 png_malloc_default() which is not supposed to be exported.
1325 Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
1326 pngpread.c. Bug was introduced in 1.2.6rc1.
1327 Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1.
1328 Fixed old bug in RGB to Gray transformation.
1329 Fixed problem with 64-bit compilers by casting arguments to abs()
1331 Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
1332 Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
1333 Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
1334 Added code to update the row_info->colortype in png_do_read_filler() (MSB).
1335 version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004]
1336 Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
1337 trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
1338 Revised documentation of png_set_keep_unknown_chunks().
1339 Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
1340 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
1341 Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
1342 version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004]
1343 Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
1344 "pinfo" was out of place).
1345 version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004]
1346 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
1347 section of png.h where they were inadvertently placed in version rc3.
1349 version 1.2.6 and 1.0.16 [August 15, 2004]
1350 Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
1351 version 1.2.7beta1 [August 26, 2004]
1352 Removed unused pngasmrd.h file.
1353 Removed references to uu.net for archived files. Added references to
1354 PNG Spec (second edition) and the PNG ISO/IEC Standard.
1355 Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
1356 Fixed bug with "optimized window size" in the IDAT datastream, that
1357 causes libpng to write PNG files with incorrect zlib header bytes.
1358 version 1.2.7beta2 [August 28, 2004]
1359 Fixed bug with sCAL chunk and big-endian machines (David Munro).
1360 Undid new code added in 1.2.6rc2 to update the color_type in
1362 Added png_set_add_alpha() that updates color type.
1363 version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004]
1364 Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
1366 version 1.2.7 and 1.0.17 [September 12, 2004]
1368 Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
1369 version 1.2.8beta1 [November 1, 2004]
1370 Fixed bug in png_text_compress() that would fail to complete a large block.
1371 Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
1372 strip alpha operation in png_do_strip_filler().
1373 Added PNG_1_2_X definition in pngconf.h
1374 Comment out with #ifdef/#endif png_info_init in png.c and png_read_init
1375 in pngread.c (as of 1.3.0)
1376 version 1.2.8beta2 [November 2, 2004]
1377 Reduce color_type to a nonalpha type after strip alpha operation in
1378 png_do_strip_filler().
1379 version 1.2.8beta3 [November 3, 2004]
1380 Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
1381 version 1.2.8beta4 [November 12, 2004]
1382 Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin).
1383 Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin).
1384 Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
1385 of data type in deflate (Cosmin).
1386 Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of
1387 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
1388 version 1.2.8beta5 [November 20, 2004]
1389 Use png_ptr->flags instead of png_ptr->transformations to pass
1390 PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI
1392 Revised handling of SPECIALBUILD, PRIVATEBUILD,
1393 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
1394 version 1.2.8rc1 [November 24, 2004]
1395 Moved handling of BUILD macros from pngconf.h to png.h
1396 Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
1398 Revised scripts/pngw32.rc
1399 Despammed mailing addresses by masking "@" with "at".
1400 Inadvertently installed a supposedly faster test version of pngrutil.c
1401 version 1.2.8rc2 [November 26, 2004]
1402 Added two missing "\" in png.h
1403 Change tests in pngread.c and pngpread.c to
1404 if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
1405 png_do_read_transformations(png_ptr);
1406 version 1.2.8rc3 [November 28, 2004]
1407 Reverted pngrutil.c to version libpng-1.2.8beta5.
1408 Added scripts/makefile.elf with supporting code in pngconf.h for symbol
1409 versioning (John Bowler).
1410 version 1.2.8rc4 [November 29, 2004]
1411 Added projects/visualc7 (Simon-pierre).
1412 version 1.2.8rc5 [November 29, 2004]
1413 Fixed new typo in scripts/pngw32.rc
1415 version 1.2.8 [December 3, 2004]
1416 Removed projects/visualc7, added projects/visualc71.
1418 version 1.2.9beta1 [February 21, 2006]
1420 Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
1421 Revised man page and libpng.txt to make it clear that one should not call
1422 png_read_end or png_write_end after png_read_png or png_write_png.
1423 Updated references to png-mng-implement mailing list.
1424 Fixed an incorrect typecast in pngrutil.c
1425 Added PNG_NO_READ_SUPPORTED conditional for making a write-only library.
1426 Added PNG_NO_WRITE_INTERLACING_SUPPORTED conditional.
1427 Optimized alpha-inversion loops in pngwtran.c
1428 Moved test for nonzero gamma outside of png_build_gamma_table() in pngrtran.c
1429 Make sure num_trans is <= 256 before copying data in png_set_tRNS().
1430 Make sure num_palette is <= 256 before copying data in png_set_PLTE().
1431 Interchanged order of write_swap_alpha and write_invert_alpha transforms.
1432 Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
1433 Optimized zlib window flag (CINFO) in contrib/pngsuite/*.png (Cosmin).
1434 Updated scripts/makefile.bc32 for Borland C++ 5.6 (Cosmin).
1435 Exported png_get_uint_32, png_save_uint_32, png_get_uint_16, png_save_uint_16,
1436 png_get_int_32, png_save_int_32, png_get_uint_31 (Cosmin).
1437 Added type cast (png_byte) in png_write_sCAL() (Cosmin).
1438 Fixed scripts/makefile.cygwin (Christian Biesinger, Cosmin).
1439 Default iTXt support was inadvertently enabled.
1441 version 1.2.9beta2 [February 21, 2006]
1443 Check for png_rgb_to_gray and png_gray_to_rgb read transformations before
1444 checking for png_read_dither in pngrtran.c
1445 Revised checking of chromaticity limits to accommodate extended RGB
1446 colorspace (John Denker).
1447 Changed line endings in some of the project files to CRLF, even in the
1448 "Unix" tar distributions (Cosmin).
1449 Made png_get_int_32 and png_save_int_32 always available (Cosmin).
1450 Updated scripts/pngos2.def, scripts/pngw32.def and projects/wince/png32ce.def
1451 with the newly exported functions.
1452 Eliminated distributions without the "configure" script.
1453 Updated INSTALL instructions.
1455 version 1.2.9beta3 [February 24, 2006]
1457 Fixed CRCRLF line endings in contrib/visupng/VisualPng.dsp
1458 Made libpng.pc respect EXEC_PREFIX (D. P. Kreil, J. Bowler)
1459 Removed reference to pngasmrd.h from Makefile.am
1460 Renamed CHANGES to ChangeLog.
1461 Renamed LICENSE to COPYING.
1462 Renamed ANNOUNCE to NEWS.
1463 Created AUTHORS file.
1465 version 1.2.9beta4 [March 3, 2006]
1467 Changed definition of PKGCONFIG from $prefix/lib to $libdir in configure.ac
1468 Reverted to filenames LICENSE and ANNOUNCE; removed AUTHORS and COPYING.
1469 Removed newline from the end of some error and warning messages.
1470 Removed test for sqrt() from configure.ac and configure.
1471 Made swap tables in pngtrans.c PNG_CONST (Carlo Bramix).
1472 Disabled default iTXt support that was inadvertently enabled in
1474 Added "OS2" to list of systems that don't need underscores, in pnggccrd.c
1475 Removed libpng version and date from *.c files.
1477 version 1.2.9beta5 [March 4, 2006]
1478 Removed trailing blanks from source files.
1479 Put version and date of latest change in each source file, and changed
1480 copyright year accordingly.
1481 More cleanup of configure.ac, Makefile.am, and associated scripts.
1482 Restored scripts/makefile.elf which was inadvertently deleted.
1484 version 1.2.9beta6 [March 6, 2006]
1485 Fixed typo (RELEASE) in configuration files.
1487 version 1.2.9beta7 [March 7, 2006]
1488 Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
1489 Fixed inconsistent #ifdef's around png_sig_bytes() and png_set_sCAL_s()
1491 Updated makefile.elf as suggested by debian.
1492 Made cosmetic changes to some makefiles, adding LN_SF and other macros.
1493 Made some makefiles accept "exec_prefix".
1495 version 1.2.9beta8 [March 9, 2006]
1496 Fixed some "#if defined (..." which should be "#if defined(..."
1497 Bug introduced in libpng-1.2.8.
1498 Fixed inconsistency in definition of png_default_read_data()
1499 Restored blank that was lost from makefile.sggcc "clean" target in beta7.
1500 Revised calculation of "current" and "major" for irix in ltmain.sh
1501 Changed "mkdir" to "MKDIR_P" in some makefiles.
1502 Separated PNG_EXPAND and PNG_EXPAND_tRNS.
1503 Added png_set_expand_gray_1_2_4_to_8() and deprecated
1504 png_set_gray_1_2_4_to_8() which also expands tRNS to alpha.
1506 version 1.2.9beta9 [March 10, 2006]
1507 Include "config.h" in pngconf.h when available.
1508 Added some checks for NULL png_ptr or NULL info_ptr (timeless)
1510 version 1.2.9beta10 [March 20, 2006]
1511 Removed extra CR from contrib/visualpng/VisualPng.dsw (Cosmin)
1512 Made pnggccrd.c PIC-compliant (Christian Aichinger).
1513 Added makefile.mingw (Wolfgang Glas).
1514 Revised pngconf.h MMX checking.
1516 version 1.2.9beta11 [March 22, 2006]
1517 Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
1518 Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
1520 version 1.2.9rc1 [March 31, 2006]
1521 Defined PNG_USER_PRIVATEBUILD when including "pngusr.h" (Cosmin).
1522 Removed nonsensical assertion check from pngtest.c (Cosmin).
1524 version 1.2.9 [April 14, 2006]
1525 Revised makefile.beos and added "none" selector in ltmain.sh
1527 version 1.2.10beta1 [April 15, 2006]
1528 Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
1529 -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
1530 to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
1532 version 1.2.10beta2 [April 15, 2006]
1533 Manually updated Makefile.in and configure. Changed png_conf.h.in
1536 version 1.2.10beta3 [April 15, 2006]
1537 Change png_conf.h back to config.h in pngconf.h.
1539 version 1.2.10beta4 [April 16, 2006]
1540 Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
1542 version 1.2.10beta5 [April 16, 2006]
1543 Added a configure check for compiling assembler code in pnggccrd.c
1545 version 1.2.10beta6 [April 17, 2006]
1546 Revised the configure check for pnggccrd.c
1547 Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
1548 Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
1550 version 1.2.10beta7 [April 18, 2006]
1551 Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
1553 version 1.2.10rc1 [April 19, 2006]
1554 Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
1555 Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
1557 version 1.2.10rc2 [April 20, 2006]
1558 Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
1559 in configure.ac and configure
1560 Made the configure warning about versioned symbols less arrogant.
1562 version 1.2.10rc3 [April 21, 2006]
1563 Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
1564 writing an embedded PNG without the 8-byte signature.
1565 Revised makefiles and configure to avoid making links to libpng.so.*
1567 version 1.2.10 [April 23, 2006]
1568 Reverted configure to "rc2" state.
1570 version 1.2.11beta1 [May 31, 2006]
1571 scripts/libpng.pc.in contained "configure" style version info and would
1572 not work with makefiles.
1573 The shared-library makefiles were linking to libpng.so.0 instead of
1574 libpng.so.3 compatibility as the library.
1576 version 1.2.11beta2 [June 2, 2006]
1577 Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
1579 Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
1581 version 1.2.11beta3 [June 5, 2006]
1582 Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
1583 Removed the accidental leftover Makefile.in~ (Cosmin).
1584 Avoided potential buffer overflow and optimized buffer in
1585 png_write_sCAL(), png_write_sCAL_s() (Cosmin).
1586 Removed the include directories and libraries from CFLAGS and LDFLAGS
1587 in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
1589 version 1.2.11beta4 [June 6, 2006]
1590 Allow zero-length IDAT chunks after the entire zlib datastream, but not
1591 after another intervening chunk type.
1593 version 1.0.19rc1, 1.2.11rc1 [June 13, 2006]
1594 Deleted extraneous square brackets from [config.h] in configure.ac
1596 version 1.0.19rc2, 1.2.11rc2 [June 14, 2006]
1597 Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
1598 Revised INSTALL and autogen.sh
1599 Fixed typo in several makefiles (-W1 should be -Wl)
1600 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
1602 version 1.0.19rc3, 1.2.11rc3 [June 15, 2006]
1603 Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
1604 Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
1605 reading out of bounds.
1607 version 1.0.19rc4, 1.2.11rc4 [June 15, 2006]
1608 Really removed the new typedefs for 64-bit systems.
1610 version 1.0.19rc5, 1.2.11rc5 [June 22, 2006]
1611 Removed png_sig_bytes entry from scripts/pngw32.def
1613 version 1.0.19, 1.2.11 [June 26, 2006]
1616 version 1.0.20, 1.2.12 [June 27, 2006]
1617 Really increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
1620 version 1.2.13beta1 [October 2, 2006]
1621 Removed AC_FUNC_MALLOC from configure.ac
1622 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
1623 Change "logical" to "bitwise" throughout documentation.
1624 Detect and fix attempt to write wrong iCCP profile length.
1626 version 1.0.21, 1.2.13 [November 14, 2006]
1627 Fix potential buffer overflow in sPLT chunk handler.
1628 Fix Makefile.am to not try to link to noexistent files.
1629 Check all exported functions for NULL png_ptr.
1631 version 1.2.14beta1 [November 17, 2006]
1632 Relocated three misplaced tests for NULL png_ptr.
1633 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
1634 Build configure with autoconf-2.60 instead of 2.59
1636 version 1.2.14beta2 [November 17, 2006]
1637 Added some typecasts in png_zalloc().
1639 version 1.2.14rc1 [November 20, 2006]
1640 Changed "strtod" to "png_strtod" in pngrutil.c
1642 version 1.0.22, 1.2.14 [November 27, 2006]
1643 Added missing "$(srcdir)" in Makefile.am and Makefile.in
1645 version 1.2.15beta1 [December 3, 2006]
1646 Generated configure with autoconf-2.61 instead of 2.60
1647 Revised configure.ac to update libpng.pc and libpng-config.
1649 version 1.2.15beta2 [December 3, 2006]
1650 Always export MMX asm functions, just stubs if not building pnggccrd.c
1652 version 1.2.15beta3 [December 4, 2006]
1653 Add "png_bytep" typecast to profile while calculating length in pngwutil.c
1655 version 1.2.15beta4 [December 7, 2006]
1656 Added scripts/CMakeLists.txt
1657 Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
1659 version 1.2.15beta5 [December 7, 2006]
1660 Changed some instances of PNG_ASSEMBLER_* to PNG_MMX_* in pnggccrd.c
1661 Revised scripts/CMakeLists.txt
1663 version 1.2.15beta6 [December 13, 2006]
1664 Revised scripts/CMakeLists.txt and configure.ac
1666 version 1.2.15rc1 [December 18, 2006]
1667 Revised scripts/CMakeLists.txt
1669 version 1.2.15rc2 [December 21, 2006]
1670 Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
1671 Added scripts/makefile.nommx
1673 version 1.2.15rc3 [December 25, 2006]
1674 Fixed shared library numbering error that was introduced in 1.2.15beta6.
1676 version 1.2.15rc4 [December 27, 2006]
1677 Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
1679 version 1.2.15rc5 [December 31, 2006]
1680 Revised handling of rgb_to_gray.
1682 version 1.0.23, 1.2.15 [January 5, 2007]
1683 Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
1685 version 1.2.16beta1 [January 6, 2007]
1686 Fix bugs in makefile.nommx
1688 version 1.2.16beta2 [January 16, 2007]
1689 Revised scripts/CMakeLists.txt
1691 version 1.0.24, 1.2.16 [January 31, 2007]
1694 version 1.2.17beta1 [March 6, 2007]
1695 Revised scripts/CMakeLists.txt to install both shared and static libraries.
1696 Deleted a redundant line from pngset.c.
1698 version 1.2.17beta2 [April 26, 2007]
1699 Relocated misplaced test for png_ptr == NULL in pngpread.c
1700 Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN
1702 Changed remaining instances of PNG_ASSEMBLER_* to PNG_MMX_*
1703 Added pngerror() when write_IHDR fails in deflateInit2().
1704 Added "const" to some array declarations.
1705 Mention examples of libpng usage in the libpng*.txt and libpng.3 documents.
1707 version 1.2.17rc1 [May 4, 2007]
1710 version 1.2.17rc2 [May 8, 2007]
1711 Moved several PNG_HAVE_* macros out of PNG_INTERNAL because applications
1712 calling set_unknown_chunk_location() need them.
1713 Changed transformation flag from PNG_EXPAND_tRNS to PNG_EXPAND in
1714 png_set_expand_gray_1_2_4_to_8().
1715 Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
1716 can be free'ed in case of error. Revised unknown chunk handling in
1717 pngrutil.c and pngpread.c to use this structure.
1719 version 1.2.17rc3 [May 8, 2007]
1720 Revised symbol-handling in configure script.
1722 version 1.2.17rc4 [May 10, 2007]
1723 Revised unknown chunk handling to avoid storing unknown critical chunks.
1725 version 1.0.25 [May 15, 2007]
1726 version 1.2.17 [May 15, 2007]
1727 Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
1728 to eliminate a vulnerability (CVE-2007-2445, CERT VU#684664)
1730 version 1.0.26 [May 15, 2007]
1731 version 1.2.18 [May 15, 2007]
1732 Reverted the libpng-1.2.17rc3 change to symbol-handling in configure script
1734 version 1.2.19beta1 [May 18, 2007]
1735 Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
1736 change of libpng-1.2.17beta2. Changed other "const" to "PNG_CONST"
1737 Changed some handling of unused parameters, to avoid compiler warnings.
1738 "if (unused == NULL) return;" becomes "unused = unused".
1740 version 1.2.19beta2 [May 18, 2007]
1741 Only use the valid bits of tRNS value in png_do_expand() (Brian Cartier)
1743 version 1.2.19beta3 [May 19, 2007]
1744 Add some "png_byte" typecasts in png_check_keyword() and write new_key
1745 instead of key in zTXt chunk (Kevin Ryde).
1747 version 1.2.19beta4 [May 21, 2007]
1748 Add png_snprintf() function and use it in place of sprint() for improved
1749 defense against buffer overflows.
1751 version 1.2.19beta5 [May 21, 2007]
1752 Fixed png_handle_tRNS() to only use the valid bits of tRNS value.
1753 Changed handling of more unused parameters, to avoid compiler warnings.
1754 Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.
1756 version 1.2.19beta6 [May 22, 2007]
1757 Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
1758 Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
1760 version 1.2.19beta7 [May 22, 2007]
1761 Squelched png_squelch_warnings() in pnggccrd.c and added
1762 an #ifdef PNG_MMX_CODE_SUPPORTED/#endif block around the declarations
1763 that caused the warnings that png_squelch_warnings was squelching.
1765 version 1.2.19beta8 [May 22, 2007]
1766 Removed __MMX__ from test in pngconf.h.
1768 version 1.2.19beta9 [May 23, 2007]
1769 Made png_squelch_warnings() available via PNG_SQUELCH_WARNINGS macro.
1770 Revised png_squelch_warnings() so it might work.
1771 Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
1773 version 1.2.19beta10 [May 24, 2007]
1774 Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
1776 version 1.2.19beta11 [May 28, 2007]
1777 Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
1778 changed three remaining instances of png_strcpy() to png_strncpy() (David
1780 Make test for NULL row_buf at the beginning of png_do_read_transformations
1783 version 1.2.19beta12 [May 28, 2007]
1786 version 1.2.19beta13 [June 14, 2007]
1787 Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
1789 version 1.2.19beta14 [June 16, 2007]
1790 Fix bug with handling of 16-bit transparency, introduced in 1.2.19beta2
1792 version 1.2.19beta15 [June 17, 2007]
1795 version 1.2.19beta16 [June 18, 2007]
1796 Revised pnggccrd.c again.
1797 Updated contrib/gregbook.
1798 Changed '#include "pnggccrd.c"' to 'include "$srcdir/pnggccrd.c"'
1801 version 1.2.19beta17 [June 19, 2007]
1802 Revised many of the makefiles, to set -DPNG_NO_MMX_CODE where needed
1803 and to not use -O3 unless -DPNG_NO_MMX_CODE is also set.
1805 version 1.2.19beta18 [June 23, 2007]
1806 Replaced some C++ style comments with C style comments in pnggccrd.c.
1807 Copied optimized C code from pnggccrd.c to pngrutil.c, removed dependency
1808 on pnggccrd.o from many makefiles.
1809 Added sl and dylib to list of extensions be installed by Makefile.am
1811 version 1.2.19beta19 [June 28, 2007]
1812 Fixed testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN in pngrtran.c
1813 More cleanup of pnggccrd.c and pngvcrd.c
1815 version 1.2.19beta20 [June 29, 2007]
1816 Rebuilt Makefile.in and configure using libtool-1.5.24.
1817 Fixed typo in pnggccrd.c
1819 version 1.2.19beta21 [June 30, 2007]
1820 More revision of pnggccrd.c
1821 Added "test" target to Makefile.in and Makefile.am
1823 version 1.2.19beta22 [July 3, 2007]
1824 Added info about pngrutil/pnggccrd/pngvcrd to png_get_header_version()
1825 Fix type definition of dummy_value_a, b in pnggccrd.c
1827 version 1.2.19beta23 [July 10, 2007]
1828 Revert change to type definition of dummy_value_a, b in pnggccrd.c
1829 Make sure __PIC__ is defined in pnggccrd.c when PIC is defined.
1830 Require gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW on x86_64 platforms
1832 version 1.2.19beta24 [July 14, 2007]
1833 Added PNG_NO_READ_FILTER, PNG_NO_WRITE_FILTER, PNG_NO_WARNING macros.
1834 Added contrib/pngminim to demonstrate building minimal encoder and decoder
1836 version 1.2.19beta25 [July 15, 2007]
1837 Removed the new PNG_NO_READ_FILTER macro since it would make the library
1838 unable to read valid PNG files, and filtering is at the heart of the
1841 version 1.2.19beta26 [July 16, 2007]
1842 Changed "png_free(str)" to "png_free(png_ptr,str)" in pngrutil.c WinCE
1843 code (Yves Piguet). This bug was introduced in libpng-1.2.14.
1844 Updated scripts/CMakeLists.txt
1845 Relocated a misplaced #endif in pnggccrd.c
1847 version 1.2.19beta27 [July 17, 2007]
1848 Fixed incorrect stride and number of bytes copied (was 4 instead of
1849 6 bytes) in the cleanup loop of pnggccrd.c and pngvcrd.c for handling
1850 the end of 48-bit interlaced rows (Glenn R-P).
1852 version 1.2.19beta28 [July 19, 2007]
1853 Removed requirement for gcc-4.1 or better to use PNG_HAVE_MMX_FILTER_ROW
1855 Added png_warning() in pngrutil.c for short iCCP, iTXt, sPLT, or zTXT chunks.
1856 Revised pngtest.c so warnings are displayed regardless of PNG_NO_STDIO.
1858 version 1.2.19beta29 [July 20, 2007]
1859 Fix typo in pnggccrd.c (%%eax should be %%ax in secondloop48)
1861 version 1.2.19beta30 [July 26, 2007]
1864 version 1.2.19beta31 [July 27, 2007]
1865 Fix typos in pnggccrd.c
1867 version 1.0.27rc1 and 1.2.19rc1 [July 31, 2007]
1868 Disable PNG_MMX_CODE_SUPPORTED when PNG_ASSEMBLER_CODE_SUPPORTED is off.
1869 Enable PNG_MMX_READ_FILTER_* by default, except when gcc-3.x is being
1870 used (they were inadvertently disabled in libpng-1.2.19beta23).
1871 Fix some debugging statements in pnggccrd.c and pngrutil.c
1872 Added information about disabling the MMX code in libpng documentation.
1874 version 1.0.27rc2 and 1.2.19rc2 [August 4, 2007]
1875 Removed some "#if 0" blocks.
1876 Made a global struct local in pngvcrd.c to make it thread safe.
1877 Issue a png_error() if application attempts to transform a row tht
1878 has not been initialized.
1880 version 1.0.27rc3 and 1.2.19rc3 [August 9, 2007]
1881 Slightly revised pngvcrd.c
1883 version 1.0.27rc4 and 1.2.19rc4 [August 9, 2007]
1884 Revised pnggccrd.c debugging change of rc1, which was broken.
1885 Revised scripts/CMakeLists.txt
1886 Change default to PNG_NO_GLOBAL_ARRAYS for MSVC.
1887 Turn off PNG_FLAG_ROW_INIT flag when setting transforms that expand pixels.
1889 version 1.0.27rc5 and 1.2.19rc5 [August 10, 2007]
1890 Fix typo (missing '"') in pnggccrd.c
1891 Revise handling of png_strtod in recent versions of WINCE
1893 version 1.0.27rc6 and 1.2.19rc6 [August 15, 2007]
1894 Fix typo (missing ',') in contrib/gregbook/readpng2.c
1895 Undid row initialization error exit added to rc2 and rc4.
1897 version 1.0.27 and 1.2.19 [August 18, 2007]
1898 Conditionally restored row initialization error exit.
1900 version 1.2.20beta01 [August 19, 2007]
1901 Fixed problem with compiling pnggccrd.c on Intel-Apple platforms.
1902 Changed png_malloc() to png_malloc_warn() in png_set_sPLT().
1903 Added PNG_NO_ERROR_TEXT feature, with demo in contrib/pngminim
1904 Removed define PNG_WARN_UNINITIALIZED_ROW 1 /* 0: warning; 1: error */
1905 because it caused some trouble.
1907 version 1.2.20beta02 [August 20, 2007]
1908 Avoid compiling pnggccrd.c on Intel-Apple platforms.
1910 version 1.2.20beta03 [August 20, 2007]
1911 Added "/D PNG_NO_MMX_CODE" to the non-mmx builds of projects/visualc6
1914 version 1.2.20beta04 [August 21, 2007]
1915 Revised pngvcrd.c for improved efficiency (Steve Snyder).
1917 version 1.2.20rc1 [August 23, 2007]
1918 Revised pngconf.h to set PNG_NO_MMX_CODE for gcc-3.x compilers.
1920 version 1.2.20rc2 [August 27, 2007]
1921 Revised scripts/CMakeLists.txt
1922 Revised #ifdefs to ensure one and only one of pnggccrd.c, pngvcrd.c,
1923 or part of pngrutil.c is selected.
1925 version 1.2.20rc3 [August 30, 2007]
1926 Remove a little more code in pngwutil.c when PNG_NO_WRITE_FILTER is selected.
1927 Added /D _CRT_SECURE_NO_WARNINGS to visual6c and visualc71 projects.
1928 Compile png_mmx_support() in png.c even when PNG_NO_MMX_CODE is defined.
1929 Restored a "superfluous" #ifdef that was removed from 1.2.20rc2 pnggccrd.c,
1930 breaking the png_mmx_support() function.
1932 version 1.2.20rc4 [September 1, 2007]
1933 Removed Intel contributions (MMX, Optimized C).
1935 version 1.2.20rc5 [September 2, 2007]
1936 Restored configure and Makefile.in to rc3 and put a snippet of code in
1937 pnggccrd.c, to ensure configure makes the same PNG_NO_MMX_CODE selection
1939 version 1.2.20rc6 [September 2, 2007]
1940 Fixed bugs in scripts/CMakeLists.txt
1941 Removed pngvcrd.c references from msvc projects.
1943 version 1.0.28 and 1.2.20 [September 8, 2007]
1944 Removed "(NO READ SUPPORT)" from png_get_header_version() string.
1946 version 1.2.21beta1 [September 14, 2007]
1947 Fixed various mistakes reported by George Cook and Jeff Phillips:
1948 logical vs bitwise NOT in pngrtran.c, bug introduced in 1.2.19rc2
1949 16-bit cheap transparency expansion, bug introduced in 1.2.19beta2
1950 errors with sizeof(unknown_chunk.name), bugs introduced in 1.2.19beta11
1951 <= compare with unsigned var in pngset.c, should be ==.
1953 version 1.2.21beta2 [September 18, 2007]
1954 Removed some extraneous typecasts.
1956 version 1.2.21rc1 [September 25, 2007]
1957 Fixed potential out-of-bounds reads in png_handle_pCAL() and
1958 png_handle_ztXt() ("flayer" results reported by Tavis Ormandy).
1960 version 1.2.21rc2 [September 26, 2007]
1961 Fixed potential out-of-bounds reads in png_handle_sCAL(),
1962 png_handle_iTXt(), and png_push_read_tEXt().
1963 Remove some PNG_CONST declarations from pngwutil.c to avoid compiler warnings
1964 Revised makefiles to update paths in libpng.pc properly.
1966 version 1.2.21rc3 [September 27, 2007]
1967 Revised makefiles to update "Libs" in libpng.pc properly.
1969 version 1.0.29 and 1.2.21rc3 [October 4, 2007]
1972 version 1.2.22beta1 [October 4, 2007]
1973 Again, fixed logical vs bitwise NOT in pngrtran.c, bug introduced
1976 version 1.2.22beta2 [October 5, 2007]
1977 Fixed string length error in pngset.c (caused crashes while decoding iCCP)
1978 Add terminating NULL after each instance of png_strncpy().
1980 version 1.2.22beta3 [October 6, 2007]
1981 Fix two off-by-one terminating NULL after png_strncpy().
1983 version 1.2.22beta4 [October 7, 2007]
1984 Changed some 0 to '\0'.
1986 version 1.0.30rc1 and 1.2.22rc1 [October 8, 2007]
1989 version 1.0.30 and 1.2.22 [October 13, 2007]
1992 version 1.2.23beta01 [October 15, 2007]
1993 Reduced number of invocations of png_strlen() in pngset.c.
1994 Changed [azAZ09_] to [_abcde...89] in Makefile.am for better localization.
1996 version 1.2.23beta02 [October 16, 2007]
1997 Eliminated png_strncpy() and png_strcpy() (Pierre Poissinger)
1998 Changed $AN to $(AN) in Makefile.am.
2000 version 1.2.23beta03 [October 16, 2007]
2001 Fixed off-by-one error in pngset.c
2002 Restore statement to set last character of buffer to \0 in pngerror.c
2004 version 1.2.23beta04 [October 23, 2007]
2005 Reject attempt to set all-zero cHRM values.
2007 version 1.2.23beta05 [October 26, 2007]
2008 Add missing quotes in projects/visualc6, lost in version 1.2.20rc3
2010 version 1.2.23rc01 [November 2, 2007]
2013 version 1.2.23 [November 6, 2007]
2016 version 1.2.24beta01 [November 19, 2007]
2017 Moved misplaced test for malloc failure in png_set_sPLT(). This bug was
2018 introduced in libpng-1.2.20beta01.
2019 Ifdef out avg_row etc from png.h and pngwrite.c when PNG_NO_WRITE_FILTER
2020 Do not use png_ptr->free_fn and png_ptr->mem_fn in png_destroy_read_struct()
2021 when png_ptr is NULL (Marshall Clow).
2022 Updated handling of symbol prefixes in Makefile.am and configure.ac (Mike
2025 version 1.2.24beta02 [November 30, 2007]
2026 Removed a useless test and fixed incorrect test in png_set_cHRM_fixed()
2029 version 1.2.24rc01 [December 7, 2007]
2032 version 1.2.24 [December 14, 2007]
2033 Make sure not to redefine _BSD_SOURCE in pngconf.h
2034 Revised gather.sh and makefile.std in contrib/pngminim to avoid compiling
2037 version 1.2.25beta01 [January 7, 2008]
2038 Fixed bug with unknown chunk handling, introduced in version 1.2.17rc2
2040 version 1.2.25beta02 [January 10, 2008]
2041 Prevent gamma from being applied twice.
2043 version 1.2.25rc01 [January 17, 2008]
2046 version 1.2.25beta03 [January 22, 2008]
2047 Fixed some continue-after-malloc-failure errors in pngset.c (David Hill)
2048 Check for info_ptr == NULL in png_read_info() and png_process_data().
2049 Check for possible use of NULL user_png_ver[] in png_create_read_struct().
2050 Change "if (swidth == NULL)" to "if (sheight == NULL)" in png_handle_sCAL
2051 (bug introduced in libpng-1.2.4/1.0.13).
2052 Return from png_destroy_read_struct() if png_ptr_ptr is NULL.
2053 Fix overflow of "msg" in png_decompress_chunk().
2055 version 1.2.25beta04 [January 26, 2008]
2056 Work around Coverity bug report by slightly refactoring
2057 png_read_push_finish_row()
2059 version 1.2.25beta05 [January 31, 2008]
2060 Added libpng-1.2.25beta05.tar.lzma to distribution. Get the lzma codec
2061 from <http://tukaani.org/lzma>.
2062 Added lp1225b05.7z to distribution. Get the 7-zip decoder from
2063 from <http://www.7-zip.org>.
2064 Fixed some broken links in the README file.
2066 version 1.2.25beta06 [February 6, 2008]
2067 Refactored png_read_push_finish_row() again, trying to satisfy Coverity.
2068 Fixed potential NULL dereference of png_ptr in png_destroy_write_struct();
2069 clarified potential NULL dereference of png_ptr in png_destroy_read_struct();
2070 fixed potential NULL dereference of info_ptr in png_handle_bKGD();
2071 fixed potential NULL dereference of user_png_ver[] in
2072 png_create_write_struct_2(). (Coverity)
2074 version 1.2.25rc02 [February 10, 2008]
2075 Reset png_ptr->pass in png_read_push_finish_row() before break.
2076 Changed "pass" from png_byte to int.
2078 version 1.2.25 and 1.0.31 [February 18, 2008]
2081 version 1.2.26beta01 [February 21, 2008]
2082 Added missing "(" in pngmem.c. Bug introduced in libpng-1.2.2/1.0.13
2084 version 1.2.26beta02 [March 12, 2008]
2085 Refined error message returned from deflateInit2 in pngwutil.c
2086 Check IHDR length in png_push_read_chunk() before saving it.
2088 version 1.2.26beta03 [March 16, 2008]
2089 Revised contrib/gregbook to handle premature end-of-file and file
2090 read errors correctly.
2092 version 1.2.26beta04 [March 18, 2008]
2093 Free png_ptr->big_row_buf and png_ptr->prev_row before allocating
2094 new copies in png_read_start_row(). Bug introduced in libpng-1.2.22.
2096 version 1.2.26beta05 [March 19, 2008]
2097 Removed extra png_free() added in libpng-1.2.26beta04.
2099 version 1.2.26beta06 [March 19, 2008]
2100 Avoid reallocating big_row_buf and prev_row when the size does not increase.
2102 version 1.2.26rc01 [March 26, 2008]
2103 Ifdef out some code that is unused when interlacing is not supported.
2105 versions 1.0.32 and 1.2.26 [April 2, 2008]
2108 version 1.2.27beta01 [April 12, 2008]
2109 Fixed bug (introduced in libpng-1.0.5h) with handling zero-length
2111 Added more information about png_set_keep_unknown_chunks() to the
2113 Reject tRNS chunk with out-of-range samples instead of masking off
2114 the invalid high bits as done in since libpng-1.2.19beta5.
2116 version 1.2.27beta02 [April 13, 2008]
2117 Revised documentation about unknown chunk and user chunk handling.
2118 Keep tRNS chunk with out-of-range samples and issue a png_warning().
2120 version 1.2.27beta03 [April 14, 2008]
2121 Added check for NULL ptr in TURBOC version of png_free_default().
2122 Removed several unnecessary checks for NULL before calling png_free().
2123 Revised png_set_tRNS() so that calling it twice removes and invalidates
2125 Revised pngtest to check for out-of-range tRNS samples.
2127 version 1.2.27beta04 [April 18, 2008]
2128 Added AC_LIBTOOL_WIN32_DLL to configure.ac
2129 Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.62
2131 version 1.2.27beta05 [April 19, 2008]
2132 Added MAINTAINERCLEANFILES variable to Makefile.am
2134 version 1.2.27beta06 [April 21, 2008]
2135 Avoid changing color_type from GRAY to RGB by
2136 png_set_expand_gray_1_2_4_to_8().
2138 version 1.2.27rc01 [April 23, 2008]
2139 Fix broken URL for rfc2083 in png.5 and libpng-*.txt
2141 version 1.0.33 and 1.2.27 [April 30, 2008]
2144 version 1.0.34 and 1.2.28 [April 30, 2008]
2145 Rebuilt Makefile.in, aclocal.m4, and configure with autoconf-2.61
2146 due to backward incompatibilities.
2147 Removed a stray object file from contrib/gregbook
2149 version 1.2.29beta01 [May 1, 2008]
2150 Removed some stray *.diff and *.orig files
2152 version 1.2.29beta02 [May 1, 2008]
2153 Reverted Makefile.in, aclocal.m4, and configure to the libpng-1.2.26
2156 version 1.2.29beta03 [May 2, 2008]
2157 Added --force to autogen libtoolize options and --force-missing to
2159 Changed $(ECHO) to echo in Makefile.am and Makefile.in
2160 Updated all configure files to autoconf-2.62
2161 Comment out pnggcrd.c code with #ifdef/#endif if using MSC_VER
2163 version 1.2.29rc01 [May 4, 2008]
2166 version 1.0.35 and 1.2.29 [May 8, 2008]
2169 version 1.0.37 [May 9, 2008]
2170 Updated Makefile.in and configure (omitted version 1.0.36).
2172 version 1.2.30beta01 [May 29, 2008]
2173 Updated libpng.pc-configure.in and libpng-config.in per debian bug reports.
2175 version 1.2.30beta02 [June 25, 2008]
2176 Restored png_flush(png_ptr) at the end of png_write_end(), that was
2177 removed from libpng-1.0.9beta03.
2179 version 1.2.30beta03 [July 6, 2008]
2180 Merged some cosmetic whitespace changes from libpng-1.4.0beta19.
2181 Inline call of png_get_uint_32() in png_get_uint_31(), as in 1.4.0beta19.
2182 Added demo of decoding vpAg and sTER chunks to pngtest.c, from 1.4.0beta19.
2183 Changed PNGMAJ from 0 to 12 in makefile.darwin, which does not like 0.
2184 Added new private function png_read_chunk_header() from 1.4.0beta19.
2185 Merge reading of chunk length and chunk type into a single 8-byte read.
2186 Merge writing of chunk length and chunk type into a single 8-byte write.
2188 version 1.2.30beta04 [July 10, 2008]
2189 Merged more cosmetic whitespace changes from libpng-1.4.0beta19.
2191 version 1.0.38rc01, 1.2.30rc01 [July 18, 2008]
2194 version 1.0.38rc02, 1.2.30rc02 [July 21, 2008]
2195 Moved local array "chunkdata" from pngrutil.c to the png_struct, so
2196 it will be freed by png_read_destroy() in case of a read error (Kurt
2199 version 1.0.38rc03, 1.2.30rc03 [July 21, 2008]
2200 Changed "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
2202 version 1.0.38rc04, 1.2.30rc04 [July 22, 2008]
2203 Changed "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
2204 png_decompress_chunk().
2206 version 1.0.38rc05, 1.2.30rc05 [July 25, 2008]
2207 Changed all remaining "chunkdata" to "png_ptr->chunkdata" in
2208 png_decompress_chunk() and remove chunkdata from parameter list.
2209 Put a call to png_check_chunk_name() in png_read_chunk_header().
2210 Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
2211 Removed two calls to png_check_chunk_name() occuring later in the process.
2213 version 1.0.38rc06, 1.2.30rc06 [July 29, 2008]
2214 Added a call to png_check_chunk_name() in pngpread.c
2215 Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
2217 version 1.0.38r07, 1.2.30r07 [August 2, 2008]
2218 Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
2219 Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
2220 Added code in pngset.c to quiet compiler warnings.
2221 Updated contrib/visupng/cexcept.h to version 2.0.1
2222 Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
2224 version 1.0.38r08, 1.2.30r08 [August 2, 2008]
2225 Enclose "volatile" declarations in #ifdef PNG_SETJMP_SUPPORTED (Cosmin).
2227 version 1.0.38, 1.2.30 [August 14, 2008]
2230 version 1.2.31rc01 [August 19, 2008]
2231 Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
2232 in libpng-1.2.30beta03 (Heiko Nitzsche).
2234 version 1.2.31rc02 [August 19, 2008]
2235 Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
2237 version 1.2.31rc03 [August 19, 2008]
2238 Added PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED block, off by default, around
2241 version 1.0.39, 1.2.31 [August 21, 2008]
2244 version 1.2.32beta01 [September 6, 2008]
2245 Shortened tIME_string to 29 bytes in pngtest.c (bug introduced in
2247 Fixed off-by-one error introduced in png_push_read_zTXt() function in
2248 libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
2249 These bugs have been given the vulnerability id CVE-2008-3964.
2251 version 1.0.40, 1.2.32 [September 18, 2008]
2254 version 1.2.33beta01 [October 6, 2008]
2255 Revised makefile.darwin to fix shared library numbering.
2256 Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
2257 in example.c (debian bug report)
2259 version 1.2.33rc01 [October 15, 2008]
2262 version 1.0.41rc01, version 1.2.33rc02 [October 23, 2008]
2263 Changed remaining "key" to "png_ptr->chunkdata" in png_handle_tEXt()
2264 to avoid memory leak after memory failure while reading tEXt chunk.`
2266 version 1.2.33 [October 31, 2008]
2269 version 1.2.34beta01 [November 27, 2008]
2270 Revised png_warning() to write its message on standard output by default
2271 when warning_fn is NULL. This was the behavior prior to libpng-1.2.9beta9.
2272 Fixed string vs pointer-to-string error in png_check_keyword().
2273 Added png_check_cHRM_fixed() in png.c and moved checking from pngget.c,
2274 pngrutil.c, and pngwrite.c, and eliminated floating point cHRM checking.
2275 Added check for zero-area RGB cHRM triangle in png_check_cHRM_fixed().
2276 In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
2277 check for all-zero coordinates that is detected by the triangle check.
2278 Revised png_warning() to write its message on standard output by default
2279 when warning_fn is NULL.
2281 version 1.2.34beta02 [November 28, 2008]
2282 Corrected off-by-one error in bKGD validity check in png_write_bKGD()
2283 and in png_handle_bKGD().
2285 version 1.2.34beta03 [December 1, 2008]
2286 Revised bKGD validity check to use >= x instead of > x + 1
2287 Merged with png_debug from libpng-1.4.0 to remove newlines.
2289 version 1.2.34beta04 [December 2, 2008]
2290 More merging with png_debug from libpng-1.4.0 to remove newlines.
2292 version 1.2.34beta05 [December 5, 2008]
2293 Removed redundant check for key==NULL before calling png_check_keyword()
2294 to ensure that new_key gets initialized and removed extra warning
2297 version 1.2.34beta06 [December 9, 2008]
2298 In png_write_png(), respect the placement of the filler bytes in an earlier
2299 call to png_set_filler() (Jim Barry).
2301 version 1.2.34beta07 [December 9, 2008]
2302 Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
2303 PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
2304 PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
2306 version 1.0.42rc01, 1.2.34rc01 [December 11, 2008]
2309 version 1.0.42, 1.2.34 [December 18, 2008]
2312 version 1.2.35beta01 [February 4, 2009]
2313 Zero out some arrays of pointers after png_malloc(). (Tavis Ormandy)
2315 version 1.2.35beta02 [February 4, 2009]
2316 Zero out more arrays of pointers after png_malloc().
2318 version 1.2.35beta03 [February 5, 2009]
2319 Use png_memset() instead of a loop to intialize pointers. We realize
2320 this will not work on platforms where the NULL pointer is not all zeroes.
2322 version 1.2.35rc01 [February 11, 2009]
2325 version 1.2.35rc02 [February 12, 2009]
2326 Fix typo in new png_memset call in pngset.c (png_color should be png_charp)
2328 version 1.0.43 and 1.2.35 [February 14, 2009]
2331 version 1.2.36beta01 [February 28, 2009]
2332 Revised comments in png_set_read_fn() and png_set_write_fn().
2333 Revised order of #ifdef's and indentation in png_debug definitions of png.h
2334 bug introduced in libpng-1.2.34.
2336 version 1.2.36beta02 [March 21, 2009]
2337 Use png_memset() after png_malloc() of big_row_buf when reading an
2338 interlaced file, to avoid a possible UMR.
2339 Undid recent revision of PNG_NO_STDIO version of png_write_flush(). Users
2340 having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined.
2341 Revised libpng*.txt documentation about use of png_write_flush().
2342 Removed fflush() from pngtest.c.
2343 Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
2345 version 1.2.36beta03 [March 27, 2009]
2346 Relocated misplaced PNG_1_0_X define in png.h that caused the prototype
2347 for png_set_strip_error_numbers() to be omitted from PNG_NO_ASSEMBLER_CODE
2348 builds. This bug was introduced in libpng-1.2.15beta4.
2349 Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
2351 version 1.2.36beta04 [April 5, 2009]
2352 Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
2354 version 1.2.36beta05 [April 24, 2009]
2355 Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
2356 application code writers to bypass the check for multiple inclusion
2357 of setjmp.h when they know that it is safe to ignore the situation.
2358 Made some cosmetic changes to whitespace in pngtest output.
2359 Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
2360 "shadowed declaration" warning from gcc-4.3.3.
2361 Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
2362 warning about a global "gamma" variable in math.h on some platforms.
2364 version 1.2.36rc01 [April 30, 2009]
2367 version 1.0.44 and 1.2.36 [May 7, 2009]
2370 version 1.2.37beta01 [May 14, 2009]
2371 Fixed inconsistency in pngrutil.c, introduced in libpng-1.2.36. The
2372 memset() was using "png_ptr->rowbytes" instead of "row_bytes", which
2373 the corresponding png_malloc() uses (Joe Drew).
2374 Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
2375 Updated some of the makefiles in the scripts directory (merged with
2376 those in libpng-1.4.0beta57).
2378 version 1.2.37beta02 [May 19, 2009]
2379 Fixed typo in libpng documentation (FILTER_AVE should be FILTER_AVG)
2380 Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
2381 Conditionally compile png_read_finish_row() which is not used by
2382 progressive readers.
2383 Added contrib/pngminim/preader to demonstrate building minimal progressive
2384 decoder, based on contrib/gregbook with embedded libpng and zlib.
2386 version 1.2.37beta03 [May 20, 2009]
2387 In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
2388 is only one makefile in those directories, and revised the README files
2390 Reformated sources in libpng style (3-space indentation, comment format)
2392 version 1.2.37rc01 [May 27, 2009]
2395 versions 1.2.37 and 1.0.45 [June 4, 2009]
2396 Reformatted several remaining "else statement;" and "if () statement;" into
2398 Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
2399 and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
2400 Added sections about the git repository and our coding style to the
2401 documentation (merged from libpng-1.4.0beta62)
2402 Added a section to the libpng documentation about using png_get_io_ptr()
2403 in configure scripts to detect the presence of libpng.
2405 version 1.2.38beta01 [June 17, 2009]
2406 Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
2407 multiple times and to specify the sample order in the tRNS chunk,
2408 because the ISO PNG specification has a typo in the tRNS table.
2409 Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
2410 PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
2411 available for ignoring known chunks even when not saving unknown chunks.
2412 Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
2413 "#if defined()" and "if !defined()" where possible.
2414 Added PNG_NO_HANDLE_AS_UNKNOWN in the PNG_LEGACY_SUPPORTED block of
2415 pngconf.h, and moved the various unknown chunk macro definitions
2416 outside of the PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
2418 version 1.0.46 [June 18, 2009]
2419 Removed some editing cruft from scripts/libpng.pc.in and some makefiles.
2421 version 1.2.38rc01 [June 24, 2009]
2424 version 1.2.38rc02 [June 29, 2009]
2425 Added a reference to the libpng license in each source file.
2427 version 1.2.38rc03 [July 11, 2009]
2428 Revised references to the libpng license in pngconf.h and contrib/visupng
2430 Rebuilt configure scripts with autoconf-2.63.
2432 version 1.0.47 and 1.2.38 [July 16, 2009]
2435 version 1.2.39beta01 [July 25, 2009]
2436 Added a prototype for png_64bit_product() in png.c
2438 version 1.2.39beta02 [July 27, 2009]
2439 Avoid a possible NULL dereference in debug build, in png_set_text_2().
2440 (bug introduced in libpng-0.95, discovered by Evan Rouault)
2442 version 1.2.39beta03 [July 29, 2009]
2443 Relocated new png_64_bit_product() prototype into png.h
2444 Expanded the information about prototypes in the libpng style section of
2446 Rebuilt configure scripts with autoconf-2.64.
2448 version 1.2.39beta04 [August 1, 2009]
2449 Replaced *.tar.lzma with *.txz in distribution. Get the xz codec
2450 from <http://tukaani.org/xz>.
2452 version 1.2.39beta05 [August 1, 2009]
2453 Reject attempt to write iCCP chunk with negative embedded profile length
2456 version 1.2.39c01 [August 6, 2009]
2459 version 1.2.39 and 1.0.48 [August 13, 2009]
2462 version 1.2.40beta01 [August 20, 2009]
2463 Removed an extra png_debug() recently added to png_write_find_filter().
2464 Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
2466 version 1.2.40rc01 [September 2, 2009]
2467 Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
2469 version 1.2.40 and 1.0.49 [September 2, 2009]
2472 version 1.0.50 [September 10, 2009]
2473 Removed some editing cruft from pngset.c and pngwutil.c.
2475 version 1.2.41beta01 [September 25, 2009]
2476 Moved redundant IHDR checking into new png_check_IHDR() in png.c
2477 and report all errors found in the IHDR data.
2478 Eliminated useless call to png_check_cHRM() from pngset.c
2479 Expanded TAB characters in pngrtran.c
2481 version 1.2.41beta02 [September 30, 2009]
2482 Revised png_check_IHDR().
2484 version 1.2.41beta03 [October 1, 2009]
2485 Revised png_check_IHDR() again, to check info_ptr members instead of
2486 the contents of the returned parameters.
2488 version 1.2.41beta04 [October 7, 2009]
2489 Added "xcode" project similar one already in libpng-1.4.0beta (Alam Arias).
2490 Ported some cosmetic changes from libpng-1.4.0beta86.
2491 Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
2493 version 1.2.41beta05 [October 17, 2009]
2494 Revised pngconf.h to make it easier to enable iTXt support. From libpng
2495 version 1.2.9 through 1.2.40, defining PNG_iTXt_SUPPORTED did not work
2497 Ported some cosmetic changes from libpng-1.4.0beta87, changing
2498 many "#if defined(x)" to "#ifdef x".
2500 version 1.2.41beta06 [October 18, 2009]
2501 Restored PNG_USE_LOCAL_ARRAYS code in pngread.c that was inadvertently
2502 deleted in libpng-1.2.41beta05.
2503 Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
2504 as in libpng-1.4.0beta78 and later.
2506 version 1.2.41beta07 [October 21, 2009]
2507 Ported some cosmetic changes from libpng-1.4.0rc01, changing
2508 many "#if defined(x)" to "#ifdef x" in png.h and pngconf.h.
2510 version 1.2.41beta08 [October 30, 2009]
2511 Ported from libpng-1.4.0rc01: png_calloc(), png_get_io_chunk_name(),
2512 png_get_io_state(), png_set_user_cache_max(), png_get_user_cache_max(),
2513 png_set_premultiply_alpha, and png_do_read_premultiply_alpha().
2514 Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
2515 This avoids building 16-bit gamma tables unnecessarily.
2517 version 1.2.41beta09 [November 1, 2009]
2518 Removed a harmless extra png_set_invert_alpha() from pngwrite.c
2519 More bugfixes and improvements to CMakeLists.txt (Philip Lowman)
2520 Moved CMakeLists.txt from scripts into the main libpng directory.
2521 Apply png_user_chunk_cache_max within png_decompress_chunk().
2522 Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
2524 version 1.2.41beta10 [November 1, 2009]
2525 Enabled iTXt support by default. To ensure binary compatibility with
2526 previous versions, the "lang" and "lang_key" members will be assumed
2527 to be omitted from previous versions unless the current libpng
2528 version was built with PNG_iTXt_SUPPORTED (which is otherwise no
2529 longer necessary to gain iTXt support), as a signal that the user has
2530 been building previous versions with PNG_iTXt_SUPPORTED as well.
2532 version 1.2.41beta11 [November 2, 2009]
2533 Store user's user_png_ver in new png_ptr->user_png_ver element.
2534 Revised iTXt support. To ensure binary compatibility with
2535 previous versions, the "lang" and "lang_key" members will be assumed
2536 to be omitted from versions prior to 1.2.41beta11 whenever there is a
2539 version 1.2.41beta12 [November 2, 2009]
2540 Free png_ptr->user_png_ver when destroying png_ptr.
2542 version 1.2.41beta13 [November 3, 2009]
2543 Updated scripts/pngw32.def and projects/wince/png32ce.def
2544 Copied projects/wince/png32ce.def to the scripts directory.
2545 Added scripts/makefile.wce
2546 Patched ltmain.sh for wince support.
2547 Added PNG_CONVERT_tIME_SUPPORTED macro.
2549 version 1.2.41beta14 [November 8, 2009]
2550 versions 1.2.41beta05 through 1.2.41beta13 were abandoned.
2551 The 1.0.x/1.2.x series will only receive security updates from now on.
2552 Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
2553 Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
2554 Reverted iTXt compatibility stuff from 1.2.41beta05, 1.2.41beta11, and
2556 Reverted IOSTATE feature, user_cache_max, and premultiply_alpha features
2558 Retained png_calloc() from 1.2.41beta08 but as a non-exported function,
2559 and removed reference to png_calloc from scripts/*.def
2561 version 1.2.41beta15 [November 8, 2009]
2562 Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
2563 PNG_ALLOCATED macros to detect deprecated direct access to the
2564 png_struct or info_struct members and other deprecated usage in
2565 applications (John Bowler).
2566 Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
2567 to prevent warnings about direct access to png structs by libpng
2568 functions while building libpng. They need to be tested, especially
2569 those using compilers other than gcc.
2570 Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
2572 version 1.2.41beta16 [November 9, 2009]
2573 Removed three direct references to read_info_ptr members in pngtest.c
2574 that were detected by the new PNG_DEPSTRUCT macro.
2575 Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
2577 version 1.2.41beta17 [November 10, 2009]
2578 Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
2579 Marked deprecated function prototypes with PNG_DEPRECATED.
2580 Marked memory allocation function prototypes with PNG_ALLOCATED.
2581 Changed png_check_sig() to !png_sig_cmp() in contrib programs.
2582 Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
2583 Added "-DPNG_CONFIGURE_LIBPNG" to the contrib/pngminum makefiles.
2585 version 1.2.41beta18 [November 11, 2009]
2586 Renamed scripts/makefile.wce to scripts/makefile.cegcc
2587 Marked nonexported functions with PNG_PRIVATE macro.
2589 version 1.2.41rc01 and 1.0.51rc01 [November 18, 2009]
2590 Revised scripts/*.def to reflect functions actually exported by libpng.
2591 Updated the copyright year in scripts/pngw32.rc from 2004 to 2009.
2592 Moved descriptions of makefiles and other scripts out of INSTALL into
2595 version 1.2.41rc02 [November 22, 2009]
2596 Rebuilt the configure scripts with autoconf-2.65
2598 version 1.2.41rc03 [November 25, 2009]
2599 Disabled the new pedantic warnings about deprecated function use
2600 and deprecated structure access unless the user defines
2601 PNG_PEDANTIC_WARNINGS.
2602 Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
2603 Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
2605 version 1.2.41 and 1.0.51 [December 3, 2009]
2606 Updated the list of files and made some cosmetic changes in README.
2608 version 1.2.42beta01 [December 4, 2009]
2609 Removed "#define PNG_NO_ERROR_NUMBERS" that was inadvertently added
2610 to pngconf.h in version 1.2.41.
2611 Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
2612 to put png.h and pngconf.h in $prefix/include, like the other scripts,
2613 instead of in $prefix/include/libpng. Also revised makefile.sco
2614 to put them in $prefix/include/libpng12 instead of in
2615 $prefix/include/libpng/libpng12.
2616 Removed leftover "-DPNG_CONFIGURE_LIBPNG" from scripts/makefile.darwin
2618 version 1.2.42beta02 [December 11, 2009]
2619 Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
2620 Relocated png_do_chop() to its original position in pngrtran.c. The
2621 change in version 1.2.41beta08 caused transparency to be handled wrong
2622 in some 16-bit datastreams (Yusaku Sugai).
2624 version 1.2.42rc01 [December 17, 2009]
2627 version 1.2.42rc02 [December 22, 2009]
2628 Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
2629 (revising changes made in 1.2.41beta17 and 1.2.41rc01)
2631 version 1.2.42rc03 [December 25, 2009]
2632 Swapped PNG_UNKNOWN_CHUNKS_SUPPORTED and PNG_HANDLE_AS_UNKNOWN_SUPPORTED
2633 in pngset.c to be consistent with other changes in version 1.2.38.
2635 version 1.2.42rc04 [January 1, 2010]
2636 Marked png_memcpy_check() and png_memset_check() PNG_DEPRECATED.
2637 Updated copyright year.
2639 version 1.2.42rc05 [January 2, 2010]
2640 Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
2643 version 1.2.42 and 1.0.52 [January 3, 2010]
2646 version 1.2.43beta01 [January 27, 2010]
2647 Updated CMakeLists.txt for consistent indentation and to avoid an
2648 unclosed if-statement warning (Philip Lowman).
2649 Removed "#ifdef PNG_1_0_X / #endif" surrounding
2650 PNG_READ_16_TO_8_SUPPORTED and PNG_READ_GRAY_TO_RGB_SUPPORTED
2651 in pngconf.h. These were added in libpng-1.2.41beta08 and libpng-1.0.51,
2652 which introduced a binary incompatibility with libpng-1.0.50.
2653 Backported new png_decompress_chunk() algorithm from libpng-1.4.1.
2655 version 1.2.43beta02 [February 1, 2010]
2656 Backported two-pass png_decompress_chunk() algorithm from libpng-1.4.1.
2658 version 1.2.43beta03 [February 6, 2010]
2659 Backported fast png_push_save_buffer() algorithm from libpng-1.4.1.
2660 Backported some cosmetic changes from libpng-1.4.1.
2662 version 1.2.43beta04 [February 8, 2010]
2663 Reverted recent changes to png_push_save-buffer().
2664 Removed PNGAPI declaration of png_calloc() and png_write_sig() in
2665 1ibpng-1.2.X, introduced by mistake in libpng-1.2.41.
2666 Return allocated "old_buffer" in png_push_save_buffer() before png_error()
2667 to avoid a potential memory leak.
2669 version 1.2.43beta05 [February 8, 2010]
2670 Ported rewritten png_decompress_chunk() by John Bowler from libpng-1.4.1.
2672 version 1.0.53rc01 and 1.2.43rc01 [February 18, 2010]
2675 version 1.0.53rc02 and 1.2.43rc02 [February 19, 2010]
2676 Define _ALL_SOURCE in configure.ac, makefile.aix, and CMakeLists.txt
2677 when using AIX compiler.
2679 version 1.0.53 and 1.2.43 [February 25, 2010]
2680 Removed unused gzio.c from contrib/pngminim gather and makefile scripts
2682 version 1.2.44beta01 [June 18, 2010]
2683 In pngpread.c: png_push_have_row() add check for new_row > height
2684 Removed the now-redundant check for out-of-bounds new_row from example.c
2686 version 1.2.44beta02 [June 19, 2010]
2687 In pngpread.c: png_push_process_row() add check for too many rows.
2688 Removed the now-redundant check for new_row > height in png_push_have_row().
2690 version 1.2.44beta03 [June 20, 2010]
2691 Rewrote png_process_IDAT_data() to consistently treat extra data as warnings
2692 and handle end conditions more cleanly.
2693 Removed the new (beta02) check in png_push_process_row().
2695 version 1.2.44rc01 [June 21, 2010]
2696 Revised some comments in png_process_IDAT_data().
2698 version 1.2.44rc02 [June 22, 2010]
2699 Stop memory leak when reading a malformed sCAL chunk.
2701 version 1.2.44rc03 [June 23, 2010]
2702 Revised pngpread.c patch of beta05 to avoid an endless loop.
2704 version 1.2.44 [June 26, 2010]
2705 Updated some of the "last changed" dates.
2707 version 1.2.45beta01 [June 7, 2011]
2708 Fixed uninitialized memory read in png_format_buffer() (Bug
2709 report by Frank Busse, related to CVE-2004-0421).
2710 Pass "" instead of '\0' to png_default_error() in png_err(). This mistake
2711 was introduced in libpng-1.2.20beta01.
2712 Check for up->location !PNG_AFTER_IDAT when writing unknown chunks
2714 Ported bugfix in pngrtran.c from 1.5.3: when expanding a paletted image,
2715 always expand to RGBA if transparency is present.
2717 version 1.2.45beta02 [June 8, 2011]
2718 Check for integer overflow in png_set_rgb_to_gray().
2720 version 1.2.45beta03 [June 19, 2011]
2721 Check for sCAL chunk too short.
2723 version 1.2.45rc01 and 1.0.55rc01 [June 30, 2011]
2724 Updated "last changed" dates and copyright year.
2726 version 1.2.45 and 1.0.55 [July 7, 2011]
2729 version 1.2.46rc01 and 1.0.56rc01 [July 8, 2011]
2730 Reverted changes to Makefile.am and Makefile.in to libpng-1.2.44 versions.
2732 version 1.2.46rc02 and 1.0.56rc02 [July 8, 2011]
2733 Added CMakeLists.txt, projects/xcode, and pnggccrd.c to EXTRA_DIST in
2734 Makefile.am and Makefile.in
2736 version 1.2.46 and 1.0.56 [July 9, 2011]
2737 Udated copyright year to 2011.
2739 version 1.2.47beta01 [February 17, 2012]
2740 Updated contrib/pngminus/makefile.std (Samuli Souminen)
2742 version 1.0.57rc01 and 1.2.47rc01 [February 17, 2012]
2743 Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when
2744 iCCP chunk support was added at libpng-1.0.6.
2746 version 1.0.57 and 1.2.47 [February 18, 2012]
2749 version 1.2.48beta01 [February 27, 2012]
2750 Removed two useless #ifdef directives from pngread.c and one from pngrutil.c
2751 Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
2752 pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
2753 now that png_ptr->buffer is inaccessible to applications, the special
2754 handling is no longer useful.
2755 Fixed bug with png_handle_hIST with odd chunk length (Frank Busse).
2756 Fixed incorrect type (int copy should be png_size_t copy) in png_inflate().
2757 Fixed off-by-one bug in png_handle_sCAL() when using fixed point arithmetic,
2758 causing out-of-bounds read in png_set_sCAL() because of failure to copy
2759 the string terminators. This bug was introduced in libpng-1.0.6 (Frank
2762 version 1.2.48rc01 [March 2, 2012]
2763 Removed the png_free() of unused png_ptr->current_text from pngread.c.
2764 Added libpng license text to pnggccrd.c and pngvcrd.c (requested by Chrome).
2766 version 1.2.48rc02 [March 2, 2012]
2767 Removed all of the assembler code from pnggccrd.c and just "return 2;".
2769 version 1.0.58 and 1.2.48 [March 8, 2012]
2772 version 1.0.59 and 1.2.49 [March 29, 2012]
2773 Revised png_set_text_2() to avoid potential memory corruption (fixes
2774 CVE-2011-3048, also known as CVE-2012-3425).
2775 Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
2777 version 1.0.60 and 1.2.50 [July 9, 2012]
2778 Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
2780 version 1.2.51beta01 [January 22, 2013]
2781 Ignore, with a warning, out-of-range value of num_trans in png_set_tRNS().
2782 Replaced AM_CONFIG_HEADER(config.h) with AC_CONFIG_HEADERS([config.h])
2784 Changed default value of PNG_USER_CACHE_MAX from 0 to 32767 in pngconf.h.
2786 version 1.2.51beta02 [June 13, 2013]
2787 Avoid a possible memory leak in contrib/gregbook/readpng.c
2788 Revised libpng.3 so that "doclifter" can process it.
2790 version 1.2.51beta03 [January 1, 2014]
2791 Changed '"%s"m' to '"%s" m' in png_debug macros to improve portability
2793 Rebuilt the configure scripts with autoconf-2.69 and automake-1.14.1
2795 version 1.2.51beta04 [January 10, 2014]
2796 Removed potentially misleading warning from png_check_IHDR().
2798 version 1.2.51beta05 [January 22, 2014]
2799 Quiet set-but-not-used warnings in pngset.c
2801 version 1.2.51rc01 [January 28, 2014]
2804 version 1.2.51rc02 [January 30, 2014]
2805 Quiet an uninitialized memory warning from VC2013 in png_get_png().
2807 version 1.2.51rc03 [February 3, 2014]
2808 Quiet unused variable warnings from clang by porting PNG_UNUSED() from
2811 version 1.2.51rc04 [February 3, 2014]
2812 Added -DZ_SOLO to CFLAGS in contrib/pngminim/*/makefile
2814 version 1.0.61 and 1.2.51 [February 6, 2014]
2815 Added an #ifdef PNG_FIXED_POINT_SUPPORTED/#endif in pngset.c
2817 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
2818 (subscription required; visit
2819 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
2821 or to glennrp at users.sourceforge.net