]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libpng/lib/dist/CHANGES
0dff4892299fb2319b362817cbd54fd19bdfb627
[l4.git] / l4 / pkg / libpng / lib / dist / 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