Update libjpeg from 6b to 8b.
[reactos.git] / reactos / dll / 3rdparty / libpng / docs / CHANGES
1 #if 0
2 libpng_changes(){ /*
3 CHANGES - changes for libpng
4
5 version 0.2
6 added reader into png.h
7 fixed small problems in stub file
8
9 version 0.3
10 added pull reader
11 split up pngwrite.c to several files
12 added pnglib.txt
13 added example.c
14 cleaned up writer, adding a few new transformations
15 fixed some bugs in writer
16 interfaced with zlib 0.5
17 added K&R support
18 added check for 64 KB blocks for 16 bit machines
19
20 version 0.4
21 cleaned up code and commented code
22 simplified time handling into png_time
23 created png_color_16 and png_color_8 to handle color needs
24 cleaned up color type defines
25 fixed various bugs
26 made various names more consistent
27 interfaced with zlib 0.71
28 cleaned up zTXt reader and writer (using zlib's Reset functions)
29 split transformations into pngrtran.c and pngwtran.c
30
31 version 0.5
32 interfaced with zlib 0.8
33 fixed many reading and writing bugs
34 saved using 3 spaces instead of tabs
35
36 version 0.6
37 added png_large_malloc() and png_large_free()
38 added png_size_t
39 cleaned up some compiler warnings
40 added png_start_read_image()
41
42 version 0.7
43 cleaned up lots of bugs
44 finished dithering and other stuff
45 added test program
46 changed name from pnglib to libpng
47
48 version 0.71 [June, 1995]
49 changed pngtest.png for zlib 0.93
50 fixed error in libpng.txt and example.c
51
52 version 0.8
53 cleaned up some bugs
54 added png_set_filler()
55 split up pngstub.c into pngmem.c, pngio.c, and pngerror.c
56 added #define's to remove unwanted code
57 moved png_info_init() to png.c
58 added old_size into png_realloc()
59 added functions to manually set filtering and compression info
60 changed compression parameters based on image type
61 optimized filter selection code
62 added version info
63 changed external functions passing floats to doubles (k&r problems?)
64 put all the configurable stuff in pngconf.h
65 enabled png_set_shift to work with paletted images on read
66 added png_read_update_info() - updates info structure with
67 transformations
68
69 version 0.81 [August, 1995]
70 incorporated Tim Wegner's medium model code (thanks, Tim)
71
72 version 0.82 [September, 1995]
73 [unspecified changes]
74
75 version 0.85 [December, 1995]
76 added more medium model code (almost everything's a far)
77 added i/o, error, and memory callback functions
78 fixed some bugs (16 bit, 4 bit interlaced, etc.)
79 added first run progressive reader (barely tested)
80
81 version 0.86 [January, 1996]
82 fixed bugs
83 improved documentation
84
85 version 0.87 [January, 1996]
86 fixed medium model bugs
87 fixed other bugs introduced in 0.85 and 0.86
88 added some minor documentation
89
90 version 0.88 [January, 1996]
91 fixed progressive bugs
92 replaced tabs with spaces
93 cleaned up documentation
94 added callbacks for read/write and warning/error functions
95
96 version 0.89 [July, 1996]
97 added new initialization API to make libpng work better with shared libs
98 we now have png_create_read_struct(), png_create_write_struct(),
99 png_create_info_struct(), png_destroy_read_struct(), and
100 png_destroy_write_struct() instead of the separate calls to
101 malloc and png_read_init(), png_info_init(), and png_write_init()
102 changed warning/error callback functions to fix bug - this means you
103 should use the new initialization API if you were using the old
104 png_set_message_fn() calls, and that the old API no longer exists
105 so that people are aware that they need to change their code
106 changed filter selection API to allow selection of multiple filters
107 since it didn't work in previous versions of libpng anyways
108 optimized filter selection code
109 fixed png_set_background() to allow using an arbitrary RGB color for
110 paletted images
111 fixed gamma and background correction for paletted images, so
112 png_correct_palette is not needed unless you are correcting an
113 external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED
114 in pngconf.h) - if nobody uses this, it may disappear in the future.
115 fixed bug with Borland 64K memory allocation (Alexander Lehmann)
116 fixed bug in interlace handling (Smarasderagd, I think)
117 added more error checking for writing and image to reduce invalid files
118 separated read and write functions so that they won't both be linked
119 into a binary when only reading or writing functionality is used
120 new pngtest image also has interlacing and zTXt
121 updated documentation to reflect new API
122
123 version 0.90 [January, 1997]
124 made CRC errors/warnings on critical and ancillary chunks configurable
125 libpng will use the zlib CRC routines by (compile-time) default
126 changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner)
127 added external C++ wrapper statements to png.h (Gilles Dauphin)
128 allow PNG file to be read when some or all of file signature has already
129 been read from the beginning of the stream. ****This affects the size
130 of info_struct and invalidates all programs that use a shared libpng****
131 fixed png_filler() declarations
132 fixed? background color conversions
133 fixed order of error function pointers to match documentation
134 current chunk name is now available in png_struct to reduce the number
135 of nearly identical error messages (will simplify multi-lingual
136 support when available)
137 try to get ready for unknown-chunk callback functions:
138 - previously read critical chunks are flagged, so the chunk handling
139 routines can determine if the chunk is in the right place
140 - all chunk handling routines have the same prototypes, so we will
141 be able to handle all chunks via a callback mechanism
142 try to fix Linux "setjmp" buffer size problems
143 removed png_large_malloc, png_large_free, and png_realloc functions.
144
145 version 0.95 [March, 1997]
146 fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never
147 fixed bug in PNG file signature compares when start != 0
148 changed parameter type of png_set_filler(...filler...) from png_byte
149 to png_uint_32
150 added test for MACOS to ensure that both math.h and fp.h are not #included
151 added macros for libpng to be compiled as a Windows DLL (Andreas Kupries)
152 added "packswap" transformation, which changes the endianness of
153 packed-pixel bytes (Kevin Bracey)
154 added "strip_alpha" transformation, which removes the alpha channel of
155 input images without using it (not necessarily a good idea)
156 added "swap_alpha" transformation, which puts the alpha channel in front
157 of the color bytes instead of after
158 removed all implicit variable tests which assume NULL == 0 (I think)
159 changed several variables to "png_size_t" to show 16/32-bit limitations
160 added new pCAL chunk read/write support
161 added experimental filter selection weighting (Greg Roelofs)
162 removed old png_set_rgbx() and png_set_xrgb() functions that have been
163 obsolete for about 2 years now (use png_set_filler() instead)
164 added macros to read 16- and 32-bit ints directly from buffer, to be
165 used only on those systems that support it (namely PowerPC and 680x0)
166 With some testing, this may become the default for MACOS/PPC systems.
167 only calculate CRC on data if we are going to use it
168 added macros for zTXt compression type PNG_zTXt_COMPRESSION_???
169 added macros for simple libpng debugging output selectable at compile time
170 removed PNG_READ_END_MODE in progressive reader (Smarasderagd)
171 more description of info_struct in libpng.txt and png.h
172 more instructions in example.c
173 more chunk types tested in pngtest.c
174 renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be
175 png_set_<chunk>. We now have corresponding png_get_<chunk>
176 functions in pngget.c to get information in info_ptr. This isolates
177 the application from the internal organization of png_info_struct
178 (good for shared library implementations).
179
180 version 0.96 [May, 1997]
181 fixed serious bug with < 8bpp images introduced in 0.95
182 fixed 256-color transparency bug (Greg Roelofs)
183 fixed up documentation (Greg Roelofs, Laszlo Nyul)
184 fixed "error" in pngconf.h for Linux setjmp() behaviour
185 fixed DOS medium model support (Tim Wegner)
186 fixed png_check_keyword() for case with error in static string text
187 added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul)
188 added typecasts to quiet compiler errors
189 added more debugging info
190
191 version 0.97 [January, 1998]
192 removed PNG_USE_OWN_CRC capability
193 relocated png_set_crc_action from pngrutil.c to pngrtran.c
194 fixed typecasts of "new_key", etc. (Andreas Dilger)
195 added RFC 1152 [sic] date support
196 fixed bug in gamma handling of 4-bit grayscale
197 added 2-bit grayscale gamma handling (Glenn R-P)
198 added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P)
199 minor corrections in libpng.txt
200 added simple sRGB support (Glenn R-P)
201 easier conditional compiling, e.g. define PNG_READ/WRITE_NOT_FULLY_SUPPORTED;
202 all configurable options can be selected from command-line instead
203 of having to edit pngconf.h (Glenn R-P)
204 fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
205 added more conditions for png_do_background, to avoid changing
206 black pixels to background when a background is supplied and
207 no pixels are transparent
208 repaired PNG_NO_STDIO behaviour
209 tested NODIV support and made it default behaviour (Greg Roelofs)
210 added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
211 regularized version numbering scheme and bumped shared-library major
212 version number to 2 to avoid problems with libpng 0.89 apps (Greg Roelofs)
213
214 version 0.98 [January, 1998]
215 cleaned up some typos in libpng.txt and in code documentation
216 fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
217 cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c
218 changed recommendation about file_gamma for PC images to .51 from .45,
219 in example.c and libpng.txt, added comments to distinguish between
220 screen_gamma, viewing_gamma, and display_gamma.
221 changed all references to RFC1152 to read RFC1123 and changed the
222 PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED
223 added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
224 changed srgb_intent from png_byte to int to avoid compiler bugs
225
226 version 0.99 [January 30, 1998]
227 free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
228 fixed a longstanding "packswap" bug in pngtrans.c
229 fixed some inconsistencies in pngconf.h that prevented compiling with
230 PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined
231 fixed some typos and made other minor rearrangement of libpng.txt (Andreas)
232 changed recommendation about file_gamma for PC images to .50 from .51 in
233 example.c and libpng.txt, and changed file_gamma for sRGB images to .45
234 added a number of functions to access information from the png structure
235 png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit)
236 added TARGET_MACOS similar to zlib-1.0.8
237 define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined
238 added type casting to all png_malloc() function calls
239 version 0.99a [January 31, 1998]
240 Added type casts and parentheses to all returns that return a value.(Tim W.)
241 version 0.99b [February 4, 1998]
242 Added type cast png_uint_32 on malloc function calls where needed.
243 Changed type of num_hist from png_uint_32 to int (same as num_palette).
244 Added checks for rowbytes overflow, in case png_size_t is less than 32 bits.
245 Renamed makefile.elf to makefile.lnx.
246 version 0.99c [February 7, 1998]
247 More type casting. Removed erroneous overflow test in pngmem.c.
248 Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes.
249 Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5.
250 version 0.99d [February 11, 1998]
251 Renamed "far_to_near()" "png_far_to_near()"
252 Revised libpng.3
253 Version 99c "buffered" operations didn't work as intended. Replaced them
254 with png_memcpy_check() and png_memset_check().
255 Added many "if (png_ptr == NULL) return" to quell compiler warnings about
256 unused png_ptr, mostly in pngget.c and pngset.c.
257 Check for overlength tRNS chunk present when indexed-color PLTE is read.
258 Cleaned up spelling errors in libpng.3/libpng.txt
259 Corrected a problem with png_get_tRNS() which returned undefined trans array
260 version 0.99e [February 28, 1998]
261 Corrected png_get_tRNS() again.
262 Add parentheses for easier reading of pngget.c, fixed "||" should be "&&".
263 Touched up example.c to make more of it compileable, although the entire
264 file still can't be compiled (Willem van Schaik)
265 Fixed a bug in png_do_shift() (Bryan Tsai)
266 Added a space in png.h prototype for png_write_chunk_start()
267 Replaced pngtest.png with one created with zlib 1.1.1
268 Changed pngtest to report PASS even when file size is different (Jean-loup G.)
269 Corrected some logic errors in png_do_invert_alpha() (Chris Patterson)
270 version 0.99f [March 5, 1998]
271 Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey)
272 Moved makefiles into a "scripts" directory, and added INSTALL instruction file
273 Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok)
274 Added pointers to "note on libpng versions" in makefile.lnx and README
275 Added row callback feature when reading and writing nonprogressive rows
276 and added a test of this feature in pngtest.c
277 Added user transform callbacks, with test of the feature in pngtest.c
278 version 0.99g [March 6, 1998, morning]
279 Minor changes to pngtest.c to suppress compiler warnings.
280 Removed "beta" language from documentation.
281 version 0.99h [March 6, 1998, evening]
282 Minor changes to previous minor changes to pngtest.c
283 Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED
284 and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro
285 Added user transform capability
286
287 version 1.00 [March 7, 1998]
288 Changed several typedefs in pngrutil.c
289 Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik)
290 replaced "while(1)" with "for(;;)"
291 added PNGARG() to prototypes in pngtest.c and removed some prototypes
292 updated some of the makefiles (Tom Lane)
293 changed some typedefs (s_start, etc.) in pngrutil.c
294 fixed dimensions of "short_months" array in pngwrite.c
295 Replaced ansi2knr.c with the one from jpeg-v6
296
297 version 1.0.0 [March 8, 1998]
298 Changed name from 1.00 to 1.0.0 (Adam Costello)
299 Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
300 version 1.0.0a [March 9, 1998]
301 Fixed three bugs in pngrtran.c to make gamma+background handling consistent
302 (Greg Roelofs)
303 Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz
304 for major, minor, and bugfix releases. This is 10001. (Adam Costello,
305 Tom Lane)
306 Make months range from 1-12 in png_convert_to_rfc1123
307 version 1.0.0b [March 13, 1998]
308 Quieted compiler complaints about two empty "for" loops in pngrutil.c
309 Minor changes to makefile.s2x
310 Removed #ifdef/#endif around a png_free() in pngread.c
311
312 version 1.0.1 [March 14, 1998]
313 Changed makefile.s2x to reduce security risk of using a relative pathname
314 Fixed some typos in the documentation (Greg).
315 Fixed a problem with value of "channels" returned by png_read_update_info()
316 version 1.0.1a [April 21, 1998]
317 Optimized Paeth calculations by replacing abs() function calls with intrinsics
318 plus other loop optimizations. Improves avg decoding speed by about 20%.
319 Commented out i386istic "align" compiler flags in makefile.lnx.
320 Reduced the default warning level in some makefiles, to make them consistent.
321 Removed references to IJG and JPEG in the ansi2knr.c copyright statement.
322 Fixed a bug in png_do_strip_filler with XXRRGGBB => RRGGBB transformation.
323 Added grayscale and 16-bit capability to png_do_read_filler().
324 Fixed a bug in pngset.c, introduced in version 0.99c, that sets rowbytes
325 too large when writing an image with bit_depth < 8 (Bob Dellaca).
326 Corrected some bugs in the experimental weighted filtering heuristics.
327 Moved a misplaced pngrutil code block that truncates tRNS if it has more
328 than num_palette entries -- test was done before num_palette was defined.
329 Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins).
330 Changed compiler flags in makefile.wat for better optimization (Pawel Mrochen).
331 version 1.0.1b [May 2, 1998]
332 Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg).
333 Relocated the png_composite macros from pngrtran.c to png.h (Greg).
334 Added makefile.sco (contributed by Mike Hopkirk).
335 Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
336 Fixed a bug in pngrtran.c that would set channels=5 under some circumstances.
337 More work on the Paeth-filtering, achieving imperceptible speedup (A Kleinert).
338 More work on loop optimization which may help when compiled with C++ compilers.
339 Added warnings when people try to use transforms they've defined out.
340 Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran.
341 Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg)
342 version 1.0.1c [May 11, 1998]
343 Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
344 filler bytes should have been 0xff instead of 0xf.
345 Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images.
346 Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED
347 out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h
348 Added "PNG_NO_WRITE_TRANSFORMS" etc., as alternatives for *_NOT_SUPPORTED,
349 for consistency, in pngconf.h
350 Added individual "ifndef PNG_NO_[CAPABILITY]" in pngconf.h to make it easier
351 to remove unwanted capabilities via the compile line
352 Made some corrections to grammar (which, it's) in documentation (Greg).
353 Corrected example.c, use of row_pointers in png_write_image().
354 version 1.0.1d [May 24, 1998]
355 Corrected several statements that used side effects illegally in pngrutil.c
356 and pngtrans.c, that were introduced in version 1.0.1b
357 Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
358 More corrections to example.c, use of row_pointers in png_write_image()
359 and png_read_rows().
360 Added pngdll.mak and pngdef.pas to scripts directory, contributed by
361 Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
362 Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
363 Changed several loops from count-down to count-up, for consistency.
364 version 1.0.1e [June 6, 1998]
365 Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
366 added warnings when people try to set png_read_fn and png_write_fn in
367 the same structure.
368 Added a test such that png_do_gamma will be done when num_trans==0
369 for truecolor images that have defined a background. This corrects an
370 error that was introduced in libpng-0.90 that can cause gamma processing
371 to be skipped.
372 Added tests in png.h to include "trans" and "trans_values" in structures
373 when PNG_READ_BACKGROUND_SUPPORTED or PNG_READ_EXPAND_SUPPORTED is defined.
374 Add png_free(png_ptr->time_buffer) in png_destroy_read_struct()
375 Moved png_convert_to_rfc_1123() from pngwrite.c to png.c
376 Added capability for user-provided malloc_fn() and free_fn() functions,
377 and revised pngtest.c to demonstrate their use, replacing the
378 PNGTEST_DEBUG_MEM feature.
379 Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
380
381 version 1.0.2 [June 14, 1998]
382 Fixed two bugs in makefile.bor .
383 version 1.0.2a [December 30, 1998]
384 Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
385 Fixed a bug in png_do_filler() that made it fail to write filler bytes in
386 the left-most pixel of each row (Kevin Bracey).
387 Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
388 in pngtest.c (Duncan Simpson).
389 Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
390 even when no tIME chunk was present in the source file.
391 Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
392 Fixed a problem in png_read_push_finish_row(), which would not skip some
393 passes that it should skip, for images that are less than 3 pixels high.
394 Interchanged the order of calls to png_do_swap() and png_do_shift()
395 in pngwtran.c (John Cromer).
396 Added #ifdef PNG_DEBUG/#endif surrounding use of PNG_DEBUG in png.h .
397 Changed "bad adaptive filter type" from error to warning in pngrutil.c .
398 Fixed a documentation error about default filtering with 8-bit indexed-color.
399 Separated the PNG_NO_STDIO macro into PNG_NO_STDIO and PNG_NO_CONSOLE_IO
400 (L. Peter Deutsch).
401 Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions.
402 Added png_get_copyright() and png_get_header_version() functions.
403 Revised comments on png_set_progressive_read_fn() in libpng.txt and example.c
404 Added information about debugging in libpng.txt and libpng.3 .
405 Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco.
406 Removed lines after Dynamic Dependencies" in makefile.aco .
407 Revised makefile.dec to make a shared library (Jeremie Petit).
408 Removed trailing blanks from all files.
409 version 1.0.2a [January 6, 1999]
410 Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
411 Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
412 Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
413 Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
414 which is obsolete.
415
416 version 1.0.3 [January 14, 1999]
417 Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice)
418 Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO.
419 version 1.0.3a [August 12, 1999]
420 Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning
421 if an attempt is made to read an interlaced image when it's not supported.
422 Added check if png_ptr->trans is defined before freeing it in pngread.c
423 Modified the Y2K statement to include versions back to version 0.71
424 Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c
425 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments)
426 Replaced leading blanks with tab characters in makefile.hux
427 Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents.
428 Changed (float)red and (float)green to (double)red, (double)green
429 in png_set_rgb_to_gray() to avoid "promotion" problems in AIX.
430 Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey).
431 Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt).
432 Updated documentation to refer to the PNG-1.2 specification.
433 Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c
434 in makefile.knr, INSTALL, and README (L. Peter Deutsch)
435 Fixed bugs in calculation of the length of rowbytes when adding alpha
436 channels to 16-bit images, in pngrtran.c (Chris Nokleberg)
437 Added function png_set_user_transform_info() to store user_transform_ptr,
438 user_depth, and user_channels into the png_struct, and a function
439 png_get_user_transform_ptr() to retrieve the pointer (Chris Nokleberg)
440 Added function png_set_empty_plte_permitted() to make libpng useable
441 in MNG applications.
442 Corrected the typedef for png_free_ptr in png.h (Jesse Jones).
443 Correct gamma with srgb is 45455 instead of 45000 in pngrutil.c, to be
444 consistent with PNG-1.2, and allow variance of 500 before complaining.
445 Added assembler code contributed by Intel in file pngvcrd.c and modified
446 makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation, Gilles Vollant)
447 Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy.
448 Added some aliases for png_set_expand() in pngrtran.c, namely
449 png_set_expand_PLTE(), png_set_expand_depth(), and png_set_expand_tRNS()
450 (Greg Roelofs, in "PNG: The Definitive Guide").
451 Added makefile.beo for BEOS on X86, contributed by Sander Stok.
452 version 1.0.3b [August 26, 1999]
453 Replaced 2147483647L several places with PNG_MAX_UINT macro, defined in png.h
454 Changed leading blanks to tabs in all makefiles.
455 Define PNG_USE_PNGVCRD in makefile.w32, to get MMX assembler code.
456 Made alternate versions of png_set_expand() in pngrtran.c, namely
457 png_set_gray_1_2_4_to_8, png_set_palette_to_rgb, and png_set_tRNS_to_alpha
458 (Greg Roelofs, in "PNG: The Definitive Guide"). Deleted the 1.0.3a aliases.
459 Relocated start of 'extern "C"' block in png.h so it doesn't include pngconf.h
460 Revised calculation of num_blocks in pngmem.c to avoid a potentially
461 negative shift distance, whose results are undefined in the C language.
462 Added a check in pngset.c to prevent writing multiple tIME chunks.
463 Added a check in pngwrite.c to detect invalid small window_bits sizes.
464 version 1.0.3d [September 4, 1999]
465 Fixed type casting of igamma in pngrutil.c
466 Added new png_expand functions to scripts/pngdef.pas and pngos2.def
467 Added a demo read_user_transform_fn that examines the row filters in pngtest.c
468
469 version 1.0.4 [September 24, 1999]
470 Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
471 Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
472 Made several minor corrections to pngtest.c
473 Renamed the makefiles with longer but more user friendly extensions.
474 Copied the PNG copyright and license to a separate LICENSE file.
475 Revised documentation, png.h, and example.c to remove reference to
476 "viewing_gamma" which no longer appears in the PNG specification.
477 Revised pngvcrd.c to use MMX code for interlacing only on the final pass.
478 Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a
479 Split makefile.win32vc into two versions, makefile.vcawin32 (uses MMX
480 assembler code) and makefile.vcwin32 (doesn't).
481 Added a CPU timing report to pngtest.c (enabled by defining PNGTEST_TIMING)
482 Added a copy of pngnow.png to the distribution.
483 version 1.0.4a [September 25, 1999]
484 Increase max_pixel_depth in pngrutil.c if a user transform needs it.
485 Changed several division operations to right-shifts in pngvcrd.c
486 version 1.0.4b [September 30, 1999]
487 Added parentheses in line 3732 of pngvcrd.c
488 Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1
489 version 1.0.4c [October 1, 1999]
490 Added a "png_check_version" function in png.c and pngtest.c that will generate
491 a helpful compiler error if an old png.h is found in the search path.
492 Changed type of png_user_transform_depth|channels from int to png_byte.
493 version 1.0.4d [October 6, 1999]
494 Changed 0.45 to 0.45455 in png_set_sRGB()
495 Removed unused PLTE entries from pngnow.png
496 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly.
497 version 1.0.4e [October 10, 1999]
498 Fixed sign error in pngvcrd.c (Greg Roelofs)
499 Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P)
500 version 1.0.4f [October 15, 1999]
501 Surrounded example.c code with #if 0 .. #endif to prevent people from
502 inadvertently trying to compile it.
503 Changed png_get_header_version() from a function to a macro in png.h
504 Added type casting mostly in pngrtran.c and pngwtran.c
505 Removed some pointless "ptr = NULL" in pngmem.c
506 Added a "contrib" directory containing the source code from Greg's book.
507
508 version 1.0.5 [October 15, 1999]
509 Minor editing of the INSTALL and README files.
510 version 1.0.5a [October 23, 1999]
511 Added contrib/pngsuite and contrib/pngminus (Willem van Schaik)
512 Fixed a typo in the png_set_sRGB() function call in example.c (Jan Nijtmans)
513 Further optimization and bugfix of pngvcrd.c
514 Revised pngset.c so that it does not allocate or free memory in the user's
515 text_ptr structure. Instead, it makes its own copy.
516 Created separate write_end_info_struct in pngtest.c for a more severe test.
517 Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak.
518 version 1.0.5b [November 23, 1999]
519 Moved PNG_FLAG_HAVE_CHUNK_HEADER, PNG_FLAG_BACKGROUND_IS_GRAY and
520 PNG_FLAG_WROTE_tIME from flags to mode.
521 Added png_write_info_before_PLTE() function.
522 Fixed some typecasting in contrib/gregbook/*.c
523 Updated scripts/makevms.com and added makevms.com to contrib/gregbook
524 and contrib/pngminus (Martin Zinser)
525 version 1.0.5c [November 26, 1999]
526 Moved png_get_header_version from png.h to png.c, to accommodate ansi2knr.
527 Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to
528 accommodate making DLL's: Moved usr_png_ver from global variable to function
529 png_get_header_ver() in png.c. Moved png_sig to png_sig_bytes in png.c and
530 eliminated use of png_sig in pngwutil.c. Moved the various png_CHNK arrays
531 into pngtypes.h. Eliminated use of global png_pass arrays. Declared the
532 png_CHNK and png_pass arrays to be "const". Made the global arrays
533 available to applications (although none are used in libpng itself) when
534 PNG_NO_GLOBAL_ARRAYS is not defined or when PNG_GLOBAL_ARRAYS is defined.
535 Removed some extraneous "-I" from contrib/pngminus/makefile.std
536 Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2.
537 Change PNG_SRGB_INTENT to PNG_sRGB_INTENT in libpng.txt and libpng.3
538 version 1.0.5d [November 29, 1999]
539 Add type cast (png_const_charp) two places in png.c
540 Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
541 Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
542 to applications a macro "PNG_USE_LOCAL_ARRAYS".
543 comment out (with #ifdef) all the new declarations when
544 PNG_USE_GLOBAL_ARRAYS is defined.
545 Added PNG_EXPORT_VAR macro to accommodate making DLL's.
546 version 1.0.5e [November 30, 1999]
547 Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
548 structure; refactored the inflate/deflate support to make adding new chunks
549 with trailing compressed parts easier in the future, and added new functions
550 png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
551 png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
552 NOTE: Applications that write text chunks MUST define png_text->lang
553 before calling png_set_text(). It must be set to NULL if you want to
554 write tEXt or zTXt chunks. If you want your application to be able to
555 run with older versions of libpng, use
556
557 #ifdef PNG_iTXt_SUPPORTED
558 png_text[i].lang = NULL;
559 #endif
560
561 Changed png_get_oFFs() and png_set_oFFs() to use signed rather than unsigned
562 offsets (Eric S. Raymond).
563 Combined PNG_READ_cHNK_SUPPORTED and PNG_WRITE_cHNK_SUPPORTED macros into
564 PNG_cHNK_SUPPORTED and combined the three types of PNG_text_SUPPORTED
565 macros, leaving the separate macros also available.
566 Removed comments on #endifs at the end of many short, non-nested #if-blocks.
567 version 1.0.5f [December 6, 1999]
568 Changed makefile.solaris to issue a warning about potential problems when
569 the ucb "ld" is in the path ahead of the ccs "ld".
570 Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3.
571 Added sCAL chunk support (Eric S. Raymond).
572 version 1.0.5g [December 7, 1999]
573 Fixed "png_free_spallettes" typo in png.h
574 Added code to handle new chunks in pngpread.c
575 Moved PNG_CHNK string macro definitions outside of PNG_NO_EXTERN block
576 Added "translated_key" to png_text structure and png_write_iTXt().
577 Added code in pngwrite.c to work around a newly discovered zlib bug.
578 version 1.0.5h [December 10, 1999]
579 NOTE: regarding the note for version 1.0.5e, the following must also
580 be included in your code:
581 png_text[i].translated_key = NULL;
582 Unknown chunk handling is now supported.
583 Option to eliminate all floating point support was added. Some new
584 fixed-point functions such as png_set_gAMA_fixed() were added.
585 Expanded tabs and removed trailing blanks in source files.
586 version 1.0.5i [December 13, 1999]
587 Added some type casts to silence compiler warnings.
588 Renamed "png_free_spalette" to "png_free_spalettes" for consistency.
589 Removed leading blanks from a #define in pngvcrd.c
590 Added some parameters to the new png_set_keep_unknown_chunks() function.
591 Added a test for up->location != 0 in the first instance of writing
592 unknown chunks in pngwrite.c
593 Changed "num" to "i" in png_free_spalettes() and png_free_unknowns() to
594 prevent recursion.
595 Added png_free_hIST() function.
596 Various patches to fix bugs in the sCAL and integer cHRM processing,
597 and to add some convenience macros for use with sCAL.
598 version 1.0.5j [December 21, 1999]
599 Changed "unit" parameter of png_write_sCAL from png_byte to int, to work
600 around buggy compilers.
601 Added new type "png_fixed_point" for integers that hold float*100000 values
602 Restored backward compatibility of tEXt/zTXt chunk processing:
603 Restored the first four members of png_text to the same order as v.1.0.5d.
604 Added members "lang_key" and "itxt_length" to png_text struct. Set
605 text_length=0 when "text" contains iTXt data. Use the "compression"
606 member to distinguish among tEXt/zTXt/iTXt types. Added
607 PNG_ITXT_COMPRESSION_NONE (1) and PNG_ITXT_COMPRESSION_zTXt(2) macros.
608 The "Note" above, about backward incompatibility of libpng-1.0.5e, no
609 longer applies.
610 Fixed png_read|write_iTXt() to read|write parameters in the right order,
611 and to write the iTXt chunk after IDAT if it appears in the end_ptr.
612 Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs)
613 Reversed the order of trying to write floating-point and fixed-point gAMA.
614 version 1.0.5k [December 27, 1999]
615 Added many parentheses, e.g., "if (a && b & c)" becomes "if (a && (b & c))"
616 Added png_handle_as_unknown() function (Glenn)
617 Added png_free_chunk_list() function and chunk_list and num_chunk_list members
618 of png_ptr.
619 Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE.
620 Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings
621 about ignoring incorrect gAMA with sRGB (gAMA was in fact not ignored)
622 Added png_free_tRNS(); png_set_tRNS() now malloc's its own trans array (ESR).
623 Define png_get_int_32 when oFFs chunk is supported as well as when pCAL is.
624 Changed type of proflen from png_int_32 to png_uint_32 in png_get_iCCP().
625 version 1.0.5l [January 1, 2000]
626 Added functions png_set_read_user_chunk_fn() and png_get_user_chunk_ptr()
627 for setting a callback function to handle unknown chunks and for
628 retrieving the associated user pointer (Glenn).
629 version 1.0.5m [January 7, 2000]
630 Added high-level functions png_read_png(), png_write_png(), png_free_pixels().
631 version 1.0.5n [January 9, 2000]
632 Added png_free_PLTE() function, and modified png_set_PLTE() to malloc its
633 own memory for info_ptr->palette. This makes it safe for the calling
634 application to free its copy of the palette any time after it calls
635 png_set_PLTE().
636 version 1.0.5o [January 20, 2000]
637 Cosmetic changes only (removed some trailing blanks and TABs)
638 version 1.0.5p [January 31, 2000]
639 Renamed pngdll.mak to makefile.bd32
640 Cosmetic changes in pngtest.c
641 version 1.0.5q [February 5, 2000]
642 Relocated the makefile.solaris warning about PATH problems.
643 Fixed pngvcrd.c bug by pushing/popping registers in mmxsupport (Bruce Oberg)
644 Revised makefile.gcmmx
645 Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros
646 version 1.0.5r [February 7, 2000]
647 Removed superfluous prototype for png_get_itxt from png.h
648 Fixed a bug in pngrtran.c that improperly expanded the background color.
649 Return *num_text=0 from png_get_text() when appropriate, and fix documentation
650 of png_get_text() in libpng.txt/libpng.3.
651 version 1.0.5s [February 18, 2000]
652 Added "png_jmp_env()" macro to pngconf.h, to help people migrate to the
653 new error handler that's planned for the next libpng release, and changed
654 example.c, pngtest.c, and contrib programs to use this macro.
655 Revised some of the DLL-export macros in pngconf.h (Greg Roelofs)
656 Fixed a bug in png_read_png() that caused it to fail to expand some images
657 that it should have expanded.
658 Fixed some mistakes in the unused and undocumented INCH_CONVERSIONS functions
659 in pngget.c
660 Changed the allocation of palette, history, and trans arrays back to
661 the version 1.0.5 method (linking instead of copying) which restores
662 backward compatibility with version 1.0.5. Added some remarks about
663 that in example.c. Added "free_me" member to info_ptr and png_ptr
664 and added png_free_data() function.
665 Updated makefile.linux and makefile.gccmmx to make directories conditionally.
666 Made cosmetic changes to pngasmrd.h
667 Added png_set_rows() and png_get_rows(), for use with png_read|write_png().
668 Modified png_read_png() to allocate info_ptr->row_pointers only if it
669 hasn't already been allocated.
670 version 1.0.5t [March 4, 2000]
671 Changed png_jmp_env() migration aiding macro to png_jmpbuf().
672 Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c
673 Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when
674 PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b
675 Files in contrib/gregbook were revised to use png_jmpbuf() and to select
676 a 24-bit visual if one is available, and to allow abbreviated options.
677 Files in contrib/pngminus were revised to use the png_jmpbuf() macro.
678 Removed spaces in makefile.linux and makefile.gcmmx, introduced in 1.0.5s
679 version 1.0.5u [March 5, 2000]
680 Simplified the code that detects old png.h in png.c and pngtest.c
681 Renamed png_spalette (_p, _pp) to png_sPLT_t (_tp, _tpp)
682 Increased precision of rgb_to_gray calculations from 8 to 15 bits and
683 added png_set_rgb_to_gray_fixed() function.
684 Added makefile.bc32 (32-bit Borland C++, C mode)
685 version 1.0.5v [March 11, 2000]
686 Added some parentheses to the png_jmpbuf macro definition.
687 Updated references to the zlib home page, which has moved to freesoftware.com.
688 Corrected bugs in documentation regarding png_read_row() and png_write_row().
689 Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt.
690 Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3,
691 revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin)
692
693 version 1.0.6 [March 20, 2000]
694 Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
695 Added makefile.sggcc (SGI IRIX with gcc)
696 version 1.0.6d [April 7, 2000]
697 Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO
698 Added data_length parameter to png_decompress_chunk() function
699 Revised documentation to remove reference to abandoned png_free_chnk functions
700 Fixed an error in png_rgb_to_gray_fixed()
701 Revised example.c, usage of png_destroy_write_struct().
702 Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file
703 Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c
704 Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
705 version 1.0.6e [April 9, 2000]
706 Added png_data_freer() function.
707 In the code that checks for over-length tRNS chunks, added check of
708 info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
709 Minor revisions of libpng.txt/libpng.3.
710 Check for existing data and free it if the free_me flag is set, in png_set_*()
711 and png_handle_*().
712 Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED
713 is defined.
714 Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c
715 and mentioned the purposes of the two macros in libpng.txt/libpng.3.
716 version 1.0.6f [April 14, 2000]
717 Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data.
718 Add checks in png_set_text() for NULL members of the input text structure.
719 Revised libpng.txt/libpng.3.
720 Removed superfluous prototype for png_set_itxt from png.h
721 Removed "else" from pngread.c, after png_error(), and changed "0" to "length".
722 Changed several png_errors about malformed ancillary chunks to png_warnings.
723 version 1.0.6g [April 24, 2000]
724 Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
725 Relocated paragraph about png_set_background() in libpng.3/libpng.txt
726 and other revisions (Matthias Benckmann)
727 Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
728 png_ptr members to restore binary compatibility with libpng-1.0.5
729 (breaks compatibility with libpng-1.0.6).
730 version 1.0.6h [April 24, 2000]
731 Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds
732 libpng.so.10 & libpng.so.10.6h instead of libpng.so.2 & libpng.so.2.1.0.6h)
733 This is a temporary change for test purposes.
734 version 1.0.6i [May 2, 2000]
735 Rearranged some members at the end of png_info and png_struct, to put
736 unknown_chunks_num and free_me within the original size of the png_structs
737 and free_me, png_read_user_fn, and png_free_fn within the original png_info,
738 because some old applications allocate the structs directly instead of
739 using png_create_*().
740 Added documentation of user memory functions in libpng.txt/libpng.3
741 Modified png_read_png so that it will use user_allocated row_pointers
742 if present, unless free_me directs that it be freed, and added description
743 of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3.
744 Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version
745 1.00) members of png_struct and png_info, to regain binary compatibility
746 when you define this macro. Capabilities lost in this event
747 are user transforms (new in version 1.0.0),the user transform pointer
748 (new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT,
749 the high-level interface, and unknown chunks support (all new in 1.0.6).
750 This was necessary because of old applications that allocate the structs
751 directly as authors were instructed to do in libpng-0.88 and earlier,
752 instead of using png_create_*().
753 Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
754 can be used to detect codes that directly allocate the structs, and
755 code to check these modes in png_read_init() and png_write_init() and
756 generate a libpng error if the modes aren't set and PNG_LEGACY_SUPPORTED
757 was not defined.
758 Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
759 version 1.0.6j [May 3, 2000]
760 Overloaded png_read_init() and png_write_init() with macros that convert
761 calls to png_read_init_2() or png_write_init_2() that check the version
762 and structure sizes.
763 version 1.0.7beta11 [May 7, 2000]
764 Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes
765 which are no longer used.
766 Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is
767 defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED
768 is defined.
769 Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory
770 overrun when old applications fill the info_ptr->text structure directly.
771 Added PNGAPI macro, and added it to the definitions of all exported functions.
772 Relocated version macro definitions ahead of the includes of zlib.h and
773 pngconf.h in png.h.
774 version 1.0.7beta12 [May 12, 2000]
775 Revised pngset.c to avoid a problem with expanding the png_debug macro.
776 Deleted some extraneous defines from pngconf.h
777 Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined.
778 Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined.
779 Added png_access_version_number() function.
780 Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data().
781 Expanded libpng.3/libpng.txt information about png_data_freer().
782 version 1.0.7beta14 [May 17, 2000] (beta13 was not published)
783 Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as
784 warnings instead of errors, as pngrutil.c does.
785 Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png()
786 will actually write IDATs.
787 Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32.
788 Make png_free_data() ignore its final parameter except when freeing data
789 that can have multiple instances (text, sPLT, unknowns).
790 Fixed a new bug in png_set_rows().
791 Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
792 Added png_set_invalid() function.
793 Fixed incorrect illustrations of png_destroy_write_struct() in example.c.
794 version 1.0.7beta15 [May 30, 2000]
795 Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce
796 fewer error messages.
797 Rearranged checks for Z_OK to check the most likely path first in pngpread.c
798 and pngwutil.c.
799 Added checks in pngtest.c for png_create_*() returning NULL, and mentioned
800 in libpng.txt/libpng.3 the need for applications to check this.
801 Changed names of png_default_*() functions in pngtest to pngtest_*().
802 Changed return type of png_get_x|y_offset_*() from png_uint_32 to png_int_32.
803 Fixed some bugs in the unused PNG_INCH_CONVERSIONS functions in pngget.c
804 Set each pointer to NULL after freeing it in png_free_data().
805 Worked around a problem in pngconf.h; AIX's strings.h defines an "index"
806 macro that conflicts with libpng's png_color_16.index. (Dimitri Papadapoulos)
807 Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux).
808 version 1.0.7beta16 [June 4, 2000]
809 Revised the workaround of AIX string.h "index" bug.
810 Added a check for overlength PLTE chunk in pngrutil.c.
811 Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
812 indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
813 Added a warning in png_decompress_chunk() when it runs out of data, e.g.
814 when it tries to read an erroneous PhotoShop iCCP chunk.
815 Added PNG_USE_DLL macro.
816 Revised the copyright/disclaimer/license notice.
817 Added contrib/msvctest directory
818 version 1.0.7rc1 [June 9, 2000]
819 Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200)
820 Added contrib/visupng directory (Willem van Schaik)
821 version 1.0.7beta18 [June 23, 2000]
822 Revised PNGAPI definition, and pngvcrd.c to work with __GCC__
823 and do not redefine PNGAPI if it is passed in via a compiler directive.
824 Revised visupng/PngFile.c to remove returns from within the Try block.
825 Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros.
826 Updated contrib/visupng/cexcept.h to version 1.0.0.
827 Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks.
828 version 1.0.7rc2 [June 28, 2000]
829 Updated license to include disclaimers required by UCITA.
830 Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
831
832 version 1.0.7 [July 1, 2000]
833 Revised the definition of "trans_values" in libpng.3/libpng.txt
834 version 1.0.8beta1 [July 8, 2000]
835 Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
836 Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
837 pngwutil.c.
838 Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h.
839 Removed unused "#include <assert.h>" from png.c
840 Added WindowsCE support.
841 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
842 version 1.0.8beta2 [July 10, 2000]
843 Added project files to the wince directory and made further revisions
844 of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE.
845 version 1.0.8beta3 [July 11, 2000]
846 Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
847 for indexed-color input files to avoid potential double-freeing trans array
848 under some unusual conditions; problem was introduced in version 1.0.6f.
849 Further revisions to pngtest.c and files in the wince subdirectory.
850 version 1.0.8beta4 [July 14, 2000]
851 Added the files pngbar.png and pngbar.jpg to the distribution.
852 Added makefile.cygwin, and cygwin support in pngconf.h
853 Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
854 version 1.0.8rc1 [July 16, 2000]
855 Revised png_debug() macros and statements to eliminate compiler warnings.
856
857 version 1.0.8 [July 24, 2000]
858 Added png_flush() in pngwrite.c, after png_write_IEND().
859 Updated makefile.hpux to build a shared library.
860 version 1.0.9beta1 [November 10, 2000]
861 Fixed typo in scripts/makefile.hpux
862 Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
863 Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
864 Changed "cdrom.com" in documentation to "libpng.org"
865 Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
866 Changed type of "params" from voidp to png_voidp in png_read|write_png().
867 Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
868 Revised the 3 instances of WRITEFILE in pngtest.c.
869 Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
870 Updated png.rc in dll/msvc project
871 Revised makefile.dec to define and use LIBPATH and INCPATH
872 Increased size of global png_libpng_ver[] array from 12 to 18 chars.
873 Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
874 Removed duplicate png_crc_finish() from png_handle_bKGD() function.
875 Added a warning when application calls png_read_update_info() multiple times.
876 Revised makefile.cygwin
877 Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
878 Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
879 version 1.0.9beta2 [November 19, 2000]
880 Renamed the "dll" subdirectory "projects".
881 Added borland project files to "projects" subdirectory.
882 Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
883 Add error message in png_set_compression_buffer_size() when malloc fails.
884 version 1.0.9beta3 [November 23, 2000]
885 Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
886 Removed the png_flush() in pngwrite.c that crashes some applications
887 that don't set png_output_flush_fn.
888 Added makefile.macosx and makefile.aix to scripts directory.
889 version 1.0.9beta4 [December 1, 2000]
890 Change png_chunk_warning to png_warning in png_check_keyword().
891 Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
892 version 1.0.9beta5 [December 15, 2000]
893 Added support for filter method 64 (for PNG datastreams embedded in MNG).
894 version 1.0.9beta6 [December 18, 2000]
895 Revised png_set_filter() to accept filter method 64 when appropriate.
896 Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
897 help prevent applications from using MNG features in PNG datastreams.
898 Added png_permit_mng_features() function.
899 Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
900 version 1.0.9rc1 [December 23, 2000]
901 Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
902 Fixed error handling of unknown compression type in png_decompress_chunk().
903 In pngconf.h, define __cdecl when _MSC_VER is defined.
904 version 1.0.9beta7 [December 28, 2000]
905 Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
906 Revised memory management in png_set_hIST and png_handle_hIST in a backward
907 compatible manner. PLTE and tRNS were revised similarly.
908 Revised the iCCP chunk reader to ignore trailing garbage.
909 version 1.0.9beta8 [January 12, 2001]
910 Moved pngasmrd.h into pngconf.h.
911 Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
912 version 1.0.9beta9 [January 15, 2001]
913 Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
914 wince and msvc project module definition files.
915 Minor revision of makefile.cygwin.
916 Fixed bug with progressive reading of narrow interlaced images in pngpread.c
917 version 1.0.9beta10 [January 16, 2001]
918 Do not typedef png_FILE_p in pngconf.h when PNG_NO_STDIO is defined.
919 Fixed "png_mmx_supported" typo in project definition files.
920 version 1.0.9beta11 [January 19, 2001]
921 Updated makefile.sgi to make shared library.
922 Removed png_mmx_support() function and disabled PNG_MNG_FEATURES_SUPPORTED
923 by default, for the benefit of DLL forward compatibility. These will
924 be re-enabled in version 1.2.0.
925 version 1.0.9rc2 [January 22, 2001]
926 Revised cygwin support.
927
928 version 1.0.9 [January 31, 2001]
929 Added check of cygwin's ALL_STATIC in pngconf.h
930 Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
931 version 1.0.10beta1 [March 14, 2001]
932 Revised makefile.dec, makefile.sgi, and makefile.sggcc; added makefile.hpgcc.
933 Reformatted libpng.3 to eliminate bad line breaks.
934 Added checks for _mmx_supported in the read_filter_row function of pnggccrd.c
935 Added prototype for png_mmx_support() near the top of pnggccrd.c
936 Moved some error checking from png_handle_IHDR to png_set_IHDR.
937 Added PNG_NO_READ_SUPPORTED and PNG_NO_WRITE_SUPPORTED macros.
938 Revised png_mmx_support() function in pnggccrd.c
939 Restored version 1.0.8 PNG_WRITE_EMPTY_PLTE_SUPPORTED behavior in pngwutil.c
940 Fixed memory leak in contrib/visupng/PngFile.c
941 Fixed bugs in png_combine_row() in pnggccrd.c and pngvcrd.c (C version)
942 Added warnings when retrieving or setting gamma=0.
943 Increased the first part of msg buffer from 16 to 18 in png_chunk_warning().
944 version 1.0.10rc1 [March 23, 2001]
945 Changed all instances of memcpy, strcpy, and strlen to png_memcpy, png_strcpy,
946 and png_strlen.
947 Revised png_mmx_supported() function in pnggccrd.c to return proper value.
948 Fixed bug in progressive reading (pngpread.c) with small images (height < 8).
949
950 version 1.0.10 [March 30, 2001]
951 Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin
952 Added beos project files (Chris Herborth)
953 version 1.0.11beta1 [April 3, 2001]
954 Added type casts on several png_malloc() calls (Dimitri Papadapoulos).
955 Removed a no-longer needed AIX work-around from pngconf.h
956 Changed several "//" single-line comments to C-style in pnggccrd.c
957 version 1.0.11beta2 [April 11, 2001]
958 Removed PNGAPI from several functions whose prototypes did not have PNGAPI.
959 Updated scripts/pngos2.def
960 version 1.0.11beta3 [April 14, 2001]
961 Added checking the results of many instances of png_malloc() for NULL
962 version 1.0.11beta4 [April 20, 2001]
963 Undid the changes from version 1.0.11beta3. Added a check for NULL return
964 from user's malloc_fn().
965 Removed some useless type casts of the NULL pointer.
966 Added makefile.netbsd
967
968 version 1.0.11 [April 27, 2001]
969 Revised makefile.netbsd
970 version 1.0.12beta1 [May 14, 2001]
971 Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot)
972 Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h
973 Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings.
974 Eliminated the png_error about apps using png_read|write_init(). Instead,
975 libpng will reallocate the png_struct and info_struct if they are too small.
976 This retains future binary compatibility for old applications written for
977 libpng-0.88 and earlier.
978 version 1.2.0beta1 [May 6, 2001]
979 Bumped DLLNUM to 2.
980 Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
981 by default.
982 Added runtime selection of MMX features.
983 Added png_set_strip_error_numbers function and related macros.
984 version 1.2.0beta2 [May 7, 2001]
985 Finished merging 1.2.0beta1 with version 1.0.11
986 Added a check for attempts to read or write PLTE in grayscale PNG datastreams.
987 version 1.2.0beta3 [May 17, 2001]
988 Enabled user memory function by default.
989 Modified png_create_struct so it passes user mem_ptr to user memory allocator.
990 Increased png_mng_features flag from png_byte to png_uint_32.
991 Bumped shared-library (so-number) and dll-number to 3.
992 version 1.2.0beta4 [June 23, 2001]
993 Check for missing profile length field in iCCP chunk and free chunk_data
994 in case of truncated iCCP chunk.
995 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
996 Bumped dll-number from 2 to 3 in makefile.cygwin
997 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
998 if user attempts to run it on an 8-bit display.
999 Updated contrib/gregbook
1000 Use png_malloc instead of png_zalloc to allocate palette in pngset.c
1001 Updated makefile.ibmc
1002 Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes
1003 of png_write_oFFS width and height from png_uint_32 to png_int_32.
1004 Updated example.c
1005 Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c
1006 version 1.2.0beta5 [August 8, 2001]
1007 Revised contrib/gregbook
1008 Revised makefile.gcmmx
1009 Revised pnggccrd.c to conditionally compile some thread-unsafe code only
1010 when PNG_THREAD_UNSAFE_OK is defined.
1011 Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with
1012 value exceeding 2^bit_depth-1
1013 Revised makefile.sgi and makefile.sggcc
1014 Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
1015 Removed restriction that do_invert_mono only operate on 1-bit opaque files
1016
1017 version 1.2.0 [September 1, 2001]
1018 Changed a png_warning() to png_debug() in pnggccrd.c
1019 Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
1020 version 1.2.1beta1 [October 19, 2001]
1021 Revised makefile.std in contrib/pngminus
1022 Include background_1 in png_struct regardless of gamma support.
1023 Revised makefile.netbsd and makefile.macosx, added makefile.darwin.
1024 Revised example.c to provide more details about using row_callback().
1025 version 1.2.1beta2 [October 25, 2001]
1026 Added type cast to each NULL appearing in a function call, except for
1027 WINCE functions.
1028 Added makefile.so9.
1029 version 1.2.1beta3 [October 27, 2001]
1030 Removed type casts from all NULLs.
1031 Simplified png_create_struct_2().
1032 version 1.2.1beta4 [November 7, 2001]
1033 Revised png_create_info_struct() and png_creat_struct_2().
1034 Added error message if png_write_info() was omitted.
1035 Type cast NULLs appearing in function calls when _NO_PROTO or
1036 PNG_TYPECAST_NULL is defined.
1037 version 1.2.1rc1 [November 24, 2001]
1038 Type cast NULLs appearing in function calls except when PNG_NO_TYPECAST_NULL
1039 is defined.
1040 Changed typecast of "size" argument to png_size_t in pngmem.c calls to
1041 the user malloc_fn, to agree with the prototype in png.h
1042 Added a pop/push operation to pnggccrd.c, to preserve Eflag (Maxim Sobolev)
1043 Updated makefile.sgi to recognize LIBPATH and INCPATH.
1044 Updated various makefiles so "make clean" does not remove previous major
1045 version of the shared library.
1046 version 1.2.1rc2 [December 4, 2001]
1047 Always allocate 256-entry internal palette, hist, and trans arrays, to
1048 avoid out-of-bounds memory reference caused by invalid PNG datastreams.
1049 Added a check for prefix_length > data_length in iCCP chunk handler.
1050
1051 version 1.2.1 [December 7, 2001]
1052 None.
1053 version 1.2.2beta1 [February 22, 2002]
1054 Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
1055 Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
1056 libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
1057 Revised makefile.darwin to remove "-undefined suppress" option.
1058 Added checks for gamma and chromaticity values over 21474.83, which exceed
1059 the limit for PNG unsigned 32-bit integers when encoded.
1060 Revised calls to png_create_read_struct() and png_create_write_struct()
1061 for simpler debugging.
1062 Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
1063 version 1.2.2beta2 [February 23, 2002]
1064 Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
1065 Check for invalid image dimensions in png_get_IHDR.
1066 Added missing "fi;" in the install target of the SGI makefiles.
1067 Added install-static to all makefiles that make shared libraries.
1068 Always do gamma compensation when image is partially transparent.
1069 version 1.2.2beta3 [March 7, 2002]
1070 Compute background.gray and background_1.gray even when color_type is RGB
1071 in case image gets reduced to gray later.
1072 Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
1073 Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown
1074 Removed unused png_write_destroy_info prototype from png.h
1075 Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case
1076 Added install-shared target to all makefiles that make shared libraries.
1077 Stopped a double free of palette, hist, and trans when not using free_me.
1078 Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64.
1079 version 1.2.2beta4 [March 8, 2002]
1080 Compute background.gray and background_1.gray even when color_type is RGB
1081 in case image gets reduced to gray later (Jason Summers).
1082 Relocated a misplaced /bin/rm in the "install-shared" makefile targets
1083 Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library.
1084 version 1.2.2beta5 [March 26, 2002]
1085 Added missing PNGAPI to several function definitions.
1086 Check for invalid bit_depth or color_type in png_get_IHDR(), and
1087 check for missing PLTE or IHDR in png_push_read_chunk() (Matthias Clasen).
1088 Revised iTXt support to accept NULL for lang and lang_key.
1089 Compute gamma for color components of background even when color_type is gray.
1090 Changed "()" to "{}" in scripts/libpng.pc.in.
1091 Revised makefiles to put png.h and pngconf.h only in $prefix/include/libpngNN
1092 Revised makefiles to make symlink to libpng.so.NN in addition to libpngNN.so
1093 version 1.2.2beta6 [March 31, 2002]
1094 version 1.0.13beta1 [March 31, 2002]
1095 Prevent png_zalloc() from trying to memset memory that it failed to acquire.
1096 Add typecasts of PNG_MAX_UINT in pngset_cHRM_fixed() (Matt Holgate).
1097 Ensure that the right function (user or default) is used to free the
1098 png_struct after an error in png_create_read_struct_2().
1099 version 1.2.2rc1 [April 7, 2002]
1100 version 1.0.13rc1 [April 7, 2002]
1101 Save the ebx register in pnggccrd.c (Sami Farin)
1102 Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
1103 Updated makefiles to put headers in include/libpng and remove old include/*.h.
1104
1105 version 1.2.2 [April 15, 2002]
1106 version 1.0.13 [April 15, 2002]
1107 Revised description of png_set_filter() in libpng.3/libpng.txt.
1108 Revised makefile.netbsd and added makefile.neNNbsd and makefile.freebsd
1109 version 1.0.13patch01 [April 17, 2002]
1110 version 1.2.2patch01 [April 17, 2002]
1111 Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and makefile.sggcc
1112 Fixed VER -> PNGVER typo in makefile.macosx and added install-static to install
1113 Added install: target to makefile.32sunu and makefile.64sunu
1114 version 1.0.13patch03 [April 18, 2002]
1115 version 1.2.2patch03 [April 18, 2002]
1116 Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
1117 subdirectory to libpngNN subdirectory without the full pathname.
1118 Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
1119 version 1.2.3rc1 [April 28, 2002]
1120 Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
1121 Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
1122 Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
1123 Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
1124 Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
1125 Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
1126 Revised makefile.darwin to make relative links without full pathname.
1127 Added setjmp() at the end of png_create_*_struct_2() in case user forgets
1128 to put one in their application.
1129 Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and
1130 removed them from module definition files.
1131 version 1.2.3rc2 [May 1, 2002]
1132 Fixed bug in reporting number of channels in pngget.c and pngset.c,
1133 that was introduced in version 1.2.2beta5.
1134 Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
1135 png_default_flush(), and png_push_fill_buffer() and included them in
1136 module definition files.
1137 Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
1138 version 1.2.3rc3 [May 1, 2002]
1139 Revised prototype for png_default_flush()
1140 Remove old libpng.pc and libpngNN.pc before installing new ones.
1141 version 1.2.3rc4 [May 2, 2002]
1142 Typos in *.def files (png_default_read|write -> png_default_read|write_data)
1143 In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
1144 Added libpng-config and libpngNN-config and modified makefiles to install them.
1145 Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
1146 Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
1147 version 1.2.3rc5 [May 11, 2002]
1148 Changed "error" and "message" in prototypes to "error_message" and
1149 "warning_message" to avoid namespace conflict.
1150 Revised 15 makefiles to build libpng-config from libpng-config-*.in
1151 Once more restored png_zalloc and png_zfree to regular nonexported form.
1152 Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
1153 to nonexported form, but with PNGAPI, and removed them from module def files.
1154 version 1.2.3rc6 [May 14, 2002]
1155 Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
1156 Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
1157 Removed leftover libpng-config "sed" script from four makefiles.
1158 Revised libpng-config creating script in 16 makefiles.
1159
1160 version 1.2.3 [May 22, 2002]
1161 Revised libpng-config target in makefile.cygwin.
1162 Removed description of png_set_mem_fn() from documentation.
1163 Revised makefile.freebsd.
1164 Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR).
1165 Revised projects/msvc/README.txt
1166 Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
1167 version 1.2.4beta1 [May 24, 2002]
1168 Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
1169 Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
1170 Added missing "\" before closing double quote in makefile.gcmmx.
1171 Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
1172 functions.
1173 version 1.2.4beta2 [June 25, 2002]
1174 Plugged memory leak of png_ptr->current_text (Matt Holgate).
1175 Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
1176 Added -soname to the loader flags in makefile.dec, makefile.sgi, and
1177 makefile.sggcc.
1178 Added "test-installed" target to makefile.linux, makefile.gcmmx,
1179 makefile.sgi, and makefile.sggcc.
1180 version 1.2.4beta3 [June 28, 2002]
1181 Plugged memory leak of row_buf in pngtest.c when there is a png_error().
1182 Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
1183 Added "test-installed" target to makefile.32sunu, makefile.64sunu,
1184 makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
1185 makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
1186 version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
1187 Added "test-installed" target to makefile.cygwin and makefile.sco.
1188 Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
1189
1190 version 1.2.4 and 1.0.14 [July 8, 2002]
1191 Changed png_warning() to png_error() when width is too large to process.
1192 version 1.2.4patch01 [July 20, 2002]
1193 Revised makefile.cygwin to use DLL number 12 instead of 13.
1194 version 1.2.5beta1 [August 6, 2002]
1195 Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
1196 Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
1197 Removed some stray *.o files from contrib/gregbook.
1198 Changed png_error() to png_warning() about "Too much data" in pngpread.c
1199 and about "Extra compressed data" in pngrutil.c.
1200 Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
1201 Updated makefile.hpgcc
1202 Updated png.c and pnggccrd.c handling of return from png_mmx_support()
1203 version 1.2.5beta2 [August 15, 2002]
1204 Only issue png_warning() about "Too much data" in pngpread.c when avail_in
1205 is nonzero.
1206 Updated makefiles to install a separate libpng.so.3 with its own rpath.
1207 version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002]
1208 Revised makefiles to not remove previous minor versions of shared libraries.
1209 version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002]
1210 Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
1211 library loader directive.
1212 Added missing "$OBJSDLL" line to makefile.gcmmx.
1213 Added missing "; fi" to makefile.32sunu.
1214 version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
1215 Revised libpng-config script.
1216
1217 version 1.2.5 and 1.0.15 [October 3, 2002]
1218 Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
1219 and makefile.aix.
1220 Relocated two misplaced PNGAPI lines in pngtest.c
1221 version 1.2.6beta1 [October 22, 2002]
1222 Commented out warning about uninitialized mmx_support in pnggccrd.c.
1223 Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h.
1224 Relocated two more misplaced PNGAPI lines in pngtest.c
1225 Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
1226 introduced in version 1.0.2.
1227 Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu.
1228 version 1.2.6beta2 [November 1, 2002]
1229 Added libpng-config "--ldopts" output.
1230 Added "AR=ar" and "ARFLAGS=rc" and changed "ar rc" to "$(AR) $(ARFLAGS)"
1231 in makefiles.
1232 version 1.2.6beta3 [July 18, 2004]
1233 Reverted makefile changes from version 1.2.6beta2 and some of the changes
1234 from version 1.2.6beta1; these will be postponed until version 1.2.7.
1235 Version 1.2.6 is going to be a simple bugfix release.
1236 Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
1237 Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
1238 Added "#!/bin/sh" at the top of configure, for recognition of the
1239 'x' flag under Cygwin (Cosmin).
1240 Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin).
1241 Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin).
1242 Fixed the special memory handler for Borland C under DOS, in pngmem.c
1243 (Cosmin).
1244 Removed some spurious assignments in pngrutil.c (Cosmin).
1245 Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings
1246 on 16-bit platforms (Cosmin).
1247 Enclosed shift op expressions in parentheses, to silence warnings (Cosmin).
1248 Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
1249 in png_handle_sRGB() (Cosmin).
1250 Added compression_type to png_struct, and optimized the window size
1251 inside the deflate stream (Cosmin).
1252 Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin).
1253 Fixed handling of unknown chunks that come after IDAT (Cosmin).
1254 Allowed png_error() and png_warning() to work even if png_ptr == NULL
1255 (Cosmin).
1256 Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
1257 (Cosmin).
1258 Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
1259 Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded
1260 values in png.c (Simon-Pierre, Cosmin).
1261 Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
1262 Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc
1263 (Simon-Pierre).
1264 Moved the definition of PNG_HEADER_VERSION_STRING near the definitions
1265 of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin).
1266 Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
1267 Updated scripts/makefile.vc(a)win32 (Cosmin).
1268 Updated the MSVC project (Simon-Pierre, Cosmin).
1269 Updated the Borland C++ Builder project (Cosmin).
1270 Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
1271 Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
1272 Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
1273 Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
1274 (Cosmin).
1275 Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to
1276 projects/cbuilder5/ (Cosmin).
1277 Moved projects/visualc6/png32ms.def to scripts/pngw32.def,
1278 and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin).
1279 Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin).
1280 Changed line endings to DOS style in cbuilder5 and visualc6 files, even
1281 in the tar.* distributions (Cosmin).
1282 Updated contrib/visupng/VisualPng.dsp (Cosmin).
1283 Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin).
1284 Added a separate distribution with "configure" and supporting files (Junichi).
1285 version 1.2.6beta4 [July 28, 2004]
1286 Added user ability to change png_size_t via a PNG_SIZE_T macro.
1287 Added png_sizeof() and png_convert_size() functions.
1288 Added PNG_SIZE_MAX (maximum value of a png_size_t variable.
1289 Added check in png_malloc_default() for (size_t)size != (png_uint_32)size
1290 which would indicate an overflow.
1291 Changed sPLT failure action from png_error to png_warning and abandon chunk.
1292 Changed sCAL and iCCP failures from png_error to png_warning and abandon.
1293 Added png_get_uint_31(png_ptr, buf) function.
1294 Added PNG_UINT_32_MAX macro.
1295 Renamed PNG_MAX_UINT to PNG_UINT_31_MAX.
1296 Made png_zalloc() issue a png_warning and return NULL on potential
1297 overflow.
1298 Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x
1299 Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
1300 Revised Borland portion of png_malloc() to return NULL or issue
1301 png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
1302 Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
1303 sequential read support.
1304 Added some "#if PNG_WRITE_SUPPORTED" blocks.
1305 Added #ifdef to remove some redundancy in png_malloc_default().
1306 Use png_malloc instead of png_zalloc to allocate the pallete.
1307 version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
1308 Fixed buffer overflow vulnerability in png_handle_tRNS()
1309 Fixed integer arithmetic overflow vulnerability in png_read_png().
1310 Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
1311 duplicate chunk types to go undetected.
1312 Fixed some timestamps in the -config version
1313 Rearranged order of processing of color types in png_handle_tRNS().
1314 Added ROWBYTES macro to calculate rowbytes without integer overflow.
1315 Updated makefile.darwin and removed makefile.macosx from scripts directory.
1316 Imposed default one million column, one-million row limits on the image
1317 dimensions, and added png_set_user_limits() function to override them.
1318 Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
1319 Fixed wrong cast of returns from png_get_user_width|height_max().
1320 Changed some "keep the compiler happy" from empty statements to returns,
1321 Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
1322 version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
1323 Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
1324 Revised pngtest's png_debug_malloc() to use png_malloc() instead of
1325 png_malloc_default() which is not supposed to be exported.
1326 Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
1327 pngpread.c. Bug was introduced in 1.2.6rc1.
1328 Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1.
1329 Fixed old bug in RGB to Gray transformation.
1330 Fixed problem with 64-bit compilers by casting arguments to abs()
1331 to png_int_32.
1332 Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
1333 Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
1334 Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
1335 Added code to update the row_info->colortype in png_do_read_filler() (MSB).
1336 version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004]
1337 Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
1338 trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
1339 Revised documentation of png_set_keep_unknown_chunks().
1340 Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
1341 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
1342 Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
1343 version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004]
1344 Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
1345 "pinfo" was out of place).
1346 version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004]
1347 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
1348 section of png.h where they were inadvertently placed in version rc3.
1349
1350 version 1.2.6 and 1.0.16 [August 15, 2004]
1351 Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
1352 version 1.2.7beta1 [August 26, 2004]
1353 Removed unused pngasmrd.h file.
1354 Removed references to uu.net for archived files. Added references to
1355 PNG Spec (second edition) and the PNG ISO/IEC Standard.
1356 Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
1357 Fixed bug with "optimized window size" in the IDAT datastream, that
1358 causes libpng to write PNG files with incorrect zlib header bytes.
1359 version 1.2.7beta2 [August 28, 2004]
1360 Fixed bug with sCAL chunk and big-endian machines (David Munro).
1361 Undid new code added in 1.2.6rc2 to update the color_type in
1362 png_set_filler().
1363 Added png_set_add_alpha() that updates color type.
1364 version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004]
1365 Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
1366
1367 version 1.2.7 and 1.0.17 [September 12, 2004]
1368 Added makefile.hp64
1369 Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
1370 version 1.2.8beta1 [November 1, 2004]
1371 Fixed bug in png_text_compress() that would fail to complete a large block.
1372 Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
1373 strip alpha operation in png_do_strip_filler().
1374 Added PNG_1_2_X definition in pngconf.h
1375 Use #ifdef to comment out png_info_init in png.c and png_read_init in
1376 pngread.c (as of 1.3.0)
1377 version 1.2.8beta2 [November 2, 2004]
1378 Reduce color_type to a nonalpha type after strip alpha operation in
1379 png_do_strip_filler().
1380 version 1.2.8beta3 [November 3, 2004]
1381 Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
1382 version 1.2.8beta4 [November 12, 2004]
1383 Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin).
1384 Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin).
1385 Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
1386 of data type in deflate (Cosmin).
1387 Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of
1388 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
1389 version 1.2.8beta5 [November 20, 2004]
1390 Use png_ptr->flags instead of png_ptr->transformations to pass
1391 PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI
1392 compatibility.
1393 Revised handling of SPECIALBUILD, PRIVATEBUILD,
1394 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
1395 version 1.2.8rc1 [November 24, 2004]
1396 Moved handling of BUILD macros from pngconf.h to png.h
1397 Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
1398 omitted from beta5.
1399 Revised scripts/pngw32.rc
1400 Despammed mailing addresses by masking "@" with "at".
1401 Inadvertently installed a supposedly faster test version of pngrutil.c
1402 version 1.2.8rc2 [November 26, 2004]
1403 Added two missing "\" in png.h
1404 Change tests in pngread.c and pngpread.c to
1405 if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
1406 png_do_read_transformations(png_ptr);
1407 version 1.2.8rc3 [November 28, 2004]
1408 Reverted pngrutil.c to version libpng-1.2.8beta5.
1409 Added scripts/makefile.elf with supporting code in pngconf.h for symbol
1410 versioning (John Bowler).
1411 version 1.2.8rc4 [November 29, 2004]
1412 Added projects/visualc7 (Simon-pierre).
1413 version 1.2.8rc5 [November 29, 2004]
1414 Fixed new typo in scripts/pngw32.rc
1415
1416 version 1.2.8 [December 3, 2004]
1417 Removed projects/visualc7, added projects/visualc71.
1418
1419 version 1.2.9beta1 [February 21, 2006]
1420
1421 Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
1422 Revised man page and libpng.txt to make it clear that one should not call
1423 png_read_end or png_write_end after png_read_png or png_write_png.
1424 Updated references to png-mng-implement mailing list.
1425 Fixed an incorrect typecast in pngrutil.c
1426 Added PNG_NO_READ_SUPPORTED conditional for making a write-only library.
1427 Added PNG_NO_WRITE_INTERLACING_SUPPORTED conditional.
1428 Optimized alpha-inversion loops in pngwtran.c
1429 Moved test for nonzero gamma outside of png_build_gamma_table() in pngrtran.c
1430 Make sure num_trans is <= 256 before copying data in png_set_tRNS().
1431 Make sure num_palette is <= 256 before copying data in png_set_PLTE().
1432 Interchanged order of write_swap_alpha and write_invert_alpha transforms.
1433 Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
1434 Optimized zlib window flag (CINFO) in contrib/pngsuite/*.png (Cosmin).
1435 Updated scripts/makefile.bc32 for Borland C++ 5.6 (Cosmin).
1436 Exported png_get_uint_32, png_save_uint_32, png_get_uint_16, png_save_uint_16,
1437 png_get_int_32, png_save_int_32, png_get_uint_31 (Cosmin).
1438 Added type cast (png_byte) in png_write_sCAL() (Cosmin).
1439 Fixed scripts/makefile.cygwin (Christian Biesinger, Cosmin).
1440 Default iTXt support was inadvertently enabled.
1441
1442 version 1.2.9beta2 [February 21, 2006]
1443
1444 Check for png_rgb_to_gray and png_gray_to_rgb read transformations before
1445 checking for png_read_dither in pngrtran.c
1446 Revised checking of chromaticity limits to accommodate extended RGB
1447 colorspace (John Denker).
1448 Changed line endings in some of the project files to CRLF, even in the
1449 "Unix" tar distributions (Cosmin).
1450 Made png_get_int_32 and png_save_int_32 always available (Cosmin).
1451 Updated scripts/pngos2.def, scripts/pngw32.def and projects/wince/png32ce.def
1452 with the newly exported functions.
1453 Eliminated distributions without the "configure" script.
1454 Updated INSTALL instructions.
1455
1456 version 1.2.9beta3 [February 24, 2006]
1457
1458 Fixed CRCRLF line endings in contrib/visupng/VisualPng.dsp
1459 Made libpng.pc respect EXEC_PREFIX (D. P. Kreil, J. Bowler)
1460 Removed reference to pngasmrd.h from Makefile.am
1461 Renamed CHANGES to ChangeLog.
1462 Renamed LICENSE to COPYING.
1463 Renamed ANNOUNCE to NEWS.
1464 Created AUTHORS file.
1465
1466 version 1.2.9beta4 [March 3, 2006]
1467
1468 Changed definition of PKGCONFIG from $prefix/lib to $libdir in configure.ac
1469 Reverted to filenames LICENSE and ANNOUNCE; removed AUTHORS and COPYING.
1470 Removed newline from the end of some error and warning messages.
1471 Removed test for sqrt() from configure.ac and configure.
1472 Made swap tables in pngtrans.c PNG_CONST (Carlo Bramix).
1473 Disabled default iTXt support that was inadvertently enabled in
1474 libpng-1.2.9beta1.
1475 Added "OS2" to list of systems that don't need underscores, in pnggccrd.c
1476 Removed libpng version and date from *.c files.
1477
1478 version 1.2.9beta5 [March 4, 2006]
1479 Removed trailing blanks from source files.
1480 Put version and date of latest change in each source file, and changed
1481 copyright year accordingly.
1482 More cleanup of configure.ac, Makefile.ac, and associated scripts.
1483 Restored scripts/makefile.elf which was inadvertently deleted.
1484
1485 version 1.2.9beta6 [March 6, 2006]
1486 Fixed typo (RELEASE) in configuration files.
1487
1488 version 1.2.9beta7 [March 7, 2006]
1489 Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
1490 Fixed inconsistent #ifdef's around png_sig_bytes() and png_set_sCAL_s()
1491 in png.h.
1492 Updated makefile.elf as suggested by debian.
1493 Made cosmetic changes to some makefiles, adding LN_SF and other macros.
1494 Made some makefiles accept "exec_prefix".
1495
1496 version 1.2.9beta8 [March 9, 2006]
1497 Fixed some "#if defined (..." which should be "#if defined(..."
1498 Bug introduced in libpng-1.2.8.
1499 Fixed inconsistency in definition of png_default_read_data()
1500 Restored blank that was lost from makefile.sggcc "clean" target in beta7.
1501 Revised calculation of "current" and "major" for irix in ltmain.sh
1502 Changed "mkdir" to "MKDIR_P" in some makefiles.
1503 Separated PNG_EXPAND and PNG_EXPAND_tRNS.
1504 Added png_set_expand_gray_1_2_4_to_8() and deprecated
1505 png_set_gray_1_2_4_to_8() which also expands tRNS to alpha.
1506
1507 version 1.2.9beta9 [March 10, 2006]
1508 Include "config.h" in pngconf.h when available.
1509 Added some checks for NULL png_ptr or NULL info_ptr (timeless)
1510
1511 version 1.2.9beta10 [March 20, 2006]
1512 Removed extra CR from contrib/visualpng/VisualPng.dsw (Cosmin)
1513 Made pnggccrd.c PIC-compliant (Christian Aichinger).
1514 Added makefile.mingw (Wolfgang Glas).
1515 Revised pngconf.h MMX checking.
1516
1517 version 1.2.9beta11 [March 22, 2006]
1518 Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
1519 Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
1520
1521 version 1.2.9rc1 [March 31, 2006]
1522 Defined PNG_USER_PRIVATEBUILD when including "pngusr.h" (Cosmin).
1523 Removed nonsensical assertion check from pngtest.c (Cosmin).
1524
1525 version 1.2.9 [April 14, 2006]
1526 Revised makefile.beos and added "none" selector in ltmain.sh
1527
1528 version 1.2.10beta1 [April 15, 2006]
1529 Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
1530 -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
1531 to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
1532
1533 version 1.2.10beta2 [April 15, 2006]
1534 Manually updated Makefile.in and configure. Changed png_conf.h.in
1535 back to config.h.
1536
1537 version 1.2.10beta3 [April 15, 2006]
1538 Change png_conf.h back to config.h in pngconf.h.
1539
1540 version 1.2.10beta4 [April 16, 2006]
1541 Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
1542
1543 version 1.2.10beta5 [April 16, 2006]
1544 Added a configure check for compiling assembler code in pnggccrd.c
1545
1546 version 1.2.10beta6 [April 17, 2006]
1547 Revised the configure check for pnggccrd.c
1548 Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
1549 Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
1550
1551 version 1.2.10beta7 [April 18, 2006]
1552 Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
1553
1554 version 1.2.10rc1 [April 19, 2006]
1555 Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
1556 Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
1557
1558 version 1.2.10rc2 [April 20, 2006]
1559 Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
1560 in configure.ac and configure
1561 Made the configure warning about versioned symbols less arrogant.
1562
1563 version 1.2.10rc3 [April 21, 2006]
1564 Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
1565 writing an embedded PNG without the 8-byte signature.
1566 Revised makefiles and configure to avoid making links to libpng.so.*
1567
1568 version 1.2.10 [April 23, 2006]
1569 Reverted configure to "rc2" state.
1570
1571 version 1.2.11beta1 [May 31, 2006]
1572 scripts/libpng.pc.in contained "configure" style version info and would
1573 not work with makefiles.
1574 The shared-library makefiles were linking to libpng.so.0 instead of
1575 libpng.so.3 compatibility as the library.
1576
1577 version 1.2.11beta2 [June 2, 2006]
1578 Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
1579 buffer overflow.
1580 Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
1581
1582 version 1.2.11beta3 [June 5, 2006]
1583 Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
1584 Removed the accidental leftover Makefile.in~ (Cosmin).
1585 Avoided potential buffer overflow and optimized buffer in
1586 png_write_sCAL(), png_write_sCAL_s() (Cosmin).
1587 Removed the include directories and libraries from CFLAGS and LDFLAGS
1588 in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
1589
1590 version 1.2.11beta4 [June 6, 2006]
1591 Allow zero-length IDAT chunks after the entire zlib datastream, but not
1592 after another intervening chunk type.
1593
1594 version 1.0.19rc1, 1.2.11rc1 [June 13, 2006]
1595 Deleted extraneous square brackets from [config.h] in configure.ac
1596
1597 version 1.0.19rc2, 1.2.11rc2 [June 14, 2006]
1598 Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
1599 Revised INSTALL and autogen.sh
1600 Fixed typo in several makefiles (-W1 should be -Wl)
1601 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
1602
1603 version 1.0.19rc3, 1.2.11rc3 [June 15, 2006]
1604 Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
1605 Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
1606 reading out of bounds.
1607
1608 version 1.0.19rc4, 1.2.11rc4 [June 15, 2006]
1609 Really removed the new typedefs for 64-bit systems.
1610
1611 version 1.0.19rc5, 1.2.11rc5 [June 22, 2006]
1612 Removed png_sig_bytes entry from scripts/pngw32.def
1613
1614 version 1.0.19, 1.2.11 [June 26, 2006]
1615 None.
1616
1617 version 1.0.20, 1.2.12 [June 27, 2006]
1618 Really increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
1619 buffer overflow.
1620
1621 version 1.2.13beta1 [October 2, 2006]
1622 Removed AC_FUNC_MALLOC from configure.ac
1623 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
1624 Change "logical" to "bitwise" throughout documentation.
1625 Detect and fix attempt to write wrong iCCP profile length.
1626
1627 version 1.0.21, 1.2.13 [November 14, 2006]
1628 Fix potential buffer overflow in sPLT chunk handler.
1629 Fix Makefile.am to not try to link to noexistent files.
1630 Check all exported functions for NULL png_ptr.
1631
1632 version 1.2.14beta1 [November 17, 2006]
1633 Relocated three misplaced tests for NULL png_ptr.
1634 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
1635 Build configure with autoconf-2.60 instead of 2.59
1636
1637 version 1.2.14beta2 [November 17, 2006]
1638 Added some typecasts in png_zalloc().
1639
1640 version 1.2.14rc1 [November 20, 2006]
1641 Changed "strtod" to "png_strtod" in pngrutil.c
1642
1643 version 1.0.22, 1.2.14 [November 27, 2006]
1644 Added missing "$(srcdir)" in Makefile.am and Makefile.in
1645
1646 version 1.2.15beta1 [December 3, 2006]
1647 Generated configure with autoconf-2.61 instead of 2.60
1648 Revised configure.ac to update libpng.pc and libpng-config.
1649
1650 version 1.2.15beta2 [December 3, 2006]
1651 Always export MMX asm functions, just stubs if not building pnggccrd.c
1652
1653 version 1.2.15beta3 [December 4, 2006]
1654 Add "png_bytep" typecast to profile while calculating length in pngwutil.c
1655
1656 version 1.2.15beta4 [December 7, 2006]
1657 Added scripts/CMakeLists.txt
1658 Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
1659
1660 version 1.2.15beta5 [December 7, 2006]
1661 Changed some instances of PNG_ASSEMBLER_* to PNG_MMX_* in pnggccrd.c
1662 Revised scripts/CMakeLists.txt
1663
1664 version 1.2.15beta6 [December 13, 2006]
1665 Revised scripts/CMakeLists.txt and configure.ac
1666
1667 version 1.2.15rc1 [December 18, 2006]
1668 Revised scripts/CMakeLists.txt
1669
1670 version 1.2.15rc2 [December 21, 2006]
1671 Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
1672 Added scripts/makefile.nommx
1673
1674 version 1.2.15rc3 [December 25, 2006]
1675 Fixed shared library numbering error that was introduced in 1.2.15beta6.
1676
1677 version 1.2.15rc4 [December 27, 2006]
1678 Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
1679
1680 version 1.2.15rc5 [December 31, 2006]
1681 Revised handling of rgb_to_gray.
1682
1683 version 1.2.15 [January 5, 2007]
1684 Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
1685
1686 version 1.2.16beta1 [January 6, 2007]
1687 Fix bugs in makefile.nommx
1688
1689 version 1.2.16beta2 [January 16, 2007]
1690 Revised scripts/CMakeLists.txt
1691
1692 version 1.2.16 [January 31, 2007]
1693 No changes.
1694
1695 version 1.2.17beta1 [March 6, 2007]
1696 Revised scripts/CMakeLists.txt to install both shared and static libraries.
1697 Deleted a redundant line from pngset.c.
1698
1699 version 1.2.17beta2 [April 26, 2007]
1700 Relocated misplaced test for png_ptr == NULL in pngpread.c
1701 Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN
1702 flags.
1703 Changed remaining instances of PNG_ASSEMBLER_* to PNG_MMX_*
1704 Added pngerror() when write_IHDR fails in deflateInit2().
1705 Added "const" to some array declarations.
1706 Mention examples of libpng usage in the libpng*.txt and libpng.3 documents.
1707
1708 version 1.2.17rc1 [May 4, 2007]
1709 No changes.
1710
1711 version 1.2.17rc2 [May 8, 2007]
1712 Moved several PNG_HAVE_* macros out of PNG_INTERNAL because applications
1713 calling set_unknown_chunk_location() need them.
1714 Changed transformation flag from PNG_EXPAND_tRNS to PNG_EXPAND in
1715 png_set_expand_gray_1_2_4_to_8().
1716 Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
1717 can be free'ed in case of error. Revised unknown chunk handling in
1718 pngrutil.c and pngpread.c to use this structure.
1719
1720 version 1.2.17rc3 [May 8, 2007]
1721 Revised symbol-handling in configure script.
1722
1723 version 1.2.17rc4 [May 10, 2007]
1724 Revised unknown chunk handling to avoid storing unknown critical chunks.
1725
1726 version 1.0.25 [May 15, 2007]
1727 version 1.2.17 [May 15, 2007]
1728 Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
1729 to eliminate a vulnerability (CVE-2007-2445, CERT VU#684664)
1730
1731 version 1.0.26 [May 15, 2007]
1732 version 1.2.18 [May 15, 2007]
1733 Reverted the libpng-1.2.17rc3 change to symbol-handling in configure script
1734
1735 version 1.2.19beta1 [May 18, 2007]
1736 Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
1737 change of libpng-1.2.17beta2. Changed other "const" to "PNG_CONST"
1738 Changed some handling of unused parameters, to avoid compiler warnings.
1739 "if (unused == NULL) return;" becomes "unused = unused".
1740
1741 version 1.2.19beta2 [May 18, 2007]
1742 Only use the valid bits of tRNS value in png_do_expand() (Brian Cartier)
1743
1744 version 1.2.19beta3 [May 19, 2007]
1745 Add some "png_byte" typecasts in png_check_keyword() and write new_key
1746 instead of key in zTXt chunk (Kevin Ryde).
1747
1748 version 1.2.19beta4 [May 21, 2007]
1749 Add png_snprintf() function and use it in place of sprint() for improved
1750 defense against buffer overflows.
1751
1752 version 1.2.19beta5 [May 21, 2007]
1753 Fixed png_handle_tRNS() to only use the valid bits of tRNS value.
1754 Changed handling of more unused parameters, to avoid compiler warnings.
1755 Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.
1756
1757 version 1.2.19beta6 [May 22, 2007]
1758 Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
1759 Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
1760
1761 version 1.2.19beta7 [May 22, 2007]
1762 Squelched png_squelch_warnings() in pnggccrd.c and added
1763 an #ifdef PNG_MMX_CODE_SUPPORTED block around the declarations that caused
1764 the warnings that png_squelch_warnings was squelching.
1765
1766 version 1.2.19beta8 [May 22, 2007]
1767 Removed __MMX__ from test in pngconf.h.
1768
1769 version 1.2.19beta9 [May 23, 2007]
1770 Made png_squelch_warnings() available via PNG_SQUELCH_WARNINGS macro.
1771 Revised png_squelch_warnings() so it might work.
1772 Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
1773
1774 version 1.2.19beta10 [May 24, 2007]
1775 Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
1776
1777 version 1.4.0beta1 [April 20, 2006]
1778 Enabled iTXt support (changes png_struct, thus requires so-number change).
1779 Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
1780 Eliminated PNG_1_0_X and PNG_1_2_X macros.
1781 Removed deprecated functions png_read_init, png_write_init, png_info_init,
1782 png_permit_empty_plte, png_set_gray_1_2_4_to_8, png_check_sig, and
1783 removed the deprecated macro PNG_MAX_UINT.
1784 Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
1785 Removed many WIN32_WCE #ifdefs (Cosmin).
1786 Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
1787 Replaced sprintf() with png_sprintf() (Simon-Pierre)
1788
1789 version 1.4.0beta2 [April 20, 2006]
1790 Revised makefiles and configure to avoid making links to libpng.so.*
1791 Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
1792 Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
1793
1794 version 1.4.0beta3 [May 10, 2006]
1795 Updated scripts/pngw32.def to comment out MMX functions.
1796 Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
1797 Scripts/libpng.pc.in contained "configure" style version info and would
1798 not work with makefiles.
1799 Revised pngconf.h and added pngconf.h.in, so makefiles and configure can
1800 pass defines to libpng and applications.
1801
1802 version 1.4.0beta4 [May 11, 2006]
1803 Revised configure.ac, Makefile.am, and many of the makefiles to write
1804 their defines in pngconf.h.
1805
1806 version 1.4.0beta5 [May 15, 2006]
1807 Added a missing semicolon in Makefile.am and Makefile.in
1808 Deleted extraneous square brackets from configure.ac
1809
1810 version 1.4.0beta6 [June 2, 2006]
1811 Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
1812 buffer overflow.
1813 Changed sonum from 0 to 1.
1814 Removed unused prototype for png_check_sig() from png.h
1815
1816 version 1.4.0beta7 [June 16, 2006]
1817 Exported png_write_sig (Cosmin).
1818 Optimized buffer in png_handle_cHRM() (Cosmin).
1819 Set pHYs = 2835 x 2835 pixels per meter, and added
1820 sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
1821 Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
1822 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
1823 Added "(unsigned long)" typecast on png_uint_32 variables in printf lists.
1824
1825 version 1.4.0beta8 [June 22, 2006]
1826 Added demonstration of user chunk support in pngtest.c, to support the
1827 public sTER chunk and a private vpAg chunk.
1828
1829 version 1.4.0beta9 [July 3, 2006]
1830 Removed ordinals from scripts/pngw32.def and removed png_info_int and
1831 png_set_gray_1_2_4_to_8 entries.
1832 Inline call of png_get_uint_32() in png_get_uint_31().
1833 Use png_get_uint_31() to get vpAg width and height in pngtest.c
1834 Removed WINCE and Netware projects.
1835 Removed standalone Y2KINFO file.
1836
1837 version 1.4.0beta10 [July 12, 2006]
1838 Eliminated automatic copy of pngconf.h to pngconf.h.in from configure and
1839 some makefiles, because it was not working reliably. Instead, distribute
1840 pngconf.h.in along with pngconf.h and cause configure and some of the
1841 makefiles to update pngconf.h from pngconf.h.in.
1842 Added pngconf.h to DEPENDENCIES in Makefile.am
1843
1844 version 1.4.0beta11 [August 19, 2006]
1845 Removed AC_FUNC_MALLOC from configure.ac.
1846 Added a warning when writing iCCP profile with mismatched profile length.
1847 Patched pnggccrd.c to assemble on x86_64 platforms.
1848 Moved chunk header reading into a separate function png_read_chunk_header()
1849 in pngrutil.c. The chunk header (len+sig) is now serialized in a single
1850 operation (Cosmin).
1851 Implemented support for I/O states. Added png_ptr member io_state, and
1852 functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
1853 (Cosmin).
1854 Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
1855 Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
1856 Removed the include directories and libraries from CFLAGS and LDFLAGS
1857 in scripts/makefile.gcc (Cosmin).
1858 Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
1859 Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
1860 Added pngintrn.h to the Visual C++ projects (Cosmin).
1861 Removed scripts/list (Cosmin).
1862 Updated copyright year in scripts/pngwin.def (Cosmin).
1863 Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
1864 Disallowed the user to redefine png_size_t, and enforced a consistent use
1865 of png_size_t across libpng (Cosmin).
1866 Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
1867 to png_size_t (Cosmin).
1868 Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
1869 Removed some unnecessary type casts (Cosmin).
1870 Changed prototype of png_get_compression_buffer_size() and
1871 png_set_compression_buffer_size() to work with png_size_t instead of
1872 png_uint_32 (Cosmin).
1873 Removed png_memcpy_check() and png_memset_check() (Cosmin).
1874 Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
1875 Clarified that png_zalloc() does not clear the allocated memory,
1876 and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
1877 Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
1878 pngconf.h, and used it in all memory allocation functions (Cosmin).
1879 Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
1880 mentioning that the symbols declared in that file are private, and
1881 updated the scripts and the Visual C++ projects accordingly (Cosmin).
1882 Removed circular references between pngconf.h and pngconf.h.in in
1883 scripts/makefile.vc*win32 (Cosmin).
1884 Removing trailing '.' from the warning and error messages (Cosmin).
1885 Added pngdefs.h that is built by makefile or configure, instead of
1886 pngconf.h.in (Glenn).
1887 Detect and fix attempt to write wrong iCCP profile length.
1888
1889 version 1.4.0beta12 [October 19, 2006]
1890 Changed "logical" to "bitwise" in the documentation.
1891 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
1892 Add a typecast to stifle compiler warning in pngrutil.c
1893
1894 version 1.4.0beta13 [November 10, 2006]
1895 Fix potential buffer overflow in sPLT chunk handler.
1896 Fix Makefile.am to not try to link to noexistent files.
1897
1898 version 1.4.0beta14 [November 15, 2006]
1899 Check all exported functions for NULL png_ptr.
1900
1901 version 1.4.0beta15 [November 17, 2006]
1902 Relocated two misplaced tests for NULL png_ptr.
1903 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
1904 Build configure with autoconf-2.60 instead of 2.59
1905 Add "install: all" in Makefile.am so "configure; make install" will work.
1906
1907 version 1.4.0beta16 [November 17, 2006]
1908 Added a typecast in png_zalloc().
1909
1910 version 1.4.0beta17 [December 4, 2006]
1911 Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
1912 Add "png_bytep" typecast to profile while calculating length in pngwutil.c
1913
1914 version 1.4.0beta18 [December 7, 2006]
1915 Added scripts/CMakeLists.txt
1916
1917 version 1.4.0beta19 [May 16, 2007]
1918 Revised scripts/CMakeLists.txt
1919 Rebuilt configure and Makefile.in with newer tools.
1920 Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
1921 Added scripts/makefile.nommx
1922
1923 version 1.4.0beta20 [July 9, 2008]
1924 Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
1925 calling set_unknown_chunk_location() need them.
1926 Moved several macro definitions from pngpriv.h to pngconf.h
1927 Merge with changes to the 1.2.X branch, as of 1.2.30beta04.
1928 Deleted all use of the MMX assembler code and Intel-licensed optimizations.
1929 Revised makefile.mingw
1930
1931 version 1.4.0beta21 [July 21, 2008]
1932 Moved local array "chunkdata" from pngrutil.c to the png_struct, so
1933 it will be freed by png_read_destroy() in case of a read error (Kurt
1934 Christensen).
1935
1936 version 1.4.0beta22 [July 21, 2008]
1937 Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
1938
1939 version 1.4.0beta23 [July 22, 2008]
1940 Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
1941 png_decompress_chunk().
1942
1943 version 1.4.0beta24 [July 25, 2008]
1944 Change all remaining "chunkdata" to "png_ptr->chunkdata" in
1945 png_decompress_chunk(), and remove "chunkdata" from parameter list.
1946 Put a call to png_check_chunk_name() in png_read_chunk_header().
1947 Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
1948 Removed two calls to png_check_chunk_name() occuring later in the process.
1949 Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
1950
1951 version 1.4.0beta25 [July 30, 2008]
1952 Added a call to png_check_chunk_name() in pngpread.c
1953 Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
1954 Added png_push_have_buffer() function to pngpread.c
1955 Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
1956 Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
1957 Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
1958 Synced contrib directory and configure files with libpng-1.2.30beta06.
1959 Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
1960 Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
1961
1962 version 1.4.0beta26 [August 4, 2008]
1963 Removed png_push_have_buffer() function in pngpread.c. It increased the
1964 compiled library size slightly.
1965 Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
1966 Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
1967 Updated contrib/visupng/cexcept.h to version 2.0.1
1968 Added PNG_LITERAL_CHARACTER macros for #, [, and ].
1969
1970 version 1.4.0beta27 [August 5, 2008]
1971 Revised usage of PNG_LITERAL_SHARP in pngerror.c.
1972 Moved newline character from individual png_debug messages into the
1973 png_debug macros.
1974 Allow user to #define their own png_debug, png_debug1, and png_debug2.
1975
1976 version 1.4.0beta28 [August 5, 2008]
1977 Revised usage of PNG_LITERAL_SHARP in pngerror.c.
1978 Added PNG_STRING_NEWLINE macro
1979
1980 version 1.4.0beta29 [August 9, 2008]
1981 Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
1982 Added PNG_STRING_COPYRIGHT macro.
1983 Added non-ISO versions of png_debug macros.
1984
1985 version 1.4.0beta30 [August 14, 2008]
1986 Added premultiplied alpha feature (Volker Wiendl).
1987
1988 version 1.4.0beta31 [August 18, 2008]
1989 Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
1990 Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
1991 in libpng-1.4.0beta20.
1992
1993 version 1.4.0beta32 [August 19, 2008]
1994 Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
1995 Revised PNG_NO_STDIO version of png_write_flush()
1996
1997 version 1.4.0beta33 [August 20, 2008]
1998 Added png_get|set_chunk_cache_max() to limit the total number of sPLT,
1999 text, and unknown chunks that can be stored.
2000
2001 version 1.4.0beta34 [September 6, 2008]
2002 Shortened tIME_string to 29 bytes in pngtest.c
2003 Fixed off-by-one error introduced in png_push_read_zTXt() function in
2004 libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
2005
2006 version 1.4.0beta35 [October 6, 2008]
2007 Changed "trans_values" to "trans_color".
2008 Changed so-number from 0 to 14. Some OS do not like 0.
2009 Revised makefile.darwin to fix shared library numbering.
2010 Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
2011 in example.c (debian bug report)
2012
2013 version 1.4.0beta36 [October 25, 2008]
2014 Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
2015
2016 version 1.4.0beta37 [November 13, 2008]
2017 Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
2018 and pngwrite.c
2019
2020 version 1.4.0beta38 [November 22, 2008]
2021 Added check for zero-area RGB cHRM triangle in png_check_cHRM() and
2022 png_check_cHRM_fixed().
2023
2024 version 1.4.0beta39 [November 23, 2008]
2025 Revised png_warning() to write its message on standard output by default
2026 when warning_fn is NULL.
2027
2028 version 1.4.0beta40 [November 24, 2008]
2029 Eliminated png_check_cHRM(). Instead, always use png_check_cHRM_fixed().
2030 In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
2031 check for all-zero coordinates that is detected by the triangle check.
2032
2033 version 1.4.0beta41 [November 26, 2008]
2034 Fixed string vs pointer-to-string error in png_check_keyword().
2035 Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
2036 overflows.
2037 Added PNG_NO_CHECK_cHRM conditional.
2038
2039 version 1.4.0beta42, 43 [December 1, 2008]
2040 Merge png_debug with version 1.2.34beta04.
2041
2042 version 1.4.0beta44 [December 6, 2008]
2043 Removed redundant check for key==NULL before calling png_check_keyword()
2044 to ensure that new_key gets initialized and removed extra warning
2045 (Merge with version 1.2.34beta05 -- Arvan Pritchard).
2046
2047 version 1.4.0beta45 [December 9, 2008]
2048 In png_write_png(), respect the placement of the filler bytes in an earlier
2049 call to png_set_filler() (Jim Barry).
2050
2051 version 1.4.0beta46 [December 10, 2008]
2052 Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
2053 PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
2054 PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
2055
2056 version 1.4.0beta47 [December 15, 2008]
2057 Support for dithering was disabled by default, because it has never
2058 been well tested and doesn't work very well. The code has not
2059 been removed, however, and can be enabled by building libpng with
2060 PNG_READ_DITHER_SUPPORTED defined.
2061
2062 version 1.4.0beta48 [February 14, 2009]
2063 Added new exported function png_calloc().
2064 Combined several instances of png_malloc(); png_memset() into png_calloc().
2065 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
2066 but was never defined.
2067
2068 version 1.4.0beta49 [February 28, 2009]
2069 Added png_fileno() macro to pngconf.h, used in pngwio.c
2070 Corrected order of #ifdef's in png_debug definition in png.h
2071 Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
2072 for pcal_params.
2073 Fixed order of #ifdef directives in the png_debug defines in png.h
2074 (bug introduced in libpng-1.2.34/1.4.0beta29).
2075 Revised comments in png_set_read_fn() and png_set_write_fn().
2076
2077 version 1.4.0beta50 [March 18, 2009]
2078 Use png_calloc() instead of png_malloc() to allocate big_row_buf when
2079 reading an interlaced file, to avoid a possible UMR.
2080 Undid revision of PNG_NO_STDIO version of png_write_flush(). Users
2081 having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined
2082 or supply their own flush_fn() replacement.
2083 Revised libpng*.txt and png.h documentation about use of png_write_flush()
2084 and png_set_write_fn().
2085 Removed fflush() from pngtest.c.
2086 Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
2087
2088 version 1.4.0beta51 [March 21, 2009]
2089 Removed new png_fileno() macro from pngconf.h .
2090
2091 version 1.4.0beta52 [March 27, 2009]
2092 Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
2093 This avoids building 16-bit gamma tables unnecessarily.
2094 Removed fflush() from pngtest.c.
2095 Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
2096 Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
2097
2098 version 1.4.0beta53 [April 1, 2009]
2099 Removed some remaining MMX macros from pngpriv.h
2100 Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
2101
2102 version 1.4.0beta54 [April 13, 2009]
2103 Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
2104 application code writers to bypass the check for multiple inclusion
2105 of setjmp.h when they know that it is safe to ignore the situation.
2106 Eliminated internal use of setjmp() in pngread.c and pngwrite.c
2107 Reordered ancillary chunks in pngtest.png to be the same as what
2108 pngtest now produces, and made some cosmetic changes to pngtest output.
2109 Eliminated deprecated png_read_init_3() and png_write_init_3() functions.
2110
2111 version 1.4.0beta55 [April 15, 2009]
2112 Simplified error handling in pngread.c and pngwrite.c by putting
2113 the new png_read_cleanup() and png_write_cleanup() functions inline.
2114
2115 version 1.4.0beta56 [April 25, 2009]
2116 Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
2117 "shadowed declaration" warning from gcc-4.3.3.
2118 Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
2119 warning about a global "gamma" variable in math.h on some platforms.
2120
2121 version 1.4.0beta57 [May 2, 2009]
2122 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
2123 but was never defined (again).
2124 Rebuilt configure scripts with autoconf-2.63 instead of 2.62
2125 Removed pngprefs.h and MMX from makefiles
2126
2127 version 1.4.0beta58 [May 14, 2009]
2128 Changed pngw32.def to pngwin.def in makefile.mingw (typo was introduced
2129 in beta57).
2130 Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
2131
2132 version 1.4.0beta59 [May 15, 2009]
2133 Reformated sources in libpng style (3-space intentation, comment format)
2134 Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
2135 Added sections about the git repository and our coding style to the
2136 documentation
2137 Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
2138
2139 version 1.4.0beta60 [May 19, 2009]
2140 Conditionally compile png_read_finish_row() which is not used by
2141 progressive readers.
2142 Added contrib/pngminim/preader to demonstrate building minimal progressive
2143 decoder, based on contrib/gregbook with embedded libpng and zlib.
2144
2145 version 1.4.0beta61 [May 20, 2009]
2146 In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
2147 is only one makefile in those directories, and revised the README files
2148 accordingly.
2149 More reformatting of comments, mostly to capitalize sentences.
2150
2151 version 1.4.0beta62 [June 2, 2009]
2152 Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
2153 and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
2154 Reformatted several remaining "else statement" into two lines.
2155 Added a section to the libpng documentation about using png_get_io_ptr()
2156 in configure scripts to detect the presence of libpng.
2157
2158 version 1.4.0beta63 [June 15, 2009]
2159 Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
2160 multiple times and to specify the sample order in the tRNS chunk,
2161 because the ISO PNG specification has a typo in the tRNS table.
2162 Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
2163 PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
2164 available for ignoring known chunks even when not saving unknown chunks.
2165 Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
2166 "#if defined()" and "if !defined()" where possible.
2167
2168 version 1.4.0beta64 [June 24, 2009]
2169 Eliminated PNG_LEGACY_SUPPORTED code.
2170 Moved the various unknown chunk macro definitions outside of the
2171 PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
2172
2173 version 1.4.0beta65 [June 26, 2009]
2174 Added a reference to the libpng license in each file.
2175
2176 version 1.4.0beta66 [June 27, 2009]
2177 Refer to the libpng license instead of the libpng license in each file.
2178
2179 version 1.4.0beta67 [July 6, 2009]
2180 Relocated INVERT_ALPHA within png_read_png() and png_write_png().
2181 Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
2182 Added an "xcode" project to the projects directory (Alam Arias).
2183
2184 version 1.4.0beta68 [July 19, 2009]
2185 Avoid some tests in filter selection in pngwutil.c
2186
2187 version 1.4.0beta69 [July 25, 2009]
2188 Simplified the new filter-selection test. This runs faster in the
2189 common "PNG_ALL_FILTERS" and PNG_FILTER_NONE cases.
2190 Removed extraneous declaration from the new call to png_read_gray_to_rgb()
2191 (bug introduced in libpng-1.4.0beta67).
2192 Fixed up xcode project (Alam Arias)
2193 Added a prototype for png_64bit_product() in png.c
2194
2195 version 1.4.0beta70 [July 27, 2009]
2196 Avoid a possible NULL dereference in debug build, in png_set_text_2().
2197 (bug introduced in libpng-0.95, discovered by Evan Rouault)
2198
2199 version 1.4.0beta71 [July 29, 2009]
2200 Rebuilt configure scripts with autoconf-2.64.
2201
2202 version 1.4.0beta72 [August 1, 2009]
2203 Replaced *.tar.lzma with *.tar.xz in distribution. Get the xz codec
2204 from <http://tukaani.org/xz>.
2205
2206 version 1.4.0beta73 [August 1, 2009]
2207 Reject attempt to write iCCP chunk with negative embedded profile length
2208 (JD Chen)
2209
2210 version 1.4.0beta74 [August 8, 2009]
2211 Changed png_ptr and info_ptr member "trans" to "trans_alpha".
2212
2213 version 1.4.0beta75 [August 21, 2009]
2214 Removed an extra png_debug() recently added to png_write_find_filter().
2215 Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
2216
2217 version 1.4.0beta76 [August 22, 2009]
2218 Moved an incorrectly located test in png_read_row() in pngread.c
2219
2220 version 1.4.0beta77 [August 27, 2009]
2221 Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
2222 and the "noconfig" files from the distribution.
2223 Moved CMakeLists.txt from scripts into the main libpng directory.
2224 Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
2225
2226 version 1.4.0beta78 [August 31, 2009]
2227 Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
2228 Eliminated PNG_NO_FREE_ME and PNG_FREE_ME_SUPPORTED macros.
2229 Use png_malloc plus a loop instead of png_calloc() to initialize
2230 row_pointers in png_read_png().
2231
2232 version 1.4.0beta79 [September 1, 2009]
2233 Eliminated PNG_GLOBAL_ARRAYS and PNG_LOCAL_ARRAYS; always use local arrays.
2234 Eliminated PNG_CALLOC_SUPPORTED macro and always provide png_calloc().
2235
2236 version 1.4.0beta80 [September 17, 2009]
2237 Removed scripts/libpng.icc
2238 Changed typecast of filler from png_byte to png_uint_16 in png_set_filler().
2239 (Dennis Gustafsson)
2240 Fixed typo introduced in beta78 in pngtest.c ("#if def " should be "#ifdef ")
2241
2242 version 1.4.0beta81 [September 23, 2009]
2243 Eliminated unused PNG_FLAG_FREE_* defines from pngpriv.h
2244 Expanded TAB characters in pngrtran.c
2245 Removed PNG_CONST from all "PNG_CONST PNG_CHNK" declarations to avoid
2246 compiler complaints about doubly declaring things "const".
2247 Changed all "#if [!]defined(X)" to "if[n]def X" where possible.
2248 Eliminated unused png_ptr->row_buf_size
2249
2250 version 1.4.0beta82 [September 25, 2009]
2251 Moved redundant IHDR checking into new png_check_IHDR() in png.c
2252 and report all errors found in the IHDR data.
2253 Eliminated useless call to png_check_cHRM() from pngset.c
2254
2255 version 1.4.0beta83 [September 25, 2009]
2256 Revised png_check_IHDR() to eliminate bogus complaint about filter_type.
2257
2258 version 1.4.0beta84 [September 30, 2009]
2259 Fixed some inconsistent indentation in pngconf.h
2260 Revised png_check_IHDR() to add a test for width variable less than 32-bit.
2261
2262 version 1.4.0beta85 [October 1, 2009]
2263 Revised png_check_IHDR() again, to check info_ptr members instead of
2264 the contents of the returned parameters.
2265
2266 version 1.4.0beta86 [October 9, 2009]
2267 Updated the "xcode" project (Alam Arias).
2268 Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
2269
2270 version 1.4.0rc01 [October 19, 2009]
2271 Trivial cosmetic changes.
2272
2273 version 1.4.0beta87 [October 30, 2009]
2274 Moved version 1.4.0 back into beta.
2275
2276 version 1.4.0beta88 [October 30, 2009]
2277 Revised libpng*.txt section about differences between 1.2.x and 1.4.0
2278 because most of the new features have now been ported back to 1.2.41
2279
2280 version 1.4.0beta89 [November 1, 2009]
2281 More bugfixes and improvements to CMakeLists.txt (Philip Lowman)
2282 Removed a harmless extra png_set_invert_alpha() from pngwrite.c
2283 Apply png_user_chunk_cache_max within png_decompress_chunk().
2284 Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
2285
2286 version 1.4.0beta90 [November 2, 2009]
2287 Removed all remaining WIN32_WCE #ifdefs except those involving the
2288 time.h "tm" structure
2289
2290 version 1.4.0beta91 [November 3, 2009]
2291 Updated scripts/pngw32.def and projects/wince/png32ce.def
2292 Copied projects/wince/png32ce.def to the scripts directory.
2293 Added scripts/makefile.wce
2294 Patched ltmain.sh for wince support.
2295 Added PNG_CONVERT_tIME_SUPPORTED macro.
2296
2297 version 1.4.0beta92 [November 4, 2009]
2298 Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
2299 Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
2300 Revised libpng*.txt to describe differences from 1.2.40 to 1.4.0 (instead
2301 of differences from 1.2.41 to 1.4.0)
2302
2303 version 1.4.0beta93 [November 7, 2009]
2304 Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
2305 PNG_ALLOCATED macros to detect deprecated direct access to the
2306 png_struct or info_struct members and other deprecated usage in
2307 applications (John Bowler).
2308 Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
2309 to prevent warnings about direct access to png structs by libpng
2310 functions while building libpng. They need to be tested, especially
2311 those using compilers other than gcc.
2312 Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
2313 They should work but still need to be updated to remove
2314 references to pnggccrd.c or pngvcrd.c and ASM building.
2315 Added README.txt to the beos, cbuilder5, netware, and xcode projects warning
2316 that they need to be updated, to remove references to pnggccrd.c and
2317 pngvcrd.c and to depend on pngpriv.h
2318 Removed three direct references to read_info_ptr members in pngtest.c
2319 that were detected by the new PNG_DEPSTRUCT macro.
2320 Moved the png_debug macro definitions and the png_read_destroy(),
2321 png_write_destroy() and png_far_to_near() prototypes from png.h
2322 to pngpriv.h (John Bowler)
2323 Moved the synopsis lines for png_read_destroy(), png_write_destroy()
2324 png_debug(), png_debug1(), and png_debug2() from libpng.3 to libpngpf.3.
2325
2326 version 1.4.0beta94 [November 9, 2009]
2327 Removed the obsolete, unused pnggccrd.c and pngvcrd.c files.
2328 Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
2329 Removed dependency of pngtest.o on pngpriv.h in the makefiles.
2330 Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
2331
2332 version 1.4.0beta95 [November 10, 2009]
2333 Changed png_check_sig() to !png_sig_cmp() in contrib programs.
2334 Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
2335 Changed png_check_sig() to !png_sig_cmp() in contrib programs.
2336 Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
2337 Changed pngminim/*/gather.sh to stop trying to remove pnggccrd.c and pngvcrd.c
2338 Added dependency on pngpriv.h in contrib/pngminim/*/makefile
2339
2340 version 1.4.0beta96 [November 12, 2009]
2341 Renamed scripts/makefile.wce to scripts/makefile.cegcc
2342 Revised Makefile.am to use libpng.sys while building libpng.so
2343 so that only PNG_EXPORT functions are exported.
2344 Removed the deprecated png_check_sig() function/macro.
2345 Removed recently removed function names from scripts/*.def
2346 Revised pngtest.png to put chunks in the same order written by pngtest
2347 (evidently the same change made in libpng-1.0beta54 was lost).
2348 Added PNG_PRIVATE macro definition in pngconf.h for possible future use.
2349
2350 version 1.4.0beta97 [November 13, 2009]
2351 Restored pngtest.png to the libpng-1.4.0beta7 version.
2352 Removed projects/beos and netware.txt; no one seems to be supporting them.
2353 Revised Makefile.in
2354
2355 version 1.4.0beta98 [November 13, 2009]
2356 Added the "xcode" project to zip distributions,
2357 Fixed a typo in scripts/pngwin.def introduced in beta97.
2358
2359 version 1.4.0beta99 [November 14, 2009]
2360 Moved libpng-config.in and libpng.pc-configure.in out of the scripts
2361 directory, to libpng-config.in and libpng-pc.in, respectively, and
2362 modified Makefile.am and configure.ac accordingly. Now "configure"
2363 needs nothing from the "scripts" directory.
2364 Avoid redefining PNG_CONST in pngconf.h
2365
2366 version 1.4.0beta100 [November 14, 2009]
2367 Removed ASM builds from projects/visualc6 and projects/visualc71
2368 Removed scripts/makefile.nommx and makefile.vcawin32
2369 Revised CMakeLists.txt to account for new location of libpng-config.in
2370 and libpng-pc.in
2371 Updated INSTALL to reflect removal and relocation of files.
2372
2373 version 1.4.0beta101 [November 14, 2009]
2374 Restored the binary files (*.jpg, *.png, some project files) that were
2375 accidentally deleted from the zip and 7z distributions when the xcode
2376 project was added.
2377
2378 version 1.4.0beta102 [November 18, 2009]
2379 Added libpng-config.in and libpng-pc.in to the zip and 7z distributions.
2380 Fixed a typo in projects/visualc6/pngtest.dsp, introduced in beta100.
2381 Moved descriptions of makefiles and other scripts out of INSTALL into
2382 scripts/README.txt
2383 Updated the copyright year in scripts/pngwin.rc from 2006 to 2009.
2384
2385 version 1.4.0beta103 [November 21, 2009]
2386 Removed obsolete comments about ASM from projects/visualc71/README_zlib.txt
2387 Align row_buf on 16-byte boundary in memory.
2388 Restored the PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED guard around the call
2389 to png_flush() after png_write_IEND(). See 1.4.0beta32, 1.4.0beta50
2390 changes above and 1.2.30, 1.2.30rc01 and rc03 in 1.2.41 CHANGES. Someone
2391 needs this feature.
2392 Make the 'png_jmpbuf' macro expand to a call that records the correct
2393 longjmp function as well as returning a pointer to the setjmp
2394 jmp_buf buffer, and marked direct access to jmpbuf 'deprecated'.
2395 (John Bowler)
2396
2397 version 1.4.0beta104 [November 22, 2009]
2398 Removed png_longjmp_ptr from scripts/*.def and libpng.3
2399 Rebuilt configure scripts with autoconf-2.65
2400
2401 version 1.4.0beta105 [November 25, 2009]
2402 Use fast integer PNG_DIVIDE_BY_255() or PNG_DIVIDE_BY_65535()
2403 to accomplish alpha premultiplication when
2404 PNG_READ_COMPOSITE_NODIV_SUPPORTED is defined.
2405 Changed "/255" to "/255.0" in background calculations to make it clear
2406 that the 255 is used as a double.
2407
2408 version 1.4.0beta106 [November 27, 2009]
2409 Removed premultiplied alpha feature.
2410
2411 version 1.4.0beta107 [December 4, 2009]
2412 Updated README
2413 Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
2414 Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
2415 Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
2416 to put png.h and pngconf.h in $prefix/include, like the other scripts,
2417 instead of in $prefix/include/libpng. Also revised makefile.sco
2418 to put them in $prefix/include/libpng14 instead of in
2419 $prefix/include/libpng/libpng14.
2420
2421 version 1.4.0beta108 [December 11, 2009]
2422 Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
2423 Relocated png_do_chop() to its original position in pngrtran.c; the
2424 change in version 1.2.41beta08 caused transparency to be handled wrong
2425 in some 16-bit datastreams (Yusaku Sugai).
2426
2427 version 1.4.0beta109 [December 13, 2009]
2428 Added "bit_depth" parameter to the private png_build_gamma_table() function.
2429 Pass bit_depth=8 to png_build_gamma_table() when bit_depth is 16 but the
2430 PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit
2431 tables.
2432
2433 version 1.4.0rc02 [December 20, 2009]
2434 Declared png_cleanup_needed "volatile" in pngread.c and pngwrite.c
2435
2436 version 1.4.0rc03 [December 22, 2009]
2437 Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
2438 (revising the change in 1.4.0beta99)
2439
2440 version 1.4.0rc04 [December 25, 2009]
2441 Swapped PNG_UNKNOWN_CHUNKS_SUPPORTED and PNG_HANDLE_AS_UNKNOWN_SUPPORTED
2442 in pngset.c to be consistent with other changes in version 1.2.38.
2443
2444 version 1.4.0rc05 [December 25, 2009]
2445 Changed "libpng-pc.in" to "libpng.pc.in" in configure.ac, configure, and
2446 Makefile.in to be consistent with changes in libpng-1.4.0rc03
2447
2448 version 1.4.0rc06 [December 29, 2009]
2449 Reverted the gamma_table changes from libpng-1.4.0beta109.
2450 Fixed some indentation errors.
2451
2452 version 1.4.0rc07 [January 1, 2010]
2453 Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
2454 Use png_calloc() instead of png_malloc(); png_memset() in pngrutil.c
2455 Update copyright year to 2010.
2456
2457 version 1.4.0rc08 [January 2, 2010]
2458 Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
2459 in pngtest.c
2460
2461 version 1.4.0 [January 3, 2010]
2462 No changes.
2463
2464 version 1.4.1beta01 [January 8, 2010]
2465 Updated CMakeLists.txt for consistent indentation and to avoid an
2466 unclosed if-statement warning (Philip Lowman).
2467 Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
2468 KNOWNBUG, and libpng.la (Robert Schwebel).
2469 Revised the makefiles to install the same files and symbolic
2470 links as configure, except for libpng.la and libpng14.la.
2471 Make png_set|get_compression_buffer_size() available even when
2472 PNG_WRITE_SUPPORTED is not enabled.
2473 Revised Makefile.am and Makefile.in to simplify their maintenance.
2474 Revised scripts/makefile.linux to install a link to libpng14.so.14.1
2475
2476 version 1.4.1beta02 [January 9, 2010]
2477 Revised the rest of the makefiles to install a link to libpng14.so.14.1
2478
2479 version 1.4.1beta03 [January 10, 2010]
2480 Removed png_set_premultiply_alpha() from scripts/*.def
2481
2482 version 1.4.1rc01 [January 16, 2010]
2483 No changes.
2484
2485 version 1.4.1beta04 [January 23, 2010]
2486 Revised png_decompress_chunk() to improve speed and memory usage when
2487 decoding large chunks.
2488 Added png_set|get_chunk_malloc_max() functions.
2489
2490 version 1.4.1beta05 [January 26, 2010]
2491 Relocated "int k" declaration in pngtest.c to minimize its scope.
2492
2493 version 1.4.1beta06 [January 28, 2010]
2494 Revised png_decompress_chunk() to use a two-pass method suggested by
2495 John Bowler.
2496
2497 version 1.4.1beta07 [February 6, 2010]
2498 Folded some long lines in the source files.
2499 Added defineable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
2500 and a PNG_USER_LIMITS_SUPPORTED flag.
2501 Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
2502 png_ptr->png_user_chunk_malloc_max.
2503 Revised png_push_save_buffer() to do fewer but larger png_malloc() calls.
2504
2505 version 1.4.1beta08 [February 6, 2010]
2506 Minor cleanup and updating of dates and copyright year.
2507
2508 version 1.4.1beta09 [February 7, 2010]
2509 Reverted to original png_push_save_buffer() code.
2510
2511 version 1.4.1beta10 [February 9, 2010]
2512 Return allocated "old_buffer" in png_push_save_buffer() before calling
2513 png_error(), to avoid a potential memory leak.
2514
2515 version 1.4.1beta11 [February 12, 2010]
2516 Relocated misplaced closing curley bracket in png_decompress_chunk().
2517 Removed unused "buffer_size" variable from png_decompress_chunk().
2518 Removed the cbuilder5 project, which has not been updated to 1.4.0.
2519 Complete rewrite of two-pass png_decompress_chunk() by John Bowler.
2520
2521 version 1.4.1beta12 [February 14, 2010]
2522 Fixed type declaration of png_get_user_malloc_max() in pngget.c (Daisuke
2523 Nishikawa)
2524
2525 version 1.4.1rc02 [January 18, 2010]
2526 No changes.
2527
2528 version 1.4.1rc03 [February 19, 2010]
2529 Noted in scripts/makefile.mingw that it expects to be run under MSYS.
2530 Removed obsolete unused MMX-querying support from contrib/gregbook
2531 Removed the AIX redefinition of jmpbuf in png.h
2532 Define _ALL_SOURCE in configure.ac, makefile.aix, and CMakeLists.txt
2533 when using AIX compiler.
2534
2535 version 1.4.1rc04 [February 19, 2010]
2536 Removed unused gzio.c from contrib/pngminim gather and makefile scripts
2537
2538 version 1.4.1 [February 25, 2010]
2539
2540 version 1.4.2beta01 [April 1, 2010]
2541 Conditionally compile an "else" statement in png_decompress_chunk().
2542 Restored the macro definition of png_check_sig().
2543
2544 version 1.4.2rc01 [April 10, 2010]
2545 No changes.
2546
2547 version 1.4.2rc02 [April 16, 2010]
2548 Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
2549 Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
2550 more accurately what it actually does. At the same time, renamed
2551 the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
2552 PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
2553
2554 version 1.4.2rc03 [April 24, 2010]
2555 Added some "(long)" typecasts to printf calls in png_handle_cHRM().
2556 Relaxed the overly-restrictive permissions of some files.
2557
2558 version 1.4.2rc04 [April 28, 2010]
2559 Added the "vstudio" project to replace "visualc6" and "visualc71" which
2560 will be removed from libpng-1.5.0.
2561 Demonstrate in example.c that lang_key should be initialized.
2562 Set PNG_NO_READ_BGR, PNG_NO_IO_STATE, and PNG_NO_TIME_RFC1123 in
2563 contrib/pngminim/decoder/pngusr.h to make a smaller decoder application.
2564
2565 version 1.4.2rc05 [April 29, 2010]
2566 Include png_reset_zstream() in png.c only when PNG_READ_SUPPORTED is defined.
2567 Removed dummy_inflate.c and uncompr.c from contrib/pngminim/encoder
2568 Corrected PNG_UNKNOWN_CHUNKS_SUPPORTED to PNG_HANDLE_AS_UNKNOWN_SUPPORTED
2569 in gregbook/readpng2.c
2570 Corrected protection of png_get_user_transform_ptr. The API declaration in
2571 png.h is removed if both READ and WRITE USER_TRANSFORM are turned off
2572 but was left defined in pngtrans.c
2573
2574 version 1.4.2rc06 [May 3, 2010]
2575 Moved declarations of umsg[] inside the proper #ifdef blocks in pngrutil.c
2576
2577 version 1.4.2 [May 6, 2010]
2578
2579 version 1.4.3beta01 [June 18, 2010]
2580 Added missing quotation marks in the aix block of configure.ac
2581 The new "vstudio" project was missing from the zip and 7z distributions.
2582 In pngpread.c: png_push_have_row() add check for new_row > height
2583
2584 version 1.4.3beta02 [June 18, 2010]
2585 Removed the now-redundant check for out-of-bounds new_row from example.c
2586
2587 version 1.4.3beta03 [June 18, 2010]
2588 In pngpread.c: png_push_finish_row() add check for too many rows.
2589
2590 version 1.4.3beta04 [June 19, 2010]
2591 In pngpread.c: png_push_process_row() add check for too many rows.
2592 Removed the checks added in beta01 and beta03, as they are now redundant.
2593
2594 version 1.4.3beta05 [June 20, 2010]
2595 Rewrote png_process_IDAT_data to consistently treat extra data as warnings
2596 and handle end conditions more cleanly.
2597 Removed the new (beta04) check in png_push_process_row().
2598
2599 version 1.4.3rc01 [June 21, 2010]
2600 Revised some comments in png_process_IDAT_data().
2601
2602 version 1.4.3rc02 [June 22, 2010]
2603 Changed char *msg to PNG_CONST char *msg in pngrutil.c
2604 Stop memory leak when reading a malformed sCAL chunk.
2605 Removed some trailing blanks.
2606
2607 version 1.4.3rc03 [June 23, 2010]
2608 Revised pngpread.c patch of beta05 to avoid an endless loop.
2609
2610 version 1.4.3 [June 26, 2010]
2611 Updated some of the "last changed" dates.
2612
2613 Send comments/corrections/commendations to glennrp at users.sourceforge.net
2614 or to png-mng-implement at lists.sf.net (subscription required; visit
2615 https://lists.sourceforge.net/lists/listinfo/png-mng-implement).
2616
2617 Glenn R-P
2618 */ }
2619 #endif