media/libpng/CHANGES

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 #if 0
michael@0 2 CHANGES - changes for libpng
michael@0 3
michael@0 4 Version 0.2
michael@0 5 added reader into png.h
michael@0 6 fixed small problems in stub file
michael@0 7
michael@0 8 Version 0.3
michael@0 9 added pull reader
michael@0 10 split up pngwrite.c to several files
michael@0 11 added pnglib.txt
michael@0 12 added example.c
michael@0 13 cleaned up writer, adding a few new transformations
michael@0 14 fixed some bugs in writer
michael@0 15 interfaced with zlib 0.5
michael@0 16 added K&R support
michael@0 17 added check for 64 KB blocks for 16-bit machines
michael@0 18
michael@0 19 Version 0.4
michael@0 20 cleaned up code and commented code
michael@0 21 simplified time handling into png_time
michael@0 22 created png_color_16 and png_color_8 to handle color needs
michael@0 23 cleaned up color type defines
michael@0 24 fixed various bugs
michael@0 25 made various names more consistent
michael@0 26 interfaced with zlib 0.71
michael@0 27 cleaned up zTXt reader and writer (using zlib's Reset functions)
michael@0 28 split transformations into pngrtran.c and pngwtran.c
michael@0 29
michael@0 30 Version 0.5
michael@0 31 interfaced with zlib 0.8
michael@0 32 fixed many reading and writing bugs
michael@0 33 saved using 3 spaces instead of tabs
michael@0 34
michael@0 35 Version 0.6
michael@0 36 added png_large_malloc() and png_large_free()
michael@0 37 added png_size_t
michael@0 38 cleaned up some compiler warnings
michael@0 39 added png_start_read_image()
michael@0 40
michael@0 41 Version 0.7
michael@0 42 cleaned up lots of bugs
michael@0 43 finished dithering and other stuff
michael@0 44 added test program
michael@0 45 changed name from pnglib to libpng
michael@0 46
michael@0 47 Version 0.71 [June, 1995]
michael@0 48 changed pngtest.png for zlib 0.93
michael@0 49 fixed error in libpng.txt and example.c
michael@0 50
michael@0 51 Version 0.8
michael@0 52 cleaned up some bugs
michael@0 53 added png_set_filler()
michael@0 54 split up pngstub.c into pngmem.c, pngio.c, and pngerror.c
michael@0 55 added #define's to remove unwanted code
michael@0 56 moved png_info_init() to png.c
michael@0 57 added old_size into png_realloc()
michael@0 58 added functions to manually set filtering and compression info
michael@0 59 changed compression parameters based on image type
michael@0 60 optimized filter selection code
michael@0 61 added version info
michael@0 62 changed external functions passing floats to doubles (k&r problems?)
michael@0 63 put all the configurable stuff in pngconf.h
michael@0 64 enabled png_set_shift to work with paletted images on read
michael@0 65 added png_read_update_info() - updates info structure with transformations
michael@0 66
michael@0 67 Version 0.81 [August, 1995]
michael@0 68 incorporated Tim Wegner's medium model code (thanks, Tim)
michael@0 69
michael@0 70 Version 0.82 [September, 1995]
michael@0 71 [unspecified changes]
michael@0 72
michael@0 73 Version 0.85 [December, 1995]
michael@0 74 added more medium model code (almost everything's a far)
michael@0 75 added i/o, error, and memory callback functions
michael@0 76 fixed some bugs (16-bit, 4-bit interlaced, etc.)
michael@0 77 added first run progressive reader (barely tested)
michael@0 78
michael@0 79 Version 0.86 [January, 1996]
michael@0 80 fixed bugs
michael@0 81 improved documentation
michael@0 82
michael@0 83 Version 0.87 [January, 1996]
michael@0 84 fixed medium model bugs
michael@0 85 fixed other bugs introduced in 0.85 and 0.86
michael@0 86 added some minor documentation
michael@0 87
michael@0 88 Version 0.88 [January, 1996]
michael@0 89 fixed progressive bugs
michael@0 90 replaced tabs with spaces
michael@0 91 cleaned up documentation
michael@0 92 added callbacks for read/write and warning/error functions
michael@0 93
michael@0 94 Version 0.89 [July, 1996]
michael@0 95 Added new initialization API to make libpng work better with shared libs
michael@0 96 we now have png_create_read_struct(), png_create_write_struct(),
michael@0 97 png_create_info_struct(), png_destroy_read_struct(), and
michael@0 98 png_destroy_write_struct() instead of the separate calls to
michael@0 99 malloc and png_read_init(), png_info_init(), and png_write_init()
michael@0 100 Changed warning/error callback functions to fix bug - this means you
michael@0 101 should use the new initialization API if you were using the old
michael@0 102 png_set_message_fn() calls, and that the old API no longer exists
michael@0 103 so that people are aware that they need to change their code
michael@0 104 Changed filter selection API to allow selection of multiple filters
michael@0 105 since it didn't work in previous versions of libpng anyways
michael@0 106 Optimized filter selection code
michael@0 107 Fixed png_set_background() to allow using an arbitrary RGB color for
michael@0 108 paletted images
michael@0 109 Fixed gamma and background correction for paletted images, so
michael@0 110 png_correct_palette is not needed unless you are correcting an
michael@0 111 external palette (you will need to #define PNG_CORRECT_PALETTE_SUPPORTED
michael@0 112 in pngconf.h) - if nobody uses this, it may disappear in the future.
michael@0 113 Fixed bug with Borland 64K memory allocation (Alexander Lehmann)
michael@0 114 Fixed bug in interlace handling (Smarasderagd, I think)
michael@0 115 Added more error checking for writing and image to reduce invalid files
michael@0 116 Separated read and write functions so that they won't both be linked
michael@0 117 into a binary when only reading or writing functionality is used
michael@0 118 New pngtest image also has interlacing and zTXt
michael@0 119 Updated documentation to reflect new API
michael@0 120
michael@0 121 Version 0.90 [January, 1997]
michael@0 122 Made CRC errors/warnings on critical and ancillary chunks configurable
michael@0 123 libpng will use the zlib CRC routines by (compile-time) default
michael@0 124 Changed DOS small/medium model memory support - needs zlib 1.04 (Tim Wegner)
michael@0 125 Added external C++ wrapper statements to png.h (Gilles Dauphin)
michael@0 126 Allow PNG file to be read when some or all of file signature has already
michael@0 127 been read from the beginning of the stream. ****This affects the size
michael@0 128 of info_struct and invalidates all programs that use a shared libpng****
michael@0 129 Fixed png_filler() declarations
michael@0 130 Fixed? background color conversions
michael@0 131 Fixed order of error function pointers to match documentation
michael@0 132 Current chunk name is now available in png_struct to reduce the number
michael@0 133 of nearly identical error messages (will simplify multi-lingual
michael@0 134 support when available)
michael@0 135 Try to get ready for unknown-chunk callback functions:
michael@0 136 - previously read critical chunks are flagged, so the chunk handling
michael@0 137 routines can determine if the chunk is in the right place
michael@0 138 - all chunk handling routines have the same prototypes, so we will
michael@0 139 be able to handle all chunks via a callback mechanism
michael@0 140 Try to fix Linux "setjmp" buffer size problems
michael@0 141 Removed png_large_malloc, png_large_free, and png_realloc functions.
michael@0 142
michael@0 143 Version 0.95 [March, 1997]
michael@0 144 Fixed bug in pngwutil.c allocating "up_row" twice and "avg_row" never
michael@0 145 Fixed bug in PNG file signature compares when start != 0
michael@0 146 Changed parameter type of png_set_filler(...filler...) from png_byte
michael@0 147 to png_uint_32
michael@0 148 Added test for MACOS to ensure that both math.h and fp.h are not #included
michael@0 149 Added macros for libpng to be compiled as a Windows DLL (Andreas Kupries)
michael@0 150 Added "packswap" transformation, which changes the endianness of
michael@0 151 packed-pixel bytes (Kevin Bracey)
michael@0 152 Added "strip_alpha" transformation, which removes the alpha channel of
michael@0 153 input images without using it (not necessarily a good idea)
michael@0 154 Added "swap_alpha" transformation, which puts the alpha channel in front
michael@0 155 of the color bytes instead of after
michael@0 156 Removed all implicit variable tests which assume NULL == 0 (I think)
michael@0 157 Changed several variables to "png_size_t" to show 16/32-bit limitations
michael@0 158 Added new pCAL chunk read/write support
michael@0 159 Added experimental filter selection weighting (Greg Roelofs)
michael@0 160 Removed old png_set_rgbx() and png_set_xrgb() functions that have been
michael@0 161 obsolete for about 2 years now (use png_set_filler() instead)
michael@0 162 Added macros to read 16- and 32-bit ints directly from buffer, to be
michael@0 163 used only on those systems that support it (namely PowerPC and 680x0)
michael@0 164 With some testing, this may become the default for MACOS/PPC systems.
michael@0 165 Only calculate CRC on data if we are going to use it
michael@0 166 Added macros for zTXt compression type PNG_zTXt_COMPRESSION_???
michael@0 167 Added macros for simple libpng debugging output selectable at compile time
michael@0 168 Removed PNG_READ_END_MODE in progressive reader (Smarasderagd)
michael@0 169 More description of info_struct in libpng.txt and png.h
michael@0 170 More instructions in example.c
michael@0 171 More chunk types tested in pngtest.c
michael@0 172 Renamed pngrcb.c to pngset.c, and all png_read_<chunk> functions to be
michael@0 173 png_set_<chunk>. We now have corresponding png_get_<chunk>
michael@0 174 functions in pngget.c to get information in info_ptr. This isolates
michael@0 175 the application from the internal organization of png_info_struct
michael@0 176 (good for shared library implementations).
michael@0 177
michael@0 178 Version 0.96 [May, 1997]
michael@0 179 Fixed serious bug with < 8bpp images introduced in 0.95
michael@0 180 Fixed 256-color transparency bug (Greg Roelofs)
michael@0 181 Fixed up documentation (Greg Roelofs, Laszlo Nyul)
michael@0 182 Fixed "error" in pngconf.h for Linux setjmp() behavior
michael@0 183 Fixed DOS medium model support (Tim Wegner)
michael@0 184 Fixed png_check_keyword() for case with error in static string text
michael@0 185 Added read of CRC after IEND chunk for embedded PNGs (Laszlo Nyul)
michael@0 186 Added typecasts to quiet compiler errors
michael@0 187 Added more debugging info
michael@0 188
michael@0 189 Version 0.97 [January, 1998]
michael@0 190 Removed PNG_USE_OWN_CRC capability
michael@0 191 Relocated png_set_crc_action from pngrutil.c to pngrtran.c
michael@0 192 Fixed typecasts of "new_key", etc. (Andreas Dilger)
michael@0 193 Added RFC 1152 [sic] date support
michael@0 194 Fixed bug in gamma handling of 4-bit grayscale
michael@0 195 Added 2-bit grayscale gamma handling (Glenn R-P)
michael@0 196 Added more typecasts. 65536L becomes (png_uint_32)65536L, etc. (Glenn R-P)
michael@0 197 Minor corrections in libpng.txt
michael@0 198 Added simple sRGB support (Glenn R-P)
michael@0 199 Easier conditional compiling, e.g.,
michael@0 200 define PNG_READ/WRITE_NOT_FULLY_SUPPORTED;
michael@0 201 all configurable options can be selected from command-line instead
michael@0 202 of having to edit pngconf.h (Glenn R-P)
michael@0 203 Fixed memory leak in pngwrite.c (free info_ptr->text) (Glenn R-P)
michael@0 204 Added more conditions for png_do_background, to avoid changing
michael@0 205 black pixels to background when a background is supplied and
michael@0 206 no pixels are transparent
michael@0 207 Repaired PNG_NO_STDIO behavior
michael@0 208 Tested NODIV support and made it default behavior (Greg Roelofs)
michael@0 209 Added "-m" option and PNGTEST_DEBUG_MEMORY to pngtest (John Bowler)
michael@0 210 Regularized version numbering scheme and bumped shared-library major
michael@0 211 version number to 2 to avoid problems with libpng 0.89 apps
michael@0 212 (Greg Roelofs)
michael@0 213
michael@0 214 Version 0.98 [January, 1998]
michael@0 215 Cleaned up some typos in libpng.txt and in code documentation
michael@0 216 Fixed memory leaks in pCAL chunk processing (Glenn R-P and John Bowler)
michael@0 217 Cosmetic change "display_gamma" to "screen_gamma" in pngrtran.c
michael@0 218 Changed recommendation about file_gamma for PC images to .51 from .45,
michael@0 219 in example.c and libpng.txt, added comments to distinguish between
michael@0 220 screen_gamma, viewing_gamma, and display_gamma.
michael@0 221 Changed all references to RFC1152 to read RFC1123 and changed the
michael@0 222 PNG_TIME_RFC1152_SUPPORTED macro to PNG_TIME_RFC1123_SUPPORTED
michael@0 223 Added png_invert_alpha capability (Glenn R-P -- suggestion by Jon Vincent)
michael@0 224 Changed srgb_intent from png_byte to int to avoid compiler bugs
michael@0 225
michael@0 226 Version 0.99 [January 30, 1998]
michael@0 227 Free info_ptr->text instead of end_info_ptr->text in pngread.c (John Bowler)
michael@0 228 Fixed a longstanding "packswap" bug in pngtrans.c
michael@0 229 Fixed some inconsistencies in pngconf.h that prevented compiling with
michael@0 230 PNG_READ_GAMMA_SUPPORTED and PNG_READ_hIST_SUPPORTED undefined
michael@0 231 Fixed some typos and made other minor rearrangement of libpng.txt (Andreas)
michael@0 232 Changed recommendation about file_gamma for PC images to .50 from .51 in
michael@0 233 example.c and libpng.txt, and changed file_gamma for sRGB images to .45
michael@0 234 Added a number of functions to access information from the png structure
michael@0 235 png_get_image_height(), etc. (Glenn R-P, suggestion by Brad Pettit)
michael@0 236 Added TARGET_MACOS similar to zlib-1.0.8
michael@0 237 Define PNG_ALWAYS_EXTERN when __MWERKS__ && WIN32 are defined
michael@0 238 Added type casting to all png_malloc() function calls
michael@0 239
michael@0 240 Version 0.99a [January 31, 1998]
michael@0 241 Added type casts and parentheses to all returns that return a value.(Tim W.)
michael@0 242
michael@0 243 Version 0.99b [February 4, 1998]
michael@0 244 Added type cast png_uint_32 on malloc function calls where needed.
michael@0 245 Changed type of num_hist from png_uint_32 to int (same as num_palette).
michael@0 246 Added checks for rowbytes overflow, in case png_size_t is less than 32 bits.
michael@0 247 Renamed makefile.elf to makefile.lnx.
michael@0 248
michael@0 249 Version 0.99c [February 7, 1998]
michael@0 250 More type casting. Removed erroneous overflow test in pngmem.c.
michael@0 251 Added png_buffered_memcpy() and png_buffered_memset(), apply them to rowbytes.
michael@0 252 Added UNIX manual pages libpng.3 (incorporating libpng.txt) and png.5.
michael@0 253
michael@0 254 Version 0.99d [February 11, 1998]
michael@0 255 Renamed "far_to_near()" "png_far_to_near()"
michael@0 256 Revised libpng.3
michael@0 257 Version 99c "buffered" operations didn't work as intended. Replaced them
michael@0 258 with png_memcpy_check() and png_memset_check().
michael@0 259 Added many "if (png_ptr == NULL) return" to quell compiler warnings about
michael@0 260 unused png_ptr, mostly in pngget.c and pngset.c.
michael@0 261 Check for overlength tRNS chunk present when indexed-color PLTE is read.
michael@0 262 Cleaned up spelling errors in libpng.3/libpng.txt
michael@0 263 Corrected a problem with png_get_tRNS() which returned undefined trans array
michael@0 264
michael@0 265 Version 0.99e [February 28, 1998]
michael@0 266 Corrected png_get_tRNS() again.
michael@0 267 Add parentheses for easier reading of pngget.c, fixed "||" should be "&&".
michael@0 268 Touched up example.c to make more of it compileable, although the entire
michael@0 269 file still can't be compiled (Willem van Schaik)
michael@0 270 Fixed a bug in png_do_shift() (Bryan Tsai)
michael@0 271 Added a space in png.h prototype for png_write_chunk_start()
michael@0 272 Replaced pngtest.png with one created with zlib 1.1.1
michael@0 273 Changed pngtest to report PASS even when file size is different (Jean-loup G.)
michael@0 274 Corrected some logic errors in png_do_invert_alpha() (Chris Patterson)
michael@0 275
michael@0 276 Version 0.99f [March 5, 1998]
michael@0 277 Corrected a bug in pngpread() introduced in version 99c (Kevin Bracey)
michael@0 278 Moved makefiles into a "scripts" directory, and added INSTALL instruction file
michael@0 279 Added makefile.os2 and pngos2.def (A. Zabolotny) and makefile.s2x (W. Sebok)
michael@0 280 Added pointers to "note on libpng versions" in makefile.lnx and README
michael@0 281 Added row callback feature when reading and writing nonprogressive rows
michael@0 282 and added a test of this feature in pngtest.c
michael@0 283 Added user transform callbacks, with test of the feature in pngtest.c
michael@0 284
michael@0 285 Version 0.99g [March 6, 1998, morning]
michael@0 286 Minor changes to pngtest.c to suppress compiler warnings.
michael@0 287 Removed "beta" language from documentation.
michael@0 288
michael@0 289 Version 0.99h [March 6, 1998, evening]
michael@0 290 Minor changes to previous minor changes to pngtest.c
michael@0 291 Changed PNG_READ_NOT_FULLY_SUPPORTED to PNG_READ_TRANSFORMS_NOT_SUPPORTED
michael@0 292 and added PNG_PROGRESSIVE_READ_NOT_SUPPORTED macro
michael@0 293 Added user transform capability
michael@0 294
michael@0 295 Version 1.00 [March 7, 1998]
michael@0 296 Changed several typedefs in pngrutil.c
michael@0 297 Added makefile.wat (Pawel Mrochen), updated makefile.tc3 (Willem van Schaik)
michael@0 298 Replaced "while(1)" with "for(;;)"
michael@0 299 Added PNGARG() to prototypes in pngtest.c and removed some prototypes
michael@0 300 Updated some of the makefiles (Tom Lane)
michael@0 301 Changed some typedefs (s_start, etc.) in pngrutil.c
michael@0 302 Fixed dimensions of "short_months" array in pngwrite.c
michael@0 303 Replaced ansi2knr.c with the one from jpeg-v6
michael@0 304
michael@0 305 Version 1.0.0 [March 8, 1998]
michael@0 306 Changed name from 1.00 to 1.0.0 (Adam Costello)
michael@0 307 Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
michael@0 308
michael@0 309 Version 1.0.0a [March 9, 1998]
michael@0 310 Fixed three bugs in pngrtran.c to make gamma+background handling consistent
michael@0 311 (Greg Roelofs)
michael@0 312 Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz
michael@0 313 for major, minor, and bugfix releases. This is 10001. (Adam Costello,
michael@0 314 Tom Lane)
michael@0 315 Make months range from 1-12 in png_convert_to_rfc1123
michael@0 316
michael@0 317 Version 1.0.0b [March 13, 1998]
michael@0 318 Quieted compiler complaints about two empty "for" loops in pngrutil.c
michael@0 319 Minor changes to makefile.s2x
michael@0 320 Removed #ifdef/#endif around a png_free() in pngread.c
michael@0 321
michael@0 322 Version 1.0.1 [March 14, 1998]
michael@0 323 Changed makefile.s2x to reduce security risk of using a relative pathname
michael@0 324 Fixed some typos in the documentation (Greg).
michael@0 325 Fixed a problem with value of "channels" returned by png_read_update_info()
michael@0 326
michael@0 327 Version 1.0.1a [April 21, 1998]
michael@0 328 Optimized Paeth calculations by replacing abs() function calls with intrinsics
michael@0 329 plus other loop optimizations. Improves avg decoding speed by about 20%.
michael@0 330 Commented out i386istic "align" compiler flags in makefile.lnx.
michael@0 331 Reduced the default warning level in some makefiles, to make them consistent.
michael@0 332 Removed references to IJG and JPEG in the ansi2knr.c copyright statement.
michael@0 333 Fixed a bug in png_do_strip_filler with XXRRGGBB => RRGGBB transformation.
michael@0 334 Added grayscale and 16-bit capability to png_do_read_filler().
michael@0 335 Fixed a bug in pngset.c, introduced in version 0.99c, that sets rowbytes
michael@0 336 too large when writing an image with bit_depth < 8 (Bob Dellaca).
michael@0 337 Corrected some bugs in the experimental weighted filtering heuristics.
michael@0 338 Moved a misplaced pngrutil code block that truncates tRNS if it has more
michael@0 339 than num_palette entries -- test was done before num_palette was defined.
michael@0 340 Fixed a png_convert_to_rfc1123() bug that converts day 31 to 0 (Steve Eddins).
michael@0 341 Changed compiler flags in makefile.wat for better optimization
michael@0 342 (Pawel Mrochen).
michael@0 343
michael@0 344 Version 1.0.1b [May 2, 1998]
michael@0 345 Relocated png_do_gray_to_rgb() within png_do_read_transformations() (Greg).
michael@0 346 Relocated the png_composite macros from pngrtran.c to png.h (Greg).
michael@0 347 Added makefile.sco (contributed by Mike Hopkirk).
michael@0 348 Fixed two bugs (missing definitions of "istop") introduced in libpng-1.0.1a.
michael@0 349 Fixed a bug in pngrtran.c that would set channels=5 under some circumstances.
michael@0 350 More work on the Paeth-filtering, achieving imperceptible speedup
michael@0 351 (A Kleinert).
michael@0 352 More work on loop optimization which may help when compiled with C++
michael@0 353 compilers.
michael@0 354 Added warnings when people try to use transforms they've defined out.
michael@0 355 Collapsed 4 "i" and "c" loops into single "i" loops in pngrtran and pngwtran.
michael@0 356 Revised paragraph about png_set_expand() in libpng.txt and libpng.3 (Greg)
michael@0 357
michael@0 358 Version 1.0.1c [May 11, 1998]
michael@0 359 Fixed a bug in pngrtran.c (introduced in libpng-1.0.1a) where the masks for
michael@0 360 filler bytes should have been 0xff instead of 0xf.
michael@0 361 Added max_pixel_depth=32 in pngrutil.c when using FILLER with palette images.
michael@0 362 Moved PNG_WRITE_WEIGHTED_FILTER_SUPPORTED and PNG_WRITE_FLUSH_SUPPORTED
michael@0 363 out of the PNG_WRITE_TRANSFORMS_NOT_SUPPORTED block of pngconf.h
michael@0 364 Added "PNG_NO_WRITE_TRANSFORMS" etc., as alternatives for *_NOT_SUPPORTED,
michael@0 365 for consistency, in pngconf.h
michael@0 366 Added individual "ifndef PNG_NO_[CAPABILITY]" in pngconf.h to make it easier
michael@0 367 to remove unwanted capabilities via the compile line
michael@0 368 Made some corrections to grammar (which, it's) in documentation (Greg).
michael@0 369 Corrected example.c, use of row_pointers in png_write_image().
michael@0 370
michael@0 371 Version 1.0.1d [May 24, 1998]
michael@0 372 Corrected several statements that used side effects illegally in pngrutil.c
michael@0 373 and pngtrans.c, that were introduced in version 1.0.1b
michael@0 374 Revised png_read_rows() to avoid repeated if-testing for NULL (A Kleinert)
michael@0 375 More corrections to example.c, use of row_pointers in png_write_image()
michael@0 376 and png_read_rows().
michael@0 377 Added pngdll.mak and pngdef.pas to scripts directory, contributed by
michael@0 378 Bob Dellaca, to make a png32bd.dll with Borland C++ 4.5
michael@0 379 Fixed error in example.c with png_set_text: num_text is 3, not 2 (Guido V.)
michael@0 380 Changed several loops from count-down to count-up, for consistency.
michael@0 381
michael@0 382 Version 1.0.1e [June 6, 1998]
michael@0 383 Revised libpng.txt and libpng.3 description of png_set_read|write_fn(), and
michael@0 384 added warnings when people try to set png_read_fn and png_write_fn in
michael@0 385 the same structure.
michael@0 386 Added a test such that png_do_gamma will be done when num_trans==0
michael@0 387 for truecolor images that have defined a background. This corrects an
michael@0 388 error that was introduced in libpng-0.90 that can cause gamma processing
michael@0 389 to be skipped.
michael@0 390 Added tests in png.h to include "trans" and "trans_values" in structures
michael@0 391 when PNG_READ_BACKGROUND_SUPPORTED or PNG_READ_EXPAND_SUPPORTED is defined.
michael@0 392 Add png_free(png_ptr->time_buffer) in png_destroy_read_struct()
michael@0 393 Moved png_convert_to_rfc_1123() from pngwrite.c to png.c
michael@0 394 Added capability for user-provided malloc_fn() and free_fn() functions,
michael@0 395 and revised pngtest.c to demonstrate their use, replacing the
michael@0 396 PNGTEST_DEBUG_MEM feature.
michael@0 397 Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
michael@0 398
michael@0 399 Version 1.0.2 [June 14, 1998]
michael@0 400 Fixed two bugs in makefile.bor .
michael@0 401
michael@0 402 Version 1.0.2a [December 30, 1998]
michael@0 403 Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
michael@0 404 Fixed a bug in png_do_filler() that made it fail to write filler bytes in
michael@0 405 the left-most pixel of each row (Kevin Bracey).
michael@0 406 Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
michael@0 407 in pngtest.c (Duncan Simpson).
michael@0 408 Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
michael@0 409 even when no tIME chunk was present in the source file.
michael@0 410 Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
michael@0 411 Fixed a problem in png_read_push_finish_row(), which would not skip some
michael@0 412 passes that it should skip, for images that are less than 3 pixels high.
michael@0 413 Interchanged the order of calls to png_do_swap() and png_do_shift()
michael@0 414 in pngwtran.c (John Cromer).
michael@0 415 Added #ifdef PNG_DEBUG/#endif surrounding use of PNG_DEBUG in png.h .
michael@0 416 Changed "bad adaptive filter type" from error to warning in pngrutil.c .
michael@0 417 Fixed a documentation error about default filtering with 8-bit indexed-color.
michael@0 418 Separated the PNG_NO_STDIO macro into PNG_NO_STDIO and PNG_NO_CONSOLE_IO
michael@0 419 (L. Peter Deutsch).
michael@0 420 Added png_set_rgb_to_gray() and png_get_rgb_to_gray_status() functions.
michael@0 421 Added png_get_copyright() and png_get_header_version() functions.
michael@0 422 Revised comments on png_set_progressive_read_fn() in libpng.txt and example.c
michael@0 423 Added information about debugging in libpng.txt and libpng.3 .
michael@0 424 Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and
michael@0 425 makefile.sco.
michael@0 426 Removed lines after Dynamic Dependencies" in makefile.aco .
michael@0 427 Revised makefile.dec to make a shared library (Jeremie Petit).
michael@0 428 Removed trailing blanks from all files.
michael@0 429
michael@0 430 Version 1.0.2a [January 6, 1999]
michael@0 431 Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
michael@0 432 Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
michael@0 433 Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
michael@0 434 Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
michael@0 435 which is obsolete.
michael@0 436
michael@0 437 Version 1.0.3 [January 14, 1999]
michael@0 438 Added makefile.hux, for Hewlett Packard HPUX 10.20 and 11.00 (Jim Rice)
michael@0 439 Added a statement of Y2K compliance in png.h, libpng.3, and Y2KINFO.
michael@0 440
michael@0 441 Version 1.0.3a [August 12, 1999]
michael@0 442 Added check for PNG_READ_INTERLACE_SUPPORTED in pngread.c; issue a warning
michael@0 443 if an attempt is made to read an interlaced image when it's not supported.
michael@0 444 Added check if png_ptr->trans is defined before freeing it in pngread.c
michael@0 445 Modified the Y2K statement to include versions back to version 0.71
michael@0 446 Fixed a bug in the check for valid IHDR bit_depth/color_types in pngrutil.c
michael@0 447 Modified makefile.wat (added -zp8 flag, ".symbolic", changed some comments)
michael@0 448 Replaced leading blanks with tab characters in makefile.hux
michael@0 449 Changed "dworkin.wustl.edu" to "ccrc.wustl.edu" in various documents.
michael@0 450 Changed (float)red and (float)green to (double)red, (double)green
michael@0 451 in png_set_rgb_to_gray() to avoid "promotion" problems in AIX.
michael@0 452 Fixed a bug in pngconf.h that omitted <stdio.h> when PNG_DEBUG==0 (K Bracey).
michael@0 453 Reformatted libpng.3 and libpngpf.3 with proper fonts (script by J. vanZandt).
michael@0 454 Updated documentation to refer to the PNG-1.2 specification.
michael@0 455 Removed ansi2knr.c and left pointers to the latest source for ansi2knr.c
michael@0 456 in makefile.knr, INSTALL, and README (L. Peter Deutsch)
michael@0 457 Fixed bugs in calculation of the length of rowbytes when adding alpha
michael@0 458 channels to 16-bit images, in pngrtran.c (Chris Nokleberg)
michael@0 459 Added function png_set_user_transform_info() to store user_transform_ptr,
michael@0 460 user_depth, and user_channels into the png_struct, and a function
michael@0 461 png_get_user_transform_ptr() to retrieve the pointer (Chris Nokleberg)
michael@0 462 Added function png_set_empty_plte_permitted() to make libpng useable
michael@0 463 in MNG applications.
michael@0 464 Corrected the typedef for png_free_ptr in png.h (Jesse Jones).
michael@0 465 Correct gamma with srgb is 45455 instead of 45000 in pngrutil.c, to be
michael@0 466 consistent with PNG-1.2, and allow variance of 500 before complaining.
michael@0 467 Added assembler code contributed by Intel in file pngvcrd.c and modified
michael@0 468 makefile.w32 to use it (Nirav Chhatrapati, INTEL Corporation,
michael@0 469 Gilles Vollant)
michael@0 470 Changed "ln -s -f" to "ln -f -s" in the makefiles to make Solaris happy.
michael@0 471 Added some aliases for png_set_expand() in pngrtran.c, namely
michael@0 472 png_set_expand_PLTE(), png_set_expand_depth(), and png_set_expand_tRNS()
michael@0 473 (Greg Roelofs, in "PNG: The Definitive Guide").
michael@0 474 Added makefile.beo for BEOS on X86, contributed by Sander Stok.
michael@0 475
michael@0 476 Version 1.0.3b [August 26, 1999]
michael@0 477 Replaced 2147483647L several places with PNG_MAX_UINT macro, defined in png.h
michael@0 478 Changed leading blanks to tabs in all makefiles.
michael@0 479 Define PNG_USE_PNGVCRD in makefile.w32, to get MMX assembler code.
michael@0 480 Made alternate versions of png_set_expand() in pngrtran.c, namely
michael@0 481 png_set_gray_1_2_4_to_8, png_set_palette_to_rgb, and png_set_tRNS_to_alpha
michael@0 482 (Greg Roelofs, in "PNG: The Definitive Guide"). Deleted the 1.0.3a aliases.
michael@0 483 Relocated start of 'extern "C"' block in png.h so it doesn't include pngconf.h
michael@0 484 Revised calculation of num_blocks in pngmem.c to avoid a potentially
michael@0 485 negative shift distance, whose results are undefined in the C language.
michael@0 486 Added a check in pngset.c to prevent writing multiple tIME chunks.
michael@0 487 Added a check in pngwrite.c to detect invalid small window_bits sizes.
michael@0 488
michael@0 489 Version 1.0.3d [September 4, 1999]
michael@0 490 Fixed type casting of igamma in pngrutil.c
michael@0 491 Added new png_expand functions to scripts/pngdef.pas and pngos2.def
michael@0 492 Added a demo read_user_transform_fn that examines the row filters in pngtest.c
michael@0 493
michael@0 494 Version 1.0.4 [September 24, 1999]
michael@0 495 Define PNG_ALWAYS_EXTERN in pngconf.h if __STDC__ is defined
michael@0 496 Delete #define PNG_INTERNAL and include "png.h" from pngasmrd.h
michael@0 497 Made several minor corrections to pngtest.c
michael@0 498 Renamed the makefiles with longer but more user friendly extensions.
michael@0 499 Copied the PNG copyright and license to a separate LICENSE file.
michael@0 500 Revised documentation, png.h, and example.c to remove reference to
michael@0 501 "viewing_gamma" which no longer appears in the PNG specification.
michael@0 502 Revised pngvcrd.c to use MMX code for interlacing only on the final pass.
michael@0 503 Updated pngvcrd.c to use the faster C filter algorithms from libpng-1.0.1a
michael@0 504 Split makefile.win32vc into two versions, makefile.vcawin32 (uses MMX
michael@0 505 assembler code) and makefile.vcwin32 (doesn't).
michael@0 506 Added a CPU timing report to pngtest.c (enabled by defining PNGTEST_TIMING)
michael@0 507 Added a copy of pngnow.png to the distribution.
michael@0 508
michael@0 509 Version 1.0.4a [September 25, 1999]
michael@0 510 Increase max_pixel_depth in pngrutil.c if a user transform needs it.
michael@0 511 Changed several division operations to right-shifts in pngvcrd.c
michael@0 512
michael@0 513 Version 1.0.4b [September 30, 1999]
michael@0 514 Added parentheses in line 3732 of pngvcrd.c
michael@0 515 Added a comment in makefile.linux warning about buggy -O3 in pgcc 2.95.1
michael@0 516
michael@0 517 Version 1.0.4c [October 1, 1999]
michael@0 518 Added a "png_check_version" function in png.c and pngtest.c that will generate
michael@0 519 a helpful compiler error if an old png.h is found in the search path.
michael@0 520 Changed type of png_user_transform_depth|channels from int to png_byte.
michael@0 521
michael@0 522 Version 1.0.4d [October 6, 1999]
michael@0 523 Changed 0.45 to 0.45455 in png_set_sRGB()
michael@0 524 Removed unused PLTE entries from pngnow.png
michael@0 525 Re-enabled some parts of pngvcrd.c (png_combine_row) that work properly.
michael@0 526
michael@0 527 Version 1.0.4e [October 10, 1999]
michael@0 528 Fixed sign error in pngvcrd.c (Greg Roelofs)
michael@0 529 Replaced some instances of memcpy with simple assignments in pngvcrd (GR-P)
michael@0 530
michael@0 531 Version 1.0.4f [October 15, 1999]
michael@0 532 Surrounded example.c code with #if 0 .. #endif to prevent people from
michael@0 533 inadvertently trying to compile it.
michael@0 534 Changed png_get_header_version() from a function to a macro in png.h
michael@0 535 Added type casting mostly in pngrtran.c and pngwtran.c
michael@0 536 Removed some pointless "ptr = NULL" in pngmem.c
michael@0 537 Added a "contrib" directory containing the source code from Greg's book.
michael@0 538
michael@0 539 Version 1.0.5 [October 15, 1999]
michael@0 540 Minor editing of the INSTALL and README files.
michael@0 541
michael@0 542 Version 1.0.5a [October 23, 1999]
michael@0 543 Added contrib/pngsuite and contrib/pngminus (Willem van Schaik)
michael@0 544 Fixed a typo in the png_set_sRGB() function call in example.c (Jan Nijtmans)
michael@0 545 Further optimization and bugfix of pngvcrd.c
michael@0 546 Revised pngset.c so that it does not allocate or free memory in the user's
michael@0 547 text_ptr structure. Instead, it makes its own copy.
michael@0 548 Created separate write_end_info_struct in pngtest.c for a more severe test.
michael@0 549 Added code in pngwrite.c to free info_ptr->text[i].key to stop a memory leak.
michael@0 550
michael@0 551 Version 1.0.5b [November 23, 1999]
michael@0 552 Moved PNG_FLAG_HAVE_CHUNK_HEADER, PNG_FLAG_BACKGROUND_IS_GRAY and
michael@0 553 PNG_FLAG_WROTE_tIME from flags to mode.
michael@0 554 Added png_write_info_before_PLTE() function.
michael@0 555 Fixed some typecasting in contrib/gregbook/*.c
michael@0 556 Updated scripts/makevms.com and added makevms.com to contrib/gregbook
michael@0 557 and contrib/pngminus (Martin Zinser)
michael@0 558
michael@0 559 Version 1.0.5c [November 26, 1999]
michael@0 560 Moved png_get_header_version from png.h to png.c, to accommodate ansi2knr.
michael@0 561 Removed all global arrays (according to PNG_NO_GLOBAL_ARRAYS macro), to
michael@0 562 accommodate making DLL's: Moved usr_png_ver from global variable to function
michael@0 563 png_get_header_ver() in png.c. Moved png_sig to png_sig_bytes in png.c and
michael@0 564 eliminated use of png_sig in pngwutil.c. Moved the various png_CHNK arrays
michael@0 565 into pngtypes.h. Eliminated use of global png_pass arrays. Declared the
michael@0 566 png_CHNK and png_pass arrays to be "const". Made the global arrays
michael@0 567 available to applications (although none are used in libpng itself) when
michael@0 568 PNG_NO_GLOBAL_ARRAYS is not defined or when PNG_GLOBAL_ARRAYS is defined.
michael@0 569 Removed some extraneous "-I" from contrib/pngminus/makefile.std
michael@0 570 Changed the PNG_sRGB_INTENT macros in png.h to be consistent with PNG-1.2.
michael@0 571 Change PNG_SRGB_INTENT to PNG_sRGB_INTENT in libpng.txt and libpng.3
michael@0 572
michael@0 573 Version 1.0.5d [November 29, 1999]
michael@0 574 Add type cast (png_const_charp) two places in png.c
michael@0 575 Eliminated pngtypes.h; use macros instead to declare PNG_CHNK arrays.
michael@0 576 Renamed "PNG_GLOBAL_ARRAYS" to "PNG_USE_GLOBAL_ARRAYS" and made available
michael@0 577 to applications a macro "PNG_USE_LOCAL_ARRAYS".
michael@0 578 comment out (with #ifdef) all the new declarations when
michael@0 579 PNG_USE_GLOBAL_ARRAYS is defined.
michael@0 580 Added PNG_EXPORT_VAR macro to accommodate making DLL's.
michael@0 581
michael@0 582 Version 1.0.5e [November 30, 1999]
michael@0 583 Added iCCP, iTXt, and sPLT support; added "lang" member to the png_text
michael@0 584 structure; refactored the inflate/deflate support to make adding new chunks
michael@0 585 with trailing compressed parts easier in the future, and added new functions
michael@0 586 png_free_iCCP, png_free_pCAL, png_free_sPLT, png_free_text, png_get_iCCP,
michael@0 587 png_get_spalettes, png_set_iCCP, png_set_spalettes (Eric S. Raymond).
michael@0 588 NOTE: Applications that write text chunks MUST define png_text->lang
michael@0 589 before calling png_set_text(). It must be set to NULL if you want to
michael@0 590 write tEXt or zTXt chunks. If you want your application to be able to
michael@0 591 run with older versions of libpng, use
michael@0 592
michael@0 593 #ifdef PNG_iTXt_SUPPORTED
michael@0 594 png_text[i].lang = NULL;
michael@0 595 #endif
michael@0 596
michael@0 597 Changed png_get_oFFs() and png_set_oFFs() to use signed rather than unsigned
michael@0 598 offsets (Eric S. Raymond).
michael@0 599 Combined PNG_READ_cHNK_SUPPORTED and PNG_WRITE_cHNK_SUPPORTED macros into
michael@0 600 PNG_cHNK_SUPPORTED and combined the three types of PNG_text_SUPPORTED
michael@0 601 macros, leaving the separate macros also available.
michael@0 602 Removed comments on #endifs at the end of many short, non-nested #if-blocks.
michael@0 603
michael@0 604 Version 1.0.5f [December 6, 1999]
michael@0 605 Changed makefile.solaris to issue a warning about potential problems when
michael@0 606 the ucb "ld" is in the path ahead of the ccs "ld".
michael@0 607 Removed "- [date]" from the "synopsis" line in libpng.3 and libpngpf.3.
michael@0 608 Added sCAL chunk support (Eric S. Raymond).
michael@0 609
michael@0 610 Version 1.0.5g [December 7, 1999]
michael@0 611 Fixed "png_free_spallettes" typo in png.h
michael@0 612 Added code to handle new chunks in pngpread.c
michael@0 613 Moved PNG_CHNK string macro definitions outside of PNG_NO_EXTERN block
michael@0 614 Added "translated_key" to png_text structure and png_write_iTXt().
michael@0 615 Added code in pngwrite.c to work around a newly discovered zlib bug.
michael@0 616
michael@0 617 Version 1.0.5h [December 10, 1999]
michael@0 618 NOTE: regarding the note for version 1.0.5e, the following must also
michael@0 619 be included in your code:
michael@0 620 png_text[i].translated_key = NULL;
michael@0 621 Unknown chunk handling is now supported.
michael@0 622 Option to eliminate all floating point support was added. Some new
michael@0 623 fixed-point functions such as png_set_gAMA_fixed() were added.
michael@0 624 Expanded tabs and removed trailing blanks in source files.
michael@0 625
michael@0 626 Version 1.0.5i [December 13, 1999]
michael@0 627 Added some type casts to silence compiler warnings.
michael@0 628 Renamed "png_free_spalette" to "png_free_spalettes" for consistency.
michael@0 629 Removed leading blanks from a #define in pngvcrd.c
michael@0 630 Added some parameters to the new png_set_keep_unknown_chunks() function.
michael@0 631 Added a test for up->location != 0 in the first instance of writing
michael@0 632 unknown chunks in pngwrite.c
michael@0 633 Changed "num" to "i" in png_free_spalettes() and png_free_unknowns() to
michael@0 634 prevent recursion.
michael@0 635 Added png_free_hIST() function.
michael@0 636 Various patches to fix bugs in the sCAL and integer cHRM processing,
michael@0 637 and to add some convenience macros for use with sCAL.
michael@0 638
michael@0 639 Version 1.0.5j [December 21, 1999]
michael@0 640 Changed "unit" parameter of png_write_sCAL from png_byte to int, to work
michael@0 641 around buggy compilers.
michael@0 642 Added new type "png_fixed_point" for integers that hold float*100000 values
michael@0 643 Restored backward compatibility of tEXt/zTXt chunk processing:
michael@0 644 Restored the first four members of png_text to the same order as v.1.0.5d.
michael@0 645 Added members "lang_key" and "itxt_length" to png_text struct. Set
michael@0 646 text_length=0 when "text" contains iTXt data. Use the "compression"
michael@0 647 member to distinguish among tEXt/zTXt/iTXt types. Added
michael@0 648 PNG_ITXT_COMPRESSION_NONE (1) and PNG_ITXT_COMPRESSION_zTXt(2) macros.
michael@0 649 The "Note" above, about backward incompatibility of libpng-1.0.5e, no
michael@0 650 longer applies.
michael@0 651 Fixed png_read|write_iTXt() to read|write parameters in the right order,
michael@0 652 and to write the iTXt chunk after IDAT if it appears in the end_ptr.
michael@0 653 Added pnggccrd.c, version of pngvcrd.c Intel assembler for gcc (Greg Roelofs)
michael@0 654 Reversed the order of trying to write floating-point and fixed-point gAMA.
michael@0 655
michael@0 656 Version 1.0.5k [December 27, 1999]
michael@0 657 Added many parentheses, e.g., "if (a && b & c)" becomes "if (a && (b & c))"
michael@0 658 Added png_handle_as_unknown() function (Glenn)
michael@0 659 Added png_free_chunk_list() function and chunk_list and num_chunk_list members
michael@0 660 of png_ptr.
michael@0 661 Eliminated erroneous warnings about multiple sPLT chunks and sPLT-after-PLTE.
michael@0 662 Fixed a libpng-1.0.5h bug in pngrutil.c that was issuing erroneous warnings
michael@0 663 about ignoring incorrect gAMA with sRGB (gAMA was in fact not ignored)
michael@0 664 Added png_free_tRNS(); png_set_tRNS() now malloc's its own trans array (ESR).
michael@0 665 Define png_get_int_32 when oFFs chunk is supported as well as when pCAL is.
michael@0 666 Changed type of proflen from png_int_32 to png_uint_32 in png_get_iCCP().
michael@0 667
michael@0 668 Version 1.0.5l [January 1, 2000]
michael@0 669 Added functions png_set_read_user_chunk_fn() and png_get_user_chunk_ptr()
michael@0 670 for setting a callback function to handle unknown chunks and for
michael@0 671 retrieving the associated user pointer (Glenn).
michael@0 672
michael@0 673 Version 1.0.5m [January 7, 2000]
michael@0 674 Added high-level functions png_read_png(), png_write_png(), png_free_pixels().
michael@0 675
michael@0 676 Version 1.0.5n [January 9, 2000]
michael@0 677 Added png_free_PLTE() function, and modified png_set_PLTE() to malloc its
michael@0 678 own memory for info_ptr->palette. This makes it safe for the calling
michael@0 679 application to free its copy of the palette any time after it calls
michael@0 680 png_set_PLTE().
michael@0 681
michael@0 682 Version 1.0.5o [January 20, 2000]
michael@0 683 Cosmetic changes only (removed some trailing blanks and TABs)
michael@0 684
michael@0 685 Version 1.0.5p [January 31, 2000]
michael@0 686 Renamed pngdll.mak to makefile.bd32
michael@0 687 Cosmetic changes in pngtest.c
michael@0 688
michael@0 689 Version 1.0.5q [February 5, 2000]
michael@0 690 Relocated the makefile.solaris warning about PATH problems.
michael@0 691 Fixed pngvcrd.c bug by pushing/popping registers in mmxsupport (Bruce Oberg)
michael@0 692 Revised makefile.gcmmx
michael@0 693 Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros
michael@0 694
michael@0 695 Version 1.0.5r [February 7, 2000]
michael@0 696 Removed superfluous prototype for png_get_itxt from png.h
michael@0 697 Fixed a bug in pngrtran.c that improperly expanded the background color.
michael@0 698 Return *num_text=0 from png_get_text() when appropriate, and fix documentation
michael@0 699 of png_get_text() in libpng.txt/libpng.3.
michael@0 700
michael@0 701 Version 1.0.5s [February 18, 2000]
michael@0 702 Added "png_jmp_env()" macro to pngconf.h, to help people migrate to the
michael@0 703 new error handler that's planned for the next libpng release, and changed
michael@0 704 example.c, pngtest.c, and contrib programs to use this macro.
michael@0 705 Revised some of the DLL-export macros in pngconf.h (Greg Roelofs)
michael@0 706 Fixed a bug in png_read_png() that caused it to fail to expand some images
michael@0 707 that it should have expanded.
michael@0 708 Fixed some mistakes in the unused and undocumented INCH_CONVERSIONS functions
michael@0 709 in pngget.c
michael@0 710 Changed the allocation of palette, history, and trans arrays back to
michael@0 711 the version 1.0.5 method (linking instead of copying) which restores
michael@0 712 backward compatibility with version 1.0.5. Added some remarks about
michael@0 713 that in example.c. Added "free_me" member to info_ptr and png_ptr
michael@0 714 and added png_free_data() function.
michael@0 715 Updated makefile.linux and makefile.gccmmx to make directories conditionally.
michael@0 716 Made cosmetic changes to pngasmrd.h
michael@0 717 Added png_set_rows() and png_get_rows(), for use with png_read|write_png().
michael@0 718 Modified png_read_png() to allocate info_ptr->row_pointers only if it
michael@0 719 hasn't already been allocated.
michael@0 720
michael@0 721 Version 1.0.5t [March 4, 2000]
michael@0 722 Changed png_jmp_env() migration aiding macro to png_jmpbuf().
michael@0 723 Fixed "interlace" typo (should be "interlaced") in contrib/gregbook/read2-x.c
michael@0 724 Fixed bug with use of PNG_BEFORE_IHDR bit in png_ptr->mode, introduced when
michael@0 725 PNG_FLAG_HAVE_CHUNK_HEADER was moved into png_ptr->mode in version 1.0.5b
michael@0 726 Files in contrib/gregbook were revised to use png_jmpbuf() and to select
michael@0 727 a 24-bit visual if one is available, and to allow abbreviated options.
michael@0 728 Files in contrib/pngminus were revised to use the png_jmpbuf() macro.
michael@0 729 Removed spaces in makefile.linux and makefile.gcmmx, introduced in 1.0.5s
michael@0 730
michael@0 731 Version 1.0.5u [March 5, 2000]
michael@0 732 Simplified the code that detects old png.h in png.c and pngtest.c
michael@0 733 Renamed png_spalette (_p, _pp) to png_sPLT_t (_tp, _tpp)
michael@0 734 Increased precision of rgb_to_gray calculations from 8 to 15 bits and
michael@0 735 added png_set_rgb_to_gray_fixed() function.
michael@0 736 Added makefile.bc32 (32-bit Borland C++, C mode)
michael@0 737
michael@0 738 Version 1.0.5v [March 11, 2000]
michael@0 739 Added some parentheses to the png_jmpbuf macro definition.
michael@0 740 Updated references to the zlib home page, which has moved to freesoftware.com.
michael@0 741 Corrected bugs in documentation regarding png_read_row() and png_write_row().
michael@0 742 Updated documentation of png_rgb_to_gray calculations in libpng.3/libpng.txt.
michael@0 743 Renamed makefile.borland,turboc3 back to makefile.bor,tc3 as in version 1.0.3,
michael@0 744 revised borland makefiles; added makefile.ibmvac3 and makefile.gcc (Cosmin)
michael@0 745
michael@0 746 Version 1.0.6 [March 20, 2000]
michael@0 747 Minor revisions of makefile.bor, libpng.txt, and gregbook/rpng2-win.c
michael@0 748 Added makefile.sggcc (SGI IRIX with gcc)
michael@0 749
michael@0 750 Version 1.0.6d [April 7, 2000]
michael@0 751 Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO
michael@0 752 Added data_length parameter to png_decompress_chunk() function
michael@0 753 Revised documentation to remove reference to abandoned png_free_chnk functions
michael@0 754 Fixed an error in png_rgb_to_gray_fixed()
michael@0 755 Revised example.c, usage of png_destroy_write_struct().
michael@0 756 Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file
michael@0 757 Added a check for info_ptr->free_me&PNG_FREE_TEXT when freeing text in png.c
michael@0 758 Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
michael@0 759
michael@0 760 Version 1.0.6e [April 9, 2000]
michael@0 761 Added png_data_freer() function.
michael@0 762 In the code that checks for over-length tRNS chunks, added check of
michael@0 763 info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
michael@0 764 Minor revisions of libpng.txt/libpng.3.
michael@0 765 Check for existing data and free it if the free_me flag is set, in png_set_*()
michael@0 766 and png_handle_*().
michael@0 767 Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED
michael@0 768 is defined.
michael@0 769 Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c
michael@0 770 and mentioned the purposes of the two macros in libpng.txt/libpng.3.
michael@0 771
michael@0 772 Version 1.0.6f [April 14, 2000]
michael@0 773 Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data.
michael@0 774 Add checks in png_set_text() for NULL members of the input text structure.
michael@0 775 Revised libpng.txt/libpng.3.
michael@0 776 Removed superfluous prototype for png_set_iTXt from png.h
michael@0 777 Removed "else" from pngread.c, after png_error(), and changed "0" to "length".
michael@0 778 Changed several png_errors about malformed ancillary chunks to png_warnings.
michael@0 779
michael@0 780 Version 1.0.6g [April 24, 2000]
michael@0 781 Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
michael@0 782 Relocated paragraph about png_set_background() in libpng.3/libpng.txt
michael@0 783 and other revisions (Matthias Benckmann)
michael@0 784 Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
michael@0 785 png_ptr members to restore binary compatibility with libpng-1.0.5
michael@0 786 (breaks compatibility with libpng-1.0.6).
michael@0 787
michael@0 788 Version 1.0.6h [April 24, 2000]
michael@0 789 Changed shared library so-number pattern from 2.x.y.z to xy.z (this builds
michael@0 790 libpng.so.10 & libpng.so.10.6h instead of libpng.so.2 & libpng.so.2.1.0.6h)
michael@0 791 This is a temporary change for test purposes.
michael@0 792
michael@0 793 Version 1.0.6i [May 2, 2000]
michael@0 794 Rearranged some members at the end of png_info and png_struct, to put
michael@0 795 unknown_chunks_num and free_me within the original size of the png_structs
michael@0 796 and free_me, png_read_user_fn, and png_free_fn within the original png_info,
michael@0 797 because some old applications allocate the structs directly instead of
michael@0 798 using png_create_*().
michael@0 799 Added documentation of user memory functions in libpng.txt/libpng.3
michael@0 800 Modified png_read_png so that it will use user_allocated row_pointers
michael@0 801 if present, unless free_me directs that it be freed, and added description
michael@0 802 of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3.
michael@0 803 Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version
michael@0 804 1.00) members of png_struct and png_info, to regain binary compatibility
michael@0 805 when you define this macro. Capabilities lost in this event
michael@0 806 are user transforms (new in version 1.0.0),the user transform pointer
michael@0 807 (new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT,
michael@0 808 the high-level interface, and unknown chunks support (all new in 1.0.6).
michael@0 809 This was necessary because of old applications that allocate the structs
michael@0 810 directly as authors were instructed to do in libpng-0.88 and earlier,
michael@0 811 instead of using png_create_*().
michael@0 812 Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
michael@0 813 can be used to detect codes that directly allocate the structs, and
michael@0 814 code to check these modes in png_read_init() and png_write_init() and
michael@0 815 generate a libpng error if the modes aren't set and PNG_LEGACY_SUPPORTED
michael@0 816 was not defined.
michael@0 817 Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
michael@0 818
michael@0 819 Version 1.0.6j [May 3, 2000]
michael@0 820 Overloaded png_read_init() and png_write_init() with macros that convert
michael@0 821 calls to png_read_init_2() or png_write_init_2() that check the version
michael@0 822 and structure sizes.
michael@0 823
michael@0 824 Version 1.0.7beta11 [May 7, 2000]
michael@0 825 Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes
michael@0 826 which are no longer used.
michael@0 827 Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is
michael@0 828 defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED
michael@0 829 is defined.
michael@0 830 Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory
michael@0 831 overrun when old applications fill the info_ptr->text structure directly.
michael@0 832 Added PNGAPI macro, and added it to the definitions of all exported functions.
michael@0 833 Relocated version macro definitions ahead of the includes of zlib.h and
michael@0 834 pngconf.h in png.h.
michael@0 835
michael@0 836 Version 1.0.7beta12 [May 12, 2000]
michael@0 837 Revised pngset.c to avoid a problem with expanding the png_debug macro.
michael@0 838 Deleted some extraneous defines from pngconf.h
michael@0 839 Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined.
michael@0 840 Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined.
michael@0 841 Added png_access_version_number() function.
michael@0 842 Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data().
michael@0 843 Expanded libpng.3/libpng.txt information about png_data_freer().
michael@0 844
michael@0 845 Version 1.0.7beta14 [May 17, 2000] (beta13 was not published)
michael@0 846 Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as
michael@0 847 warnings instead of errors, as pngrutil.c does.
michael@0 848 Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png()
michael@0 849 will actually write IDATs.
michael@0 850 Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32.
michael@0 851 Make png_free_data() ignore its final parameter except when freeing data
michael@0 852 that can have multiple instances (text, sPLT, unknowns).
michael@0 853 Fixed a new bug in png_set_rows().
michael@0 854 Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
michael@0 855 Added png_set_invalid() function.
michael@0 856 Fixed incorrect illustrations of png_destroy_write_struct() in example.c.
michael@0 857
michael@0 858 Version 1.0.7beta15 [May 30, 2000]
michael@0 859 Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce
michael@0 860 fewer error messages.
michael@0 861 Rearranged checks for Z_OK to check the most likely path first in pngpread.c
michael@0 862 and pngwutil.c.
michael@0 863 Added checks in pngtest.c for png_create_*() returning NULL, and mentioned
michael@0 864 in libpng.txt/libpng.3 the need for applications to check this.
michael@0 865 Changed names of png_default_*() functions in pngtest to pngtest_*().
michael@0 866 Changed return type of png_get_x|y_offset_*() from png_uint_32 to png_int_32.
michael@0 867 Fixed some bugs in the unused PNG_INCH_CONVERSIONS functions in pngget.c
michael@0 868 Set each pointer to NULL after freeing it in png_free_data().
michael@0 869 Worked around a problem in pngconf.h; AIX's strings.h defines an "index"
michael@0 870 macro that conflicts with libpng's png_color_16.index. (Dimitri
michael@0 871 Papadapoulos)
michael@0 872 Added "msvc" directory with MSVC++ project files (Simon-Pierre Cadieux).
michael@0 873
michael@0 874 Version 1.0.7beta16 [June 4, 2000]
michael@0 875 Revised the workaround of AIX string.h "index" bug.
michael@0 876 Added a check for overlength PLTE chunk in pngrutil.c.
michael@0 877 Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
michael@0 878 indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
michael@0 879 Added a warning in png_decompress_chunk() when it runs out of data, e.g.
michael@0 880 when it tries to read an erroneous PhotoShop iCCP chunk.
michael@0 881 Added PNG_USE_DLL macro.
michael@0 882 Revised the copyright/disclaimer/license notice.
michael@0 883 Added contrib/msvctest directory
michael@0 884
michael@0 885 Version 1.0.7rc1 [June 9, 2000]
michael@0 886 Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200)
michael@0 887 Added contrib/visupng directory (Willem van Schaik)
michael@0 888
michael@0 889 Version 1.0.7beta18 [June 23, 2000]
michael@0 890 Revised PNGAPI definition, and pngvcrd.c to work with __GCC__
michael@0 891 and do not redefine PNGAPI if it is passed in via a compiler directive.
michael@0 892 Revised visupng/PngFile.c to remove returns from within the Try block.
michael@0 893 Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros.
michael@0 894 Updated contrib/visupng/cexcept.h to version 1.0.0.
michael@0 895 Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks.
michael@0 896
michael@0 897 Version 1.0.7rc2 [June 28, 2000]
michael@0 898 Updated license to include disclaimers required by UCITA.
michael@0 899 Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
michael@0 900
michael@0 901 Version 1.0.7 [July 1, 2000]
michael@0 902 Revised the definition of "trans_values" in libpng.3/libpng.txt
michael@0 903
michael@0 904 Version 1.0.8beta1 [July 8, 2000]
michael@0 905 Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
michael@0 906 Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
michael@0 907 pngwutil.c.
michael@0 908 Changed PNG_EXPORT_VAR to use PNG_IMPEXP, in pngconf.h.
michael@0 909 Removed unused "#include <assert.h>" from png.c
michael@0 910 Added WindowsCE support.
michael@0 911 Revised pnggccrd.c to work with gcc-2.95.2 and in the Cygwin environment.
michael@0 912
michael@0 913 Version 1.0.8beta2 [July 10, 2000]
michael@0 914 Added project files to the wince directory and made further revisions
michael@0 915 of pngtest.c, pngrio.c, and pngwio.c in support of WindowsCE.
michael@0 916
michael@0 917 Version 1.0.8beta3 [July 11, 2000]
michael@0 918 Only set the PNG_FLAG_FREE_TRNS or PNG_FREE_TRNS flag in png_handle_tRNS()
michael@0 919 for indexed-color input files to avoid potential double-freeing trans array
michael@0 920 under some unusual conditions; problem was introduced in version 1.0.6f.
michael@0 921 Further revisions to pngtest.c and files in the wince subdirectory.
michael@0 922
michael@0 923 Version 1.0.8beta4 [July 14, 2000]
michael@0 924 Added the files pngbar.png and pngbar.jpg to the distribution.
michael@0 925 Added makefile.cygwin, and cygwin support in pngconf.h
michael@0 926 Added PNG_NO_ZALLOC_ZERO macro (makes png_zalloc skip zeroing memory)
michael@0 927
michael@0 928 Version 1.0.8rc1 [July 16, 2000]
michael@0 929 Revised png_debug() macros and statements to eliminate compiler warnings.
michael@0 930
michael@0 931 Version 1.0.8 [July 24, 2000]
michael@0 932 Added png_flush() in pngwrite.c, after png_write_IEND().
michael@0 933 Updated makefile.hpux to build a shared library.
michael@0 934
michael@0 935 Version 1.0.9beta1 [November 10, 2000]
michael@0 936 Fixed typo in scripts/makefile.hpux
michael@0 937 Updated makevms.com in scripts and contrib/* and contrib/* (Martin Zinser)
michael@0 938 Fixed seqence-point bug in contrib/pngminus/png2pnm (Martin Zinser)
michael@0 939 Changed "cdrom.com" in documentation to "libpng.org"
michael@0 940 Revised pnggccrd.c to get it all working, and updated makefile.gcmmx (Greg).
michael@0 941 Changed type of "params" from voidp to png_voidp in png_read|write_png().
michael@0 942 Make sure PNGAPI and PNG_IMPEXP are defined in pngconf.h.
michael@0 943 Revised the 3 instances of WRITEFILE in pngtest.c.
michael@0 944 Relocated "msvc" and "wince" project subdirectories into "dll" subdirectory.
michael@0 945 Updated png.rc in dll/msvc project
michael@0 946 Revised makefile.dec to define and use LIBPATH and INCPATH
michael@0 947 Increased size of global png_libpng_ver[] array from 12 to 18 chars.
michael@0 948 Made global png_libpng_ver[], png_sig[] and png_pass_*[] arrays const.
michael@0 949 Removed duplicate png_crc_finish() from png_handle_bKGD() function.
michael@0 950 Added a warning when application calls png_read_update_info() multiple times.
michael@0 951 Revised makefile.cygwin
michael@0 952 Fixed bugs in iCCP support in pngrutil.c and pngwutil.c.
michael@0 953 Replaced png_set_empty_plte_permitted() with png_permit_mng_features().
michael@0 954
michael@0 955 Version 1.0.9beta2 [November 19, 2000]
michael@0 956 Renamed the "dll" subdirectory "projects".
michael@0 957 Added borland project files to "projects" subdirectory.
michael@0 958 Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
michael@0 959 Add error message in png_set_compression_buffer_size() when malloc fails.
michael@0 960
michael@0 961 Version 1.0.9beta3 [November 23, 2000]
michael@0 962 Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
michael@0 963 Removed the png_flush() in pngwrite.c that crashes some applications
michael@0 964 that don't set png_output_flush_fn.
michael@0 965 Added makefile.macosx and makefile.aix to scripts directory.
michael@0 966
michael@0 967 Version 1.0.9beta4 [December 1, 2000]
michael@0 968 Change png_chunk_warning to png_warning in png_check_keyword().
michael@0 969 Increased the first part of msg buffer from 16 to 18 in png_chunk_error().
michael@0 970
michael@0 971 Version 1.0.9beta5 [December 15, 2000]
michael@0 972 Added support for filter method 64 (for PNG datastreams embedded in MNG).
michael@0 973
michael@0 974 Version 1.0.9beta6 [December 18, 2000]
michael@0 975 Revised png_set_filter() to accept filter method 64 when appropriate.
michael@0 976 Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
michael@0 977 help prevent applications from using MNG features in PNG datastreams.
michael@0 978 Added png_permit_mng_features() function.
michael@0 979 Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
michael@0 980
michael@0 981 Version 1.0.9rc1 [December 23, 2000]
michael@0 982 Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
michael@0 983 Fixed error handling of unknown compression type in png_decompress_chunk().
michael@0 984 In pngconf.h, define __cdecl when _MSC_VER is defined.
michael@0 985
michael@0 986 Version 1.0.9beta7 [December 28, 2000]
michael@0 987 Changed PNG_TEXT_COMPRESSION_zTXt to PNG_COMPRESSION_TYPE_BASE several places.
michael@0 988 Revised memory management in png_set_hIST and png_handle_hIST in a backward
michael@0 989 compatible manner. PLTE and tRNS were revised similarly.
michael@0 990 Revised the iCCP chunk reader to ignore trailing garbage.
michael@0 991
michael@0 992 Version 1.0.9beta8 [January 12, 2001]
michael@0 993 Moved pngasmrd.h into pngconf.h.
michael@0 994 Improved handling of out-of-spec garbage iCCP chunks generated by PhotoShop.
michael@0 995
michael@0 996 Version 1.0.9beta9 [January 15, 2001]
michael@0 997 Added png_set_invalid, png_permit_mng_features, and png_mmx_supported to
michael@0 998 wince and msvc project module definition files.
michael@0 999 Minor revision of makefile.cygwin.
michael@0 1000 Fixed bug with progressive reading of narrow interlaced images in pngpread.c
michael@0 1001
michael@0 1002 Version 1.0.9beta10 [January 16, 2001]
michael@0 1003 Do not typedef png_FILE_p in pngconf.h when PNG_NO_STDIO is defined.
michael@0 1004 Fixed "png_mmx_supported" typo in project definition files.
michael@0 1005
michael@0 1006 Version 1.0.9beta11 [January 19, 2001]
michael@0 1007 Updated makefile.sgi to make shared library.
michael@0 1008 Removed png_mmx_support() function and disabled PNG_MNG_FEATURES_SUPPORTED
michael@0 1009 by default, for the benefit of DLL forward compatibility. These will
michael@0 1010 be re-enabled in version 1.2.0.
michael@0 1011
michael@0 1012 Version 1.0.9rc2 [January 22, 2001]
michael@0 1013 Revised cygwin support.
michael@0 1014
michael@0 1015 Version 1.0.9 [January 31, 2001]
michael@0 1016 Added check of cygwin's ALL_STATIC in pngconf.h
michael@0 1017 Added "-nommx" parameter to contrib/gregbook/rpng2-win and rpng2-x demos.
michael@0 1018
michael@0 1019 Version 1.0.10beta1 [March 14, 2001]
michael@0 1020 Revised makefile.dec, makefile.sgi, and makefile.sggcc; added makefile.hpgcc.
michael@0 1021 Reformatted libpng.3 to eliminate bad line breaks.
michael@0 1022 Added checks for _mmx_supported in the read_filter_row function of pnggccrd.c
michael@0 1023 Added prototype for png_mmx_support() near the top of pnggccrd.c
michael@0 1024 Moved some error checking from png_handle_IHDR to png_set_IHDR.
michael@0 1025 Added PNG_NO_READ_SUPPORTED and PNG_NO_WRITE_SUPPORTED macros.
michael@0 1026 Revised png_mmx_support() function in pnggccrd.c
michael@0 1027 Restored version 1.0.8 PNG_WRITE_EMPTY_PLTE_SUPPORTED behavior in pngwutil.c
michael@0 1028 Fixed memory leak in contrib/visupng/PngFile.c
michael@0 1029 Fixed bugs in png_combine_row() in pnggccrd.c and pngvcrd.c (C version)
michael@0 1030 Added warnings when retrieving or setting gamma=0.
michael@0 1031 Increased the first part of msg buffer from 16 to 18 in png_chunk_warning().
michael@0 1032
michael@0 1033 Version 1.0.10rc1 [March 23, 2001]
michael@0 1034 Changed all instances of memcpy, strcpy, and strlen to png_memcpy, png_strcpy,
michael@0 1035 and png_strlen.
michael@0 1036 Revised png_mmx_supported() function in pnggccrd.c to return proper value.
michael@0 1037 Fixed bug in progressive reading (pngpread.c) with small images (height < 8).
michael@0 1038
michael@0 1039 Version 1.0.10 [March 30, 2001]
michael@0 1040 Deleted extraneous space (introduced in 1.0.9) from line 42 of makefile.cygwin
michael@0 1041 Added beos project files (Chris Herborth)
michael@0 1042
michael@0 1043 Version 1.0.11beta1 [April 3, 2001]
michael@0 1044 Added type casts on several png_malloc() calls (Dimitri Papadapoulos).
michael@0 1045 Removed a no-longer needed AIX work-around from pngconf.h
michael@0 1046 Changed several "//" single-line comments to C-style in pnggccrd.c
michael@0 1047
michael@0 1048 Version 1.0.11beta2 [April 11, 2001]
michael@0 1049 Removed PNGAPI from several functions whose prototypes did not have PNGAPI.
michael@0 1050 Updated scripts/pngos2.def
michael@0 1051
michael@0 1052 Version 1.0.11beta3 [April 14, 2001]
michael@0 1053 Added checking the results of many instances of png_malloc() for NULL
michael@0 1054
michael@0 1055 Version 1.0.11beta4 [April 20, 2001]
michael@0 1056 Undid the changes from version 1.0.11beta3. Added a check for NULL return
michael@0 1057 from user's malloc_fn().
michael@0 1058 Removed some useless type casts of the NULL pointer.
michael@0 1059 Added makefile.netbsd
michael@0 1060
michael@0 1061 Version 1.0.11 [April 27, 2001]
michael@0 1062 Revised makefile.netbsd
michael@0 1063
michael@0 1064 Version 1.0.12beta1 [May 14, 2001]
michael@0 1065 Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot)
michael@0 1066 Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h
michael@0 1067 Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings.
michael@0 1068 Eliminated the png_error about apps using png_read|write_init(). Instead,
michael@0 1069 libpng will reallocate the png_struct and info_struct if they are too small.
michael@0 1070 This retains future binary compatibility for old applications written for
michael@0 1071 libpng-0.88 and earlier.
michael@0 1072
michael@0 1073 Version 1.2.0beta1 [May 6, 2001]
michael@0 1074 Bumped DLLNUM to 2.
michael@0 1075 Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED
michael@0 1076 by default.
michael@0 1077 Added runtime selection of MMX features.
michael@0 1078 Added png_set_strip_error_numbers function and related macros.
michael@0 1079
michael@0 1080 Version 1.2.0beta2 [May 7, 2001]
michael@0 1081 Finished merging 1.2.0beta1 with version 1.0.11
michael@0 1082 Added a check for attempts to read or write PLTE in grayscale PNG datastreams.
michael@0 1083
michael@0 1084 Version 1.2.0beta3 [May 17, 2001]
michael@0 1085 Enabled user memory function by default.
michael@0 1086 Modified png_create_struct so it passes user mem_ptr to user memory allocator.
michael@0 1087 Increased png_mng_features flag from png_byte to png_uint_32.
michael@0 1088 Bumped shared-library (so-number) and dll-number to 3.
michael@0 1089
michael@0 1090 Version 1.2.0beta4 [June 23, 2001]
michael@0 1091 Check for missing profile length field in iCCP chunk and free chunk_data
michael@0 1092 in case of truncated iCCP chunk.
michael@0 1093 Bumped shared-library number to 3 in makefile.sgi and makefile.sggcc
michael@0 1094 Bumped dll-number from 2 to 3 in makefile.cygwin
michael@0 1095 Revised contrib/gregbook/rpng*-x.c to avoid a memory leak and to exit cleanly
michael@0 1096 if user attempts to run it on an 8-bit display.
michael@0 1097 Updated contrib/gregbook
michael@0 1098 Use png_malloc instead of png_zalloc to allocate palette in pngset.c
michael@0 1099 Updated makefile.ibmc
michael@0 1100 Added some typecasts to eliminate gcc 3.0 warnings. Changed prototypes
michael@0 1101 of png_write_oFFS width and height from png_uint_32 to png_int_32.
michael@0 1102 Updated example.c
michael@0 1103 Revised prototypes for png_debug_malloc and png_debug_free in pngtest.c
michael@0 1104
michael@0 1105 Version 1.2.0beta5 [August 8, 2001]
michael@0 1106 Revised contrib/gregbook
michael@0 1107 Revised makefile.gcmmx
michael@0 1108 Revised pnggccrd.c to conditionally compile some thread-unsafe code only
michael@0 1109 when PNG_THREAD_UNSAFE_OK is defined.
michael@0 1110 Added tests to prevent pngwutil.c from writing a bKGD or tRNS chunk with
michael@0 1111 value exceeding 2^bit_depth-1
michael@0 1112 Revised makefile.sgi and makefile.sggcc
michael@0 1113 Replaced calls to fprintf(stderr,...) with png_warning() in pnggccrd.c
michael@0 1114 Removed restriction that do_invert_mono only operate on 1-bit opaque files
michael@0 1115
michael@0 1116 Version 1.2.0 [September 1, 2001]
michael@0 1117 Changed a png_warning() to png_debug() in pnggccrd.c
michael@0 1118 Fixed contrib/gregbook/rpng-x.c, rpng2-x.c to avoid crash with XFreeGC().
michael@0 1119
michael@0 1120 Version 1.2.1beta1 [October 19, 2001]
michael@0 1121 Revised makefile.std in contrib/pngminus
michael@0 1122 Include background_1 in png_struct regardless of gamma support.
michael@0 1123 Revised makefile.netbsd and makefile.macosx, added makefile.darwin.
michael@0 1124 Revised example.c to provide more details about using row_callback().
michael@0 1125
michael@0 1126 Version 1.2.1beta2 [October 25, 2001]
michael@0 1127 Added type cast to each NULL appearing in a function call, except for
michael@0 1128 WINCE functions.
michael@0 1129 Added makefile.so9.
michael@0 1130
michael@0 1131 Version 1.2.1beta3 [October 27, 2001]
michael@0 1132 Removed type casts from all NULLs.
michael@0 1133 Simplified png_create_struct_2().
michael@0 1134
michael@0 1135 Version 1.2.1beta4 [November 7, 2001]
michael@0 1136 Revised png_create_info_struct() and png_creat_struct_2().
michael@0 1137 Added error message if png_write_info() was omitted.
michael@0 1138 Type cast NULLs appearing in function calls when _NO_PROTO or
michael@0 1139 PNG_TYPECAST_NULL is defined.
michael@0 1140
michael@0 1141 Version 1.2.1rc1 [November 24, 2001]
michael@0 1142 Type cast NULLs appearing in function calls except when PNG_NO_TYPECAST_NULL
michael@0 1143 is defined.
michael@0 1144 Changed typecast of "size" argument to png_size_t in pngmem.c calls to
michael@0 1145 the user malloc_fn, to agree with the prototype in png.h
michael@0 1146 Added a pop/push operation to pnggccrd.c, to preserve Eflag (Maxim Sobolev)
michael@0 1147 Updated makefile.sgi to recognize LIBPATH and INCPATH.
michael@0 1148 Updated various makefiles so "make clean" does not remove previous major
michael@0 1149 version of the shared library.
michael@0 1150
michael@0 1151 Version 1.2.1rc2 [December 4, 2001]
michael@0 1152 Always allocate 256-entry internal palette, hist, and trans arrays, to
michael@0 1153 avoid out-of-bounds memory reference caused by invalid PNG datastreams.
michael@0 1154 Added a check for prefix_length > data_length in iCCP chunk handler.
michael@0 1155
michael@0 1156 Version 1.2.1 [December 7, 2001]
michael@0 1157 None.
michael@0 1158
michael@0 1159 Version 1.2.2beta1 [February 22, 2002]
michael@0 1160 Fixed a bug with reading the length of iCCP profiles (Larry Reeves).
michael@0 1161 Revised makefile.linux, makefile.gcmmx, and makefile.sgi to generate
michael@0 1162 libpng.a, libpng12.so (not libpng.so.3), and libpng12/png.h
michael@0 1163 Revised makefile.darwin to remove "-undefined suppress" option.
michael@0 1164 Added checks for gamma and chromaticity values over 21474.83, which exceed
michael@0 1165 the limit for PNG unsigned 32-bit integers when encoded.
michael@0 1166 Revised calls to png_create_read_struct() and png_create_write_struct()
michael@0 1167 for simpler debugging.
michael@0 1168 Revised png_zalloc() so zlib handles errors (uses PNG_FLAG_MALLOC_NULL_MEM_OK)
michael@0 1169
michael@0 1170 Version 1.2.2beta2 [February 23, 2002]
michael@0 1171 Check chunk_length and idat_size for invalid (over PNG_MAX_UINT) lengths.
michael@0 1172 Check for invalid image dimensions in png_get_IHDR.
michael@0 1173 Added missing "fi;" in the install target of the SGI makefiles.
michael@0 1174 Added install-static to all makefiles that make shared libraries.
michael@0 1175 Always do gamma compensation when image is partially transparent.
michael@0 1176
michael@0 1177 Version 1.2.2beta3 [March 7, 2002]
michael@0 1178 Compute background.gray and background_1.gray even when color_type is RGB
michael@0 1179 in case image gets reduced to gray later.
michael@0 1180 Modified shared-library makefiles to install pkgconfig/libpngNN.pc.
michael@0 1181 Export (with PNGAPI) png_zalloc, png_zfree, and png_handle_as_unknown
michael@0 1182 Removed unused png_write_destroy_info prototype from png.h
michael@0 1183 Eliminated incorrect use of width_mmx from pnggccrd.c in pixel_bytes == 8 case
michael@0 1184 Added install-shared target to all makefiles that make shared libraries.
michael@0 1185 Stopped a double free of palette, hist, and trans when not using free_me.
michael@0 1186 Added makefile.32sunu for Sun Ultra 32 and makefile.64sunu for Sun Ultra 64.
michael@0 1187
michael@0 1188 Version 1.2.2beta4 [March 8, 2002]
michael@0 1189 Compute background.gray and background_1.gray even when color_type is RGB
michael@0 1190 in case image gets reduced to gray later (Jason Summers).
michael@0 1191 Relocated a misplaced /bin/rm in the "install-shared" makefile targets
michael@0 1192 Added PNG_1_0_X macro which can be used to build a 1.0.x-compatible library.
michael@0 1193
michael@0 1194 Version 1.2.2beta5 [March 26, 2002]
michael@0 1195 Added missing PNGAPI to several function definitions.
michael@0 1196 Check for invalid bit_depth or color_type in png_get_IHDR(), and
michael@0 1197 check for missing PLTE or IHDR in png_push_read_chunk() (Matthias Clasen).
michael@0 1198 Revised iTXt support to accept NULL for lang and lang_key.
michael@0 1199 Compute gamma for color components of background even when color_type is gray.
michael@0 1200 Changed "()" to "{}" in scripts/libpng.pc.in.
michael@0 1201 Revised makefiles to put png.h and pngconf.h only in $prefix/include/libpngNN
michael@0 1202 Revised makefiles to make symlink to libpng.so.NN in addition to libpngNN.so
michael@0 1203
michael@0 1204 Version 1.2.2beta6 [March 31, 2002]
michael@0 1205
michael@0 1206 Version 1.0.13beta1 [March 31, 2002]
michael@0 1207 Prevent png_zalloc() from trying to memset memory that it failed to acquire.
michael@0 1208 Add typecasts of PNG_MAX_UINT in pngset_cHRM_fixed() (Matt Holgate).
michael@0 1209 Ensure that the right function (user or default) is used to free the
michael@0 1210 png_struct after an error in png_create_read_struct_2().
michael@0 1211
michael@0 1212 Version 1.2.2rc1 [April 7, 2002]
michael@0 1213
michael@0 1214 Version 1.0.13rc1 [April 7, 2002]
michael@0 1215 Save the ebx register in pnggccrd.c (Sami Farin)
michael@0 1216 Add "mem_ptr = png_ptr->mem_ptr" in png_destroy_write_struct() (Paul Gardner).
michael@0 1217 Updated makefiles to put headers in include/libpng and remove old include/*.h.
michael@0 1218
michael@0 1219 Version 1.2.2 [April 15, 2002]
michael@0 1220
michael@0 1221 Version 1.0.13 [April 15, 2002]
michael@0 1222 Revised description of png_set_filter() in libpng.3/libpng.txt.
michael@0 1223 Revised makefile.netbsd and added makefile.neNNbsd and makefile.freebsd
michael@0 1224
michael@0 1225 Version 1.0.13patch01 [April 17, 2002]
michael@0 1226
michael@0 1227 Version 1.2.2patch01 [April 17, 2002]
michael@0 1228 Changed ${PNGMAJ}.${PNGVER} bug to ${PNGVER} in makefile.sgi and
michael@0 1229 makefile.sggcc
michael@0 1230 Fixed VER -> PNGVER typo in makefile.macosx and added install-static to
michael@0 1231 install
michael@0 1232 Added install: target to makefile.32sunu and makefile.64sunu
michael@0 1233
michael@0 1234 Version 1.0.13patch03 [April 18, 2002]
michael@0 1235
michael@0 1236 Version 1.2.2patch03 [April 18, 2002]
michael@0 1237 Revised 15 makefiles to link libpng.a to libpngNN.a and the include libpng
michael@0 1238 subdirectory to libpngNN subdirectory without the full pathname.
michael@0 1239 Moved generation of libpng.pc from "install" to "all" in 15 makefiles.
michael@0 1240
michael@0 1241 Version 1.2.3rc1 [April 28, 2002]
michael@0 1242 Added install-man target to 15 makefiles (Dimitri Papadopolous-Orfanos).
michael@0 1243 Added $(DESTDIR) feature to 24 makefiles (Tim Mooney)
michael@0 1244 Fixed bug with $prefix, should be $(prefix) in makefile.hpux.
michael@0 1245 Updated cygwin-specific portion of pngconf.h and revised makefile.cygwin
michael@0 1246 Added a link from libpngNN.pc to libpng.pc in 15 makefiles.
michael@0 1247 Added links from include/libpngNN/*.h to include/*.h in 24 makefiles.
michael@0 1248 Revised makefile.darwin to make relative links without full pathname.
michael@0 1249 Added setjmp() at the end of png_create_*_struct_2() in case user forgets
michael@0 1250 to put one in their application.
michael@0 1251 Restored png_zalloc() and png_zfree() prototypes to version 1.2.1 and
michael@0 1252 removed them from module definition files.
michael@0 1253
michael@0 1254 Version 1.2.3rc2 [May 1, 2002]
michael@0 1255 Fixed bug in reporting number of channels in pngget.c and pngset.c,
michael@0 1256 that was introduced in version 1.2.2beta5.
michael@0 1257 Exported png_zalloc(), png_zfree(), png_default_read(), png_default_write(),
michael@0 1258 png_default_flush(), and png_push_fill_buffer() and included them in
michael@0 1259 module definition files.
michael@0 1260 Added "libpng.pc" dependency to the "install-shared" target in 15 makefiles.
michael@0 1261
michael@0 1262 Version 1.2.3rc3 [May 1, 2002]
michael@0 1263 Revised prototype for png_default_flush()
michael@0 1264 Remove old libpng.pc and libpngNN.pc before installing new ones.
michael@0 1265
michael@0 1266 Version 1.2.3rc4 [May 2, 2002]
michael@0 1267 Typos in *.def files (png_default_read|write -> png_default_read|write_data)
michael@0 1268 In makefiles, changed rm libpng.NN.pc to rm libpngNN.pc
michael@0 1269 Added libpng-config and libpngNN-config and modified makefiles to install
michael@0 1270 them.
michael@0 1271 Changed $(MANPATH) to $(DESTDIR)$(MANPATH) in makefiles
michael@0 1272 Added "Win32 DLL VB" configuration to projects/msvc/libpng.dsp
michael@0 1273
michael@0 1274 Version 1.2.3rc5 [May 11, 2002]
michael@0 1275 Changed "error" and "message" in prototypes to "error_message" and
michael@0 1276 "warning_message" to avoid namespace conflict.
michael@0 1277 Revised 15 makefiles to build libpng-config from libpng-config-*.in
michael@0 1278 Once more restored png_zalloc and png_zfree to regular nonexported form.
michael@0 1279 Restored png_default_read|write_data, png_default_flush, png_read_fill_buffer
michael@0 1280 to nonexported form, but with PNGAPI, and removed them from module def
michael@0 1281 files.
michael@0 1282
michael@0 1283 Version 1.2.3rc6 [May 14, 2002]
michael@0 1284 Removed "PNGAPI" from png_zalloc() and png_zfree() in png.c
michael@0 1285 Changed "Gz" to "Gd" in projects/msvc/libpng.dsp and zlib.dsp.
michael@0 1286 Removed leftover libpng-config "sed" script from four makefiles.
michael@0 1287 Revised libpng-config creating script in 16 makefiles.
michael@0 1288
michael@0 1289 Version 1.2.3 [May 22, 2002]
michael@0 1290 Revised libpng-config target in makefile.cygwin.
michael@0 1291 Removed description of png_set_mem_fn() from documentation.
michael@0 1292 Revised makefile.freebsd.
michael@0 1293 Minor cosmetic changes to 15 makefiles, e.g., $(DI) = $(DESTDIR)/$(INCDIR).
michael@0 1294 Revised projects/msvc/README.txt
michael@0 1295 Changed -lpng to -lpngNN in LDFLAGS in several makefiles.
michael@0 1296
michael@0 1297 Version 1.2.4beta1 [May 24, 2002]
michael@0 1298 Added libpng.pc and libpng-config to "all:" target in 16 makefiles.
michael@0 1299 Fixed bug in 16 makefiles: $(DESTDIR)/$(LIBPATH) to $(DESTDIR)$(LIBPATH)
michael@0 1300 Added missing "\" before closing double quote in makefile.gcmmx.
michael@0 1301 Plugged various memory leaks; added png_malloc_warn() and png_set_text_2()
michael@0 1302 functions.
michael@0 1303
michael@0 1304 Version 1.2.4beta2 [June 25, 2002]
michael@0 1305 Plugged memory leak of png_ptr->current_text (Matt Holgate).
michael@0 1306 Check for buffer overflow before reading CRC in pngpread.c (Warwick Allison)
michael@0 1307 Added -soname to the loader flags in makefile.dec, makefile.sgi, and
michael@0 1308 makefile.sggcc.
michael@0 1309 Added "test-installed" target to makefile.linux, makefile.gcmmx,
michael@0 1310 makefile.sgi, and makefile.sggcc.
michael@0 1311
michael@0 1312 Version 1.2.4beta3 [June 28, 2002]
michael@0 1313 Plugged memory leak of row_buf in pngtest.c when there is a png_error().
michael@0 1314 Detect buffer overflow in pngpread.c when IDAT is corrupted with extra data.
michael@0 1315 Added "test-installed" target to makefile.32sunu, makefile.64sunu,
michael@0 1316 makefile.beos, makefile.darwin, makefile.dec, makefile.macosx,
michael@0 1317 makefile.solaris, makefile.hpux, makefile.hpgcc, and makefile.so9.
michael@0 1318
michael@0 1319 Version 1.2.4rc1 and 1.0.14rc1 [July 2, 2002]
michael@0 1320 Added "test-installed" target to makefile.cygwin and makefile.sco.
michael@0 1321 Revised pnggccrd.c to be able to back out version 1.0.x via PNG_1_0_X macro.
michael@0 1322
michael@0 1323 Version 1.2.4 and 1.0.14 [July 8, 2002]
michael@0 1324 Changed png_warning() to png_error() when width is too large to process.
michael@0 1325
michael@0 1326 Version 1.2.4patch01 [July 20, 2002]
michael@0 1327 Revised makefile.cygwin to use DLL number 12 instead of 13.
michael@0 1328
michael@0 1329 Version 1.2.5beta1 [August 6, 2002]
michael@0 1330 Added code to contrib/gregbook/readpng2.c to ignore unused chunks.
michael@0 1331 Replaced toucan.png in contrib/gregbook (it has been corrupt since 1.0.11)
michael@0 1332 Removed some stray *.o files from contrib/gregbook.
michael@0 1333 Changed png_error() to png_warning() about "Too much data" in pngpread.c
michael@0 1334 and about "Extra compressed data" in pngrutil.c.
michael@0 1335 Prevent png_ptr->pass from exceeding 7 in png_push_finish_row().
michael@0 1336 Updated makefile.hpgcc
michael@0 1337 Updated png.c and pnggccrd.c handling of return from png_mmx_support()
michael@0 1338
michael@0 1339 Version 1.2.5beta2 [August 15, 2002]
michael@0 1340 Only issue png_warning() about "Too much data" in pngpread.c when avail_in
michael@0 1341 is nonzero.
michael@0 1342 Updated makefiles to install a separate libpng.so.3 with its own rpath.
michael@0 1343
michael@0 1344 Version 1.2.5rc1 and 1.0.15rc1 [August 24, 2002]
michael@0 1345 Revised makefiles to not remove previous minor versions of shared libraries.
michael@0 1346
michael@0 1347 Version 1.2.5rc2 and 1.0.15rc2 [September 16, 2002]
michael@0 1348 Revised 13 makefiles to remove "-lz" and "-L$(ZLIBLIB)", etc., from shared
michael@0 1349 library loader directive.
michael@0 1350 Added missing "$OBJSDLL" line to makefile.gcmmx.
michael@0 1351 Added missing "; fi" to makefile.32sunu.
michael@0 1352
michael@0 1353 Version 1.2.5rc3 and 1.0.15rc3 [September 18, 2002]
michael@0 1354 Revised libpng-config script.
michael@0 1355
michael@0 1356 Version 1.2.5 and 1.0.15 [October 3, 2002]
michael@0 1357 Revised makefile.macosx, makefile.darwin, makefile.hpgcc, and makefile.hpux,
michael@0 1358 and makefile.aix.
michael@0 1359 Relocated two misplaced PNGAPI lines in pngtest.c
michael@0 1360
michael@0 1361 Version 1.2.6beta1 [October 22, 2002]
michael@0 1362 Commented out warning about uninitialized mmx_support in pnggccrd.c.
michael@0 1363 Changed "IBMCPP__" flag to "__IBMCPP__" in pngconf.h.
michael@0 1364 Relocated two more misplaced PNGAPI lines in pngtest.c
michael@0 1365 Fixed memory overrun bug in png_do_read_filler() with 16-bit datastreams,
michael@0 1366 introduced in version 1.0.2.
michael@0 1367 Revised makefile.macosx, makefile.dec, makefile.aix, and makefile.32sunu.
michael@0 1368
michael@0 1369 Version 1.2.6beta2 [November 1, 2002]
michael@0 1370 Added libpng-config "--ldopts" output.
michael@0 1371 Added "AR=ar" and "ARFLAGS=rc" and changed "ar rc" to "$(AR) $(ARFLAGS)"
michael@0 1372 in makefiles.
michael@0 1373
michael@0 1374 Version 1.2.6beta3 [July 18, 2004]
michael@0 1375 Reverted makefile changes from version 1.2.6beta2 and some of the changes
michael@0 1376 from version 1.2.6beta1; these will be postponed until version 1.2.7.
michael@0 1377 Version 1.2.6 is going to be a simple bugfix release.
michael@0 1378 Changed the one instance of "ln -sf" to "ln -f -s" in each Sun makefile.
michael@0 1379 Fixed potential overrun in pngerror.c by using strncpy instead of memcpy.
michael@0 1380 Added "#!/bin/sh" at the top of configure, for recognition of the
michael@0 1381 'x' flag under Cygwin (Cosmin).
michael@0 1382 Optimized vacuous tests that silence compiler warnings, in png.c (Cosmin).
michael@0 1383 Added support for PNG_USER_CONFIG, in pngconf.h (Cosmin).
michael@0 1384 Fixed the special memory handler for Borland C under DOS, in pngmem.c
michael@0 1385 (Cosmin).
michael@0 1386 Removed some spurious assignments in pngrutil.c (Cosmin).
michael@0 1387 Replaced 65536 with 65536L, and 0xffff with 0xffffL, to silence warnings
michael@0 1388 on 16-bit platforms (Cosmin).
michael@0 1389 Enclosed shift op expressions in parentheses, to silence warnings (Cosmin).
michael@0 1390 Used proper type png_fixed_point, to avoid problems on 16-bit platforms,
michael@0 1391 in png_handle_sRGB() (Cosmin).
michael@0 1392 Added compression_type to png_struct, and optimized the window size
michael@0 1393 inside the deflate stream (Cosmin).
michael@0 1394 Fixed definition of isnonalpha(), in pngerror.c and pngrutil.c (Cosmin).
michael@0 1395 Fixed handling of unknown chunks that come after IDAT (Cosmin).
michael@0 1396 Allowed png_error() and png_warning() to work even if png_ptr == NULL
michael@0 1397 (Cosmin).
michael@0 1398 Replaced row_info->rowbytes with row_bytes in png_write_find_filter()
michael@0 1399 (Cosmin).
michael@0 1400 Fixed definition of PNG_LIBPNG_VER_DLLNUM (Simon-Pierre).
michael@0 1401 Used PNG_LIBPNG_VER and PNG_LIBPNG_VER_STRING instead of the hardcoded
michael@0 1402 values in png.c (Simon-Pierre, Cosmin).
michael@0 1403 Initialized png_libpng_ver[] with PNG_LIBPNG_VER_STRING (Simon-Pierre).
michael@0 1404 Replaced PNG_LIBPNG_VER_MAJOR with PNG_LIBPNG_VER_DLLNUM in png.rc
michael@0 1405 (Simon-Pierre).
michael@0 1406 Moved the definition of PNG_HEADER_VERSION_STRING near the definitions
michael@0 1407 of the other PNG_LIBPNG_VER_... symbols in png.h (Cosmin).
michael@0 1408 Relocated #ifndef PNGAPI guards in pngconf.h (Simon-Pierre, Cosmin).
michael@0 1409 Updated scripts/makefile.vc(a)win32 (Cosmin).
michael@0 1410 Updated the MSVC project (Simon-Pierre, Cosmin).
michael@0 1411 Updated the Borland C++ Builder project (Cosmin).
michael@0 1412 Avoided access to asm_flags in pngvcrd.c, if PNG_1_0_X is defined (Cosmin).
michael@0 1413 Commented out warning about uninitialized mmx_support in pngvcrd.c (Cosmin).
michael@0 1414 Removed scripts/makefile.bd32 and scripts/pngdef.pas (Cosmin).
michael@0 1415 Added extra guard around inclusion of Turbo C memory headers, in pngconf.h
michael@0 1416 (Cosmin).
michael@0 1417 Renamed projects/msvc/ to projects/visualc6/, and projects/borland/ to
michael@0 1418 projects/cbuilder5/ (Cosmin).
michael@0 1419 Moved projects/visualc6/png32ms.def to scripts/pngw32.def,
michael@0 1420 and projects/visualc6/png.rc to scripts/pngw32.rc (Cosmin).
michael@0 1421 Added projects/visualc6/pngtest.dsp; removed contrib/msvctest/ (Cosmin).
michael@0 1422 Changed line endings to DOS style in cbuilder5 and visualc6 files, even
michael@0 1423 in the tar.* distributions (Cosmin).
michael@0 1424 Updated contrib/visupng/VisualPng.dsp (Cosmin).
michael@0 1425 Updated contrib/visupng/cexcept.h to version 2.0.0 (Cosmin).
michael@0 1426 Added a separate distribution with "configure" and supporting files (Junichi).
michael@0 1427
michael@0 1428 Version 1.2.6beta4 [July 28, 2004]
michael@0 1429 Added user ability to change png_size_t via a PNG_SIZE_T macro.
michael@0 1430 Added png_sizeof() and png_convert_size() functions.
michael@0 1431 Added PNG_SIZE_MAX (maximum value of a png_size_t variable.
michael@0 1432 Added check in png_malloc_default() for (size_t)size != (png_uint_32)size
michael@0 1433 which would indicate an overflow.
michael@0 1434 Changed sPLT failure action from png_error to png_warning and abandon chunk.
michael@0 1435 Changed sCAL and iCCP failures from png_error to png_warning and abandon.
michael@0 1436 Added png_get_uint_31(png_ptr, buf) function.
michael@0 1437 Added PNG_UINT_32_MAX macro.
michael@0 1438 Renamed PNG_MAX_UINT to PNG_UINT_31_MAX.
michael@0 1439 Made png_zalloc() issue a png_warning and return NULL on potential
michael@0 1440 overflow.
michael@0 1441 Turn on PNG_NO_ZALLOC_ZERO by default in version 1.2.x
michael@0 1442 Revised "clobber list" in pnggccrd.c so it will compile under gcc-3.4.
michael@0 1443 Revised Borland portion of png_malloc() to return NULL or issue
michael@0 1444 png_error() according to setting of PNG_FLAG_MALLOC_NULL_MEM_OK.
michael@0 1445 Added PNG_NO_SEQUENTIAL_READ_SUPPORTED macro to conditionally remove
michael@0 1446 sequential read support.
michael@0 1447 Added some "#if PNG_WRITE_SUPPORTED" blocks.
michael@0 1448 Added #ifdef to remove some redundancy in png_malloc_default().
michael@0 1449 Use png_malloc instead of png_zalloc to allocate the pallete.
michael@0 1450
michael@0 1451 Version 1.0.16rc1 and 1.2.6rc1 [August 4, 2004]
michael@0 1452 Fixed buffer overflow vulnerability in png_handle_tRNS()
michael@0 1453 Fixed integer arithmetic overflow vulnerability in png_read_png().
michael@0 1454 Fixed some harmless bugs in png_handle_sBIT, etc, that would cause
michael@0 1455 duplicate chunk types to go undetected.
michael@0 1456 Fixed some timestamps in the -config version
michael@0 1457 Rearranged order of processing of color types in png_handle_tRNS().
michael@0 1458 Added ROWBYTES macro to calculate rowbytes without integer overflow.
michael@0 1459 Updated makefile.darwin and removed makefile.macosx from scripts directory.
michael@0 1460 Imposed default one million column, one-million row limits on the image
michael@0 1461 dimensions, and added png_set_user_limits() function to override them.
michael@0 1462 Revised use of PNG_SET_USER_LIMITS_SUPPORTED macro.
michael@0 1463 Fixed wrong cast of returns from png_get_user_width|height_max().
michael@0 1464 Changed some "keep the compiler happy" from empty statements to returns,
michael@0 1465 Revised libpng.txt to remove 1.2.x stuff from the 1.0.x distribution
michael@0 1466
michael@0 1467 Version 1.0.16rc2 and 1.2.6rc2 [August 7, 2004]
michael@0 1468 Revised makefile.darwin and makefile.solaris. Removed makefile.macosx.
michael@0 1469 Revised pngtest's png_debug_malloc() to use png_malloc() instead of
michael@0 1470 png_malloc_default() which is not supposed to be exported.
michael@0 1471 Fixed off-by-one error in one of the conversions to PNG_ROWBYTES() in
michael@0 1472 pngpread.c. Bug was introduced in 1.2.6rc1.
michael@0 1473 Fixed bug in RGB to RGBX transformation introduced in 1.2.6rc1.
michael@0 1474 Fixed old bug in RGB to Gray transformation.
michael@0 1475 Fixed problem with 64-bit compilers by casting arguments to abs()
michael@0 1476 to png_int_32.
michael@0 1477 Changed "ln -sf" to "ln -f -s" in three makefiles (solaris, sco, so9).
michael@0 1478 Changed "HANDLE_CHUNK_*" to "PNG_HANDLE_CHUNK_*" (Cosmin)
michael@0 1479 Added "-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)" to 15 *NIX makefiles.
michael@0 1480 Added code to update the row_info->colortype in png_do_read_filler() (MSB).
michael@0 1481
michael@0 1482 Version 1.0.16rc3 and 1.2.6rc3 [August 9, 2004]
michael@0 1483 Eliminated use of "abs()" in testing cHRM and gAMA values, to avoid
michael@0 1484 trouble with some 64-bit compilers. Created PNG_OUT_OF_RANGE() macro.
michael@0 1485 Revised documentation of png_set_keep_unknown_chunks().
michael@0 1486 Check handle_as_unknown status in pngpread.c, as in pngread.c previously.
michael@0 1487 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_INTERNAL section of png.h
michael@0 1488 Added "rim" definitions for CONST4 and CONST6 in pnggccrd.c
michael@0 1489
michael@0 1490 Version 1.0.16rc4 and 1.2.6rc4 [August 10, 2004]
michael@0 1491 Fixed mistake in pngtest.c introduced in 1.2.6rc2 (declaration of
michael@0 1492 "pinfo" was out of place).
michael@0 1493
michael@0 1494 Version 1.0.16rc5 and 1.2.6rc5 [August 10, 2004]
michael@0 1495 Moved "PNG_HANDLE_CHUNK_*" macros out of PNG_ASSEMBLER_CODE_SUPPORTED
michael@0 1496 section of png.h where they were inadvertently placed in version rc3.
michael@0 1497
michael@0 1498 Version 1.2.6 and 1.0.16 [August 15, 2004]
michael@0 1499 Revised pngtest so memory allocation testing is only done when PNG_DEBUG==1.
michael@0 1500
michael@0 1501 Version 1.2.7beta1 [August 26, 2004]
michael@0 1502 Removed unused pngasmrd.h file.
michael@0 1503 Removed references to uu.net for archived files. Added references to
michael@0 1504 PNG Spec (second edition) and the PNG ISO/IEC Standard.
michael@0 1505 Added "test-dd" target in 15 makefiles, to run pngtest in DESTDIR.
michael@0 1506 Fixed bug with "optimized window size" in the IDAT datastream, that
michael@0 1507 causes libpng to write PNG files with incorrect zlib header bytes.
michael@0 1508
michael@0 1509 Version 1.2.7beta2 [August 28, 2004]
michael@0 1510 Fixed bug with sCAL chunk and big-endian machines (David Munro).
michael@0 1511 Undid new code added in 1.2.6rc2 to update the color_type in
michael@0 1512 png_set_filler().
michael@0 1513 Added png_set_add_alpha() that updates color type.
michael@0 1514
michael@0 1515 Version 1.0.17rc1 and 1.2.7rc1 [September 4, 2004]
michael@0 1516 Revised png_set_strip_filler() to not remove alpha if color_type has alpha.
michael@0 1517
michael@0 1518 Version 1.2.7 and 1.0.17 [September 12, 2004]
michael@0 1519 Added makefile.hp64
michael@0 1520 Changed projects/msvc/png32ms.def to scripts/png32ms.def in makefile.cygwin
michael@0 1521
michael@0 1522 Version 1.2.8beta1 [November 1, 2004]
michael@0 1523 Fixed bug in png_text_compress() that would fail to complete a large block.
michael@0 1524 Fixed bug, introduced in libpng-1.2.7, that overruns a buffer during
michael@0 1525 strip alpha operation in png_do_strip_filler().
michael@0 1526 Added PNG_1_2_X definition in pngconf.h
michael@0 1527 Use #ifdef to comment out png_info_init in png.c and png_read_init in
michael@0 1528 pngread.c (as of 1.3.0)
michael@0 1529
michael@0 1530 Version 1.2.8beta2 [November 2, 2004]
michael@0 1531 Reduce color_type to a nonalpha type after strip alpha operation in
michael@0 1532 png_do_strip_filler().
michael@0 1533
michael@0 1534 Version 1.2.8beta3 [November 3, 2004]
michael@0 1535 Revised definitions of PNG_MAX_UINT_32, PNG_MAX_SIZE, and PNG_MAXSUM
michael@0 1536
michael@0 1537 Version 1.2.8beta4 [November 12, 2004]
michael@0 1538 Fixed (again) definition of PNG_LIBPNG_VER_DLLNUM in png.h (Cosmin).
michael@0 1539 Added PNG_LIBPNG_BUILD_PRIVATE in png.h (Cosmin).
michael@0 1540 Set png_ptr->zstream.data_type to Z_BINARY, to avoid unnecessary detection
michael@0 1541 of data type in deflate (Cosmin).
michael@0 1542 Deprecated but continue to support SPECIALBUILD and PRIVATEBUILD in favor of
michael@0 1543 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
michael@0 1544
michael@0 1545 Version 1.2.8beta5 [November 20, 2004]
michael@0 1546 Use png_ptr->flags instead of png_ptr->transformations to pass
michael@0 1547 PNG_STRIP_ALPHA info to png_do_strip_filler(), to preserve ABI
michael@0 1548 compatibility.
michael@0 1549 Revised handling of SPECIALBUILD, PRIVATEBUILD,
michael@0 1550 PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING.
michael@0 1551
michael@0 1552 Version 1.2.8rc1 [November 24, 2004]
michael@0 1553 Moved handling of BUILD macros from pngconf.h to png.h
michael@0 1554 Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently
michael@0 1555 omitted from beta5.
michael@0 1556 Revised scripts/pngw32.rc
michael@0 1557 Despammed mailing addresses by masking "@" with "at".
michael@0 1558 Inadvertently installed a supposedly faster test version of pngrutil.c
michael@0 1559
michael@0 1560 Version 1.2.8rc2 [November 26, 2004]
michael@0 1561 Added two missing "\" in png.h
michael@0 1562 Change tests in pngread.c and pngpread.c to
michael@0 1563 if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
michael@0 1564 png_do_read_transformations(png_ptr);
michael@0 1565
michael@0 1566 Version 1.2.8rc3 [November 28, 2004]
michael@0 1567 Reverted pngrutil.c to version libpng-1.2.8beta5.
michael@0 1568 Added scripts/makefile.elf with supporting code in pngconf.h for symbol
michael@0 1569 versioning (John Bowler).
michael@0 1570
michael@0 1571 Version 1.2.8rc4 [November 29, 2004]
michael@0 1572 Added projects/visualc7 (Simon-pierre).
michael@0 1573
michael@0 1574 Version 1.2.8rc5 [November 29, 2004]
michael@0 1575 Fixed new typo in scripts/pngw32.rc
michael@0 1576
michael@0 1577 Version 1.2.8 [December 3, 2004]
michael@0 1578 Removed projects/visualc7, added projects/visualc71.
michael@0 1579
michael@0 1580 Version 1.2.9beta1 [February 21, 2006]
michael@0 1581 Initialized some structure members in pngwutil.c to avoid gcc-4.0.0 complaints
michael@0 1582 Revised man page and libpng.txt to make it clear that one should not call
michael@0 1583 png_read_end or png_write_end after png_read_png or png_write_png.
michael@0 1584 Updated references to png-mng-implement mailing list.
michael@0 1585 Fixed an incorrect typecast in pngrutil.c
michael@0 1586 Added PNG_NO_READ_SUPPORTED conditional for making a write-only library.
michael@0 1587 Added PNG_NO_WRITE_INTERLACING_SUPPORTED conditional.
michael@0 1588 Optimized alpha-inversion loops in pngwtran.c
michael@0 1589 Moved test for nonzero gamma outside of png_build_gamma_table() in pngrtran.c
michael@0 1590 Make sure num_trans is <= 256 before copying data in png_set_tRNS().
michael@0 1591 Make sure num_palette is <= 256 before copying data in png_set_PLTE().
michael@0 1592 Interchanged order of write_swap_alpha and write_invert_alpha transforms.
michael@0 1593 Added parentheses in the definition of PNG_LIBPNG_BUILD_TYPE (Cosmin).
michael@0 1594 Optimized zlib window flag (CINFO) in contrib/pngsuite/*.png (Cosmin).
michael@0 1595 Updated scripts/makefile.bc32 for Borland C++ 5.6 (Cosmin).
michael@0 1596 Exported png_get_uint_32, png_save_uint_32, png_get_uint_16, png_save_uint_16,
michael@0 1597 png_get_int_32, png_save_int_32, png_get_uint_31 (Cosmin).
michael@0 1598 Added type cast (png_byte) in png_write_sCAL() (Cosmin).
michael@0 1599 Fixed scripts/makefile.cygwin (Christian Biesinger, Cosmin).
michael@0 1600 Default iTXt support was inadvertently enabled.
michael@0 1601
michael@0 1602 Version 1.2.9beta2 [February 21, 2006]
michael@0 1603 Check for png_rgb_to_gray and png_gray_to_rgb read transformations before
michael@0 1604 checking for png_read_dither in pngrtran.c
michael@0 1605 Revised checking of chromaticity limits to accommodate extended RGB
michael@0 1606 colorspace (John Denker).
michael@0 1607 Changed line endings in some of the project files to CRLF, even in the
michael@0 1608 "Unix" tar distributions (Cosmin).
michael@0 1609 Made png_get_int_32 and png_save_int_32 always available (Cosmin).
michael@0 1610 Updated scripts/pngos2.def, scripts/pngw32.def and projects/wince/png32ce.def
michael@0 1611 with the newly exported functions.
michael@0 1612 Eliminated distributions without the "configure" script.
michael@0 1613 Updated INSTALL instructions.
michael@0 1614
michael@0 1615 Version 1.2.9beta3 [February 24, 2006]
michael@0 1616 Fixed CRCRLF line endings in contrib/visupng/VisualPng.dsp
michael@0 1617 Made libpng.pc respect EXEC_PREFIX (D. P. Kreil, J. Bowler)
michael@0 1618 Removed reference to pngasmrd.h from Makefile.am
michael@0 1619 Renamed CHANGES to ChangeLog.
michael@0 1620 Renamed LICENSE to COPYING.
michael@0 1621 Renamed ANNOUNCE to NEWS.
michael@0 1622 Created AUTHORS file.
michael@0 1623
michael@0 1624 Version 1.2.9beta4 [March 3, 2006]
michael@0 1625 Changed definition of PKGCONFIG from $prefix/lib to $libdir in configure.ac
michael@0 1626 Reverted to filenames LICENSE and ANNOUNCE; removed AUTHORS and COPYING.
michael@0 1627 Removed newline from the end of some error and warning messages.
michael@0 1628 Removed test for sqrt() from configure.ac and configure.
michael@0 1629 Made swap tables in pngtrans.c PNG_CONST (Carlo Bramix).
michael@0 1630 Disabled default iTXt support that was inadvertently enabled in
michael@0 1631 libpng-1.2.9beta1.
michael@0 1632 Added "OS2" to list of systems that don't need underscores, in pnggccrd.c
michael@0 1633 Removed libpng version and date from *.c files.
michael@0 1634
michael@0 1635 Version 1.2.9beta5 [March 4, 2006]
michael@0 1636 Removed trailing blanks from source files.
michael@0 1637 Put version and date of latest change in each source file, and changed
michael@0 1638 copyright year accordingly.
michael@0 1639 More cleanup of configure.ac, Makefile.am, and associated scripts.
michael@0 1640 Restored scripts/makefile.elf which was inadvertently deleted.
michael@0 1641
michael@0 1642 Version 1.2.9beta6 [March 6, 2006]
michael@0 1643 Fixed typo (RELEASE) in configuration files.
michael@0 1644
michael@0 1645 Version 1.2.9beta7 [March 7, 2006]
michael@0 1646 Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
michael@0 1647 Fixed inconsistent #ifdef's around png_sig_bytes() and png_set_sCAL_s()
michael@0 1648 in png.h.
michael@0 1649 Updated makefile.elf as suggested by debian.
michael@0 1650 Made cosmetic changes to some makefiles, adding LN_SF and other macros.
michael@0 1651 Made some makefiles accept "exec_prefix".
michael@0 1652
michael@0 1653 Version 1.2.9beta8 [March 9, 2006]
michael@0 1654 Fixed some "#if defined (..." which should be "#if defined(..."
michael@0 1655 Bug introduced in libpng-1.2.8.
michael@0 1656 Fixed inconsistency in definition of png_default_read_data()
michael@0 1657 Restored blank that was lost from makefile.sggcc "clean" target in beta7.
michael@0 1658 Revised calculation of "current" and "major" for irix in ltmain.sh
michael@0 1659 Changed "mkdir" to "MKDIR_P" in some makefiles.
michael@0 1660 Separated PNG_EXPAND and PNG_EXPAND_tRNS.
michael@0 1661 Added png_set_expand_gray_1_2_4_to_8() and deprecated
michael@0 1662 png_set_gray_1_2_4_to_8() which also expands tRNS to alpha.
michael@0 1663
michael@0 1664 Version 1.2.9beta9 [March 10, 2006]
michael@0 1665 Include "config.h" in pngconf.h when available.
michael@0 1666 Added some checks for NULL png_ptr or NULL info_ptr (timeless)
michael@0 1667
michael@0 1668 Version 1.2.9beta10 [March 20, 2006]
michael@0 1669 Removed extra CR from contrib/visualpng/VisualPng.dsw (Cosmin)
michael@0 1670 Made pnggccrd.c PIC-compliant (Christian Aichinger).
michael@0 1671 Added makefile.mingw (Wolfgang Glas).
michael@0 1672 Revised pngconf.h MMX checking.
michael@0 1673
michael@0 1674 Version 1.2.9beta11 [March 22, 2006]
michael@0 1675 Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
michael@0 1676 Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
michael@0 1677
michael@0 1678 Version 1.2.9rc1 [March 31, 2006]
michael@0 1679 Defined PNG_USER_PRIVATEBUILD when including "pngusr.h" (Cosmin).
michael@0 1680 Removed nonsensical assertion check from pngtest.c (Cosmin).
michael@0 1681
michael@0 1682 Version 1.2.9 [April 14, 2006]
michael@0 1683 Revised makefile.beos and added "none" selector in ltmain.sh
michael@0 1684
michael@0 1685 Version 1.2.10beta1 [April 15, 2006]
michael@0 1686 Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
michael@0 1687 -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
michael@0 1688 to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
michael@0 1689
michael@0 1690 Version 1.2.10beta2 [April 15, 2006]
michael@0 1691 Manually updated Makefile.in and configure. Changed png_conf.h.in
michael@0 1692 back to config.h.
michael@0 1693
michael@0 1694 Version 1.2.10beta3 [April 15, 2006]
michael@0 1695 Change png_conf.h back to config.h in pngconf.h.
michael@0 1696
michael@0 1697 Version 1.2.10beta4 [April 16, 2006]
michael@0 1698 Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.
michael@0 1699
michael@0 1700 Version 1.2.10beta5 [April 16, 2006]
michael@0 1701 Added a configure check for compiling assembler code in pnggccrd.c
michael@0 1702
michael@0 1703 Version 1.2.10beta6 [April 17, 2006]
michael@0 1704 Revised the configure check for pnggccrd.c
michael@0 1705 Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
michael@0 1706 Added @LIBPNG_DEFINES@ to arguments when building libpng.sym
michael@0 1707
michael@0 1708 Version 1.2.10beta7 [April 18, 2006]
michael@0 1709 Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.
michael@0 1710
michael@0 1711 Version 1.2.10rc1 [April 19, 2006]
michael@0 1712 Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
michael@0 1713 Fixed "LN_FS" typo in makefile.sco and makefile.solaris.
michael@0 1714
michael@0 1715 Version 1.2.10rc2 [April 20, 2006]
michael@0 1716 Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
michael@0 1717 in configure.ac and configure
michael@0 1718 Made the configure warning about versioned symbols less arrogant.
michael@0 1719
michael@0 1720 Version 1.2.10rc3 [April 21, 2006]
michael@0 1721 Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
michael@0 1722 writing an embedded PNG without the 8-byte signature.
michael@0 1723 Revised makefiles and configure to avoid making links to libpng.so.*
michael@0 1724
michael@0 1725 Version 1.2.10 [April 23, 2006]
michael@0 1726 Reverted configure to "rc2" state.
michael@0 1727
michael@0 1728 Version 1.2.11beta1 [May 31, 2006]
michael@0 1729 scripts/libpng.pc.in contained "configure" style version info and would
michael@0 1730 not work with makefiles.
michael@0 1731 The shared-library makefiles were linking to libpng.so.0 instead of
michael@0 1732 libpng.so.3 compatibility as the library.
michael@0 1733
michael@0 1734 Version 1.2.11beta2 [June 2, 2006]
michael@0 1735 Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
michael@0 1736 buffer overflow.
michael@0 1737 Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
michael@0 1738
michael@0 1739 Version 1.2.11beta3 [June 5, 2006]
michael@0 1740 Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
michael@0 1741 Removed the accidental leftover Makefile.in~ (Cosmin).
michael@0 1742 Avoided potential buffer overflow and optimized buffer in
michael@0 1743 png_write_sCAL(), png_write_sCAL_s() (Cosmin).
michael@0 1744 Removed the include directories and libraries from CFLAGS and LDFLAGS
michael@0 1745 in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
michael@0 1746
michael@0 1747 Version 1.2.11beta4 [June 6, 2006]
michael@0 1748 Allow zero-length IDAT chunks after the entire zlib datastream, but not
michael@0 1749 after another intervening chunk type.
michael@0 1750
michael@0 1751 Version 1.0.19rc1, 1.2.11rc1 [June 13, 2006]
michael@0 1752 Deleted extraneous square brackets from [config.h] in configure.ac
michael@0 1753
michael@0 1754 Version 1.0.19rc2, 1.2.11rc2 [June 14, 2006]
michael@0 1755 Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
michael@0 1756 Revised INSTALL and autogen.sh
michael@0 1757 Fixed typo in several makefiles (-W1 should be -Wl)
michael@0 1758 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
michael@0 1759
michael@0 1760 Version 1.0.19rc3, 1.2.11rc3 [June 15, 2006]
michael@0 1761 Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
michael@0 1762 Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
michael@0 1763 reading out of bounds.
michael@0 1764
michael@0 1765 Version 1.0.19rc4, 1.2.11rc4 [June 15, 2006]
michael@0 1766 Really removed the new typedefs for 64-bit systems.
michael@0 1767
michael@0 1768 Version 1.0.19rc5, 1.2.11rc5 [June 22, 2006]
michael@0 1769 Removed png_sig_bytes entry from scripts/pngw32.def
michael@0 1770
michael@0 1771 Version 1.0.19, 1.2.11 [June 26, 2006]
michael@0 1772 None.
michael@0 1773
michael@0 1774 Version 1.0.20, 1.2.12 [June 27, 2006]
michael@0 1775 Really increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
michael@0 1776 buffer overflow.
michael@0 1777
michael@0 1778 Version 1.2.13beta1 [October 2, 2006]
michael@0 1779 Removed AC_FUNC_MALLOC from configure.ac
michael@0 1780 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
michael@0 1781 Change "logical" to "bitwise" throughout documentation.
michael@0 1782 Detect and fix attempt to write wrong iCCP profile length (CVE-2006-7244)
michael@0 1783
michael@0 1784 Version 1.0.21, 1.2.13 [November 14, 2006]
michael@0 1785 Fix potential buffer overflow in sPLT chunk handler.
michael@0 1786 Fix Makefile.am to not try to link to noexistent files.
michael@0 1787 Check all exported functions for NULL png_ptr.
michael@0 1788
michael@0 1789 Version 1.2.14beta1 [November 17, 2006]
michael@0 1790 Relocated three misplaced tests for NULL png_ptr.
michael@0 1791 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
michael@0 1792 Build configure with autoconf-2.60 instead of 2.59
michael@0 1793
michael@0 1794 Version 1.2.14beta2 [November 17, 2006]
michael@0 1795 Added some typecasts in png_zalloc().
michael@0 1796
michael@0 1797 Version 1.2.14rc1 [November 20, 2006]
michael@0 1798 Changed "strtod" to "png_strtod" in pngrutil.c
michael@0 1799
michael@0 1800 Version 1.0.22, 1.2.14 [November 27, 2006]
michael@0 1801 Added missing "$(srcdir)" in Makefile.am and Makefile.in
michael@0 1802
michael@0 1803 Version 1.2.15beta1 [December 3, 2006]
michael@0 1804 Generated configure with autoconf-2.61 instead of 2.60
michael@0 1805 Revised configure.ac to update libpng.pc and libpng-config.
michael@0 1806
michael@0 1807 Version 1.2.15beta2 [December 3, 2006]
michael@0 1808 Always export MMX asm functions, just stubs if not building pnggccrd.c
michael@0 1809
michael@0 1810 Version 1.2.15beta3 [December 4, 2006]
michael@0 1811 Add "png_bytep" typecast to profile while calculating length in pngwutil.c
michael@0 1812
michael@0 1813 Version 1.2.15beta4 [December 7, 2006]
michael@0 1814 Added scripts/CMakeLists.txt
michael@0 1815 Changed PNG_NO_ASSEMBLER_CODE to PNG_NO_MMX_CODE in scripts, like 1.4.0beta
michael@0 1816
michael@0 1817 Version 1.2.15beta5 [December 7, 2006]
michael@0 1818 Changed some instances of PNG_ASSEMBLER_* to PNG_MMX_* in pnggccrd.c
michael@0 1819 Revised scripts/CMakeLists.txt
michael@0 1820
michael@0 1821 Version 1.2.15beta6 [December 13, 2006]
michael@0 1822 Revised scripts/CMakeLists.txt and configure.ac
michael@0 1823
michael@0 1824 Version 1.2.15rc1 [December 18, 2006]
michael@0 1825 Revised scripts/CMakeLists.txt
michael@0 1826
michael@0 1827 Version 1.2.15rc2 [December 21, 2006]
michael@0 1828 Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
michael@0 1829 Added scripts/makefile.nommx
michael@0 1830
michael@0 1831 Version 1.2.15rc3 [December 25, 2006]
michael@0 1832 Fixed shared library numbering error that was introduced in 1.2.15beta6.
michael@0 1833
michael@0 1834 Version 1.2.15rc4 [December 27, 2006]
michael@0 1835 Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
michael@0 1836
michael@0 1837 Version 1.2.15rc5 [December 31, 2006]
michael@0 1838 Revised handling of rgb_to_gray.
michael@0 1839
michael@0 1840 Version 1.2.15 [January 5, 2007]
michael@0 1841 Added some (unsigned long) typecasts in pngtest.c to avoid printing errors.
michael@0 1842
michael@0 1843 Version 1.2.16beta1 [January 6, 2007]
michael@0 1844 Fix bugs in makefile.nommx
michael@0 1845
michael@0 1846 Version 1.2.16beta2 [January 16, 2007]
michael@0 1847 Revised scripts/CMakeLists.txt
michael@0 1848
michael@0 1849 Version 1.2.16 [January 31, 2007]
michael@0 1850 No changes.
michael@0 1851
michael@0 1852 Version 1.2.17beta1 [March 6, 2007]
michael@0 1853 Revised scripts/CMakeLists.txt to install both shared and static libraries.
michael@0 1854 Deleted a redundant line from pngset.c.
michael@0 1855
michael@0 1856 Version 1.2.17beta2 [April 26, 2007]
michael@0 1857 Relocated misplaced test for png_ptr == NULL in pngpread.c
michael@0 1858 Change "==" to "&" for testing PNG_RGB_TO_GRAY_ERR & PNG_RGB_TO_GRAY_WARN
michael@0 1859 flags.
michael@0 1860 Changed remaining instances of PNG_ASSEMBLER_* to PNG_MMX_*
michael@0 1861 Added pngerror() when write_IHDR fails in deflateInit2().
michael@0 1862 Added "const" to some array declarations.
michael@0 1863 Mention examples of libpng usage in the libpng*.txt and libpng.3 documents.
michael@0 1864
michael@0 1865 Version 1.2.17rc1 [May 4, 2007]
michael@0 1866 No changes.
michael@0 1867
michael@0 1868 Version 1.2.17rc2 [May 8, 2007]
michael@0 1869 Moved several PNG_HAVE_* macros out of PNG_INTERNAL because applications
michael@0 1870 calling set_unknown_chunk_location() need them.
michael@0 1871 Changed transformation flag from PNG_EXPAND_tRNS to PNG_EXPAND in
michael@0 1872 png_set_expand_gray_1_2_4_to_8().
michael@0 1873 Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
michael@0 1874 can be free'ed in case of error. Revised unknown chunk handling in
michael@0 1875 pngrutil.c and pngpread.c to use this structure.
michael@0 1876
michael@0 1877 Version 1.2.17rc3 [May 8, 2007]
michael@0 1878 Revised symbol-handling in configure script.
michael@0 1879
michael@0 1880 Version 1.2.17rc4 [May 10, 2007]
michael@0 1881 Revised unknown chunk handling to avoid storing unknown critical chunks.
michael@0 1882
michael@0 1883 Version 1.0.25 [May 15, 2007]
michael@0 1884 Version 1.2.17 [May 15, 2007]
michael@0 1885 Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
michael@0 1886 to eliminate a vulnerability (CVE-2007-2445, CERT VU#684664)
michael@0 1887
michael@0 1888 Version 1.0.26 [May 15, 2007]
michael@0 1889 Version 1.2.18 [May 15, 2007]
michael@0 1890 Reverted the libpng-1.2.17rc3 change to symbol-handling in configure script
michael@0 1891
michael@0 1892 Version 1.2.19beta1 [May 18, 2007]
michael@0 1893 Changed "const static" to "static PNG_CONST" everywhere, mostly undoing
michael@0 1894 change of libpng-1.2.17beta2. Changed other "const" to "PNG_CONST"
michael@0 1895 Changed some handling of unused parameters, to avoid compiler warnings.
michael@0 1896 "if (unused == NULL) return;" becomes "unused = unused".
michael@0 1897
michael@0 1898 Version 1.2.19beta2 [May 18, 2007]
michael@0 1899 Only use the valid bits of tRNS value in png_do_expand() (Brian Cartier)
michael@0 1900
michael@0 1901 Version 1.2.19beta3 [May 19, 2007]
michael@0 1902 Add some "png_byte" typecasts in png_check_keyword() and write new_key
michael@0 1903 instead of key in zTXt chunk (Kevin Ryde).
michael@0 1904
michael@0 1905 Version 1.2.19beta4 [May 21, 2007]
michael@0 1906 Add png_snprintf() function and use it in place of sprint() for improved
michael@0 1907 defense against buffer overflows.
michael@0 1908
michael@0 1909 Version 1.2.19beta5 [May 21, 2007]
michael@0 1910 Fixed png_handle_tRNS() to only use the valid bits of tRNS value.
michael@0 1911 Changed handling of more unused parameters, to avoid compiler warnings.
michael@0 1912 Removed some PNG_CONST in pngwutil.c to avoid compiler warnings.
michael@0 1913
michael@0 1914 Version 1.2.19beta6 [May 22, 2007]
michael@0 1915 Added some #ifdef PNG_MMX_CODE_SUPPORTED where needed in pngvcrd.c
michael@0 1916 Added a special "_MSC_VER" case that defines png_snprintf to _snprintf
michael@0 1917
michael@0 1918 Version 1.2.19beta7 [May 22, 2007]
michael@0 1919 Squelched png_squelch_warnings() in pnggccrd.c and added
michael@0 1920 an #ifdef PNG_MMX_CODE_SUPPORTED block around the declarations that caused
michael@0 1921 the warnings that png_squelch_warnings was squelching.
michael@0 1922
michael@0 1923 Version 1.2.19beta8 [May 22, 2007]
michael@0 1924 Removed __MMX__ from test in pngconf.h.
michael@0 1925
michael@0 1926 Version 1.2.19beta9 [May 23, 2007]
michael@0 1927 Made png_squelch_warnings() available via PNG_SQUELCH_WARNINGS macro.
michael@0 1928 Revised png_squelch_warnings() so it might work.
michael@0 1929 Updated makefile.sgcc and makefile.solaris; added makefile.solaris-x86.
michael@0 1930
michael@0 1931 Version 1.2.19beta10 [May 24, 2007]
michael@0 1932 Resquelched png_squelch_warnings(), use "__attribute__((used))" instead.
michael@0 1933
michael@0 1934 Version 1.4.0beta1 [April 20, 2006]
michael@0 1935 Enabled iTXt support (changes png_struct, thus requires so-number change).
michael@0 1936 Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
michael@0 1937 Eliminated PNG_1_0_X and PNG_1_2_X macros.
michael@0 1938 Removed deprecated functions png_read_init, png_write_init, png_info_init,
michael@0 1939 png_permit_empty_plte, png_set_gray_1_2_4_to_8, png_check_sig, and
michael@0 1940 removed the deprecated macro PNG_MAX_UINT.
michael@0 1941 Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
michael@0 1942 Removed many WIN32_WCE #ifdefs (Cosmin).
michael@0 1943 Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
michael@0 1944 Replaced sprintf() with png_sprintf() (Simon-Pierre)
michael@0 1945
michael@0 1946 Version 1.4.0beta2 [April 20, 2006]
michael@0 1947 Revised makefiles and configure to avoid making links to libpng.so.*
michael@0 1948 Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
michael@0 1949 Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
michael@0 1950
michael@0 1951 Version 1.4.0beta3 [May 10, 2006]
michael@0 1952 Updated scripts/pngw32.def to comment out MMX functions.
michael@0 1953 Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
michael@0 1954 Scripts/libpng.pc.in contained "configure" style version info and would
michael@0 1955 not work with makefiles.
michael@0 1956 Revised pngconf.h and added pngconf.h.in, so makefiles and configure can
michael@0 1957 pass defines to libpng and applications.
michael@0 1958
michael@0 1959 Version 1.4.0beta4 [May 11, 2006]
michael@0 1960 Revised configure.ac, Makefile.am, and many of the makefiles to write
michael@0 1961 their defines in pngconf.h.
michael@0 1962
michael@0 1963 Version 1.4.0beta5 [May 15, 2006]
michael@0 1964 Added a missing semicolon in Makefile.am and Makefile.in
michael@0 1965 Deleted extraneous square brackets from configure.ac
michael@0 1966
michael@0 1967 Version 1.4.0beta6 [June 2, 2006]
michael@0 1968 Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
michael@0 1969 buffer overflow.
michael@0 1970 Changed sonum from 0 to 1.
michael@0 1971 Removed unused prototype for png_check_sig() from png.h
michael@0 1972
michael@0 1973 Version 1.4.0beta7 [June 16, 2006]
michael@0 1974 Exported png_write_sig (Cosmin).
michael@0 1975 Optimized buffer in png_handle_cHRM() (Cosmin).
michael@0 1976 Set pHYs = 2835 x 2835 pixels per meter, and added
michael@0 1977 sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
michael@0 1978 Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
michael@0 1979 Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
michael@0 1980 Added "(unsigned long)" typecast on png_uint_32 variables in printf lists.
michael@0 1981
michael@0 1982 Version 1.4.0beta8 [June 22, 2006]
michael@0 1983 Added demonstration of user chunk support in pngtest.c, to support the
michael@0 1984 public sTER chunk and a private vpAg chunk.
michael@0 1985
michael@0 1986 Version 1.4.0beta9 [July 3, 2006]
michael@0 1987 Removed ordinals from scripts/pngw32.def and removed png_info_int and
michael@0 1988 png_set_gray_1_2_4_to_8 entries.
michael@0 1989 Inline call of png_get_uint_32() in png_get_uint_31().
michael@0 1990 Use png_get_uint_31() to get vpAg width and height in pngtest.c
michael@0 1991 Removed WINCE and Netware projects.
michael@0 1992 Removed standalone Y2KINFO file.
michael@0 1993
michael@0 1994 Version 1.4.0beta10 [July 12, 2006]
michael@0 1995 Eliminated automatic copy of pngconf.h to pngconf.h.in from configure and
michael@0 1996 some makefiles, because it was not working reliably. Instead, distribute
michael@0 1997 pngconf.h.in along with pngconf.h and cause configure and some of the
michael@0 1998 makefiles to update pngconf.h from pngconf.h.in.
michael@0 1999 Added pngconf.h to DEPENDENCIES in Makefile.am
michael@0 2000
michael@0 2001 Version 1.4.0beta11 [August 19, 2006]
michael@0 2002 Removed AC_FUNC_MALLOC from configure.ac.
michael@0 2003 Added a warning when writing iCCP profile with mismatched profile length.
michael@0 2004 Patched pnggccrd.c to assemble on x86_64 platforms.
michael@0 2005 Moved chunk header reading into a separate function png_read_chunk_header()
michael@0 2006 in pngrutil.c. The chunk header (len+sig) is now serialized in a single
michael@0 2007 operation (Cosmin).
michael@0 2008 Implemented support for I/O states. Added png_ptr member io_state, and
michael@0 2009 functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
michael@0 2010 (Cosmin).
michael@0 2011 Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
michael@0 2012 Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
michael@0 2013 Removed the include directories and libraries from CFLAGS and LDFLAGS
michael@0 2014 in scripts/makefile.gcc (Cosmin).
michael@0 2015 Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
michael@0 2016 Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
michael@0 2017 Added pngintrn.h to the Visual C++ projects (Cosmin).
michael@0 2018 Removed scripts/list (Cosmin).
michael@0 2019 Updated copyright year in scripts/pngwin.def (Cosmin).
michael@0 2020 Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
michael@0 2021 Disallowed the user to redefine png_size_t, and enforced a consistent use
michael@0 2022 of png_size_t across libpng (Cosmin).
michael@0 2023 Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
michael@0 2024 to png_size_t (Cosmin).
michael@0 2025 Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
michael@0 2026 Removed some unnecessary type casts (Cosmin).
michael@0 2027 Changed prototype of png_get_compression_buffer_size() and
michael@0 2028 png_set_compression_buffer_size() to work with png_size_t instead of
michael@0 2029 png_uint_32 (Cosmin).
michael@0 2030 Removed png_memcpy_check() and png_memset_check() (Cosmin).
michael@0 2031 Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
michael@0 2032 Clarified that png_zalloc() does not clear the allocated memory,
michael@0 2033 and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
michael@0 2034 Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
michael@0 2035 pngconf.h, and used it in all memory allocation functions (Cosmin).
michael@0 2036 Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
michael@0 2037 mentioning that the symbols declared in that file are private, and
michael@0 2038 updated the scripts and the Visual C++ projects accordingly (Cosmin).
michael@0 2039 Removed circular references between pngconf.h and pngconf.h.in in
michael@0 2040 scripts/makefile.vc*win32 (Cosmin).
michael@0 2041 Removing trailing '.' from the warning and error messages (Cosmin).
michael@0 2042 Added pngdefs.h that is built by makefile or configure, instead of
michael@0 2043 pngconf.h.in (Glenn).
michael@0 2044 Detect and fix attempt to write wrong iCCP profile length.
michael@0 2045
michael@0 2046 Version 1.4.0beta12 [October 19, 2006]
michael@0 2047 Changed "logical" to "bitwise" in the documentation.
michael@0 2048 Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
michael@0 2049 Add a typecast to stifle compiler warning in pngrutil.c
michael@0 2050
michael@0 2051 Version 1.4.0beta13 [November 10, 2006]
michael@0 2052 Fix potential buffer overflow in sPLT chunk handler.
michael@0 2053 Fix Makefile.am to not try to link to noexistent files.
michael@0 2054
michael@0 2055 Version 1.4.0beta14 [November 15, 2006]
michael@0 2056 Check all exported functions for NULL png_ptr.
michael@0 2057
michael@0 2058 Version 1.4.0beta15 [November 17, 2006]
michael@0 2059 Relocated two misplaced tests for NULL png_ptr.
michael@0 2060 Built Makefile.in with automake-1.9.6 instead of 1.9.2.
michael@0 2061 Build configure with autoconf-2.60 instead of 2.59
michael@0 2062 Add "install: all" in Makefile.am so "configure; make install" will work.
michael@0 2063
michael@0 2064 Version 1.4.0beta16 [November 17, 2006]
michael@0 2065 Added a typecast in png_zalloc().
michael@0 2066
michael@0 2067 Version 1.4.0beta17 [December 4, 2006]
michael@0 2068 Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
michael@0 2069 Add "png_bytep" typecast to profile while calculating length in pngwutil.c
michael@0 2070
michael@0 2071 Version 1.4.0beta18 [December 7, 2006]
michael@0 2072 Added scripts/CMakeLists.txt
michael@0 2073
michael@0 2074 Version 1.4.0beta19 [May 16, 2007]
michael@0 2075 Revised scripts/CMakeLists.txt
michael@0 2076 Rebuilt configure and Makefile.in with newer tools.
michael@0 2077 Added conditional #undef jmpbuf in pngtest.c to undo #define in AIX headers.
michael@0 2078 Added scripts/makefile.nommx
michael@0 2079
michael@0 2080 Version 1.4.0beta20 [July 9, 2008]
michael@0 2081 Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
michael@0 2082 calling set_unknown_chunk_location() need them.
michael@0 2083 Moved several macro definitions from pngpriv.h to pngconf.h
michael@0 2084 Merge with changes to the 1.2.X branch, as of 1.2.30beta04.
michael@0 2085 Deleted all use of the MMX assembler code and Intel-licensed optimizations.
michael@0 2086 Revised makefile.mingw
michael@0 2087
michael@0 2088 Version 1.4.0beta21 [July 21, 2008]
michael@0 2089 Moved local array "chunkdata" from pngrutil.c to the png_struct, so
michael@0 2090 it will be freed by png_read_destroy() in case of a read error (Kurt
michael@0 2091 Christensen).
michael@0 2092
michael@0 2093 Version 1.4.0beta22 [July 21, 2008]
michael@0 2094 Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
michael@0 2095
michael@0 2096 Version 1.4.0beta23 [July 22, 2008]
michael@0 2097 Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
michael@0 2098 png_decompress_chunk().
michael@0 2099
michael@0 2100 Version 1.4.0beta24 [July 25, 2008]
michael@0 2101 Change all remaining "chunkdata" to "png_ptr->chunkdata" in
michael@0 2102 png_decompress_chunk(), and remove "chunkdata" from parameter list.
michael@0 2103 Put a call to png_check_chunk_name() in png_read_chunk_header().
michael@0 2104 Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
michael@0 2105 Removed two calls to png_check_chunk_name() occuring later in the process.
michael@0 2106 Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
michael@0 2107
michael@0 2108 Version 1.4.0beta25 [July 30, 2008]
michael@0 2109 Added a call to png_check_chunk_name() in pngpread.c
michael@0 2110 Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
michael@0 2111 Added png_push_have_buffer() function to pngpread.c
michael@0 2112 Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
michael@0 2113 Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
michael@0 2114 Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
michael@0 2115 Synced contrib directory and configure files with libpng-1.2.30beta06.
michael@0 2116 Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
michael@0 2117 Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c
michael@0 2118
michael@0 2119 Version 1.4.0beta26 [August 4, 2008]
michael@0 2120 Removed png_push_have_buffer() function in pngpread.c. It increased the
michael@0 2121 compiled library size slightly.
michael@0 2122 Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
michael@0 2123 Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
michael@0 2124 Updated contrib/visupng/cexcept.h to version 2.0.1
michael@0 2125 Added PNG_LITERAL_CHARACTER macros for #, [, and ].
michael@0 2126
michael@0 2127 Version 1.4.0beta27 [August 5, 2008]
michael@0 2128 Revised usage of PNG_LITERAL_SHARP in pngerror.c.
michael@0 2129 Moved newline character from individual png_debug messages into the
michael@0 2130 png_debug macros.
michael@0 2131 Allow user to #define their own png_debug, png_debug1, and png_debug2.
michael@0 2132
michael@0 2133 Version 1.4.0beta28 [August 5, 2008]
michael@0 2134 Revised usage of PNG_LITERAL_SHARP in pngerror.c.
michael@0 2135 Added PNG_STRING_NEWLINE macro
michael@0 2136
michael@0 2137 Version 1.4.0beta29 [August 9, 2008]
michael@0 2138 Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
michael@0 2139 Added PNG_STRING_COPYRIGHT macro.
michael@0 2140 Added non-ISO versions of png_debug macros.
michael@0 2141
michael@0 2142 Version 1.4.0beta30 [August 14, 2008]
michael@0 2143 Added premultiplied alpha feature (Volker Wiendl).
michael@0 2144
michael@0 2145 Version 1.4.0beta31 [August 18, 2008]
michael@0 2146 Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
michael@0 2147 Removed extra crc check at the end of png_handle_cHRM(). Bug introduced
michael@0 2148 in libpng-1.4.0beta20.
michael@0 2149
michael@0 2150 Version 1.4.0beta32 [August 19, 2008]
michael@0 2151 Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
michael@0 2152 Revised PNG_NO_STDIO version of png_write_flush()
michael@0 2153
michael@0 2154 Version 1.4.0beta33 [August 20, 2008]
michael@0 2155 Added png_get|set_chunk_cache_max() to limit the total number of sPLT,
michael@0 2156 text, and unknown chunks that can be stored.
michael@0 2157
michael@0 2158 Version 1.4.0beta34 [September 6, 2008]
michael@0 2159 Shortened tIME_string to 29 bytes in pngtest.c
michael@0 2160 Fixed off-by-one error introduced in png_push_read_zTXt() function in
michael@0 2161 libpng-1.2.30beta04/pngpread.c (Harald van Dijk)
michael@0 2162
michael@0 2163 Version 1.4.0beta35 [October 6, 2008]
michael@0 2164 Changed "trans_values" to "trans_color".
michael@0 2165 Changed so-number from 0 to 14. Some OS do not like 0.
michael@0 2166 Revised makefile.darwin to fix shared library numbering.
michael@0 2167 Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
michael@0 2168 in example.c (debian bug report)
michael@0 2169
michael@0 2170 Version 1.4.0beta36 [October 25, 2008]
michael@0 2171 Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
michael@0 2172
michael@0 2173 Version 1.4.0beta37 [November 13, 2008]
michael@0 2174 Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
michael@0 2175 and pngwrite.c
michael@0 2176
michael@0 2177 Version 1.4.0beta38 [November 22, 2008]
michael@0 2178 Added check for zero-area RGB cHRM triangle in png_check_cHRM() and
michael@0 2179 png_check_cHRM_fixed().
michael@0 2180
michael@0 2181 Version 1.4.0beta39 [November 23, 2008]
michael@0 2182 Revised png_warning() to write its message on standard output by default
michael@0 2183 when warning_fn is NULL.
michael@0 2184
michael@0 2185 Version 1.4.0beta40 [November 24, 2008]
michael@0 2186 Eliminated png_check_cHRM(). Instead, always use png_check_cHRM_fixed().
michael@0 2187 In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
michael@0 2188 check for all-zero coordinates that is detected by the triangle check.
michael@0 2189
michael@0 2190 Version 1.4.0beta41 [November 26, 2008]
michael@0 2191 Fixed string vs pointer-to-string error in png_check_keyword().
michael@0 2192 Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
michael@0 2193 overflows.
michael@0 2194 Added PNG_NO_CHECK_cHRM conditional.
michael@0 2195
michael@0 2196 Version 1.4.0beta42, 43 [December 1, 2008]
michael@0 2197 Merge png_debug with version 1.2.34beta04.
michael@0 2198
michael@0 2199 Version 1.4.0beta44 [December 6, 2008]
michael@0 2200 Removed redundant check for key==NULL before calling png_check_keyword()
michael@0 2201 to ensure that new_key gets initialized and removed extra warning
michael@0 2202 (Merge with version 1.2.34beta05 -- Arvan Pritchard).
michael@0 2203
michael@0 2204 Version 1.4.0beta45 [December 9, 2008]
michael@0 2205 In png_write_png(), respect the placement of the filler bytes in an earlier
michael@0 2206 call to png_set_filler() (Jim Barry).
michael@0 2207
michael@0 2208 Version 1.4.0beta46 [December 10, 2008]
michael@0 2209 Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
michael@0 2210 PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
michael@0 2211 PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
michael@0 2212
michael@0 2213 Version 1.4.0beta47 [December 15, 2008]
michael@0 2214 Support for dithering was disabled by default, because it has never
michael@0 2215 been well tested and doesn't work very well. The code has not
michael@0 2216 been removed, however, and can be enabled by building libpng with
michael@0 2217 PNG_READ_DITHER_SUPPORTED defined.
michael@0 2218
michael@0 2219 Version 1.4.0beta48 [February 14, 2009]
michael@0 2220 Added new exported function png_calloc().
michael@0 2221 Combined several instances of png_malloc(); png_memset() into png_calloc().
michael@0 2222 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
michael@0 2223 but was never defined.
michael@0 2224
michael@0 2225 Version 1.4.0beta49 [February 28, 2009]
michael@0 2226 Added png_fileno() macro to pngconf.h, used in pngwio.c
michael@0 2227 Corrected order of #ifdef's in png_debug definition in png.h
michael@0 2228 Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
michael@0 2229 for pcal_params.
michael@0 2230 Fixed order of #ifdef directives in the png_debug defines in png.h
michael@0 2231 (bug introduced in libpng-1.2.34/1.4.0beta29).
michael@0 2232 Revised comments in png_set_read_fn() and png_set_write_fn().
michael@0 2233
michael@0 2234 Version 1.4.0beta50 [March 18, 2009]
michael@0 2235 Use png_calloc() instead of png_malloc() to allocate big_row_buf when
michael@0 2236 reading an interlaced file, to avoid a possible UMR.
michael@0 2237 Undid revision of PNG_NO_STDIO version of png_write_flush(). Users
michael@0 2238 having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined
michael@0 2239 or supply their own flush_fn() replacement.
michael@0 2240 Revised libpng*.txt and png.h documentation about use of png_write_flush()
michael@0 2241 and png_set_write_fn().
michael@0 2242 Removed fflush() from pngtest.c.
michael@0 2243 Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
michael@0 2244
michael@0 2245 Version 1.4.0beta51 [March 21, 2009]
michael@0 2246 Removed new png_fileno() macro from pngconf.h .
michael@0 2247
michael@0 2248 Version 1.4.0beta52 [March 27, 2009]
michael@0 2249 Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
michael@0 2250 This avoids building 16-bit gamma tables unnecessarily.
michael@0 2251 Removed fflush() from pngtest.c.
michael@0 2252 Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
michael@0 2253 Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt
michael@0 2254
michael@0 2255 Version 1.4.0beta53 [April 1, 2009]
michael@0 2256 Removed some remaining MMX macros from pngpriv.h
michael@0 2257 Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
michael@0 2258
michael@0 2259 Version 1.4.0beta54 [April 13, 2009]
michael@0 2260 Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
michael@0 2261 application code writers to bypass the check for multiple inclusion
michael@0 2262 of setjmp.h when they know that it is safe to ignore the situation.
michael@0 2263 Eliminated internal use of setjmp() in pngread.c and pngwrite.c
michael@0 2264 Reordered ancillary chunks in pngtest.png to be the same as what
michael@0 2265 pngtest now produces, and made some cosmetic changes to pngtest output.
michael@0 2266 Eliminated deprecated png_read_init_3() and png_write_init_3() functions.
michael@0 2267
michael@0 2268 Version 1.4.0beta55 [April 15, 2009]
michael@0 2269 Simplified error handling in pngread.c and pngwrite.c by putting
michael@0 2270 the new png_read_cleanup() and png_write_cleanup() functions inline.
michael@0 2271
michael@0 2272 Version 1.4.0beta56 [April 25, 2009]
michael@0 2273 Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
michael@0 2274 "shadowed declaration" warning from gcc-4.3.3.
michael@0 2275 Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
michael@0 2276 warning about a global "gamma" variable in math.h on some platforms.
michael@0 2277
michael@0 2278 Version 1.4.0beta57 [May 2, 2009]
michael@0 2279 Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
michael@0 2280 but was never defined (again).
michael@0 2281 Rebuilt configure scripts with autoconf-2.63 instead of 2.62
michael@0 2282 Removed pngprefs.h and MMX from makefiles
michael@0 2283
michael@0 2284 Version 1.4.0beta58 [May 14, 2009]
michael@0 2285 Changed pngw32.def to pngwin.def in makefile.mingw (typo was introduced
michael@0 2286 in beta57).
michael@0 2287 Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
michael@0 2288
michael@0 2289 Version 1.4.0beta59 [May 15, 2009]
michael@0 2290 Reformated sources in libpng style (3-space intentation, comment format)
michael@0 2291 Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
michael@0 2292 Added sections about the git repository and our coding style to the
michael@0 2293 documentation
michael@0 2294 Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
michael@0 2295
michael@0 2296 Version 1.4.0beta60 [May 19, 2009]
michael@0 2297 Conditionally compile png_read_finish_row() which is not used by
michael@0 2298 progressive readers.
michael@0 2299 Added contrib/pngminim/preader to demonstrate building minimal progressive
michael@0 2300 decoder, based on contrib/gregbook with embedded libpng and zlib.
michael@0 2301
michael@0 2302 Version 1.4.0beta61 [May 20, 2009]
michael@0 2303 In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
michael@0 2304 is only one makefile in those directories, and revised the README files
michael@0 2305 accordingly.
michael@0 2306 More reformatting of comments, mostly to capitalize sentences.
michael@0 2307
michael@0 2308 Version 1.4.0beta62 [June 2, 2009]
michael@0 2309 Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
michael@0 2310 and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
michael@0 2311 Reformatted several remaining "else statement" into two lines.
michael@0 2312 Added a section to the libpng documentation about using png_get_io_ptr()
michael@0 2313 in configure scripts to detect the presence of libpng.
michael@0 2314
michael@0 2315 Version 1.4.0beta63 [June 15, 2009]
michael@0 2316 Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
michael@0 2317 multiple times and to specify the sample order in the tRNS chunk,
michael@0 2318 because the ISO PNG specification has a typo in the tRNS table.
michael@0 2319 Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
michael@0 2320 PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
michael@0 2321 available for ignoring known chunks even when not saving unknown chunks.
michael@0 2322 Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
michael@0 2323 "#if defined()" and "if !defined()" where possible.
michael@0 2324
michael@0 2325 Version 1.4.0beta64 [June 24, 2009]
michael@0 2326 Eliminated PNG_LEGACY_SUPPORTED code.
michael@0 2327 Moved the various unknown chunk macro definitions outside of the
michael@0 2328 PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
michael@0 2329
michael@0 2330 Version 1.4.0beta65 [June 26, 2009]
michael@0 2331 Added a reference to the libpng license in each file.
michael@0 2332
michael@0 2333 Version 1.4.0beta66 [June 27, 2009]
michael@0 2334 Refer to the libpng license instead of the libpng license in each file.
michael@0 2335
michael@0 2336 Version 1.4.0beta67 [July 6, 2009]
michael@0 2337 Relocated INVERT_ALPHA within png_read_png() and png_write_png().
michael@0 2338 Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
michael@0 2339 Added an "xcode" project to the projects directory (Alam Arias).
michael@0 2340
michael@0 2341 Version 1.4.0beta68 [July 19, 2009]
michael@0 2342 Avoid some tests in filter selection in pngwutil.c
michael@0 2343
michael@0 2344 Version 1.4.0beta69 [July 25, 2009]
michael@0 2345 Simplified the new filter-selection test. This runs faster in the
michael@0 2346 common "PNG_ALL_FILTERS" and PNG_FILTER_NONE cases.
michael@0 2347 Removed extraneous declaration from the new call to png_read_gray_to_rgb()
michael@0 2348 (bug introduced in libpng-1.4.0beta67).
michael@0 2349 Fixed up xcode project (Alam Arias)
michael@0 2350 Added a prototype for png_64bit_product() in png.c
michael@0 2351
michael@0 2352 Version 1.4.0beta70 [July 27, 2009]
michael@0 2353 Avoid a possible NULL dereference in debug build, in png_set_text_2().
michael@0 2354 (bug introduced in libpng-0.95, discovered by Evan Rouault)
michael@0 2355
michael@0 2356 Version 1.4.0beta71 [July 29, 2009]
michael@0 2357 Rebuilt configure scripts with autoconf-2.64.
michael@0 2358
michael@0 2359 Version 1.4.0beta72 [August 1, 2009]
michael@0 2360 Replaced *.tar.lzma with *.tar.xz in distribution. Get the xz codec
michael@0 2361 from <http://tukaani.org/xz>.
michael@0 2362
michael@0 2363 Version 1.4.0beta73 [August 1, 2009]
michael@0 2364 Reject attempt to write iCCP chunk with negative embedded profile length
michael@0 2365 (JD Chen) (CVE-2009-5063).
michael@0 2366
michael@0 2367 Version 1.4.0beta74 [August 8, 2009]
michael@0 2368 Changed png_ptr and info_ptr member "trans" to "trans_alpha".
michael@0 2369
michael@0 2370 Version 1.4.0beta75 [August 21, 2009]
michael@0 2371 Removed an extra png_debug() recently added to png_write_find_filter().
michael@0 2372 Fixed incorrect #ifdef in pngset.c regarding unknown chunk support.
michael@0 2373
michael@0 2374 Version 1.4.0beta76 [August 22, 2009]
michael@0 2375 Moved an incorrectly located test in png_read_row() in pngread.c
michael@0 2376
michael@0 2377 Version 1.4.0beta77 [August 27, 2009]
michael@0 2378 Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
michael@0 2379 and the "noconfig" files from the distribution.
michael@0 2380 Moved CMakeLists.txt from scripts into the main libpng directory.
michael@0 2381 Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
michael@0 2382
michael@0 2383 Version 1.4.0beta78 [August 31, 2009]
michael@0 2384 Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
michael@0 2385 Eliminated PNG_NO_FREE_ME and PNG_FREE_ME_SUPPORTED macros.
michael@0 2386 Use png_malloc plus a loop instead of png_calloc() to initialize
michael@0 2387 row_pointers in png_read_png().
michael@0 2388
michael@0 2389 Version 1.4.0beta79 [September 1, 2009]
michael@0 2390 Eliminated PNG_GLOBAL_ARRAYS and PNG_LOCAL_ARRAYS; always use local arrays.
michael@0 2391 Eliminated PNG_CALLOC_SUPPORTED macro and always provide png_calloc().
michael@0 2392
michael@0 2393 Version 1.4.0beta80 [September 17, 2009]
michael@0 2394 Removed scripts/libpng.icc
michael@0 2395 Changed typecast of filler from png_byte to png_uint_16 in png_set_filler().
michael@0 2396 (Dennis Gustafsson)
michael@0 2397 Fixed typo introduced in beta78 in pngtest.c ("#if def " should be "#ifdef ")
michael@0 2398
michael@0 2399 Version 1.4.0beta81 [September 23, 2009]
michael@0 2400 Eliminated unused PNG_FLAG_FREE_* defines from pngpriv.h
michael@0 2401 Expanded TAB characters in pngrtran.c
michael@0 2402 Removed PNG_CONST from all "PNG_CONST PNG_CHNK" declarations to avoid
michael@0 2403 compiler complaints about doubly declaring things "const".
michael@0 2404 Changed all "#if [!]defined(X)" to "if[n]def X" where possible.
michael@0 2405 Eliminated unused png_ptr->row_buf_size
michael@0 2406
michael@0 2407 Version 1.4.0beta82 [September 25, 2009]
michael@0 2408 Moved redundant IHDR checking into new png_check_IHDR() in png.c
michael@0 2409 and report all errors found in the IHDR data.
michael@0 2410 Eliminated useless call to png_check_cHRM() from pngset.c
michael@0 2411
michael@0 2412 Version 1.4.0beta83 [September 25, 2009]
michael@0 2413 Revised png_check_IHDR() to eliminate bogus complaint about filter_type.
michael@0 2414
michael@0 2415 Version 1.4.0beta84 [September 30, 2009]
michael@0 2416 Fixed some inconsistent indentation in pngconf.h
michael@0 2417 Revised png_check_IHDR() to add a test for width variable less than 32-bit.
michael@0 2418
michael@0 2419 Version 1.4.0beta85 [October 1, 2009]
michael@0 2420 Revised png_check_IHDR() again, to check info_ptr members instead of
michael@0 2421 the contents of the returned parameters.
michael@0 2422
michael@0 2423 Version 1.4.0beta86 [October 9, 2009]
michael@0 2424 Updated the "xcode" project (Alam Arias).
michael@0 2425 Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
michael@0 2426
michael@0 2427 Version 1.4.0rc01 [October 19, 2009]
michael@0 2428 Trivial cosmetic changes.
michael@0 2429
michael@0 2430 Version 1.4.0beta87 [October 30, 2009]
michael@0 2431 Moved version 1.4.0 back into beta.
michael@0 2432
michael@0 2433 Version 1.4.0beta88 [October 30, 2009]
michael@0 2434 Revised libpng*.txt section about differences between 1.2.x and 1.4.0
michael@0 2435 because most of the new features have now been ported back to 1.2.41
michael@0 2436
michael@0 2437 Version 1.4.0beta89 [November 1, 2009]
michael@0 2438 More bugfixes and improvements to CMakeLists.txt (Philip Lowman)
michael@0 2439 Removed a harmless extra png_set_invert_alpha() from pngwrite.c
michael@0 2440 Apply png_user_chunk_cache_max within png_decompress_chunk().
michael@0 2441 Merged libpng-1.2.41.txt with libpng-1.4.0.txt where appropriate.
michael@0 2442
michael@0 2443 Version 1.4.0beta90 [November 2, 2009]
michael@0 2444 Removed all remaining WIN32_WCE #ifdefs except those involving the
michael@0 2445 time.h "tm" structure
michael@0 2446
michael@0 2447 Version 1.4.0beta91 [November 3, 2009]
michael@0 2448 Updated scripts/pngw32.def and projects/wince/png32ce.def
michael@0 2449 Copied projects/wince/png32ce.def to the scripts directory.
michael@0 2450 Added scripts/makefile.wce
michael@0 2451 Patched ltmain.sh for wince support.
michael@0 2452 Added PNG_CONVERT_tIME_SUPPORTED macro.
michael@0 2453
michael@0 2454 Version 1.4.0beta92 [November 4, 2009]
michael@0 2455 Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
michael@0 2456 Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
michael@0 2457 Revised libpng*.txt to describe differences from 1.2.40 to 1.4.0 (instead
michael@0 2458 of differences from 1.2.41 to 1.4.0)
michael@0 2459
michael@0 2460 Version 1.4.0beta93 [November 7, 2009]
michael@0 2461 Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
michael@0 2462 PNG_ALLOCATED macros to detect deprecated direct access to the
michael@0 2463 png_struct or info_struct members and other deprecated usage in
michael@0 2464 applications (John Bowler).
michael@0 2465 Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
michael@0 2466 to prevent warnings about direct access to png structs by libpng
michael@0 2467 functions while building libpng. They need to be tested, especially
michael@0 2468 those using compilers other than gcc.
michael@0 2469 Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
michael@0 2470 They should work but still need to be updated to remove
michael@0 2471 references to pnggccrd.c or pngvcrd.c and ASM building.
michael@0 2472 Added README.txt to the beos, cbuilder5, netware, and xcode projects warning
michael@0 2473 that they need to be updated, to remove references to pnggccrd.c and
michael@0 2474 pngvcrd.c and to depend on pngpriv.h
michael@0 2475 Removed three direct references to read_info_ptr members in pngtest.c
michael@0 2476 that were detected by the new PNG_DEPSTRUCT macro.
michael@0 2477 Moved the png_debug macro definitions and the png_read_destroy(),
michael@0 2478 png_write_destroy() and png_far_to_near() prototypes from png.h
michael@0 2479 to pngpriv.h (John Bowler)
michael@0 2480 Moved the synopsis lines for png_read_destroy(), png_write_destroy()
michael@0 2481 png_debug(), png_debug1(), and png_debug2() from libpng.3 to libpngpf.3.
michael@0 2482
michael@0 2483 Version 1.4.0beta94 [November 9, 2009]
michael@0 2484 Removed the obsolete, unused pnggccrd.c and pngvcrd.c files.
michael@0 2485 Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
michael@0 2486 Removed dependency of pngtest.o on pngpriv.h in the makefiles.
michael@0 2487 Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined.
michael@0 2488
michael@0 2489 Version 1.4.0beta95 [November 10, 2009]
michael@0 2490 Changed png_check_sig() to !png_sig_cmp() in contrib programs.
michael@0 2491 Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
michael@0 2492 Changed png_check_sig() to !png_sig_cmp() in contrib programs.
michael@0 2493 Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
michael@0 2494 Changed pngminim/*/gather.sh to stop trying to remove pnggccrd.c and pngvcrd.c
michael@0 2495 Added dependency on pngpriv.h in contrib/pngminim/*/makefile
michael@0 2496
michael@0 2497 Version 1.4.0beta96 [November 12, 2009]
michael@0 2498 Renamed scripts/makefile.wce to scripts/makefile.cegcc
michael@0 2499 Revised Makefile.am to use libpng.sys while building libpng.so
michael@0 2500 so that only PNG_EXPORT functions are exported.
michael@0 2501 Removed the deprecated png_check_sig() function/macro.
michael@0 2502 Removed recently removed function names from scripts/*.def
michael@0 2503 Revised pngtest.png to put chunks in the same order written by pngtest
michael@0 2504 (evidently the same change made in libpng-1.0beta54 was lost).
michael@0 2505 Added PNG_PRIVATE macro definition in pngconf.h for possible future use.
michael@0 2506
michael@0 2507 Version 1.4.0beta97 [November 13, 2009]
michael@0 2508 Restored pngtest.png to the libpng-1.4.0beta7 version.
michael@0 2509 Removed projects/beos and netware.txt; no one seems to be supporting them.
michael@0 2510 Revised Makefile.in
michael@0 2511
michael@0 2512 Version 1.4.0beta98 [November 13, 2009]
michael@0 2513 Added the "xcode" project to zip distributions,
michael@0 2514 Fixed a typo in scripts/pngwin.def introduced in beta97.
michael@0 2515
michael@0 2516 Version 1.4.0beta99 [November 14, 2009]
michael@0 2517 Moved libpng-config.in and libpng.pc-configure.in out of the scripts
michael@0 2518 directory, to libpng-config.in and libpng-pc.in, respectively, and
michael@0 2519 modified Makefile.am and configure.ac accordingly. Now "configure"
michael@0 2520 needs nothing from the "scripts" directory.
michael@0 2521 Avoid redefining PNG_CONST in pngconf.h
michael@0 2522
michael@0 2523 Version 1.4.0beta100 [November 14, 2009]
michael@0 2524 Removed ASM builds from projects/visualc6 and projects/visualc71
michael@0 2525 Removed scripts/makefile.nommx and makefile.vcawin32
michael@0 2526 Revised CMakeLists.txt to account for new location of libpng-config.in
michael@0 2527 and libpng-pc.in
michael@0 2528 Updated INSTALL to reflect removal and relocation of files.
michael@0 2529
michael@0 2530 Version 1.4.0beta101 [November 14, 2009]
michael@0 2531 Restored the binary files (*.jpg, *.png, some project files) that were
michael@0 2532 accidentally deleted from the zip and 7z distributions when the xcode
michael@0 2533 project was added.
michael@0 2534
michael@0 2535 Version 1.4.0beta102 [November 18, 2009]
michael@0 2536 Added libpng-config.in and libpng-pc.in to the zip and 7z distributions.
michael@0 2537 Fixed a typo in projects/visualc6/pngtest.dsp, introduced in beta100.
michael@0 2538 Moved descriptions of makefiles and other scripts out of INSTALL into
michael@0 2539 scripts/README.txt
michael@0 2540 Updated the copyright year in scripts/pngwin.rc from 2006 to 2009.
michael@0 2541
michael@0 2542 Version 1.4.0beta103 [November 21, 2009]
michael@0 2543 Removed obsolete comments about ASM from projects/visualc71/README_zlib.txt
michael@0 2544 Align row_buf on 16-byte boundary in memory.
michael@0 2545 Restored the PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED guard around the call
michael@0 2546 to png_flush() after png_write_IEND(). See 1.4.0beta32, 1.4.0beta50
michael@0 2547 changes above and 1.2.30, 1.2.30rc01 and rc03 in 1.2.41 CHANGES. Someone
michael@0 2548 needs this feature.
michael@0 2549 Make the 'png_jmpbuf' macro expand to a call that records the correct
michael@0 2550 longjmp function as well as returning a pointer to the setjmp
michael@0 2551 jmp_buf buffer, and marked direct access to jmpbuf 'deprecated'.
michael@0 2552 (John Bowler)
michael@0 2553
michael@0 2554 Version 1.4.0beta104 [November 22, 2009]
michael@0 2555 Removed png_longjmp_ptr from scripts/*.def and libpng.3
michael@0 2556 Rebuilt configure scripts with autoconf-2.65
michael@0 2557
michael@0 2558 Version 1.4.0beta105 [November 25, 2009]
michael@0 2559 Use fast integer PNG_DIVIDE_BY_255() or PNG_DIVIDE_BY_65535()
michael@0 2560 to accomplish alpha premultiplication when
michael@0 2561 PNG_READ_COMPOSITE_NODIV_SUPPORTED is defined.
michael@0 2562 Changed "/255" to "/255.0" in background calculations to make it clear
michael@0 2563 that the 255 is used as a double.
michael@0 2564
michael@0 2565 Version 1.4.0beta106 [November 27, 2009]
michael@0 2566 Removed premultiplied alpha feature.
michael@0 2567
michael@0 2568 Version 1.4.0beta107 [December 4, 2009]
michael@0 2569 Updated README
michael@0 2570 Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
michael@0 2571 Removed "-DPNG_CONFIGURE_LIBPNG" from the makefiles and projects.
michael@0 2572 Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
michael@0 2573 to put png.h and pngconf.h in $prefix/include, like the other scripts,
michael@0 2574 instead of in $prefix/include/libpng. Also revised makefile.sco
michael@0 2575 to put them in $prefix/include/libpng15 instead of in
michael@0 2576 $prefix/include/libpng/libpng15.
michael@0 2577
michael@0 2578 Version 1.4.0beta108 [December 11, 2009]
michael@0 2579 Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile
michael@0 2580 Relocated png_do_chop() to its original position in pngrtran.c; the
michael@0 2581 change in version 1.2.41beta08 caused transparency to be handled wrong
michael@0 2582 in some 16-bit datastreams (Yusaku Sugai).
michael@0 2583
michael@0 2584 Version 1.4.0beta109 [December 13, 2009]
michael@0 2585 Added "bit_depth" parameter to the private png_build_gamma_table() function.
michael@0 2586 Pass bit_depth=8 to png_build_gamma_table() when bit_depth is 16 but the
michael@0 2587 PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit
michael@0 2588 tables.
michael@0 2589
michael@0 2590 Version 1.4.0rc02 [December 20, 2009]
michael@0 2591 Declared png_cleanup_needed "volatile" in pngread.c and pngwrite.c
michael@0 2592
michael@0 2593 Version 1.4.0rc03 [December 22, 2009]
michael@0 2594 Renamed libpng-pc.in back to libpng.pc.in and revised CMakeLists.txt
michael@0 2595 (revising the change in 1.4.0beta99)
michael@0 2596
michael@0 2597 Version 1.4.0rc04 [December 25, 2009]
michael@0 2598 Swapped PNG_UNKNOWN_CHUNKS_SUPPORTED and PNG_HANDLE_AS_UNKNOWN_SUPPORTED
michael@0 2599 in pngset.c to be consistent with other changes in version 1.2.38.
michael@0 2600
michael@0 2601 Version 1.4.0rc05 [December 25, 2009]
michael@0 2602 Changed "libpng-pc.in" to "libpng.pc.in" in configure.ac, configure, and
michael@0 2603 Makefile.in to be consistent with changes in libpng-1.4.0rc03
michael@0 2604
michael@0 2605 Version 1.4.0rc06 [December 29, 2009]
michael@0 2606 Reverted the gamma_table changes from libpng-1.4.0beta109.
michael@0 2607 Fixed some indentation errors.
michael@0 2608
michael@0 2609 Version 1.4.0rc07 [January 1, 2010]
michael@0 2610 Revised libpng*.txt and libpng.3 about 1.2.x->1.4.x differences.
michael@0 2611 Use png_calloc() instead of png_malloc(); png_memset() in pngrutil.c
michael@0 2612 Update copyright year to 2010.
michael@0 2613
michael@0 2614 Version 1.4.0rc08 [January 2, 2010]
michael@0 2615 Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
michael@0 2616 in pngtest.c
michael@0 2617
michael@0 2618 Version 1.4.0 [January 3, 2010]
michael@0 2619 No changes.
michael@0 2620
michael@0 2621 Version 1.4.1beta01 [January 8, 2010]
michael@0 2622 Updated CMakeLists.txt for consistent indentation and to avoid an
michael@0 2623 unclosed if-statement warning (Philip Lowman).
michael@0 2624 Revised Makefile.am and Makefile.in to remove references to Y2KINFO,
michael@0 2625 KNOWNBUG, and libpng.la (Robert Schwebel).
michael@0 2626 Revised the makefiles to install the same files and symbolic
michael@0 2627 links as configure, except for libpng.la and libpng14.la.
michael@0 2628 Make png_set|get_compression_buffer_size() available even when
michael@0 2629 PNG_WRITE_SUPPORTED is not enabled.
michael@0 2630 Revised Makefile.am and Makefile.in to simplify their maintenance.
michael@0 2631 Revised scripts/makefile.linux to install a link to libpng14.so.14.1
michael@0 2632
michael@0 2633 Version 1.4.1beta02 [January 9, 2010]
michael@0 2634 Revised the rest of the makefiles to install a link to libpng14.so.14.1
michael@0 2635
michael@0 2636 Version 1.4.1beta03 [January 10, 2010]
michael@0 2637 Removed png_set_premultiply_alpha() from scripts/*.def
michael@0 2638
michael@0 2639 Version 1.4.1rc01 [January 16, 2010]
michael@0 2640 No changes.
michael@0 2641
michael@0 2642 Version 1.4.1beta04 [January 23, 2010]
michael@0 2643 Revised png_decompress_chunk() to improve speed and memory usage when
michael@0 2644 decoding large chunks.
michael@0 2645 Added png_set|get_chunk_malloc_max() functions.
michael@0 2646
michael@0 2647 Version 1.4.1beta05 [January 26, 2010]
michael@0 2648 Relocated "int k" declaration in pngtest.c to minimize its scope.
michael@0 2649
michael@0 2650 Version 1.4.1beta06 [January 28, 2010]
michael@0 2651 Revised png_decompress_chunk() to use a two-pass method suggested by
michael@0 2652 John Bowler.
michael@0 2653
michael@0 2654 Version 1.4.1beta07 [February 6, 2010]
michael@0 2655 Folded some long lines in the source files.
michael@0 2656 Added defineable PNG_USER_CHUNK_CACHE_MAX, PNG_USER_CHUNK_MALLOC_MAX,
michael@0 2657 and a PNG_USER_LIMITS_SUPPORTED flag.
michael@0 2658 Eliminated use of png_ptr->irowbytes and reused the slot in png_ptr as
michael@0 2659 png_ptr->png_user_chunk_malloc_max.
michael@0 2660 Revised png_push_save_buffer() to do fewer but larger png_malloc() calls.
michael@0 2661
michael@0 2662 Version 1.4.1beta08 [February 6, 2010]
michael@0 2663 Minor cleanup and updating of dates and copyright year.
michael@0 2664
michael@0 2665 Version 1.5.0beta01 [February 7, 2010]
michael@0 2666 Moved declaration of png_struct into private pngstruct.h and png_info
michael@0 2667 into pnginfo.h
michael@0 2668
michael@0 2669 Version 1.4.1beta09 and 1.5.0beta02 [February 7, 2010]
michael@0 2670 Reverted to original png_push_save_buffer() code.
michael@0 2671
michael@0 2672 Version 1.4.1beta10 and 1.5.0beta03 [February 8, 2010]
michael@0 2673 Return allocated "old_buffer" in png_push_save_buffer() before
michael@0 2674 calling png_error(), to avoid a potential memory leak.
michael@0 2675 Updated configure script to use SO number 15.
michael@0 2676
michael@0 2677 Version 1.5.0beta04 [February 9, 2010]
michael@0 2678 Removed malformed "incomplete struct declaration" of png_info from png.h
michael@0 2679
michael@0 2680 Version 1.5.0beta05 [February 12, 2010]
michael@0 2681 Removed PNG_DEPSTRUCT markup in pngstruct.h and pnginfo.h, and undid the
michael@0 2682 linewrapping that it entailed.
michael@0 2683 Revised comments in pngstruct.h and pnginfo.h and added pointers to
michael@0 2684 the libpng license.
michael@0 2685 Changed PNG_INTERNAL to PNG_EXPOSE_INTERNAL_STRUCTURES
michael@0 2686 Removed the cbuilder5 project, which has not been updated to 1.4.0.
michael@0 2687
michael@0 2688 Version 1.4.1beta12 and 1.5.0beta06 [February 14, 2010]
michael@0 2689 Fixed type declaration of png_get_chunk_malloc_max() in pngget.c (Daisuke
michael@0 2690 Nishikawa)
michael@0 2691
michael@0 2692 Version 1.5.0beta07 [omitted]
michael@0 2693
michael@0 2694 Version 1.5.0beta08 [February 19, 2010]
michael@0 2695 Changed #ifdef PNG_NO_STDIO_SUPPORTED to #ifdef PNG_NO_CONSOLE_IO_SUPPORTED
michael@0 2696 wherever png_snprintf() is used to construct error and warning messages.
michael@0 2697 Noted in scripts/makefile.mingw that it expects to be run under MSYS.
michael@0 2698 Removed obsolete unused MMX-querying support from contrib/gregbook
michael@0 2699 Added exported png_longjmp() function.
michael@0 2700 Removed the AIX redefinition of jmpbuf in png.h
michael@0 2701 Added -D_ALLSOURCE in configure.ac, makefile.aix, and CMakeLists.txt
michael@0 2702 when building on AIX.
michael@0 2703
michael@0 2704 Version 1.5.0beta09 [February 19, 2010]
michael@0 2705 Removed -D_ALLSOURCE from configure.ac, makefile.aix, and CMakeLists.txt.
michael@0 2706 Changed the name of png_ptr->jmpbuf to png_ptr->png_jmpbuf in pngstruct.h
michael@0 2707
michael@0 2708 Version 1.5.0beta10 [February 25, 2010]
michael@0 2709 Removed unused gzio.c from contrib/pngminim gather and makefile scripts
michael@0 2710 Removed replacement error handlers from contrib/gregbook. Because of
michael@0 2711 the new png_longjmp() function they are no longer needed.
michael@0 2712
michael@0 2713 Version 1.5.0beta11 [March 6, 2010]
michael@0 2714 Removed checking for already-included setjmp.h from pngconf.h
michael@0 2715 Fixed inconsistent indentations and made numerous cosmetic changes.
michael@0 2716 Revised the "SEE ALSO" style of libpng.3, libpngpf.3, and png.5
michael@0 2717
michael@0 2718 Version 1.5.0beta12 [March 9, 2010]
michael@0 2719 Moved "#include png.h" inside pngpriv.h and removed "#include png.h" from
michael@0 2720 the source files, along with "#define PNG_EXPOSE_INTERNAL_STRUCTURES"
michael@0 2721 and "#define PNG_NO_PEDANTIC_WARNINGS" (John Bowler).
michael@0 2722 Created new pngdebug.h and moved debug definitions there.
michael@0 2723
michael@0 2724 Version 1.5.0beta13 [March 10, 2010]
michael@0 2725 Protect pngstruct.h, pnginfo.h, and pngdebug.h from being included twice.
michael@0 2726 Revise the "#ifdef" blocks in png_inflate() so it will compile when neither
michael@0 2727 PNG_USER_CHUNK_MALLOC_MAX nor PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
michael@0 2728 is defined.
michael@0 2729 Removed unused png_measure_compressed_chunk() from pngpriv.h and libpngpf.3
michael@0 2730 Moved the 'config.h' support from pngconf.h to pngpriv.h
michael@0 2731 Removed PNGAPI from the png_longjmp_ptr typedef.
michael@0 2732 Eliminated dependence of pngtest.c on the private pngdebug.h file.
michael@0 2733 Make all png_debug macros into *unterminated* statements or
michael@0 2734 expressions (i.e. a trailing ';' must always be added) and correct
michael@0 2735 the format statements in various png_debug messages.
michael@0 2736
michael@0 2737 Version 1.5.0beta14 [March 14, 2010]
michael@0 2738 Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
michael@0 2739 Revised Makefile.am to account for recent additions and replacements.
michael@0 2740 Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
michael@0 2741 added ordinal numbers to the Windows DEF file and corrected the duplicated
michael@0 2742 ordinal numbers on CE symbols that are commented out.
michael@0 2743 Added back in export symbols that can be present in the Windows build but
michael@0 2744 are disabled by default.
michael@0 2745 PNG_EXPORT changed to include an 'ordinal' field for DEF file generation.
michael@0 2746 PNG_CALLBACK added to make callback definitions uniform. PNGAPI split
michael@0 2747 into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
michael@0 2748 and appropriate changes made to all files. Cygwin builds re-hinged to
michael@0 2749 allow procedure call standard changes and to remove the need for the DEF
michael@0 2750 file (fixes build on Cygwin).
michael@0 2751 Enabled 'attribute' warnings that are relevant to library APIs and callbacks.
michael@0 2752 Changed rules for generation of the various symbol files and added a new
michael@0 2753 rule for a DEF file (which is also added to the distribution).
michael@0 2754 Updated the symbol file generation to stop it adding spurious spaces
michael@0 2755 to EOL (coming from preprocessor macro expansion). Added a facility
michael@0 2756 to join tokens in the output and rewrite *.dfn to use this.
michael@0 2757 Eliminated scripts/*.def in favor of libpng.def; updated projects/visualc71
michael@0 2758 and removed scripts/makefile.cygwin.
michael@0 2759 Made PNG_BUILD_DLL safe: it can be set whenever a DLL is being built.
michael@0 2760 Removed the include of sys/types.h - apparently unnecessary now on the
michael@0 2761 platforms on which it happened (all but Mac OS and RISC OS).
michael@0 2762 Moved the Mac OS test into pngpriv.h (the only place it is used.)
michael@0 2763
michael@0 2764 Version 1.5.0beta15 [March 17, 2010]
michael@0 2765 Added symbols.chk target to Makefile.am to validate the symbols in png.h
michael@0 2766 against the new DEF file scripts/symbols.def.
michael@0 2767 Changed the default DEF file back to pngwin.def.
michael@0 2768 Removed makefile.mingw.
michael@0 2769 Eliminated PNG_NO_EXTERN and PNG_ALL_EXTERN
michael@0 2770
michael@0 2771 Version 1.5.0beta16 [April 1, 2010]
michael@0 2772 Make png_text_struct independent of PNG_iTXt_SUPPORTED, so that
michael@0 2773 fields are initialized in all configurations. The READ/WRITE
michael@0 2774 macros (PNG_(READ|WRITE)_iTXt_SUPPORTED) still function as
michael@0 2775 before to disable code to actually read or write iTXt chunks
michael@0 2776 and iTXt_SUPPORTED can be used to detect presence of either
michael@0 2777 read or write support (but it is probably better to check for
michael@0 2778 the one actually required - read or write.)
michael@0 2779 Combined multiple png_warning() calls for a single error.
michael@0 2780 Restored the macro definition of png_check_sig().
michael@0 2781
michael@0 2782 Version 1.5.0beta17 [April 17, 2010]
michael@0 2783 Added some "(long)" typecasts to printf calls in png_handle_cHRM().
michael@0 2784 Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
michael@0 2785 Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
michael@0 2786 more accurately what it actually does. At the same time, renamed
michael@0 2787 the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
michael@0 2788 PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
michael@0 2789 Added some "(long)" typecasts to printf calls in png_handle_cHRM().
michael@0 2790 Freeze build-time only configuration in the build.
michael@0 2791 In all prior versions of libpng most configuration options
michael@0 2792 controlled by compiler #defines had to be repeated by the
michael@0 2793 application code that used libpng. This patch changes this
michael@0 2794 so that compilation options that can only be changed at build
michael@0 2795 time are frozen in the build. Options that are compiler
michael@0 2796 dependent (and those that are system dependent) are evaluated
michael@0 2797 each time - pngconf.h holds these. Options that can be changed
michael@0 2798 per-file in the application are in png.h. Frozen options are
michael@0 2799 in the new installed header file pnglibconf.h (John Bowler)
michael@0 2800 Removed the xcode project because it has not been updated to work
michael@0 2801 with libpng-1.5.0.
michael@0 2802 Removed the ability to include optional pngusr.h
michael@0 2803
michael@0 2804 Version 1.5.0beta18 [April 17, 2010]
michael@0 2805 Restored the ability to include optional pngusr.h
michael@0 2806 Moved replacements for png_error() and png_warning() from the
michael@0 2807 contrib/pngminim project to pngerror.c, for use when warnings or
michael@0 2808 errors are disabled via PNG_NO_WARN or PNG_NO_ERROR_TEXT, to avoid
michael@0 2809 storing unneeded error/warning text.
michael@0 2810 Updated contrib/pngminim project to work with the new pnglibconf.h
michael@0 2811 Added some PNG_NO_* defines to contrib/pngminim/*/pngusr.h to save space.
michael@0 2812
michael@0 2813 Version 1.5.0beta19 [April 24, 2010]
michael@0 2814 Added PNG_{READ,WRITE}_INT_FUNCTIONS_SUPPORTED. This allows the functions
michael@0 2815 to read and write ints to be disabled independently of PNG_USE_READ_MACROS,
michael@0 2816 which allows libpng to be built with the functions even though the default
michael@0 2817 is to use the macros - this allows applications to choose at app build
michael@0 2818 time whether or not to use macros (previously impossible because the
michael@0 2819 functions weren't in the default build.)
michael@0 2820 Changed Windows calling convention back to __cdecl for API functions.
michael@0 2821 For Windows/x86 platforms only:
michael@0 2822 __stdcall is no longer needed for Visual Basic, so libpng-1.5.0 uses
michael@0 2823 __cdecl throughout (both API functions and callbacks) on Windows/x86
michael@0 2824 platforms.
michael@0 2825 Replaced visualc6 and visualc71 projects with new vstudio project
michael@0 2826 Relaxed the overly-restrictive permissions of some files.
michael@0 2827
michael@0 2828 Version 1.5.0beta20 [April 24, 2010]
michael@0 2829 Relaxed more overly-restrictive permissions of some files.
michael@0 2830
michael@0 2831 Version 1.5.0beta21 [April 27, 2010]
michael@0 2832 Removed some unwanted binary bytes and changed CRLF to NEWLINE in the new
michael@0 2833 vstudio project files, and some trivial editing of some files in the
michael@0 2834 scripts directory.
michael@0 2835 Set PNG_NO_READ_BGR, PNG_NO_IO_STATE, and PNG_NO_TIME_RFC1123 in
michael@0 2836 contrib/pngminim/decoder/pngusr.h to make a smaller decoder application.
michael@0 2837
michael@0 2838 Version 1.5.0beta22 [April 28, 2010]
michael@0 2839 Fixed dependencies of GET_INT_32 - it does not require READ_INT_FUNCTIONS
michael@0 2840 because it has a macro equivalent.
michael@0 2841 Improved the options.awk script; added an "everything off" option.
michael@0 2842 Revised contrib/pngminim to use the "everything off" option in pngusr.dfa.
michael@0 2843
michael@0 2844 Version 1.5.0beta23 [April 29, 2010]
michael@0 2845 Corrected PNG_REMOVED macro to take five arguments.
michael@0 2846 The macro was documented with two arguments (name,ordinal), however
michael@0 2847 the symbol checking .dfn files assumed five arguments. The five
michael@0 2848 argument form seems more useful so it is changed to that.
michael@0 2849 Corrected PNG_UNKNOWN_CHUNKS_SUPPORTED to PNG_HANDLE_AS_UNKNOWN_SUPPORTED
michael@0 2850 in gregbook/readpng2.c
michael@0 2851 Corrected protection of png_get_user_transform_ptr. The API declaration in
michael@0 2852 png.h is removed if both READ and WRITE USER_TRANSFORM are turned off
michael@0 2853 but was left defined in pngtrans.c
michael@0 2854 Added logunsupported=1 to cause pnglibconf.h to document disabled options.
michael@0 2855 This makes the installed pnglibconf.h more readable but causes no
michael@0 2856 other change. The intention is that users of libpng will find it
michael@0 2857 easier to understand if an API they need is missing.
michael@0 2858 Include png_reset_zstream() in png.c only when PNG_READ_SUPPORTED is defined.
michael@0 2859 Removed dummy_inflate.c from contrib/pngminim/encoder
michael@0 2860 Removed contrib/pngminim/*/gather.sh; gathering is now done in the makefile.
michael@0 2861
michael@0 2862 Version 1.5.0beta24 [May 7, 2010]
michael@0 2863 Use bitwise "&" instead of arithmetic mod in pngrutil.c calculation of the
michael@0 2864 offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
michael@0 2865 Added more blank lines for readability.
michael@0 2866
michael@0 2867 Version 1.5.0beta25 [June 18, 2010]
michael@0 2868 In pngpread.c: png_push_have_row() add check for new_row > height
michael@0 2869 Removed the now-redundant check for out-of-bounds new_row from example.c
michael@0 2870
michael@0 2871 Version 1.5.0beta26 [June 18, 2010]
michael@0 2872 In pngpread.c: png_push_process_row() add check for too many rows.
michael@0 2873
michael@0 2874 Version 1.5.0beta27 [June 18, 2010]
michael@0 2875 Removed the check added in beta25 as it is now redundant.
michael@0 2876
michael@0 2877 Version 1.5.0beta28 [June 20, 2010]
michael@0 2878 Rewrote png_process_IDAT_data to consistently treat extra data as warnings
michael@0 2879 and handle end conditions more cleanly.
michael@0 2880 Removed the new (beta26) check in png_push_process_row().
michael@0 2881
michael@0 2882 Version 1.5.0beta29 [June 21, 2010]
michael@0 2883 Revised scripts/options.awk to work on Sunos (but still doesn't work)
michael@0 2884 Added comment to options.awk and contrib/pngminim/*/makefile to try nawk.
michael@0 2885
michael@0 2886 Version 1.5.0beta30 [June 22, 2010]
michael@0 2887 Stop memory leak when reading a malformed sCAL chunk.
michael@0 2888
michael@0 2889 Version 1.5.0beta31 [June 26, 2010]
michael@0 2890 Revised pngpread.c patch of beta28 to avoid an endless loop.
michael@0 2891 Removed some trailing blanks.
michael@0 2892
michael@0 2893 Version 1.5.0beta32 [June 26, 2010]
michael@0 2894 Removed leftover scripts/options.patch and scripts/options.rej
michael@0 2895
michael@0 2896 Version 1.5.0beta33 [July 6, 3010]
michael@0 2897 Made FIXED and FLOATING options consistent in the APIs they enable and
michael@0 2898 disable. Corrected scripts/options.awk to handle both command line
michael@0 2899 options and options specified in the .dfa files.
michael@0 2900 Changed char *msg to PNG_CONST char *msg in pngrutil.c
michael@0 2901 Make png_set_sRGB_gAMA_and_cHRM set values using either the fixed or
michael@0 2902 floating point APIs, but not both.
michael@0 2903 Reversed patch to remove error handler when the jmp_buf is stored in the
michael@0 2904 main program structure, not the png_struct.
michael@0 2905 The error handler is needed because the default handler in libpng will
michael@0 2906 always use the jmp_buf in the library control structure; this is never
michael@0 2907 set. The gregbook code is a useful example because, even though it
michael@0 2908 uses setjmp/longjmp, it shows how error handling can be implemented
michael@0 2909 using control mechanisms not directly supported by libpng. The
michael@0 2910 technique will work correctly with mechanisms such as Microsoft
michael@0 2911 Structure Exceptions or C++ exceptions (compiler willing - note that gcc
michael@0 2912 does not by default support interworking of C and C++ error handling.)
michael@0 2913 Reverted changes to call png_longjmp in contrib/gregbook where it is not
michael@0 2914 appropriate. If mainprog->jmpbuf is used by setjmp, then png_longjmp
michael@0 2915 cannot be used.
michael@0 2916 Changed "extern PNG_EXPORT" to "PNG_EXPORT" in png.h (Jan Nijtmans)
michael@0 2917 Changed "extern" to "PNG_EXTERN" in pngpriv.h (except for the 'extern "C" {')
michael@0 2918
michael@0 2919 Version 1.5.0beta34 [July 12, 2010]
michael@0 2920 Put #ifndef PNG_EXTERN, #endif around the define PNG_EXTERN in pngpriv.h
michael@0 2921
michael@0 2922 Version 1.5.0beta35 [July 24, 2010]
michael@0 2923 Removed some newly-added TAB characters.
michael@0 2924 Added -DNO_PNG_SNPRINTF to CFLAGS in scripts/makefile.dj2
michael@0 2925 Moved the definition of png_snprintf() outside of the enclosing
michael@0 2926 #ifdef blocks in pngconf.h
michael@0 2927
michael@0 2928 Version 1.5.0beta36 [July 29, 2010]
michael@0 2929 Patches by John Bowler:
michael@0 2930 Fixed point APIs are now supported throughout (no missing APIs).
michael@0 2931 Internal fixed point arithmetic support exists for all internal floating
michael@0 2932 point operations.
michael@0 2933 sCAL validates the floating point strings it is passed.
michael@0 2934 Safe, albeit rudimentary, Watcom support is provided by PNG_API_RULE==2
michael@0 2935 Two new APIs exist to get the number of passes without turning on the
michael@0 2936 PNG_INTERLACE transform and to get the number of rows in the current
michael@0 2937 pass.
michael@0 2938 A new test program, pngvalid.c, validates the gamma code.
michael@0 2939 Errors in the 16-bit gamma correction (overflows) have been corrected.
michael@0 2940 cHRM chunk testing is done consistently (previously the floating point
michael@0 2941 API bypassed it, because the test really didn't work on FP, now the test
michael@0 2942 is performed on the actual values to be stored in the PNG file so it
michael@0 2943 works in the FP case too.)
michael@0 2944 Most floating point APIs now simply call the fixed point APIs after
michael@0 2945 converting the values to the fixed point form used in the PNG file.
michael@0 2946 The standard headers no longer include zlib.h, which is currently only
michael@0 2947 required for pngstruct.h and can therefore be internal.
michael@0 2948 Revised png_get_int_32 to undo the PNG two's complement representation of
michael@0 2949 negative numbers.
michael@0 2950
michael@0 2951 Version 1.5.0beta37 [July 30, 2010]
michael@0 2952 Added a typecast in png_get_int_32() in png.h and pngrutil.h to avoid
michael@0 2953 a compiler warning.
michael@0 2954 Replaced oFFs 0,0 with oFFs -10,20 in pngtest.png
michael@0 2955
michael@0 2956 Version 1.5.0beta38 [July 31, 2010]
michael@0 2957 Implemented remaining "_fixed" functions.
michael@0 2958 Corrected a number of recently introduced warnings mostly resulting from
michael@0 2959 safe but uncast assignments to shorter integers. Also added a zlib
michael@0 2960 VStudio release library project because the latest zlib Official Windows
michael@0 2961 build does not include such a thing.
michael@0 2962 Revised png_get_int_16() to be similar to png_get_int_32().
michael@0 2963 Restored projects/visualc71.
michael@0 2964
michael@0 2965 Version 1.5.0beta39 [August 2, 2010]
michael@0 2966 VisualC/GCC warning fixes, VisualC build fixes
michael@0 2967 The changes include support for function attributes in VC in addition to
michael@0 2968 those already present in GCC - necessary because without these some
michael@0 2969 warnings are unavoidable. Fixes include signed/unsigned fixes in
michael@0 2970 pngvalid and checks with gcc -Wall -Wextra -Wunused.
michael@0 2971 VC requires function attributes on function definitions as well as
michael@0 2972 declarations, PNG_FUNCTION has been added to enable this and the
michael@0 2973 relevant function definitions changed.
michael@0 2974
michael@0 2975 Version 1.5.0beta40 [August 6, 2010]
michael@0 2976 Correct use of _WINDOWS_ in pngconf.h
michael@0 2977 Removed png_mem_ #defines; they are no longer used.
michael@0 2978 Added the sRGB chunk to pngtest.png
michael@0 2979
michael@0 2980 Version 1.5.0beta41 [August 11, 2010]
michael@0 2981 Added the cHRM chunk to pngtest.png
michael@0 2982 Don't try to use version-script with cygwin/mingw.
michael@0 2983 Revised contrib/gregbook to work under cygwin/mingw.
michael@0 2984
michael@0 2985 Version 1.5.0beta42 [August 18, 2010]
michael@0 2986 Add .dll.a to the list of extensions to be symlinked by Makefile.am (Yaakov)
michael@0 2987 Made all API functions that have const arguments and constant string
michael@0 2988 literal pointers declare them (John Bowler).
michael@0 2989
michael@0 2990 Version 1.5.0beta43 [August 20, 2010]
michael@0 2991 Removed spurious tabs, shorten long lines (no source change)
michael@0 2992 Also added scripts/chkfmt to validate the format of all the files that can
michael@0 2993 reasonably be validated (it is suggested to run "make distclean" before
michael@0 2994 checking, because some machine generated files have long lines.)
michael@0 2995 Reformatted the CHANGES file to be more consistent throughout.
michael@0 2996 Made changes to address various issues identified by GCC, mostly
michael@0 2997 signed/unsigned and shortening problems on assignment but also a few
michael@0 2998 difficult to optimize (for GCC) loops.
michael@0 2999 Fixed non-GCC fixed point builds. In png.c a declaration was misplaced
michael@0 3000 in an earlier update. Fixed to declare the auto variables at the head.
michael@0 3001 Use cexcept.h in pngvalid.c.
michael@0 3002
michael@0 3003 Version 1.5.0beta44 [August 24, 2010]
michael@0 3004 Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
michael@0 3005 installing libpng in /usr/lib64 (Funda Wang).
michael@0 3006 Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
michael@0 3007 Revised CMakeLists.txt to make symlinks instead of copies when installing.
michael@0 3008 Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
michael@0 3009 Implemented memory checks within pngvalid
michael@0 3010 Reformatted/rearranged pngvalid.c to assist use of progressive reader.
michael@0 3011 Check interlaced images in pngvalid
michael@0 3012 Clarified pngusr.h comments in pnglibconf.dfa
michael@0 3013 Simplified the pngvalid error-handling code now that cexcept.h is in place.
michael@0 3014 Implemented progressive reader in pngvalid.c for standard tests
michael@0 3015 Implemented progressive read in pngvalid.c gamma tests
michael@0 3016 Turn on progressive reader in pngvalid.c by default and tidy code.
michael@0 3017
michael@0 3018 Version 1.5.0beta45 [August 26, 2010]
michael@0 3019 Added an explicit make step to projects/vstudio for pnglibconf.h
michael@0 3020 Also corrected zlib.vcxproj into which Visual Studio had introduced
michael@0 3021 what it calls an "authoring error". The change to make pnglibconf.h
michael@0 3022 simply copies the file; in the future it may actually generate the
michael@0 3023 file from scripts/pnglibconf.dfa as the other build systems do.
michael@0 3024 Changed pngvalid to work when floating point APIs are disabled
michael@0 3025 Renamed the prebuilt scripts/pnglibconf.h to scripts/pnglibconf.h.prebuilt
michael@0 3026 Supply default values for PNG_USER_PRIVATEBUILD and PNG_USER_DLLFNAME_POSTFIX
michael@0 3027 in pngpriv.h in case the user neglected to define them in their pngusr.h
michael@0 3028
michael@0 3029 Version 1.5.0beta46 [August 28, 2010]
michael@0 3030 Added new private header files to libpng_sources in CMakeLists.txt
michael@0 3031 Added PNG_READ_16BIT, PNG_WRITE_16BIT, and PNG_16BIT options.
michael@0 3032 Added reference to scripts/pnglibconf.h.prebuilt in the visualc71 project.
michael@0 3033
michael@0 3034 Version 1.5.0beta47 [September 11, 2010]
michael@0 3035 Fixed a number of problems with 64-bit compilation reported by Visual
michael@0 3036 Studio 2010 (John Bowler).
michael@0 3037
michael@0 3038 Version 1.5.0beta48 [October 4, 2010]
michael@0 3039 Updated CMakeLists.txt (Philip Lowman).
michael@0 3040 Revised autogen.sh to recognize and use $AUTOCONF, $AUTOMAKE, $AUTOHEADER,
michael@0 3041 $AUTOPOINT, $ACLOCAL and $LIBTOOLIZE
michael@0 3042 Fixed problem with symbols creation in Makefile.am which was assuming that
michael@0 3043 all versions of ccp write to standard output by default (Martin Banky). The
michael@0 3044 bug was introduced in libpng-1.2.9beta5.
michael@0 3045 Removed unused mkinstalldirs.
michael@0 3046
michael@0 3047 Version 1.5.0beta49 [October 8, 2010]
michael@0 3048 Undid Makefile.am revision of 1.5.0beta48.
michael@0 3049
michael@0 3050 Version 1.5.0beta50 [October 14, 2010]
michael@0 3051 Revised Makefile.in to account for mkinstalldirs being removed.
michael@0 3052 Added some "(unsigned long)" typecasts in printf statements in pngvalid.c.
michael@0 3053 Suppressed a compiler warning in png_handle_sPLT().
michael@0 3054 Check for out-of-range text compression mode in png_set_text().
michael@0 3055
michael@0 3056 Version 1.5.0beta51 [October 15, 2010]
michael@0 3057 Changed embedded dates to "(PENDING RELEASE) in beta releases (and future
michael@0 3058 rc releases) to minimize the difference between releases.
michael@0 3059
michael@0 3060 Version 1.5.0beta52 [October 16, 2010]
michael@0 3061 Restored some of the embedded dates (in png.h, png.c, documentation, etc.)
michael@0 3062
michael@0 3063 Version 1.5.0beta53 [October 18, 2010]
michael@0 3064 Updated INSTALL to mention using "make maintainer-clean" and to remove
michael@0 3065 obsolete statement about a custom ltmain.sh
michael@0 3066 Disabled "color-tests" by default in Makefile.am so it will work with
michael@0 3067 automake versions earlier than 1.11.1
michael@0 3068 Use document name "libpng-manual.txt" instead of "libpng-<version>.txt"
michael@0 3069 to simplify version differences.
michael@0 3070 Removed obsolete remarks about setjmp handling from INSTALL.
michael@0 3071 Revised and renamed the typedef in png.h and png.c that was designed
michael@0 3072 to catch library and header mismatch.
michael@0 3073
michael@0 3074 Version 1.5.0beta54 [November 10, 2010]
michael@0 3075 Require 48 bytes, not 64 bytes, for big_row_buf in overflow checks.
michael@0 3076 Used a consistent structure for the pngget.c functions.
michael@0 3077
michael@0 3078 Version 1.5.0beta55 [November 21, 2010]
michael@0 3079 Revised png_get_uint_32, png_get_int_32, png_get_uint_16 (Cosmin)
michael@0 3080 Moved reading of file signature into png_read_sig (Cosmin)
michael@0 3081 Fixed atomicity of chunk header serialization (Cosmin)
michael@0 3082 Added test for io_state in pngtest.c (Cosmin)
michael@0 3083 Added "#!/bin/sh" at the top of contrib/pngminim/*/gather.sh scripts.
michael@0 3084 Changes to remove gcc warnings (John Bowler)
michael@0 3085 Certain optional gcc warning flags resulted in warnings in libpng code.
michael@0 3086 With these changes only -Wconversion and -Wcast-qual cannot be turned on.
michael@0 3087 Changes are trivial rearrangements of code. -Wconversion is not possible
michael@0 3088 for pngrutil.c (because of the widespread use of += et al on variables
michael@0 3089 smaller than (int) or (unsigned int)) and -Wcast-qual is not possible
michael@0 3090 with pngwio.c and pngwutil.c because the 'write' callback and zlib
michael@0 3091 compression both fail to declare their input buffers with 'const'.
michael@0 3092
michael@0 3093 Version 1.5.0beta56 [December 7, 2010]
michael@0 3094 Added the private PNG_UNUSED() macro definition in pngpriv.h.
michael@0 3095 Added some commentary about PNG_EXPORT in png.h and pngconf.h
michael@0 3096 Revised PNG_EXPORT() macro and added PNG_EXPORTA() macro, with the
michael@0 3097 objective of simplifying and improving the cosmetic appearance of png.h.
michael@0 3098 Fixed some incorrect "=" macro names in pnglibconf.dfa
michael@0 3099 Included documentation of changes in 1.5.0 from 1.4.x in libpng-manual.txt
michael@0 3100
michael@0 3101 Version 1.5.0beta57 [December 9, 2010]
michael@0 3102 Documented the pngvalid gamma error summary with additional comments and
michael@0 3103 print statements.
michael@0 3104 Improved missing symbol handling in checksym.awk; symbols missing in both
michael@0 3105 the old and new files can now be optionally ignored, treated as errors
michael@0 3106 or warnings.
michael@0 3107 Removed references to pngvcrd.c and pnggccrd.c from the vstudio project.
michael@0 3108 Updated "libpng14" to "libpng15" in the visualc71 project.
michael@0 3109 Enabled the strip16 tests in pngvalid.`
michael@0 3110 Don't display test results (except PASS/FAIL) when running "make test".
michael@0 3111 Instead put them in pngtest-log.txt
michael@0 3112 Added "--with-zprefix=<string>" to configure.ac
michael@0 3113 Updated the prebuilt configuration files to autoconf version 2.68
michael@0 3114
michael@0 3115 Version 1.5.0beta58 [December 19, 2010]
michael@0 3116 Fixed interlace image handling and add test cases (John Bowler)
michael@0 3117 Fixed the clean rule in Makefile.am to remove pngtest-log.txt
michael@0 3118 Made minor changes to work around warnings in gcc 3.4
michael@0 3119
michael@0 3120 Version 1.5.0rc01 [December 27, 2010]
michael@0 3121 No changes.
michael@0 3122
michael@0 3123 Version 1.5.0rc02 [December 27, 2010]
michael@0 3124 Eliminated references to the scripts/*.def files in project/visualc71.
michael@0 3125
michael@0 3126 Version 1.5.0rc03 [December 28, 2010]
michael@0 3127 Eliminated scripts/*.def and revised Makefile.am accordingly
michael@0 3128
michael@0 3129 Version 1.5.0rc04 [December 29, 2010]
michael@0 3130 Fixed bug in background transformation handling in pngrtran.c (it was
michael@0 3131 looking for the flag in png_ptr->transformations instead of in
michael@0 3132 png_ptr->flags) (David Raymond).
michael@0 3133
michael@0 3134 Version 1.5.0rc05 [December 31, 2010]
michael@0 3135 Fixed typo in a comment in CMakeLists.txt (libpng14 => libpng15) (Cosmin)
michael@0 3136
michael@0 3137 Version 1.5.0rc06 [January 4, 2011]
michael@0 3138 Changed the new configure option "zprefix=string" to "zlib-prefix=string"
michael@0 3139
michael@0 3140 Version 1.5.0rc07 [January 4, 2011]
michael@0 3141 Updated copyright year.
michael@0 3142
michael@0 3143 Version 1.5.0 [January 6, 2011]
michael@0 3144 No changes.
michael@0 3145
michael@0 3146 version 1.5.1beta01 [January 8, 2011]
michael@0 3147 Added description of png_set_crc_action() to the manual.
michael@0 3148 Added a note in the manual that the type of the iCCP profile was changed
michael@0 3149 from png_charpp to png_bytepp in png_get_iCCP(). This change happened
michael@0 3150 in version 1.5.0beta36 but is not noted in the CHANGES. Similarly,
michael@0 3151 it was changed from png_charpp to png_const_bytepp in png_set_iCCP().
michael@0 3152 Ensure that png_rgb_to_gray ignores palette mapped images, if libpng
michael@0 3153 internally happens to call it with one, and fixed a failure to handle
michael@0 3154 palette mapped images correctly. This fixes CVE-2690.
michael@0 3155
michael@0 3156 Version 1.5.1beta02 [January 14, 2011]
michael@0 3157 Fixed a bug in handling of interlaced images (bero at arklinux.org).
michael@0 3158 Updated CMakeLists.txt (Clifford Yapp)
michael@0 3159
michael@0 3160 Version 1.5.1beta03 [January 14, 2011]
michael@0 3161 Fixed typecasting of some png_debug() statements (Cosmin)
michael@0 3162
michael@0 3163 Version 1.5.1beta04 [January 16, 2011]
michael@0 3164 Updated documentation of png_set|get_tRNS() (Thomas Klausner).
michael@0 3165 Mentioned in the documentation that applications must #include "zlib.h"
michael@0 3166 if they need access to anything in zlib.h, and that a number of
michael@0 3167 macros such as png_memset() are no longer accessible by applications.
michael@0 3168 Corrected pngvalid gamma test "sample" function to access all of the color
michael@0 3169 samples of each pixel, instead of sampling the red channel three times.
michael@0 3170 Prefixed variable names index, div, exp, gamma with "png_" to avoid "shadow"
michael@0 3171 warnings, and (mistakenly) changed png_exp() to exp().
michael@0 3172
michael@0 3173 Version 1.5.1beta05 [January 16, 2011]
michael@0 3174 Changed variable names png_index, png_div, png_exp, and png_gamma to
michael@0 3175 char_index, divisor, exp_b10, and gamma_val, respectively, and
michael@0 3176 changed exp() back to png_exp().
michael@0 3177
michael@0 3178 Version 1.5.1beta06 [January 20, 2011]
michael@0 3179 Prevent png_push_crc_skip() from hanging while reading an unknown chunk
michael@0 3180 or an over-large compressed zTXt chunk with the progressive reader.
michael@0 3181 Eliminated more GCC "shadow" warnings.
michael@0 3182 Revised png_fixed() in png.c to avoid compiler warning about reaching the
michael@0 3183 end without returning anything.
michael@0 3184
michael@0 3185 Version 1.5.1beta07 [January 22, 2011]
michael@0 3186 In the manual, describe the png_get_IHDR() arguments in the correct order.
michael@0 3187 Added const_png_structp and const_png_infop types, and used them in
michael@0 3188 prototypes for most png_get_*() functions.
michael@0 3189
michael@0 3190 Version 1.5.1beta08 [January 23, 2011]
michael@0 3191 Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name()
michael@0 3192 Added synopses for the IO_STATE functions and other missing synopses
michael@0 3193 to the manual. Removed the synopses from libpngpf.3 because they
michael@0 3194 were out of date and no longer useful. Better information can be
michael@0 3195 obtained by reading the prototypes and comments in pngpriv.h
michael@0 3196 Attempted to fix cpp on Solaris with S. Studio 12 cc, fix build
michael@0 3197 Added a make macro DFNCPP that is a CPP that will accept the tokens in
michael@0 3198 a .dfn file and adds configure stuff to test for such a CPP. ./configure
michael@0 3199 should fail if one is not available.
michael@0 3200 Corrected const_png_ in png.h to png_const_ to avoid polluting the namespace.
michael@0 3201 Added png_get_current_row_number and png_get_current_pass_number for the
michael@0 3202 benefit of the user transform callback.
michael@0 3203 Added png_process_data_pause and png_process_data_skip for the benefit of
michael@0 3204 progressive readers that need to stop data processing or want to optimize
michael@0 3205 skipping of unread data (e.g., if the reader marks a chunk to be skipped.)
michael@0 3206
michael@0 3207 Version 1.5.1beta09 [January 24, 2011]
michael@0 3208 Enhanced pngvalid, corrected an error in gray_to_rgb, corrected doc error.
michael@0 3209 pngvalid contains tests of transforms, which tests are currently disabled
michael@0 3210 because they are incompletely tested. gray_to_rgb was failing to expand
michael@0 3211 the bit depth for smaller bit depth images; this seems to be a long
michael@0 3212 standing error and resulted, apparently, in invalid output
michael@0 3213 (CVE-2011-0408, CERT VU#643140). The documentation did not accurately
michael@0 3214 describe what libpng really does when converting RGB to gray.
michael@0 3215
michael@0 3216 Version 1.5.1beta10 [January 27, 2010]
michael@0 3217 Fixed incorrect examples of callback prototypes in the manual, that were
michael@0 3218 introduced in libpng-1.0.0.
michael@0 3219 In addition the order of the png_get_uint macros with respect to the
michael@0 3220 relevant function definitions has been reversed. This helps the
michael@0 3221 preprocessing of the symbol files be more robust. Furthermore, the
michael@0 3222 symbol file preprocessing now uses -DPNG_NO_USE_READ_MACROS even when
michael@0 3223 the library may actually be built with PNG_USE_READ_MACROS; this stops
michael@0 3224 the read macros interfering with the symbol file format.
michael@0 3225 Made the manual, synopses, and function prototypes use the function
michael@0 3226 argument names file_gamma, int_file_gamma, and srgb_intent consistently.
michael@0 3227
michael@0 3228 Version 1.5.1beta11 [January 28, 2011]
michael@0 3229 Changed PNG_UNUSED from "param=param;" to "{if(param){}}".
michael@0 3230 Corrected local variable type in new API png_process_data_skip()
michael@0 3231 The type was self-evidently incorrect but only causes problems on 64-bit
michael@0 3232 architectures.
michael@0 3233 Added transform tests to pngvalid and simplified the arguments.
michael@0 3234
michael@0 3235 Version 1.5.1rc01 [January 29, 2011]
michael@0 3236 No changes.
michael@0 3237
michael@0 3238 Version 1.5.1rc02 [January 31, 2011]
michael@0 3239 Added a request in the manual that applications do not use "png_" or
michael@0 3240 "PNG_" to begin any of their own symbols.
michael@0 3241 Changed PNG_UNUSED to "(void)param;" and updated the commentary in pngpriv.h
michael@0 3242
michael@0 3243 Version 1.5.1 [February 3, 2011]
michael@0 3244 No changes.
michael@0 3245
michael@0 3246 Version 1.5.2beta01 [February 13, 2011]
michael@0 3247 More -Wshadow fixes for older gcc compilers. Older gcc versions apparently
michael@0 3248 check formal parameters names in function declarations (as well as
michael@0 3249 definitions) to see if they match a name in the global namespace.
michael@0 3250 Revised PNG_EXPORTA macro to not use an empty parameter, to accommodate the
michael@0 3251 old VisualC++ preprocessor.
michael@0 3252 Turned on interlace handling in png_read_png().
michael@0 3253 Fixed gcc pendantic warnings.
michael@0 3254 Handle longjmp in Cygwin.
michael@0 3255 Fixed png_get_current_row_number() in the interlaced case.
michael@0 3256 Cleaned up ALPHA flags and transformations.
michael@0 3257 Implemented expansion to 16 bits.
michael@0 3258
michael@0 3259 Version 1.5.2beta02 [February 19, 2011]
michael@0 3260 Fixed mistake in the descriptions of user read_transform and write_transform
michael@0 3261 function prototypes in the manual. The row_info struct is png_row_infop.
michael@0 3262 Reverted png_get_current_row_number() to previous (1.5.2beta01) behavior.
michael@0 3263 Corrected png_get_current_row_number documentation
michael@0 3264 Fixed the read/write row callback documentation.
michael@0 3265 This documents the current behavior, where the callback is called after
michael@0 3266 every row with information pertaining to the next row.
michael@0 3267
michael@0 3268 Version 1.5.2beta03 [March 3, 2011]
michael@0 3269 Fixed scripts/makefile.vcwin32
michael@0 3270 Updated contrib/pngsuite/README to add the word "modify".
michael@0 3271 Define PNG_ALLOCATED to blank when _MSC_VER<1300.
michael@0 3272
michael@0 3273 Version 1.5.2rc01 [March 19, 2011]
michael@0 3274 Define remaining attributes to blank when MSC_VER<1300.
michael@0 3275 ifdef out mask arrays in pngread.c when interlacing is not supported.
michael@0 3276
michael@0 3277 Version 1.5.2rc02 [March 22, 2011]
michael@0 3278 Added a hint to try CPP=/bin/cpp if "cpp -E" fails in scripts/pnglibconf.mak
michael@0 3279 and in contrib/pngminim/*/makefile, eg., on SunOS 5.10, and removed "strip"
michael@0 3280 from the makefiles.
michael@0 3281 Fixed a bug (present since libpng-1.0.7) that makes png_handle_sPLT() fail
michael@0 3282 to compile when PNG_NO_POINTER_INDEXING is defined (Chubanov Kirill)
michael@0 3283
michael@0 3284 Version 1.5.2rc03 [March 24, 2011]
michael@0 3285 Don't include standard header files in png.h while building the symbol table,
michael@0 3286 to avoid cpp failure on SunOS (introduced PNG_BUILDING_SYMBOL_TABLE macro).
michael@0 3287
michael@0 3288 Version 1.5.2 [March 31, 2011]
michael@0 3289 No changes.
michael@0 3290
michael@0 3291 Version 1.5.3beta01 [April 1, 2011]
michael@0 3292 Re-initialize the zlib compressor before compressing non-IDAT chunks.
michael@0 3293 Added API functions (png_set_text_compression_level() and four others) to
michael@0 3294 set parameters for zlib compression of non-IDAT chunks.
michael@0 3295
michael@0 3296 Version 1.5.3beta02 [April 3, 2011]
michael@0 3297 Updated scripts/symbols.def with new API functions.
michael@0 3298 Only compile the new zlib re-initializing code when text or iCCP is
michael@0 3299 supported, using PNG_WRITE_COMPRESSED_TEXT_SUPPORTED macro.
michael@0 3300 Improved the optimization of the zlib CMF byte (see libpng-1.2.6beta03).
michael@0 3301 Optimize the zlib CMF byte in non-IDAT compressed chunks
michael@0 3302
michael@0 3303 Version 1.5.3beta03 [April 16, 2011]
michael@0 3304 Fixed gcc -ansi -pedantic compile. A strict ANSI system does not have
michael@0 3305 snprintf, and the "__STRICT_ANSI__" detects that condition more reliably
michael@0 3306 than __STDC__ (John Bowler).
michael@0 3307 Removed the PNG_PTR_NORETURN attribute because it too dangerous. It tells
michael@0 3308 the compiler that a user supplied callback (the error handler) does not
michael@0 3309 return, yet there is no guarantee in practice that the application code
michael@0 3310 will correctly implement the error handler because the compiler only
michael@0 3311 issues a warning if there is a mistake (John Bowler).
michael@0 3312 Removed the no-longer-used PNG_DEPSTRUCT macro.
michael@0 3313 Updated the zlib version to 1.2.5 in the VStudio project.
michael@0 3314 Fixed 64-bit builds where png_uint_32 is smaller than png_size_t in
michael@0 3315 pngwutil.c (John Bowler).
michael@0 3316 Fixed bug with stripping the filler or alpha channel when writing, that
michael@0 3317 was introduced in libpng-1.5.2beta01 (bug report by Andrew Church).
michael@0 3318
michael@0 3319 Version 1.5.3beta04 [April 27, 2011]
michael@0 3320 Updated pngtest.png with the new zlib CMF optimization.
michael@0 3321 Cleaned up conditional compilation code and of background/gamma handling
michael@0 3322 Internal changes only except a new option to avoid compiling the
michael@0 3323 png_build_grayscale_palette API (which is not used at all internally.)
michael@0 3324 The main change is to move the transform tests (READ_TRANSFORMS,
michael@0 3325 WRITE_TRANSFORMS) up one level to the caller of the APIs. This avoids
michael@0 3326 calls to spurious functions if all transforms are disabled and slightly
michael@0 3327 simplifies those functions. Pngvalid modified to handle this.
michael@0 3328 A minor change is to stop the strip_16 and expand_16 interfaces from
michael@0 3329 disabling each other; this allows the future alpha premultiplication
michael@0 3330 code to use 16-bit intermediate values while still producing 8-bit output.
michael@0 3331 png_do_background and png_do_gamma have been simplified to take a single
michael@0 3332 pointer to the png_struct rather than pointers to every item required
michael@0 3333 from the png_struct. This makes no practical difference to the internal
michael@0 3334 code.
michael@0 3335 A serious bug in the pngvalid internal routine 'standard_display_init' has
michael@0 3336 been fixed - this failed to initialize the red channel and accidentally
michael@0 3337 initialized the alpha channel twice.
michael@0 3338 Changed png_struct jmp_buf member name from png_jmpbuf to tmp_jmpbuf to
michael@0 3339 avoid a possible clash with the png_jmpbuf macro on some platforms.
michael@0 3340
michael@0 3341 Version 1.5.3beta05 [May 6, 2011]
michael@0 3342 Added the "_POSIX_SOURCE" feature test macro to ensure libpng sees the
michael@0 3343 correct API. _POSIX_SOURCE is defined in pngpriv.h, pngtest.c and
michael@0 3344 pngvalid.c to ensure that POSIX conformant systems disable non-POSIX APIs.
michael@0 3345 Removed png_snprintf and added formatted warning messages. This change adds
michael@0 3346 internal APIs to allow png_warning messages to have parameters without
michael@0 3347 requiring the host OS to implement snprintf. As a side effect the
michael@0 3348 dependency of the tIME-supporting RFC1132 code on stdio is removed and
michael@0 3349 PNG_NO_WARNINGS does actually work now.
michael@0 3350 Pass "" instead of '\0' to png_default_error() in png_err(). This mistake
michael@0 3351 was introduced in libpng-1.2.20beta01. This fixes CVE-2011-2691.
michael@0 3352 Added PNG_WRITE_OPTIMIZE_CMF_SUPPORTED macro to make the zlib "CMF" byte
michael@0 3353 optimization configureable.
michael@0 3354 IDAT compression failed if preceded by a compressed text chunk (bug
michael@0 3355 introduced in libpng-1.5.3beta01-02). This was because the attempt to
michael@0 3356 reset the zlib stream in png_write_IDAT happened after the first IDAT
michael@0 3357 chunk had been deflated - much too late. In this change internal
michael@0 3358 functions were added to claim/release the z_stream and, hopefully, make
michael@0 3359 the code more robust. Also deflateEnd checking is added - previously
michael@0 3360 libpng would ignore an error at the end of the stream.
michael@0 3361
michael@0 3362 Version 1.5.3beta06 [May 8, 2011]
michael@0 3363 Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt
michael@0 3364 Implemented premultiplied alpha support: png_set_alpha_mode API
michael@0 3365
michael@0 3366 Version 1.5.3beta07 [May 11, 2011]
michael@0 3367 Added expand_16 support to the high level interface.
michael@0 3368 Added named value and 'flag' gamma support to png_set_gamma. Made a minor
michael@0 3369 change from the previous (unreleased) ABI/API to hide the exact value used
michael@0 3370 for Macs - it's not a good idea to embed this in the ABI!
michael@0 3371 Moved macro definitions for PNG_HAVE_IHDR, PNG_HAVE_PLTE, and PNG_AFTER_IDAT
michael@0 3372 from pngpriv.h to png.h because they must be visible to applications
michael@0 3373 that call png_set_unknown_chunks().
michael@0 3374 Check for up->location !PNG_AFTER_IDAT when writing unknown chunks
michael@0 3375 before IDAT.
michael@0 3376
michael@0 3377 Version 1.5.3beta08 [May 16, 2011]
michael@0 3378 Improved "pngvalid --speed" to exclude more of pngvalid from the time.
michael@0 3379 Documented png_set_alpha_mode(), other changes in libpng.3/libpng-manual.txt
michael@0 3380 The cHRM chunk now sets the defaults for png_set_rgb_to_gray() (when negative
michael@0 3381 parameters are supplied by the caller), while in the absence of cHRM
michael@0 3382 sRGB/Rec 709 values are still used. This introduced a divide-by-zero
michael@0 3383 bug in png_handle_cHRM().
michael@0 3384 The bKGD chunk no longer overwrites the background value set by
michael@0 3385 png_set_background(), allowing the latter to be used before the file
michael@0 3386 header is read. It never performed any useful function to override
michael@0 3387 the default anyway.
michael@0 3388 Added memory overwrite and palette image checks to pngvalid.c
michael@0 3389 Previously palette image code was poorly checked. Since the transformation
michael@0 3390 code has a special palette path in most cases this was a severe weakness.
michael@0 3391 Minor cleanup and some extra checking in pngrutil.c and pngrtran.c. When
michael@0 3392 expanding an indexed image, always expand to RGBA if transparency is
michael@0 3393 present.
michael@0 3394
michael@0 3395 Version 1.5.3beta09 [May 17, 2011]
michael@0 3396 Reversed earlier 1.5.3 change of transformation order; move png_expand_16
michael@0 3397 back where it was. The change doesn't work because it requires 16-bit
michael@0 3398 gamma tables when the code only generates 8-bit ones. This fails
michael@0 3399 silently; the libpng code just doesn't do any gamma correction. Moving
michael@0 3400 the tests back leaves the old, inaccurate, 8-bit gamma calculations, but
michael@0 3401 these are clearly better than none!
michael@0 3402
michael@0 3403 Version 1.5.3beta10 [May 20, 2011]
michael@0 3404
michael@0 3405 png_set_background() and png_expand_16() did not work together correctly.
michael@0 3406 This problem is present in 1.5.2; if png_set_background is called with
michael@0 3407 need_expand false and the matching 16 bit color libpng erroneously just
michael@0 3408 treats it as an 8-bit color because of where png_do_expand_16 is in the
michael@0 3409 transform list. This simple fix reduces the supplied colour to 8-bits,
michael@0 3410 so it gets smashed, but this is better than the current behavior.
michael@0 3411 Added tests for expand16, more fixes for palette image tests to pngvalid.
michael@0 3412 Corrects the code for palette image tests and disables attempts to
michael@0 3413 validate palette colors.
michael@0 3414
michael@0 3415 Version 1.5.3rc01 [June 3, 2011]
michael@0 3416 No changes.
michael@0 3417
michael@0 3418 Version 1.5.3rc02 [June 8, 2011]
michael@0 3419 Fixed uninitialized memory read in png_format_buffer() (Bug report by
michael@0 3420 Frank Busse, CVE-2011-2501, related to CVE-2004-0421).
michael@0 3421
michael@0 3422 Version 1.5.3beta11 [June 11, 2011]
michael@0 3423 Fixed png_handle_sCAL which is broken in 1.5. This fixes CVE 2011-2692.
michael@0 3424 Added sCAL to pngtest.png
michael@0 3425 Revised documentation about png_set_user_limits() to say that it also affects
michael@0 3426 png writing.
michael@0 3427 Revised handling of png_set_user_limits() so that it can increase the
michael@0 3428 limit beyond the PNG_USER_WIDTH|HEIGHT_MAX; previously it could only
michael@0 3429 reduce it.
michael@0 3430 Make the 16-to-8 scaling accurate. Dividing by 256 with no rounding is
michael@0 3431 wrong (high by one) 25% of the time. Dividing by 257 with rounding is
michael@0 3432 wrong in 128 out of 65536 cases. Getting the right answer all the time
michael@0 3433 without division is easy.
michael@0 3434 Added "_SUPPORTED" to the PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION macro.
michael@0 3435 Added projects/owatcom, an IDE project for OpenWatcom to replace
michael@0 3436 scripts/makefile.watcom. This project works with OpenWatcom 1.9. The
michael@0 3437 IDE autogenerates appropriate makefiles (libpng.mk) for batch processing.
michael@0 3438 The project is configurable, unlike the Visual Studio project, so long
michael@0 3439 as the developer has an awk.
michael@0 3440 Changed png_set_gAMA to limit the gamma value range so that the inverse
michael@0 3441 of the stored value cannot overflow the fixed point representation,
michael@0 3442 and changed other things OpenWatcom warns about.
michael@0 3443 Revised pngvalid.c to test PNG_ALPHA_MODE_SUPPORTED correctly. This allows
michael@0 3444 pngvalid to build when ALPHA_MODE is not supported, which is required if
michael@0 3445 it is to build on libpng 1.4.
michael@0 3446 Removed string/memory macros that are no longer used and are not
michael@0 3447 necessarily fully supportable, particularly png_strncpy and png_snprintf.
michael@0 3448 Added log option to pngvalid.c and attempted to improve gamma messages.
michael@0 3449
michael@0 3450 Version 1.5.3 [omitted]
michael@0 3451 People found the presence of a beta release following an rc release
michael@0 3452 to be confusing; therefore we bump the version to libpng-1.5.4beta01
michael@0 3453 and there will be no libpng-1.5.3 release.
michael@0 3454
michael@0 3455 Version 1.5.4beta01 [June 14, 2011]
michael@0 3456 Made it possible to undefine PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
michael@0 3457 to get the same (inaccurate) output as libpng-1.5.2 and earlier.
michael@0 3458 Moved definitions of PNG_HAVE_IHDR, PNG_AFTER_IDAT, and PNG_HAVE_PLTE
michael@0 3459 outside of an unknown-chunk block in png.h because they are also
michael@0 3460 needed for other uses.
michael@0 3461
michael@0 3462 Version 1.5.4beta02 [June 14, 2011]
michael@0 3463 Fixed and clarified LEGACY 16-to-8 scaling code.
michael@0 3464 Added png_set_chop_16() API, to match inaccurate results from previous
michael@0 3465 libpng versions.
michael@0 3466 Removed the ACCURATE and LEGACY options (they are no longer useable)
michael@0 3467 Use the old scaling method for background if png_set_chop_16() was
michael@0 3468 called.
michael@0 3469 Made png_set_chop_16() API removeable by disabling PNG_CHOP_16_TO_8_SUPPORTED
michael@0 3470
michael@0 3471 Version 1.5.4beta03 [June 15, 2011]
michael@0 3472 Fixed a problem in png_do_expand_palette() exposed by optimization in
michael@0 3473 1.5.3beta06
michael@0 3474 Also removed a spurious and confusing "trans" member ("trans") from png_info.
michael@0 3475 The palette expand optimization prevented expansion to an intermediate RGBA
michael@0 3476 form if tRNS was present but alpha was marked to be stripped; this exposed
michael@0 3477 a check for tRNS in png_do_expand_palette() which is inconsistent with the
michael@0 3478 code elsewhere in libpng.
michael@0 3479 Correction to the expand_16 code; removed extra instance of
michael@0 3480 png_set_scale_16_to_8 from pngpriv.h
michael@0 3481
michael@0 3482 Version 1.5.4beta04 [June 16, 2011]
michael@0 3483 Added a missing "#ifdef PNG_READ_BACKGROUND_SUPPORTED/#endif" in pngrtran.c
michael@0 3484 Added PNG_TRANSFORM_CHOP_16 to the high-level read transforms.
michael@0 3485 Made PNG_READ_16_TO_8_ACCURATE_SCALE configurable again. If this is
michael@0 3486 not enabled, png_set_strip_16() and png_do_scale_16_to_8() aren't built.
michael@0 3487 Revised contrib/visupng, gregbook, and pngminim to demonstrate chop_16_to_8
michael@0 3488
michael@0 3489 Version 1.5.4beta05 [June 16, 2011]
michael@0 3490 Renamed png_set_strip_16() to png_set_scale_16() and renamed
michael@0 3491 png_set_chop_16() to png_set_strip(16) in an attempt to minimize the
michael@0 3492 behavior changes between libpng14 and libpng15.
michael@0 3493
michael@0 3494 Version 1.5.4beta06 [June 18, 2011]
michael@0 3495 Fixed new bug that was causing both strip_16 and scale_16 to be applied.
michael@0 3496
michael@0 3497 Version 1.5.4beta07 [June 19, 2011]
michael@0 3498 Fixed pngvalid, simplified macros, added checking for 0 in sCAL.
michael@0 3499 The ACCURATE scale macro is no longer defined in 1.5 - call the
michael@0 3500 png_scale_16_to_8 API. Made sure that PNG_READ_16_TO_8 is still defined
michael@0 3501 if the png_strip_16_to_8 API is present. png_check_fp_number now
michael@0 3502 maintains some state so that positive, negative and zero values are
michael@0 3503 identified. sCAL uses these to be strictly spec conformant.
michael@0 3504
michael@0 3505 Version 1.5.4beta08 [June 23, 2011]
michael@0 3506 Fixed pngvalid if ACCURATE_SCALE is defined.
michael@0 3507 Updated scripts/pnglibconf.h.prebuilt.
michael@0 3508
michael@0 3509 Version 1.5.4rc01 [June 30, 2011]
michael@0 3510 Define PNG_ALLOCATED to "restrict" only if MSC_VER >= 1400.
michael@0 3511
michael@0 3512 Version 1.5.4 [July 7, 2011]
michael@0 3513 No changes.
michael@0 3514
michael@0 3515 Version 1.5.5beta01 [July 13, 2011]
michael@0 3516 Fixed some typos and made other minor changes in the manual.
michael@0 3517 Updated contrib/pngminus/makefile.std (Samuli Souminen)
michael@0 3518
michael@0 3519 Version 1.5.5beta02 [July 14, 2011]
michael@0 3520 Revised Makefile.am and Makefile.in to look in the right directory for
michael@0 3521 pnglibconf.h.prebuilt
michael@0 3522
michael@0 3523 Version 1.5.5beta03 [July 27, 2011]
michael@0 3524 Enabled compilation with g++ compiler. This compiler does not recognize
michael@0 3525 the file extension, so it always compiles with C++ rules. Made minor
michael@0 3526 changes to pngrutil.c to cast results where C++ expects it but C does not.
michael@0 3527 Minor editing of libpng.3 and libpng-manual.txt.
michael@0 3528
michael@0 3529 Version 1.5.5beta04 [July 29, 2011]
michael@0 3530 Revised CMakeLists.txt (Clifford Yapp)
michael@0 3531 Updated commentary about the png_rgb_to_gray() default coefficients
michael@0 3532 in the manual and in pngrtran.c
michael@0 3533
michael@0 3534 Version 1.5.5beta05 [August 17, 2011]
michael@0 3535 Prevent unexpected API exports from non-libpng DLLs on Windows. The "_DLL"
michael@0 3536 is removed from the test of whether a DLL is being built (this erroneously
michael@0 3537 caused the libpng APIs to be marked as DLL exports in static builds under
michael@0 3538 Microsoft Visual Studio). Almost all of the libpng building configuration
michael@0 3539 is moved from pngconf.h to pngpriv.h, but PNG_DLL_EXPORT remains in
michael@0 3540 pngconf.h, though, so that it is colocated with the import definition (it
michael@0 3541 is no longer used anywhere in the installed headers). The VStudio project
michael@0 3542 definitions have been cleaned up: "_USRDLL" has been removed from the
michael@0 3543 static library builds (this was incorrect), and PNG_USE_DLL has been added
michael@0 3544 to pngvalid to test the functionality (pngtest does not supply it,
michael@0 3545 deliberately). The spurious "_EXPORTS" has been removed from the
michael@0 3546 libpng build (all these errors were a result of copy/paste between project
michael@0 3547 configurations.)
michael@0 3548 Added new types and internal functions for CIE RGB end point handling to
michael@0 3549 pngpriv.h (functions yet to be implemented).
michael@0 3550
michael@0 3551 Version 1.5.5beta06 [August 26, 2011]
michael@0 3552 Ensure the CMAKE_LIBRARY_OUTPUT_DIRECTORY is set in CMakeLists.txt
michael@0 3553 (Clifford Yap)
michael@0 3554 Fixes to rgb_to_gray and cHRM XYZ APIs (John Bowler):
michael@0 3555 The rgb_to_gray code had errors when combined with gamma correction.
michael@0 3556 Some pixels were treated as true grey when they weren't and such pixels
michael@0 3557 and true grey ones were not gamma corrected (the original value of the
michael@0 3558 red component was used instead). APIs to get and set cHRM using color
michael@0 3559 space end points have been added and the rgb_to_gray code that defaults
michael@0 3560 based on cHRM, and the divide-by-zero bug in png_handle_cHRM (CERT
michael@0 3561 VU#477046, CVE-2011-3328, introduced in 1.5.4) have been corrected.
michael@0 3562 A considerable number of tests has been added to pngvalid for the
michael@0 3563 rgb_to_gray transform.
michael@0 3564 Arithmetic errors in rgb_to_gray whereby the calculated gray value was
michael@0 3565 truncated to the bit depth rather than rounded have been fixed except in
michael@0 3566 the 8-bit non-gamma-corrected case (where consistency seems more important
michael@0 3567 than correctness.) The code still has considerable inaccuracies in the
michael@0 3568 8-bit case because 8-bit linear arithmetic is used.
michael@0 3569
michael@0 3570 Version 1.5.5beta07 [September 7, 2011]
michael@0 3571 Added "$(ARCH)" option to makefile.darwin
michael@0 3572 Added SunOS support to configure.ac and Makefile.am
michael@0 3573 Changed png_chunk_benign_error() to png_warning() in png.c, in
michael@0 3574 png_XYZ_from_xy_checked().
michael@0 3575
michael@0 3576 Version 1.5.5beta08 [September 10, 2011]
michael@0 3577 Fixed 64-bit compilation errors (gcc). The errors fixed relate
michael@0 3578 to conditions where types that are 32 bits in the GCC 32-bit
michael@0 3579 world (uLong and png_size_t) become 64 bits in the 64-bit
michael@0 3580 world. This produces potential truncation errors which the
michael@0 3581 compiler correctly flags.
michael@0 3582 Relocated new HAVE_SOLARIS_LD definition in configure.ac
michael@0 3583 Constant changes for 64-bit compatibility (removal of L suffixes). The
michael@0 3584 16-bit cases still use "L" as we don't have a 16-bit test system.
michael@0 3585
michael@0 3586 Version 1.5.5rc01 [September 15, 2011]
michael@0 3587 Removed "L" suffixes in pngpriv.h
michael@0 3588
michael@0 3589 Version 1.5.5 [September 22, 2011]
michael@0 3590 No changes.
michael@0 3591
michael@0 3592 Version 1.5.6beta01 [September 22, 2011]
michael@0 3593 Fixed some 64-bit type conversion warnings in pngrtran.c
michael@0 3594 Moved row_info from png_struct to a local variable.
michael@0 3595 The various interlace mask arrays have been made into arrays of
michael@0 3596 bytes and made PNG_CONST and static (previously some arrays were
michael@0 3597 marked PNG_CONST and some weren't).
michael@0 3598 Additional checks have been added to the transform code to validate the
michael@0 3599 pixel depths after the transforms on both read and write.
michael@0 3600 Removed some redundant code from pngwrite.c, in png_destroy_write_struct().
michael@0 3601 Changed chunk reading/writing code to use png_uint_32 instead of png_byte[4].
michael@0 3602 This removes the need to allocate temporary strings for chunk names on
michael@0 3603 the stack in the read/write code. Unknown chunk handling still uses the
michael@0 3604 string form because this is exposed in the API.
michael@0 3605
michael@0 3606 Version 1.5.6beta02 [September 26, 2011]
michael@0 3607 Added a note in the manual the png_read_update_info() must be called only
michael@0 3608 once with a particular info_ptr.
michael@0 3609 Fixed a typo in the definition of the new PNG_STRING_FROM_CHUNK(s,c) macro.
michael@0 3610
michael@0 3611 Version 1.5.6beta03 [September 28, 2011]
michael@0 3612 Revised test-pngtest.sh to report FAIL when pngtest fails.
michael@0 3613 Added "--strict" option to pngtest, to report FAIL when the failure is
michael@0 3614 only because the resulting valid files are different.
michael@0 3615 Revised CMakeLists.txt to work with mingw and removed some material from
michael@0 3616 CMakeLists.txt that is no longer useful in libpng-1.5.
michael@0 3617
michael@0 3618 Version 1.5.6beta04 [October 5, 2011]
michael@0 3619 Fixed typo in Makefile.in and Makefile.am ("-M Wl" should be "-M -Wl")."
michael@0 3620
michael@0 3621 Version 1.5.6beta05 [October 12, 2011]
michael@0 3622 Speed up png_combine_row() for interlaced images. This reduces the generality
michael@0 3623 of the code, allowing it to be optimized for Adam7 interlace. The masks
michael@0 3624 passed to png_combine_row() are now generated internally, avoiding
michael@0 3625 some code duplication and localizing the interlace handling somewhat.
michael@0 3626 Align png_struct::row_buf - previously it was always unaligned, caused by
michael@0 3627 a bug in the code that attempted to align it; the code needs to subtract
michael@0 3628 one from the pointer to take account of the filter byte prepended to
michael@0 3629 each row.
michael@0 3630 Optimized png_combine_row() when rows are aligned. This gains a small
michael@0 3631 percentage for 16-bit and 32-bit pixels in the typical case where the
michael@0 3632 output row buffers are appropriately aligned. The optimization was not
michael@0 3633 previously possible because the png_struct buffer was always misaligned.
michael@0 3634 Fixed bug in png_write_chunk_header() debug print, introduced in 1.5.6beta01.
michael@0 3635
michael@0 3636 Version 1.5.6beta06 [October 17, 2011]
michael@0 3637 Removed two redundant tests for unitialized row.
michael@0 3638 Fixed a relatively harmless memory overwrite in compressed text writing
michael@0 3639 with a 1 byte zlib buffer.
michael@0 3640 Add ability to call png_read_update_info multiple times to pngvalid.c.
michael@0 3641 Fixes for multiple calls to png_read_update_info. These fixes attend to
michael@0 3642 most of the errors revealed in pngvalid, however doing the gamma work
michael@0 3643 twice results in inaccuracies that can't be easily fixed. There is now
michael@0 3644 a warning in the code if this is going to happen.
michael@0 3645 Turned on multiple png_read_update_info in pngvalid transform tests.
michael@0 3646 Prevent libpng from overwriting unused bits at the end of the image when
michael@0 3647 it is not byte aligned, while reading. Prior to libpng-1.5.6 libpng would
michael@0 3648 overwrite the partial byte at the end of each row if the row width was not
michael@0 3649 an exact multiple of 8 bits and the image is not interlaced.
michael@0 3650
michael@0 3651 Version 1.5.6beta07 [October 21, 2011]
michael@0 3652 Made png_ptr->prev_row an aligned pointer into png_ptr->big_prev_row
michael@0 3653 (Mans Rullgard).
michael@0 3654
michael@0 3655 Version 1.5.6rc01 [October 26, 2011]
michael@0 3656 Changed misleading "Missing PLTE before cHRM" warning to "Out of place cHRM"
michael@0 3657
michael@0 3658 Version 1.5.6rc02 [October 27, 2011]
michael@0 3659 Added LSR() macro to defend against buggy compilers that evaluate non-taken
michael@0 3660 code branches and complain about out-of-range shifts.
michael@0 3661
michael@0 3662 Version 1.5.6rc03 [October 28, 2011]
michael@0 3663 Renamed the LSR() macro to PNG_LSR() and added PNG_LSL() macro.
michael@0 3664 Fixed compiler warnings with Intel and MSYS compilers. The logical shift
michael@0 3665 fix for Microsoft Visual C is required by other compilers, so this
michael@0 3666 enables that fix for all compilers when using compile-time constants.
michael@0 3667 Under MSYS 'byte' is a name declared in a system header file, so we
michael@0 3668 changed the name of a local variable to avoid the warnings that result.
michael@0 3669 Added #define PNG_ALIGN_TYPE PNG_ALIGN_NONE to contrib/pngminim/*/pngusr.h
michael@0 3670
michael@0 3671 Version 1.5.6 [November 3, 2011]
michael@0 3672 No changes.
michael@0 3673
michael@0 3674 Version 1.5.7beta01 [November 4, 2011]
michael@0 3675 Added support for ARM processor, when decoding all PNG up-filtered rows
michael@0 3676 and any other-filtered rows with 3 or 4 bytes per pixel (Mans Rullgard).
michael@0 3677 Fixed bug in pngvalid on early allocation failure; fixed type cast in
michael@0 3678 pngmem.c; pngvalid would attempt to call png_error() if the allocation
michael@0 3679 of a png_struct or png_info failed. This would probably have led to a
michael@0 3680 crash. The pngmem.c implementation of png_malloc() included a cast
michael@0 3681 to png_size_t which would fail on large allocations on 16-bit systems.
michael@0 3682 Fix for the preprocessor of the Intel C compiler. The preprocessor
michael@0 3683 splits adjacent @ signs with a space; this changes the concatentation
michael@0 3684 token from @-@-@ to PNG_JOIN; that should work with all compiler
michael@0 3685 preprocessors.
michael@0 3686 Paeth filter speed improvements from work by Siarhei Siamashka. This
michael@0 3687 changes the 'Paeth' reconstruction function to improve the GCC code
michael@0 3688 generation on x86. The changes are only part of the suggested ones;
michael@0 3689 just the changes that definitely improve speed and remain simple.
michael@0 3690 The changes also slightly increase the clarity of the code.
michael@0 3691
michael@0 3692 Version 1.5.7beta02 [November 11, 2011]
michael@0 3693 Check compression_type parameter in png_get_iCCP and remove spurious
michael@0 3694 casts. The compression_type parameter is always assigned to, so must
michael@0 3695 be non-NULL. The cast of the profile length potentially truncated the
michael@0 3696 value unnecessarily on a 16-bit int system, so the cast of the (byte)
michael@0 3697 compression type to (int) is specified by ANSI-C anyway.
michael@0 3698 Fixed FP division by zero in pngvalid.c; the 'test_pixel' code left
michael@0 3699 the sBIT fields in the test pixel as 0, which resulted in a floating
michael@0 3700 point division by zero which was irrelevant but causes systems where
michael@0 3701 FP exceptions cause a crash. Added code to pngvalid to turn on FP
michael@0 3702 exceptions if the appropriate glibc support is there to ensure this is
michael@0 3703 tested in the future.
michael@0 3704 Updated scripts/pnglibconf.mak and scripts/makefile.std to handle the
michael@0 3705 new PNG_JOIN macro.
michael@0 3706 Added versioning to pnglibconf.h comments.
michael@0 3707 Simplified read/write API initial version; basic read/write tested on
michael@0 3708 a variety of images, limited documentation (in the header file.)
michael@0 3709 Installed more accurate linear to sRGB conversion tables. The slightly
michael@0 3710 modified tables reduce the number of 16-bit values that
michael@0 3711 convert to an off-by-one 8-bit value. The "makesRGB.c" code that was used
michael@0 3712 to generate the tables is now in a contrib/sRGBtables sub-directory.
michael@0 3713
michael@0 3714 Version 1.5.7beta03 [November 17, 2011]
michael@0 3715 Removed PNG_CONST from the sRGB table declarations in pngpriv.h and png.c
michael@0 3716 Added run-time detection of NEON support.
michael@0 3717 Added contrib/libtests; includes simplified API test and timing test and
michael@0 3718 a color conversion utility for rapid checking of failed 'pngstest' results.
michael@0 3719 Multiple transform bug fixes plus a work-round for double gamma correction.
michael@0 3720 libpng does not support more than one transform that requires linear data
michael@0 3721 at once - if this is tried typically the results is double gamma
michael@0 3722 correction. Since the simplified APIs can need rgb to gray combined with
michael@0 3723 a compose operation it is necessary to do one of these outside the main
michael@0 3724 libpng transform code. This check-in also contains fixes to various bugs
michael@0 3725 in the simplified APIs themselves and to some bugs in compose and rgb to
michael@0 3726 gray (on palette) itself.
michael@0 3727 Fixes for C++ compilation using g++ When libpng source is compiled
michael@0 3728 using g++. The compiler imposes C++ rules on the C source; thus it
michael@0 3729 is desireable to make the source work with either C or C++ rules
michael@0 3730 without throwing away useful error information. This change adds
michael@0 3731 png_voidcast to allow C semantic (void*) cases or the corresponding
michael@0 3732 C++ static_cast operation, as appropriate.
michael@0 3733 Added --noexecstack to assembler file compilation. GCC does not set
michael@0 3734 this on assembler compilation, even though it does on C compilation.
michael@0 3735 This creates security issues if assembler code is enabled; the
michael@0 3736 work-around is to set it by default in the flags for $(CCAS)
michael@0 3737 Work around compilers that don't support declaration of const data. Some
michael@0 3738 compilers fault 'extern const' data declarations (because the data is
michael@0 3739 not initialized); this turns on const-ness only for compilers where
michael@0 3740 this is known to work.
michael@0 3741
michael@0 3742 Version 1.5.7beta04 [November 17, 2011]
michael@0 3743 Since the gcc driver does not recognize the --noexecstack flag, we must
michael@0 3744 use the -Wa prefix to have it passed through to the assembler.
michael@0 3745 Also removed a duplicate setting of this flag.
michael@0 3746 Added files that were omitted from the libpng-1.5.7beta03 zip distribution.
michael@0 3747
michael@0 3748 Version 1.5.7beta05 [November 25, 2011]
michael@0 3749 Removed "zTXt" from warning in generic chunk decompression function.
michael@0 3750 Validate time settings passed to pngset() and png_convert_to_rfc1123()
michael@0 3751 (Frank Busse).
michael@0 3752 Added MINGW support to CMakeLists.txt
michael@0 3753 Reject invalid compression flag or method when reading the iTXt chunk.
michael@0 3754 Backed out 'simplified' API changes. The API seems too complex and there
michael@0 3755 is a lack of consensus or enthusiasm for the proposals. The API also
michael@0 3756 reveals significant bugs inside libpng (double gamma correction and the
michael@0 3757 known bug of being unable to retrieve a corrected palette). It seems
michael@0 3758 better to wait until the bugs, at least, are corrected.
michael@0 3759 Moved pngvalid.c into contrib/libtests
michael@0 3760 Rebuilt Makefile.in, configure, etc., with autoconf-2.68
michael@0 3761
michael@0 3762 Version 1.5.7rc01 [December 1, 2011]
michael@0 3763 Replaced an "#if" with "#ifdef" in pngrtran.c
michael@0 3764 Revised #if PNG_DO_BC block in png.c (use #ifdef and add #else)
michael@0 3765
michael@0 3766 Version 1.5.7rc02 [December 5, 2011]
michael@0 3767 Revised project files and contrib/pngvalid/pngvalid.c to account for
michael@0 3768 the relocation of pngvalid into contrib/libtests.
michael@0 3769 Revised pngconf.h to use " __declspec(restrict)" only when MSC_VER >= 1400,
michael@0 3770 as in libpng-1.5.4.
michael@0 3771 Put CRLF line endings in the owatcom project files.
michael@0 3772
michael@0 3773 Version 1.5.7rc03 [December 7, 2011]
michael@0 3774 Updated CMakeLists.txt to account for the relocation of pngvalid.c
michael@0 3775
michael@0 3776 Version 1.5.7 [December 15, 2011]
michael@0 3777 Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings
michael@0 3778 reported by earlier versions.
michael@0 3779 Fixed minor memset/sizeof errors in pngvalid.c.
michael@0 3780
michael@0 3781 Version 1.6.0beta01 [December 15, 2011]
michael@0 3782 Removed machine-generated configure files from the GIT repository (they will
michael@0 3783 continue to appear in the tarball distributions and in the libpng15 and
michael@0 3784 earlier GIT branches).
michael@0 3785 Restored the new 'simplified' API, which was started in libpng-1.5.7beta02
michael@0 3786 but later deleted from libpng-1.5.7beta05.
michael@0 3787 Added example programs for the new 'simplified' API.
michael@0 3788 Added ANSI-C (C90) headers and require them, and take advantage of the
michael@0 3789 change. Also fixed some of the projects/* and contrib/* files that needed
michael@0 3790 updates for libpng16 and the move of pngvalid.c.
michael@0 3791 With this change the required ANSI-C header files are assumed to exist: the
michael@0 3792 implementation must provide float.h, limits.h, stdarg.h and stddef.h and
michael@0 3793 libpng relies on limits.h and stddef.h existing and behaving as defined
michael@0 3794 (the other two required headers aren't used). Non-ANSI systems that don't
michael@0 3795 have stddef.h or limits.h will have to provide an appropriate fake
michael@0 3796 containing the relevant types and #defines.
michael@0 3797 The use of FAR/far has been eliminated and the definition of png_alloc_size_t
michael@0 3798 is now controlled by a flag so that 'small size_t' systems can select it
michael@0 3799 if necessary. Libpng 1.6 may not currently work on such systems -- it
michael@0 3800 seems likely that it will ask 'malloc' for more than 65535 bytes with any
michael@0 3801 image that has a sufficiently large row size (rather than simply failing
michael@0 3802 to read such images).
michael@0 3803 New tools directory containing tools used to generate libpng code.
michael@0 3804 Fixed race conditions in parallel make builds. With higher degrees of
michael@0 3805 parallelism during 'make' the use of the same temporary file names such
michael@0 3806 as 'dfn*' can result in a race where a temporary file from one arm of the
michael@0 3807 build is deleted or overwritten in another arm. This changes the
michael@0 3808 temporary files for suffix rules to always use $* and ensures that the
michael@0 3809 non-suffix rules use unique file names.
michael@0 3810
michael@0 3811 Version 1.6.0beta02 [December 21, 2011]
michael@0 3812 Correct configure builds where build and source directories are separate.
michael@0 3813 The include path of 'config.h' was erroneously made relative in pngvalid.c
michael@0 3814 in libpng 1.5.7.
michael@0 3815
michael@0 3816 Version 1.6.0beta03 [December 22, 2011]
michael@0 3817 Start-up code size improvements, error handler flexibility. These changes
michael@0 3818 alter how the tricky allocation of the initial png_struct and png_info
michael@0 3819 structures are handled. png_info is now handled in pretty much the same
michael@0 3820 way as everything else, except that the allocations handle NULL return
michael@0 3821 silently. png_struct is changed in a similar way on allocation and on
michael@0 3822 deallocation a 'safety' error handler is put in place (which should never
michael@0 3823 be required). The error handler itself is changed to permit mismatches
michael@0 3824 in the application and libpng error buffer size; however, this means a
michael@0 3825 silent change to the API to return the jmp_buf if the size doesn't match
michael@0 3826 the size from the libpng compilation; libpng now allocates the memory and
michael@0 3827 this may fail. Overall these changes result in slight code size
michael@0 3828 reductions; however, this is a reduction in code that is always executed
michael@0 3829 so is particularly valuable. Overall on a 64-bit system the libpng DLL
michael@0 3830 decreases in code size by 1733 bytes. pngerror.o increases in size by
michael@0 3831 about 465 bytes because of the new functionality.
michael@0 3832 Added png_convert_to_rfc1123_buffer() and deprecated png_convert_to_rfc1123()
michael@0 3833 to avoid including a spurious buffer in the png_struct.
michael@0 3834
michael@0 3835 Version 1.6.0beta04 [December 30, 2011]
michael@0 3836 Regenerated configure scripts with automake-1.11.2
michael@0 3837 Eliminated png_info_destroy(). It is now used only in png.c and only calls
michael@0 3838 one other internal function and memset().
michael@0 3839 Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously
michael@0 3840 it was disabled whenever internal fixed point arithmetic was selected,
michael@0 3841 which meant it didn't exist even on systems where FP was available but not
michael@0 3842 preferred.
michael@0 3843 Added pngvalid.c compile time checks for const APIs.
michael@0 3844 Implemented 'restrict' for png_info and png_struct. Because of the way
michael@0 3845 libpng works both png_info and png_struct are always accessed via a
michael@0 3846 single pointer. This means adding C99 'restrict' to the pointer gives
michael@0 3847 the compiler some opportunity to optimize the code. This change allows
michael@0 3848 that.
michael@0 3849 Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper
michael@0 3850 location in configure.ac (Gilles Espinasse).
michael@0 3851 Changed png_memcpy to C assignment where appropriate. Changed all those
michael@0 3852 uses of png_memcpy that were doing a simple assignment to assignments
michael@0 3853 (all those cases where the thing being copied is a non-array C L-value).
michael@0 3854 Added some error checking to png_set_*() routines.
michael@0 3855 Removed the reference to the non-exported function png_memcpy() from
michael@0 3856 example.c.
michael@0 3857 Fixed the Visual C 64-bit build - it requires jmp_buf to be aligned, but
michael@0 3858 it had become misaligned.
michael@0 3859 Revised contrib/pngminus/pnm2png.c to avoid warnings when png_uint_32
michael@0 3860 and unsigned long are of different sizes.
michael@0 3861
michael@0 3862 Version 1.6.0beta05 [January 15, 2012]
michael@0 3863 Updated manual with description of the simplified API (copied from png.h)
michael@0 3864 Fix bug in pngerror.c: some long warnings were being improperly truncated
michael@0 3865 (CVE-2011-3464, bug introduced in libpng-1.5.3beta05).
michael@0 3866
michael@0 3867 Version 1.6.0beta06 [January 24, 2012]
michael@0 3868 Added palette support to the simplified APIs. This commit
michael@0 3869 changes some of the macro definitions in png.h, app code
michael@0 3870 may need corresponding changes.
michael@0 3871 Increased the formatted warning buffer to 192 bytes.
michael@0 3872 Added color-map support to simplified API. This is an initial version for
michael@0 3873 review; the documentation has not yet been updated.
michael@0 3874 Fixed Min/GW uninstall to remove libpng.dll.a
michael@0 3875
michael@0 3876 Version 1.6.0beta07 [January 28, 2012]
michael@0 3877 Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived)
michael@0 3878 compiler issues slightly different warnings from those issued by the
michael@0 3879 current vesions of GCC. This eliminates those warnings by
michael@0 3880 adding/removing casts and small code rewrites.
michael@0 3881 Updated configure.ac from autoupdate: added --enable-werror option.
michael@0 3882 Also some layout regularization and removal of introduced tab characters
michael@0 3883 (replaced with 3-character indentation). Obsolete macros identified by
michael@0 3884 autoupdate have been removed; the replacements are all in 2.59 so
michael@0 3885 the pre-req hasn't been changed. --enable-werror checks for support
michael@0 3886 for -Werror (or the given argument) in the compiler. This mimics the
michael@0 3887 gcc configure option by allowing -Werror to be turned on safely; without
michael@0 3888 the option the tests written in configure itself fail compilation because
michael@0 3889 they cause compiler warnings.
michael@0 3890 Rewrote autogen.sh to run autoreconf instead of running tools one-by-one.
michael@0 3891 Conditionalize the install rules for MINGW and CYGWIN in CMakeLists.txt and
michael@0 3892 set CMAKE_LIBRARY_OUTPUT_DIRECTORY to "lib" on all platforms (C. Yapp).
michael@0 3893 Freeze libtool files in the 'scripts' directory. This version of autogen.sh
michael@0 3894 attempts to dissuade people from running it when it is not, or should not,
michael@0 3895 be necessary. In fact, autogen.sh does not work when run in a libpng
michael@0 3896 directory extracted from a tar distribution anymore. You must run it in
michael@0 3897 a GIT clone instead.
michael@0 3898 Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
michael@0 3899 and renamed three whose names were inconsistent with those in
michael@0 3900 pngsuite/README.txt.
michael@0 3901
michael@0 3902 Version 1.6.0beta08 [February 1, 2012]
michael@0 3903 Fixed Image::colormap misalignment in pngstest.c
michael@0 3904 Check libtool/libtoolize version number (2.4.2) in configure.ac
michael@0 3905 Divide test-pngstest.sh into separate pngstest runs for basic and
michael@0 3906 transparent images.
michael@0 3907 Moved automake options to AM_INIT_AUTOMAKE in configure.ac
michael@0 3908 Added color-tests, silent-rules (Not yet implemented in Makefile.am) and
michael@0 3909 version checking to configure.ac
michael@0 3910 Improved pngstest speed by not doing redundant tests and add const to
michael@0 3911 the background parameter of png_image_finish_read. The --background
michael@0 3912 option is now done automagically only when required, so that commandline
michael@0 3913 option no longer exists.
michael@0 3914 Cleaned up pngpriv.h to consistently declare all functions and data.
michael@0 3915 Also eliminated PNG_CONST_DATA, which is apparently not needed but we
michael@0 3916 can't be sure until it is gone.
michael@0 3917 Added symbol prefixing that allows all the libpng external symbols
michael@0 3918 to be prefixed (suggested by Reuben Hawkins).
michael@0 3919 Updated "ftbb*.png" list in the owatcom and vstudio projects.
michael@0 3920 Fixed 'prefix' builds on clean systems. The generation of pngprefix.h
michael@0 3921 should not require itself.
michael@0 3922 Updated INSTALL to explain that autogen.sh must be run in a GIT clone,
michael@0 3923 not in a libpng directory extracted from a tar distribution.
michael@0 3924
michael@0 3925 Version 1.6.0beta09 [February 1, 2012]
michael@0 3926 Reverted the prebuilt configure files to libpng-1.6.0beta05 condition.
michael@0 3927
michael@0 3928 Version 1.6.0beta10 [February 3, 2012]
michael@0 3929 Added Z_SOLO for zlib-1.2.6+ and correct pngstest tests
michael@0 3930 Updated list of test images in CMakeLists.txt
michael@0 3931 Updated the prebuilt configure files to current condition.
michael@0 3932 Revised INSTALL information about autogen.sh; it works in tar distributions.
michael@0 3933
michael@0 3934 Version 1.6.0beta11 [February 16, 2012]
michael@0 3935 Fix character count in pngstest command in projects/owatcom/pngstest.tgt
michael@0 3936 Revised test-pngstest.sh to report PASS/FAIL for each image.
michael@0 3937 Updated documentation about the simplified API.
michael@0 3938 Corrected estimate of error in libpng png_set_rgb_to_gray API. The API is
michael@0 3939 extremely inaccurate for sRGB conversions because it uses an 8-bit
michael@0 3940 intermediate linear value and it does not use the sRGB transform, so it
michael@0 3941 suffers from the known instability in gamma transforms for values close
michael@0 3942 to 0 (see Poynton). The net result is that the calculation has a maximum
michael@0 3943 error of 14.99/255; 0.5/255^(1/2.2). pngstest now uses 15 for the
michael@0 3944 permitted 8-bit error. This may still not be enough because of arithmetic
michael@0 3945 error.
michael@0 3946 Removed some unused arrays (with #ifdef) from png_read_push_finish_row().
michael@0 3947 Fixed a memory overwrite bug in simplified read of RGB PNG with
michael@0 3948 non-linear gamma Also bugs in the error checking in pngread.c and changed
michael@0 3949 quite a lot of the checks in pngstest.c to be correct; either correctly
michael@0 3950 written or not over-optimistic. The pngstest changes are insufficient to
michael@0 3951 allow all possible RGB transforms to be passed; pngstest cmppixel needs
michael@0 3952 to be rewritten to make it clearer which errors it allows and then changed
michael@0 3953 to permit known inaccuracies.
michael@0 3954 Removed tests for no-longer-used *_EMPTY_PLTE_SUPPORTED from pngstruct.h
michael@0 3955 Fixed fixed/float API export conditionals. 1) If FIXED_POINT or
michael@0 3956 FLOATING_POINT options were switched off, png.h ended up with lone ';'
michael@0 3957 characters. This is not valid ANSI-C outside a function. The ';'
michael@0 3958 characters have been moved inside the definition of PNG_FP_EXPORT and
michael@0 3959 PNG_FIXED_EXPORT. 2) If either option was switched off, the declaration
michael@0 3960 of the corresponding functions were completely omitted, even though some
michael@0 3961 of them are still used internally. The result is still valid, but
michael@0 3962 produces warnings from gcc with some warning options (including -Wall). The
michael@0 3963 fix is to cause png.h to declare the functions with PNG_INTERNAL_FUNCTION
michael@0 3964 when png.h is included from pngpriv.h.
michael@0 3965 Check for invalid palette index while reading paletted PNG. When one is
michael@0 3966 found, issue a warning and increase png_ptr->num_palette accordingly.
michael@0 3967 Apps are responsible for checking to see if that happened.
michael@0 3968
michael@0 3969 Version 1.6.0beta12 [February 18, 2012]
michael@0 3970 Do not increase num_palette on invalid_index.
michael@0 3971 Relocated check for invalid palette index to pngrtran.c, after unpacking
michael@0 3972 the sub-8-bit pixels.
michael@0 3973 Fixed CVE-2011-3026 buffer overrun bug. This bug was introduced when
michael@0 3974 iCCP chunk support was added at libpng-1.0.6. Deal more correctly with the
michael@0 3975 test on iCCP chunk length. Also removed spurious casts that may hide
michael@0 3976 problems on 16-bit systems.
michael@0 3977
michael@0 3978 Version 1.6.0beta13 [February 24, 2012]
michael@0 3979 Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
michael@0 3980 pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
michael@0 3981 now that png_ptr->buffer is inaccessible to applications, the special
michael@0 3982 handling is no longer useful.
michael@0 3983 Added PNG_SAFE_LIMITS feature to pnglibconf.dfa, pngpriv.h, and new
michael@0 3984 pngusr.dfa to reset the user limits to safe ones if PNG_SAFE_LIMITS is
michael@0 3985 defined. To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED=1" on the
michael@0 3986 configure command or put #define PNG_SAFE_LIMITS_SUPPORTED in
michael@0 3987 pnglibconf.h.prebuilt and pnglibconf.h.
michael@0 3988
michael@0 3989 Version 1.6.0beta14 [February 27, 2012]
michael@0 3990 Added information about the new limits in the manual.
michael@0 3991 Updated Makefile.in
michael@0 3992
michael@0 3993 Version 1.6.0beta15 [March 2, 2012]
michael@0 3994 Removed unused "current_text" members of png_struct and the png_free()
michael@0 3995 of png_ptr->current_text from pngread.c
michael@0 3996 Rewrote pngstest.c for substantial speed improvement.
michael@0 3997 Fixed transparent pixel and 16-bit rgb tests in pngstest and removed a
michael@0 3998 spurious check in pngwrite.c
michael@0 3999 Added PNG_IMAGE_FLAG_FAST for the benefit of applications that store
michael@0 4000 intermediate files, or intermediate in-memory data, while processing
michael@0 4001 image data with the simplified API. The option makes the files larger
michael@0 4002 but faster to write and read. pngstest now uses this by default; this
michael@0 4003 can be disabled with the --slow option.
michael@0 4004 Improved pngstest fine tuning of error numbers, new test file generator.
michael@0 4005 The generator generates images that test the full range of sample values,
michael@0 4006 allow the error numbers in pngstest to be tuned and checked. makepng
michael@0 4007 also allows generation of images with extra chunks, although this is
michael@0 4008 still work-in-progress.
michael@0 4009 Added check for invalid palette index while reading.
michael@0 4010 Fixed some bugs in ICC profile writing. The code should now accept
michael@0 4011 all potentially valid ICC profiles and reject obviously invalid ones.
michael@0 4012 It now uses png_error() to do so rather than casually writing a PNG
michael@0 4013 without the necessary color data.
michael@0 4014 Removed whitespace from the end of lines in all source files and scripts.
michael@0 4015
michael@0 4016 Version 1.6.0beta16 [March 6, 2012]
michael@0 4017 Relocated palette-index checking function from pngrutil.c to pngtrans.c
michael@0 4018 Added palette-index checking while writing.
michael@0 4019 Changed png_inflate() and calling routines to avoid overflow problems.
michael@0 4020 This is an intermediate check-in that solves the immediate problems and
michael@0 4021 introduces one performance improvement (avoiding a copy via png_ptr->zbuf.)
michael@0 4022 Further changes will be made to make ICC profile handling more secure.
michael@0 4023 Fixed build warnings (MSVC, GCC, GCC v3). Cygwin GCC with default options
michael@0 4024 declares 'index' as a global, causing a warning if it is used as a local
michael@0 4025 variable. GCC 64-bit warns about assigning a (size_t) (unsigned 64-bit)
michael@0 4026 to an (int) (signed 32-bit). MSVC, however, warns about using the
michael@0 4027 unary '-' operator on an unsigned value (even though it is well defined
michael@0 4028 by ANSI-C to be ~x+1). The padding calculation was changed to use a
michael@0 4029 different method. Removed the tests on png_ptr->pass.
michael@0 4030 Added contrib/libtests/tarith.c to test internal arithmetic functions from
michael@0 4031 png.c. This is a libpng maintainer program used to validate changes to the
michael@0 4032 internal arithmetic functions.
michael@0 4033 Made read 'inflate' handling like write 'deflate' handling. The read
michael@0 4034 code now claims and releases png_ptr->zstream, like the write code.
michael@0 4035 The bug whereby the progressive reader failed to release the zstream
michael@0 4036 is now fixed, all initialization is delayed, and the code checks for
michael@0 4037 changed parameters on deflate rather than always calling
michael@0 4038 deflatedEnd/deflateInit.
michael@0 4039 Validate the zTXt strings in pngvalid.
michael@0 4040 Added code to validate the windowBits value passed to deflateInit2().
michael@0 4041 If the call to deflateInit2() is wrong a png_warning will be issued
michael@0 4042 (in fact this is harmless, but the PNG data produced may be sub-optimal).
michael@0 4043
michael@0 4044 Version 1.6.0beta17 [March 10, 2012]
michael@0 4045 Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
michael@0 4046 Reject all iCCP chunks after the first, even if the first one is invalid.
michael@0 4047 Deflate/inflate was reworked to move common zlib calls into single
michael@0 4048 functions [rw]util.c. A new shared keyword check routine was also added
michael@0 4049 and the 'zbuf' is no longer allocated on progressive read. It is now
michael@0 4050 possible to call png_inflate() incrementally. A warning is no longer
michael@0 4051 issued if the language tag or translated keyword in the iTXt chunk
michael@0 4052 has zero length.
michael@0 4053 If benign errors are disabled use maximum window on ancilliary inflate.
michael@0 4054 This works round a bug introduced in 1.5.4 where compressed ancillary
michael@0 4055 chunks could end up with a too-small windowBits value in the deflate
michael@0 4056 header.
michael@0 4057
michael@0 4058 Version 1.6.0beta18 [March 16, 2012]
michael@0 4059 Issue a png_benign_error() instead of png_warning() about bad palette index.
michael@0 4060 In pngtest, treat benign errors as errors if "-strict" is present.
michael@0 4061 Fixed an off-by-one error in the palette index checking function.
michael@0 4062 Fixed a compiler warning under Cygwin (Windows-7, 32-bit system)
michael@0 4063 Revised example.c to put text strings in a temporary character array
michael@0 4064 instead of directly assigning string constants to png_textp members.
michael@0 4065 This avoids compiler warnings when -Wwrite-strings is enabled.
michael@0 4066 Added output flushing to aid debugging under Visual Studio. Unfortunately
michael@0 4067 this is necessary because the VS2010 output window otherwise simply loses
michael@0 4068 the error messages on error (they weren't flushed to the window before
michael@0 4069 the process exited, apparently!)
michael@0 4070 Added configuration support for benign errors and changed the read
michael@0 4071 default. Also changed some warnings in the iCCP and sRGB handling
michael@0 4072 from to benign errors. Configuration now makes read benign
michael@0 4073 errors warnings and write benign errors to errors by default (thus
michael@0 4074 changing the behavior on read). The simplified API always forces
michael@0 4075 read benign errors to warnings (regardless of the system default, unless
michael@0 4076 this is disabled in which case the simplified API can't be built.)
michael@0 4077
michael@0 4078 Version 1.6.0beta19 [March 18, 2012]
michael@0 4079 Work around for duplicate row start calls; added warning messages.
michael@0 4080 This turns on PNG_FLAG_DETECT_UNINITIALIZED to detect app code that
michael@0 4081 fails to call one of the 'start' routines (not enabled in libpng-1.5
michael@0 4082 because it is technically an API change, since it did normally work
michael@0 4083 before.) It also makes duplicate calls to png_read_start_row (an
michael@0 4084 internal function called at the start of the image read) benign, as
michael@0 4085 they were before changes to use png_inflate_claim. Somehow webkit is
michael@0 4086 causing this to happen; this is probably a mis-feature in the zlib
michael@0 4087 changes so this commit is only a work-round.
michael@0 4088 Removed erroneous setting of DETECT_UNINITIALIZED and added more
michael@0 4089 checks. The code now does a png_error if an attempt is made to do the
michael@0 4090 row initialization twice; this is an application error and it has
michael@0 4091 serious consequences because the transform data in png_struct is
michael@0 4092 changed by each call.
michael@0 4093 Added application error reporting and added chunk names to read
michael@0 4094 benign errors; also added --strict to pngstest - not enabled
michael@0 4095 yet because a warning is produced.
michael@0 4096 Avoid the double gamma correction warning in the simplified API.
michael@0 4097 This allows the --strict option to pass in the pngstest checks
michael@0 4098
michael@0 4099 Version 1.6.0beta20 [March 29, 2012]
michael@0 4100 Changed chunk handler warnings into benign errors, incrementally load iCCP
michael@0 4101 Added checksum-icc.c to contrib/tools
michael@0 4102 Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
michael@0 4103 Recognize known sRGB ICC profiles while reading; prefer writing the
michael@0 4104 iCCP profile over writing the sRGB chunk, controlled by the
michael@0 4105 PNG_sRGB_PROFILE_CHECKS option.
michael@0 4106 Revised png_set_text_2() to avoid potential memory corruption (fixes
michael@0 4107 CVE-2011-3048, also known as CVE-2012-3425).
michael@0 4108
michael@0 4109 Version 1.6.0beta21 [April 27, 2012]
michael@0 4110 Revised scripts/makefile.darwin: use system zlib; remove quotes around
michael@0 4111 architecture list; add missing ppc architecture; add architecture options
michael@0 4112 to shared library link; don't try to create a shared lib based on missing
michael@0 4113 RELEASE variable.
michael@0 4114 Enable png_set_check_for_invalid_index() for both read and write.
michael@0 4115 Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED in pngpriv.h around
michael@0 4116 declaration of png_handle_unknown().
michael@0 4117 Added -lssp_nonshared in a comment in scripts/makefile.freebsd
michael@0 4118 and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE.
michael@0 4119
michael@0 4120 Version 1.6.0beta22 [May 23, 2012]
michael@0 4121 Removed need for -Wno-cast-align with clang. clang correctly warns on
michael@0 4122 alignment increasing pointer casts when -Wcast-align is passed. This
michael@0 4123 fixes the cases that clang warns about either by eliminating the
michael@0 4124 casts from png_bytep to png_uint_16p (pngread.c), or, for pngrutil.c
michael@0 4125 where the cast is previously verified or pngstest.c where it is OK, by
michael@0 4126 introducing new png_aligncast macros to do the cast in a way that clang
michael@0 4127 accepts.
michael@0 4128
michael@0 4129 Version 1.6.0beta23 [June 6, 2012]
michael@0 4130 Revised CMakeLists.txt to not attempt to make a symlink under mingw.
michael@0 4131 Made fixes for new optimization warnings from gcc 4.7.0. The compiler
michael@0 4132 performs an optimization which is safe; however it then warns about it.
michael@0 4133 Changing the type of 'palette_number' in pngvalid.c removes the warning.
michael@0 4134 Do not depend upon a GCC feature macro being available for use in generating
michael@0 4135 the linker mapfile symbol prefix.
michael@0 4136 Improved performance of new do_check_palette_indexes() function (only
michael@0 4137 update the value when it actually increases, move test for whether
michael@0 4138 the check is wanted out of the function.
michael@0 4139
michael@0 4140 Version 1.6.0beta24 [June 7, 2012]
michael@0 4141 Don't check palette indexes if num_palette is 0 (as it can be in MNG files).
michael@0 4142
michael@0 4143 Version 1.6.0beta25 [June 16, 2012]
michael@0 4144 Revised png_set_keep_unknown_chunks() so num_chunks < 0 means ignore all
michael@0 4145 unknown chunks and all known chunks except for IHDR, PLTE, tRNS, IDAT,
michael@0 4146 and IEND. Previously it only meant ignore all unknown chunks, the
michael@0 4147 same as num_chunks == 0. Revised png_image_skip_unused_chunks() to
michael@0 4148 provide a list of chunks to be processed instead of a list of chunks to
michael@0 4149 ignore. Revised contrib/gregbook/readpng2.c accordingly.
michael@0 4150
michael@0 4151 Version 1.6.0beta26 [July 10, 2012]
michael@0 4152 Removed scripts/makefile.cegcc from the *.zip and *.7z distributions; it
michael@0 4153 depends on configure, which is not included in those archives.
michael@0 4154 Moved scripts/chkfmt to contrib/tools.
michael@0 4155 Changed "a+w" to "u+w" in Makefile.in to fix CVE-2012-3386.
michael@0 4156
michael@0 4157 Version 1.6.0beta27 [August 11, 2012]
michael@0 4158 Do not compile PNG_DEPRECATED, PNG_ALLOC and PNG_PRIVATE when __GNUC__ < 3.
michael@0 4159 Do not use __restrict when GNUC is <= 3.1
michael@0 4160 Removed references to png_zalloc() and png_zfree() from the manual.
michael@0 4161 Fixed configurations where floating point is completely disabled. Because
michael@0 4162 of the changes to support symbol prefixing PNG_INTERNAL_FUNCTION declares
michael@0 4163 floating point APIs during libpng builds even if they are completely
michael@0 4164 disabled. This requires the png floating point types (png_double*) to be
michael@0 4165 declared even though the functions are never actually defined. This
michael@0 4166 change provides a dummy definition so that the declarations work, yet any
michael@0 4167 implementation will fail to compile because of an incomplete type.
michael@0 4168 Re-eliminated the use of strcpy() in pngtest.c. An unncessary use of
michael@0 4169 strcpy() was accidentally re-introduced in libpng16; this change replaces
michael@0 4170 it with strncpy().
michael@0 4171 Eliminated use of png_sizeof(); use sizeof() instead.
michael@0 4172 Use a consistent style for (sizeof type) and (sizeof (array))
michael@0 4173 Cleanup of png_set_filler(). This function does very different things on
michael@0 4174 read and write. In libpng 1.6 the two cases can be distinguished and
michael@0 4175 considerable code cleanup, and extra error checking, is possible. This
michael@0 4176 makes calls on the write side that have no effect be ignored with a
michael@0 4177 png_app_error(), which can be disabled in the app using
michael@0 4178 png_set_benign_errors(), and removes the spurious use of usr_channels
michael@0 4179 on the read side.
michael@0 4180 Insist on autotools 1.12.1 for git builds because there are security issues
michael@0 4181 with 1.12 and insisting on anything less would allow 1.12 to be used.
michael@0 4182 Removed info_ptr->signature[8] from WRITE-only builds.
michael@0 4183 Add some conditions for compiling png_fixed(). This is a small function
michael@0 4184 but it requires "-lm" on some platforms.
michael@0 4185 Cause pngtest --strict to fail on any warning from libpng (not just errors)
michael@0 4186 and cause it not to fail at the comparison step if libpng lacks support
michael@0 4187 for writing chunks that it reads from the input (currently only implemented
michael@0 4188 for compressed text chunks).
michael@0 4189 Make all three "make check" test programs work without READ or WRITE support.
michael@0 4190 Now "make check" will succeed even if libpng is compiled with -DPNG_NO_READ
michael@0 4191 or -DPNG_NO_WRITE. The tests performed are reduced, but the basic reading
michael@0 4192 and writing of a PNG file is always tested by one or more of the tests.
michael@0 4193 Consistently use strlen(), memset(), memcpy(), and memcmp() instead of the
michael@0 4194 png_strlen(), png_memset(), png_memcpy(), and png_memcmp() macros.
michael@0 4195 Removed the png_sizeof(), png_strlen(), png_memset(), png_memcpy(), and
michael@0 4196 png_memcmp() macros.
michael@0 4197 Work around gcc 3.x and Microsoft Visual Studio 2010 complaints. Both object
michael@0 4198 to the split initialization of num_chunks.
michael@0 4199
michael@0 4200 Version 1.6.0beta28 [August 29, 2012]
michael@0 4201 Unknown handling fixes and clean up. This adds more correct option
michael@0 4202 control of the unknown handling, corrects the pre-existing bug where
michael@0 4203 the per-chunk 'keep' setting is ignored and makes it possible to skip
michael@0 4204 IDAT chunks in the sequential reader (broken in earlier 1.6 versions).
michael@0 4205 There is a new test program, test-unknown.c, which is a work in progress
michael@0 4206 (not currently part of the test suite). Comments in the header files now
michael@0 4207 explain how the unknown handling works.
michael@0 4208 Allow fine grain control of unknown chunk APIs. This change allows
michael@0 4209 png_set_keep_unknown_chunks() to be turned off if not required and causes
michael@0 4210 both read and write to behave appropriately (on read this is only possible
michael@0 4211 if the user callback is used to handle unknown chunks). The change
michael@0 4212 also removes the support for storing unknown chunks in the info_struct
michael@0 4213 if the only unknown handling enabled is via the callback, allowing libpng
michael@0 4214 to be configured with callback reading and none of the unnecessary code.
michael@0 4215 Corrected fix for unknown handling in pngtest. This reinstates the
michael@0 4216 libpng handling of unknown chunks other than vpAg and sTER (including
michael@0 4217 unsafe-to-copy chunks which were dropped before) and eliminates the
michael@0 4218 repositioning of vpAg and sTER in pngtest.png by changing pngtest.png
michael@0 4219 (so the chunks are where libpng would put them).
michael@0 4220 Added "tunknown" test and corrected a logic error in png_handle_unknown()
michael@0 4221 when SAVE support is absent. Moved the shell test scripts for
michael@0 4222 contrib/libtests from the libpng top directory to contrib/libtests.
michael@0 4223 png_handle_unknown() must always read or skip the chunk, if
michael@0 4224 SAVE_UNKNOWN_CHUNKS is turned off *and* the application does not set
michael@0 4225 a user callback an unknown chunk will not be read, leading to a read
michael@0 4226 error, which was revealed by the "tunknown" test.
michael@0 4227 Cleaned up and corrected ICC profile handling.
michael@0 4228 contrib/libtests/makepng: corrected 'rgb' and 'gray' cases. profile_error
michael@0 4229 messages could be truncated; made a correct buffer size calculation and
michael@0 4230 adjusted pngerror.c appropriately. png_icc_check_* checking improved;
michael@0 4231 changed the functions to receive the correct color type of the PNG on read
michael@0 4232 or write and check that it matches the color space of the profile (despite
michael@0 4233 what the comments said before, there is danger in assuming the app will
michael@0 4234 cope correctly with an RGB profile on a grayscale image and, since it
michael@0 4235 violates the PNG spec, allowing it is certain to produce inconsistent
michael@0 4236 app behavior and might even cause app crashes.) Check that profiles
michael@0 4237 contain the tags needed to process the PNG (tags all required by the ICC
michael@0 4238 spec). Removed unused PNG_STATIC from pngpriv.h.
michael@0 4239
michael@0 4240 Version 1.6.0beta29 [September 4, 2012]
michael@0 4241 Fixed the simplified API example programs to add the *colormap parameter
michael@0 4242 to several of he API and improved the error message if the version field
michael@0 4243 is not set.
michael@0 4244 Added contrib/examples/* to the *.zip and *.7z distributions.
michael@0 4245 Updated simplified API synopses and description of the png_image structure
michael@0 4246 in the manual.
michael@0 4247 Made makepng and pngtest produce identical PNGs, add "--relaxed" option
michael@0 4248 to pngtest. The "--relaxed" option turns off the benign errors that are
michael@0 4249 enabled by default in pre-RC builds. makepng can now write ICC profiles
michael@0 4250 where the length has not been extended to a multiple of 4, and pngtest
michael@0 4251 now intercepts all libpng errors, allowing the previously-introduced
michael@0 4252 "--strict test" on no warnings to actually work.
michael@0 4253 Improved ICC profile handling including cHRM chunk generation and fixed
michael@0 4254 Cygwin+MSVC build errors. The ICC profile handling now includes more
michael@0 4255 checking. Several errors that caused rejection of the profile are now
michael@0 4256 handled with a warning in such a way that the invalid profiles will be
michael@0 4257 read by default in release (but not pre-RC) builds but will not be
michael@0 4258 written by default. The easy part of handling the cHRM chunk is written,
michael@0 4259 where the ICC profile contains the required data. The more difficult
michael@0 4260 part plus guessing a gAMA value requires code to pass selected RGB values
michael@0 4261 through the profile.
michael@0 4262
michael@0 4263 Version 1.6.0beta30 [October 24, 2012]
michael@0 4264 Changed ICC profile matrix/vector types to not depend on array type rules.
michael@0 4265 By the ANSI-C standard the new types should be identical to the previous
michael@0 4266 versions, and all known versions of gcc tested with the previous versions
michael@0 4267 except for GCC-4.2.1 work with this version. The change makes the ANSI-C
michael@0 4268 rule that const applied to an array of elements applies instead to the
michael@0 4269 elements in the array moot by explicitly applying const to the base
michael@0 4270 elements of the png_icc_matrix and png_icc_vector types. The accidental
michael@0 4271 (harmless) 'const' previously applied to the parameters of two of the
michael@0 4272 functions have also been removed.
michael@0 4273 Added a work around for GCC 4.2 optimization bug.
michael@0 4274 Marked the broken (bad white point) original HP sRGB profiles correctly and
michael@0 4275 correct comments.
michael@0 4276 Added -DZ_SOLO to contrib/pngminim/*/makefile to work with zlib-1.2.7
michael@0 4277 Use /MDd for vstudio debug builds. Also added pngunkown to the vstudio
michael@0 4278 builds, fixed build errors and corrected a minor exit code error in
michael@0 4279 pngvalid if the 'touch' file name is invalid.
michael@0 4280 Add updated WARNING file to projects/vstudio from libpng 1.5/vstudio
michael@0 4281 Fixed build when using #define PNG_NO_READ_GAMMA in png_do_compose() in
michael@0 4282 pngrtran.c (Domani Hannes).
michael@0 4283
michael@0 4284 Version 1.6.0beta31 [November 1, 2012]
michael@0 4285 Undid the erroneous change to vstudio/pngvalid build in libpng-1.6.0beta30.
michael@0 4286 Made pngvalid so that it will build outside the libpng source tree.
michael@0 4287 Made builds -DPNG_NO_READ_GAMMA compile (the unit tests still fail).
michael@0 4288 Made PNG_NO_READ_GAMMA switch off interfaces that depend on READ_GAMMA.
michael@0 4289 Prior to 1.6.0 switching off READ_GAMMA did unpredictable things to the
michael@0 4290 interfaces that use it (specifically, png_do_background in 1.4 would
michael@0 4291 simply display composite for grayscale images but do composition
michael@0 4292 with the incorrect arithmetic for color ones). In 1.6 the semantic
michael@0 4293 of -DPNG_NO_READ_GAMMA is changed to simply disable any interface that
michael@0 4294 depends on it; this obliges people who set it to consider whether they
michael@0 4295 really want it off if they happen to use any of the interfaces in
michael@0 4296 question (typically most users who disable it won't).
michael@0 4297 Fixed GUIDs in projects/vstudio. Some were duplicated or missing,
michael@0 4298 resulting in VS2010 having to update the files.
michael@0 4299 Removed non-working ICC profile support code that was mostly added to
michael@0 4300 libpng-1.6.0beta29 and beta30. There was too much code for too little
michael@0 4301 gain; implementing full ICC color correction may be desireable but is left
michael@0 4302 up to applications.
michael@0 4303
michael@0 4304 Version 1.6.0beta32 [November 25, 2012]
michael@0 4305 Fixed an intermittent SEGV in pngstest due to an uninitialized array element.
michael@0 4306 Added the ability for contrib/libtests/makepng.c to make a PNG with just one
michael@0 4307 color. This is useful for debugging pngstest color inaccuracy reports.
michael@0 4308 Fixed error checking in the simplified write API (Olaf van der Spek)
michael@0 4309 Made png_user_version_check() ok to use with libpng version 1.10.x and later.
michael@0 4310
michael@0 4311 Version 1.6.0beta33 [December 15, 2012]
michael@0 4312 Fixed typo in png.c (PNG_SET_CHUNK_MALLOC_MAX should be PNG_CHUNK_MALLOC_MAX)
michael@0 4313 that causes the MALLOC_MAX limit not to work (John Bowler)
michael@0 4314 Change png_warning() to png_app_error() in pngwrite.c and comment the
michael@0 4315 fall-through condition.
michael@0 4316 Change png_warning() to png_app_warning() in png_write_tRNS().
michael@0 4317 Rearranged the ARM-NEON optimizations: Isolated the machine specific code
michael@0 4318 to the hardware subdirectory and added comments to pngrutil.c so that
michael@0 4319 implementors of other optimizations know what to do.
michael@0 4320 Fixed cases of unquoted DESTDIR in Makefile.am
michael@0 4321 Rebuilt Makefile.in, etc., with autoconf-2.69 and automake-1.12.5.
michael@0 4322
michael@0 4323 Version 1.6.0beta34 [December 19, 2012]
michael@0 4324 Cleaned up whitespace in the synopsis portion of the manpage "libpng.3"
michael@0 4325 Disassembled the version number in scripts/options.awk (necessary for
michael@0 4326 building on SunOs).
michael@0 4327
michael@0 4328 Version 1.6.0beta35 [December 23, 2012]
michael@0 4329 Made default Zlib compression settings be configurable. This adds #defines to
michael@0 4330 pnglibconf.h to control the defaults.
michael@0 4331 Fixed Windows build issues, enabled ARM compilation. Various warnings issued
michael@0 4332 by earlier versions of GCC fixed for Cygwin and Min/GW (which both use old
michael@0 4333 GCCs.) ARM support is enabled by default in zlib.props (unsupported by
michael@0 4334 Microsoft) and ARM compilation is made possible by deleting the check for
michael@0 4335 x86. The test programs cannot be run because they are not signed.
michael@0 4336
michael@0 4337 Version 1.6.0beta36 [January 2, 2013]
michael@0 4338 Discontinued distributing libpng-1.x.x.tar.bz2.
michael@0 4339 Discontinued distributing libpng-1.7.0-1.6.0-diff.txt and similar.
michael@0 4340 Rebuilt configure with autoconf-2.69 (inadvertently not done in beta33)
michael@0 4341 Fixed 'make distcheck' on SUN OS - libpng.so was not being removed
michael@0 4342
michael@0 4343 Version 1.6.0beta37 [January 10, 2013]
michael@0 4344 Fixed conceivable but difficult to repro overflow. Also added two test
michael@0 4345 programs to generate and test a PNG which should have the problem.
michael@0 4346
michael@0 4347 Version 1.6.0beta39 [January 19, 2013]
michael@0 4348 Again corrected attempt at overflow detection in png_set_unknown_chunks().
michael@0 4349 Added overflow detection in png_set_sPLT() and png_set_text_2().
michael@0 4350
michael@0 4351 Version 1.6.0beta40 [January 20, 2013]
michael@0 4352 Use consistent handling of overflows in text, sPLT and unknown png_set_* APIs
michael@0 4353
michael@0 4354 Version 1.6.0rc01 [January 26, 2013]
michael@0 4355 No changes.
michael@0 4356
michael@0 4357 Version 1.6.0rc02 [February 4, 2013]
michael@0 4358 Added png_get_palette_max() function.
michael@0 4359
michael@0 4360 Version 1.6.0rc03 [February 5, 2013]
michael@0 4361 Fixed the png_get_palette_max API.
michael@0 4362
michael@0 4363 Version 1.6.0rc04 [February 7, 2013]
michael@0 4364 Turn serial tests back on (recently turned off by autotools upgrade).
michael@0 4365
michael@0 4366 Version 1.6.0rc05 [February 8, 2013]
michael@0 4367 Update manual about png_get_palette_max().
michael@0 4368
michael@0 4369 Version 1.6.0rc06 [February 9, 2013]
michael@0 4370 Fixed missing dependency in --prefix builds The intermediate
michael@0 4371 internal 'prefix.h' file can only be generated correctly after
michael@0 4372 pnglibconf.h, however the dependency was not in Makefile.am. The
michael@0 4373 symptoms are unpredictable depending on the order make chooses to
michael@0 4374 build pngprefix.h and pnglibconf.h, often the error goes unnoticed
michael@0 4375 because there is a system pnglibconf.h to use instead.
michael@0 4376
michael@0 4377 Version 1.6.0rc07 [February 10, 2013]
michael@0 4378 Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED
michael@0 4379 block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly.
michael@0 4380
michael@0 4381 Version 1.6.0rc08 [February 10, 2013]
michael@0 4382 Fix typo in png.h #ifdef
michael@0 4383
michael@0 4384 Version 1.6.0 [February 14, 2013]
michael@0 4385 No changes.
michael@0 4386
michael@0 4387 Version 1.6.1beta01 [February 16, 2013]
michael@0 4388 Made symbol prefixing work with the ARM neon optimizations. Also allow
michael@0 4389 pngpriv.h to be included for preprocessor definitions only, so it can
michael@0 4390 be used in non-C/C++ files. Back ported from libpng 1.7.
michael@0 4391 Made sRGB check numbers consistent.
michael@0 4392 Ported libpng 1.5 options.awk/dfn file handling to 1.6, fixed one bug.
michael@0 4393 Removed cc -E workround, corrected png_get_palette_max API Tested on
michael@0 4394 SUN OS cc 5.9, which demonstrates the tokenization problem previously
michael@0 4395 avoided by using /lib/cpp. Since all .dfn output is now protected in
michael@0 4396 double quotes unless it is to be macro substituted the fix should
michael@0 4397 work everywhere.
michael@0 4398 Enabled parallel tests - back ported from libpng-1.7.
michael@0 4399 scripts/pnglibconf.dfa formatting improvements back ported from libpng17.
michael@0 4400 Fixed a race condition in the creation of the build 'scripts' directory
michael@0 4401 while building with a parallel make.
michael@0 4402 Use approved/supported Android method to check for NEON, use Linux/POSIX
michael@0 4403 1003.1 API to check /proc/self/auxv avoiding buffer allocation and other
michael@0 4404 library calls (ported from libpng15).
michael@0 4405
michael@0 4406 Version 1.6.1beta02 [February 19, 2013]
michael@0 4407 Use parentheses more consistently in "#if defined(MACRO)" tests.
michael@0 4408 Folded long lines.
michael@0 4409 Reenabled code to allow zero length PLTE chunks for MNG.
michael@0 4410
michael@0 4411 Version 1.6.1beta03 [February 22, 2013]
michael@0 4412 Fixed ALIGNED_MEMORY support.
michael@0 4413 Allow run-time ARM NEON checking to be disabled. A new configure option:
michael@0 4414 --enable-arm-neon=always will stop the run-time checks. New checks
michael@0 4415 within arm/arm_init.c will cause the code not to be compiled unless
michael@0 4416 __ARM_NEON__ is set. This should make it fail safe (if someone asks
michael@0 4417 for it on then the build will fail if it can't be done.)
michael@0 4418 Updated the INSTALL document.
michael@0 4419
michael@0 4420 Version 1.6.1beta04 [February 27, 2013]
michael@0 4421 Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
michael@0 4422 Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
michael@0 4423 Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
michael@0 4424 with CRLF line endings.
michael@0 4425
michael@0 4426 Version 1.6.1beta05 [March 1, 2013]
michael@0 4427 Avoid a possible memory leak in contrib/gregbook/readpng.c
michael@0 4428
michael@0 4429 Version 1.6.1beta06 [March 4, 2013]
michael@0 4430 Better documentation of unknown handling API interactions.
michael@0 4431 Corrected Android builds and corrected libpng.vers with symbol
michael@0 4432 prefixing This adds an API to set optimization options externally,
michael@0 4433 providing an alternative and general solution for the non-portable
michael@0 4434 run-time tests used by the ARM Neon code. It also makes those tests
michael@0 4435 compile and link on Android.
michael@0 4436 The order of settings vs options in pnglibconf.h is reversed to allow
michael@0 4437 settings to depend on options and options can now set (or override) the
michael@0 4438 defaults for settings.
michael@0 4439
michael@0 4440 Version 1.6.1beta07 [March 7, 2013]
michael@0 4441 Corrected simplified API default gamma for color-mapped output, added
michael@0 4442 a flag to change default. In 1.6.0 when the simplified API was used
michael@0 4443 to produce color-mapped output from an input image with no gamma
michael@0 4444 information the gamma assumed for the input could be different from
michael@0 4445 that assumed for non-color-mapped output. In particular 16-bit depth
michael@0 4446 input files were assumed to be sRGB encoded, whereas in the 'direct'
michael@0 4447 case they were assumed to have linear data. This was an error. The
michael@0 4448 fix makes the simplified API treat all input files the same way and
michael@0 4449 adds a new flag to the png_image::flags member to allow the
michael@0 4450 application/user to specify that 16-bit files contain sRGB data
michael@0 4451 rather than the default linear.
michael@0 4452 Fixed bugs in the pngpixel and makepng test programs.
michael@0 4453
michael@0 4454 Version 1.6.1beta08 [March 7, 2013]
michael@0 4455 Fixed CMakelists.txt to allow building a single variant of the library
michael@0 4456 (Claudio Bley):
michael@0 4457 Introduced a PNG_LIB_TARGETS variable that lists all activated library
michael@0 4458 targets. It is an error if this variable ends up empty, ie. you have
michael@0 4459 to build at least one library variant.
michael@0 4460 Made the *_COPY targets only depend on library targets actually being build.
michael@0 4461 Use PNG_LIB_TARGETS to unify a code path.
michael@0 4462 Changed the CREATE_SYMLINK macro to expect the full path to a file as the
michael@0 4463 first argument. When symlinking the filename component of that path is
michael@0 4464 determined and used as the link target.
michael@0 4465 Use copy_if_different in the CREATE_SYMLINK macro.
michael@0 4466
michael@0 4467 Version 1.6.1beta09 [March 13, 2013]
michael@0 4468 Eliminated two warnings from the Intel C compiler. The warnings are
michael@0 4469 technically valid, although a reasonable treatment of division would
michael@0 4470 show it to be incorrect.
michael@0 4471
michael@0 4472 Version 1.6.1rc01 [March 21, 2013]
michael@0 4473 No changes.
michael@0 4474
michael@0 4475 Version 1.6.1 [March 28, 2013]
michael@0 4476 No changes.
michael@0 4477
michael@0 4478 Version 1.6.2beta01 [April 14, 2013]
michael@0 4479 Updated documentation of 1.5.x to 1.6.x changes in iCCP chunk handling.
michael@0 4480 Fixed incorrect warning of excess deflate data. End condition - the
michael@0 4481 warning would be produced if the end of the deflate stream wasn't read
michael@0 4482 in the last row. The warning is harmless.
michael@0 4483 Corrected the test on user transform changes on read. It was in the
michael@0 4484 png_set of the transform function, but that doesn't matter unless the
michael@0 4485 transform function changes the rowbuf size, and that is only valid if
michael@0 4486 transform_info is called.
michael@0 4487 Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c
michael@0 4488 (Flavio Medeiros).
michael@0 4489 Corrected length written to uncompressed iTXt chunks (Samuli Suominen).
michael@0 4490 Bug was introduced in libpng-1.6.0.
michael@0 4491
michael@0 4492 Version 1.6.2rc01 [April 18, 2013]
michael@0 4493 Added contrib/tools/fixitxt.c, to repair the erroneous iTXt chunk length
michael@0 4494 written by libpng-1.6.0 and 1.6.1.
michael@0 4495 Disallow storing sRGB information when the sRGB is not supported.
michael@0 4496
michael@0 4497 Version 1.6.2rc02 [April 18, 2013]
michael@0 4498 Merge pngtest.c with libpng-1.7.0
michael@0 4499
michael@0 4500 Version 1.6.2rc03 [April 22, 2013]
michael@0 4501 Trivial spelling cleanup.
michael@0 4502
michael@0 4503 Version 1.6.2rc04 and 1.6.2rc05 [omitted]
michael@0 4504
michael@0 4505 Version 1.6.2rc06 [April 24, 2013]
michael@0 4506 Reverted to version 1.6.2rc03. Recent changes to arm/neon support
michael@0 4507 have been ported to libpng-1.7.0beta09 and will reappear in version
michael@0 4508 1.6.3beta01.
michael@0 4509
michael@0 4510 Version 1.6.2 [April 25, 2013]
michael@0 4511 No changes.
michael@0 4512
michael@0 4513 Version 1.6.3beta01 [April 25, 2013]
michael@0 4514 Revised stack marking in arm/filter_neon.S and configure.ac.
michael@0 4515 Ensure that NEON filter stuff is completely disabled when switched 'off'.
michael@0 4516 Previously the ARM NEON specific files were still built if the option
michael@0 4517 was switched 'off' as opposed to being explicitly disabled.
michael@0 4518
michael@0 4519 Version 1.6.3beta02 [April 26, 2013]
michael@0 4520 Test for 'arm*' not just 'arm' in the host_cpu configure variable.
michael@0 4521 Rebuilt the configure scripts.
michael@0 4522
michael@0 4523 Version 1.6.3beta03 [April 30, 2013]
michael@0 4524 Expanded manual paragraph about writing private chunks, particularly
michael@0 4525 the need to call png_set_keep_unknown_chunks() when writing them.
michael@0 4526 Avoid dereferencing NULL pointer possibly returned from
michael@0 4527 png_create_write_struct() (Andrew Church).
michael@0 4528
michael@0 4529 Version 1.6.3beta05 [May 9, 2013]
michael@0 4530 Calculate our own zlib windowBits when decoding rather than trusting the
michael@0 4531 CMF bytes in the PNG datastream.
michael@0 4532 Added an option to force maximum window size for inflating, which was
michael@0 4533 the behavior of libpng15 and earlier.
michael@0 4534 Added png-fix-itxt and png-fix-too-far-back to the built programs and
michael@0 4535 removed warnings from the source code and timepng that are revealed as
michael@0 4536 a result.
michael@0 4537 Detect wrong libpng versions linked to png-fix-too-far-back, which currently
michael@0 4538 only works with libpng versions that can be made to reliably fail when
michael@0 4539 the deflate data contains an out-of-window reference. This means only
michael@0 4540 1.6 and later.
michael@0 4541 Fixed gnu issues: g++ needs a static_cast, gcc 4.4.7 has a broken warning
michael@0 4542 message which it is easier to work round than ignore.
michael@0 4543 Updated contrib/pngminus/pnm2png.c (Paul Stewart):
michael@0 4544 Check for EOF
michael@0 4545 Ignore "#" delimited comments in input file to pnm2png.c.
michael@0 4546 Fixed whitespace handling
michael@0 4547 Added a call to png_set_packing()
michael@0 4548 Initialize dimension values so if sscanf fails at least we have known
michael@0 4549 invalid values.
michael@0 4550 Attempt to detect configuration issues with png-fix-too-far-back, which
michael@0 4551 requires both the correct libpng and the correct zlib to function
michael@0 4552 correctly.
michael@0 4553 Check ZLIB_VERNUM for mismatches, enclose #error in quotes
michael@0 4554 Added information in the documentation about problems with and fixes for
michael@0 4555 the bad CRC and bad iTXt chunk situations.
michael@0 4556
michael@0 4557 Version 1.6.3beta06 [May 12, 2013]
michael@0 4558 Allow contrib/pngminus/pnm2png.c to compile without WRITE_INVERT and
michael@0 4559 WRITE_PACK supported (writes error message that it can't read P1 or
michael@0 4560 P4 PBM files).
michael@0 4561 Improved png-fix-too-far-back usage message, added --suffix option.
michael@0 4562 Revised contrib/pngminim/*/makefile to generate pnglibconf.h with the
michael@0 4563 right zlib header files.
michael@0 4564 Separated CPPFLAGS and CFLAGS in contrib/pngminim/*/makefile
michael@0 4565
michael@0 4566 Version 1.6.3beta07 [June 8, 2013]
michael@0 4567 Removed a redundant test in png_set_IHDR().
michael@0 4568 Added set(CMAKE_CONFIGURATION_TYPES ...) to CMakeLists.txt (Andrew Hundt)
michael@0 4569 Deleted set(CMAKE_BUILD_TYPE) block from CMakeLists.txt
michael@0 4570 Enclose the prototypes for the simplified write API in
michael@0 4571 #ifdef PNG_STDIO_SUPPORTED/#endif
michael@0 4572 Make ARM NEON support work at compile time (not just configure time).
michael@0 4573 This moves the test on __ARM_NEON__ into pngconf.h to avoid issues when
michael@0 4574 using a compiler that compiles for multiple architectures at one time.
michael@0 4575 Removed PNG_FILTER_OPTIMIZATIONS and PNG_ARM_NEON_SUPPORTED from
michael@0 4576 pnglibconf.h, allowing more of the decisions to be made internally
michael@0 4577 (pngpriv.h) during the compile. Without this, symbol prefixing is broken
michael@0 4578 under certain circumstances on ARM platforms. Now only the API parts of
michael@0 4579 the optimizations ('check' vs 'api') are exposed in the public header files
michael@0 4580 except that the new setting PNG_ARM_NEON_OPT documents how libpng makes the
michael@0 4581 decision about whether or not to use the optimizations.
michael@0 4582 Protect symbol prefixing against CC/CPPFLAGS/CFLAGS useage.
michael@0 4583 Previous iOS/Xcode fixes for the ARM NEON optimizations moved the test
michael@0 4584 on __ARM_NEON__ from configure time to compile time. This breaks symbol
michael@0 4585 prefixing because the definition of the special png_init_filter_functions
michael@0 4586 call was hidden at configure time if the relevant compiler arguments are
michael@0 4587 passed in CFLAGS as opposed to CC. This change attempts to avoid all
michael@0 4588 the confusion that would result by declaring the init function even when
michael@0 4589 it is not used, so that it will always get prefixed.
michael@0 4590
michael@0 4591 Version 1.6.3beta08 [June 18, 2013]
michael@0 4592 Revised libpng.3 so that "doclifter" can process it.
michael@0 4593
michael@0 4594 Version 1.6.3beta09 [June 27, 2013]
michael@0 4595 Revised example.c to illustrate use of PNG_DEFAULT_sRGB and PNG_GAMMA_MAC_18
michael@0 4596 as parameters for png_set_gamma(). These have been available since
michael@0 4597 libpng-1.5.4.
michael@0 4598 Renamed contrib/tools/png-fix-too-far-back.c to pngfix.c and revised it
michael@0 4599 to check all compressed chunks known to libpng.
michael@0 4600
michael@0 4601 Version 1.6.3beta10 [July 5, 2013]
michael@0 4602 Updated documentation to show default behavior of benign errors correctly.
michael@0 4603 Only compile ARM code when PNG_READ_SUPPORTED is defined.
michael@0 4604 Fixed undefined behavior in contrib/tools/pngfix.c and added new strip
michael@0 4605 option. pngfix relied on undefined behavior and even a simple change from
michael@0 4606 gcc to g++ caused it to fail. The new strip option 'unsafe' has been
michael@0 4607 implemented and is the default if --max is given. Option names have
michael@0 4608 been clarified, with --strip=transform now stripping the bKGD chunk,
michael@0 4609 which was stripped previously with --strip=unused.
michael@0 4610 Added all documented chunk types to pngpriv.h
michael@0 4611 Unified pngfix.c source with libpng17.
michael@0 4612
michael@0 4613 Version 1.6.3rc01 [July 11, 2013]
michael@0 4614 No changes.
michael@0 4615
michael@0 4616 Version 1.6.3 [July 18, 2013]
michael@0 4617 Revised manual about changes in iTXt chunk handling made in libpng-1.6.0.
michael@0 4618 Added "/* SAFE */" comments in pngrutil.c and pngrtran.c where warnings
michael@0 4619 may be erroneously issued by code-checking applications.
michael@0 4620
michael@0 4621 Version 1.6.4beta01 [August 21, 2013]
michael@0 4622 Added information about png_set_options() to the manual.
michael@0 4623 Delay calling png_init_filter_functions() until a row with nonzero filter
michael@0 4624 is found.
michael@0 4625
michael@0 4626 Version 1.6.4beta02 [August 30, 2013]
michael@0 4627 Fixed inconsistent conditional compilation of png_chunk_unknown_handling()
michael@0 4628 prototype, definition, and usage. Made it depend on
michael@0 4629 PNG_HANDLE_AS_UNKNOWN_SUPPORTED everywhere.
michael@0 4630
michael@0 4631 Version 1.6.4rc01 [September 5, 2013]
michael@0 4632 No changes.
michael@0 4633
michael@0 4634 Version 1.6.4 [September 12, 2013]
michael@0 4635 No changes.
michael@0 4636
michael@0 4637 Version 1.6.5 [September 14, 2013]
michael@0 4638 Removed two stray lines of code from arm/arm_init.c.
michael@0 4639
michael@0 4640 Version 1.6.6 [September 16, 2013]
michael@0 4641 Removed two stray lines of code from arm/arm_init.c, again.
michael@0 4642
michael@0 4643 Version 1.6.7beta01 [September 30, 2013]
michael@0 4644 Revised unknown chunk code to correct several bugs in the NO_SAVE_/NO_WRITE
michael@0 4645 combination
michael@0 4646 Allow HANDLE_AS_UNKNOWN to work when other options are configured off. Also
michael@0 4647 fixed the pngminim makefiles to work when $(MAKEFLAGS) contains stuff
michael@0 4648 which terminates the make options (as by default in recent versions of
michael@0 4649 Gentoo).
michael@0 4650 Avoid up-cast warnings in pngvalid.c. On ARM the alignment requirements of
michael@0 4651 png_modifier are greater than that of png_store and as a consequence
michael@0 4652 compilation of pngvalid.c results in a warning about increased alignment
michael@0 4653 requirements because of the bare cast to (png_modifier*). The code is safe,
michael@0 4654 because the pointer is known to point to a stack allocated png_modifier,
michael@0 4655 but this change avoids the warning.
michael@0 4656 Fixed default behavior of ARM_NEON_API. If the ARM NEON API option was
michael@0 4657 compiled without the CHECK option it defaulted to on, not off.
michael@0 4658 Check user callback behavior in pngunknown.c. Previous versions compiled
michael@0 4659 if SAVE_UNKNOWN was not available but did nothing since the callback
michael@0 4660 was never implemented.
michael@0 4661 Merged pngunknown.c with 1.7 version and back ported 1.7 improvements/fixes
michael@0 4662
michael@0 4663 Version 1.6.7beta02 [October 12, 2013]
michael@0 4664 Made changes for compatibility with automake 1.14:
michael@0 4665 1) Added the 'compile' program to the list of programs that must be cleaned
michael@0 4666 in autogen.sh
michael@0 4667 2) Added 'subdir-objects' which causes .c files in sub-directories to be
michael@0 4668 compiled such that the corresponding .o files are also in the
michael@0 4669 sub-directory. This is because automake 1.14 warns that the
michael@0 4670 current behavior of compiling to the top level directory may be removed
michael@0 4671 in the future.
michael@0 4672 3) Updated dependencies on pnglibconf.h to match the new .o locations and
michael@0 4673 added all the files in contrib/libtests and contrib/tools that depend
michael@0 4674 on pnglibconf.h
michael@0 4675 4) Added 'BUILD_SOURCES = pnglibconf.h'; this is the automake recommended
michael@0 4676 way of handling the dependencies of sources that are machine generated;
michael@0 4677 unfortunately it only works if the user does 'make all' or 'make check',
michael@0 4678 so the dependencies (3) are still required.
michael@0 4679 Cleaned up (char*) casts of zlib messages. The latest version of the Intel C
michael@0 4680 compiler complains about casting a string literal as (char*), so copied the
michael@0 4681 treatment of z_const from the library code into pngfix.c
michael@0 4682 Simplified error message code in pngunknown. The simplification has the
michael@0 4683 useful side effect of avoiding a bogus warning generated by the latest
michael@0 4684 version of the Intel C compiler (it objects to
michael@0 4685 condition ? string-literal : string-literal).
michael@0 4686 Make autogen.sh work with automake 1.13 as well as 1.14. Do this by always
michael@0 4687 removing the 1.14 'compile' script but never checking for it.
michael@0 4688
michael@0 4689 Version 1.6.7beta03 [October 19, 2013]
michael@0 4690 Added ARMv8 support (James Yu <james.yu at linaro.org>). Added file
michael@0 4691 arm/filter_neon_intrinsics.c; enable with -mfpu=neon.
michael@0 4692 Revised pngvalid to generate size images with as many filters as it can
michael@0 4693 manage, limited by the number of rows.
michael@0 4694 Cleaned up ARM NEON compilation handling. The tests are now in pngpriv.h
michael@0 4695 and detect the broken GCC compilers.
michael@0 4696
michael@0 4697 Version 1.6.7beta04 [October 26, 2013]
michael@0 4698 Allow clang derived from older GCC versions to use ARM intrinsics. This
michael@0 4699 causes all clang builds that use -mfpu=neon to use the intrinsics code,
michael@0 4700 not the assembler code. This has only been tested on iOS 7. It may be
michael@0 4701 necessary to exclude some earlier clang versions but this seems unlikely.
michael@0 4702 Changed NEON implementation selection mechanism. This allows assembler
michael@0 4703 or intrinsics to be turned on at compile time during the build by defining
michael@0 4704 PNG_ARM_NEON_IMPLEMENTATION to the correct value (2 or 1). This macro
michael@0 4705 is undefined by default and the build type is selected in pngpriv.h.
michael@0 4706
michael@0 4707 Version 1.6.7rc01 [November 2, 2013]
michael@0 4708 No changes.
michael@0 4709
michael@0 4710 Version 1.6.7rc02 [November 7, 2013]
michael@0 4711 Fixed #include in filter_neon_intrinsics.c and ctype macros. The ctype char
michael@0 4712 checking macros take an unsigned char argument, not a signed char.
michael@0 4713
michael@0 4714 Version 1.6.7 [November 14, 2013]
michael@0 4715 No changes.
michael@0 4716
michael@0 4717 Version 1.6.8beta01 [November 24, 2013]
michael@0 4718 Moved prototype for png_handle_unknown() in pngpriv.h outside of
michael@0 4719 the #ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED/#endif block.
michael@0 4720 Added "-Wall" to CFLAGS in contrib/pngminim/*/makefile
michael@0 4721 Conditionally compile some unused functions reported by -Wall in
michael@0 4722 pngminim.
michael@0 4723 Fixed 'minimal' builds. Various obviously useful minimal configurations
michael@0 4724 don't build because of missing contrib/libtests test programs and
michael@0 4725 overly complex dependencies in scripts/pnglibconf.dfa. This change
michael@0 4726 adds contrib/conftest/*.dfa files that can be used in automatic build
michael@0 4727 scripts to ensure that these configurations continue to build.
michael@0 4728 Enabled WRITE_INVERT and WRITE_PACK in contrib/pngminim/encoder.
michael@0 4729 Fixed pngvalid 'fail' function declaration on the Intel C Compiler.
michael@0 4730 This reverts to the previous 'static' implementation and works round
michael@0 4731 the 'unused static function' warning by using PNG_UNUSED().
michael@0 4732
michael@0 4733 Version 1.6.8beta02 [November 30, 2013]
michael@0 4734 Removed or marked PNG_UNUSED some harmless "dead assignments" reported
michael@0 4735 by clang scan-build.
michael@0 4736 Changed tabs to 3 spaces in png_debug macros and changed '"%s"m'
michael@0 4737 to '"%s" m' to improve portability among compilers.
michael@0 4738 Changed png_free_default() to free() in pngtest.c
michael@0 4739
michael@0 4740 Version 1.6.8rc01 [December 12, 2013]
michael@0 4741 Tidied up pngfix inits and fixed pngtest no-write builds.
michael@0 4742
michael@0 4743 Version 1.6.8rc02 [December 14, 2013]
michael@0 4744 Handle zero-length PLTE chunk or NULL palette with png_error()
michael@0 4745 instead of png_chunk_report(), which by default issues a warning
michael@0 4746 rather than an error, leading to later reading from a NULL pointer
michael@0 4747 (png_ptr->palette) in png_do_expand_palette(). This is CVE-2013-6954
michael@0 4748 and VU#650142. Libpng-1.6.1 through 1.6.7 are vulnerable.
michael@0 4749 Libpng-1.6.0 and earlier do not have this bug.
michael@0 4750
michael@0 4751 Version 1.6.8 [December 19, 2013]
michael@0 4752 No changes.
michael@0 4753
michael@0 4754 Version 1.6.9beta01 [December 26, 2013]
michael@0 4755 Bookkeeping: Moved functions around (no changes). Moved transform
michael@0 4756 function definitions before the place where they are called so that
michael@0 4757 they can be made static. Move the intrapixel functions and the
michael@0 4758 grayscale palette builder out of the png?tran.c files. The latter
michael@0 4759 isn't a transform function and is no longer used internally, and the
michael@0 4760 former MNG specific functions are better placed in pngread/pngwrite.c
michael@0 4761 Made transform implementation functions static. This makes the internal
michael@0 4762 functions called by png_do_{read|write}_transformations static. On an
michael@0 4763 x86-64 DLL build (Gentoo Linux) this reduces the size of the text
michael@0 4764 segment of the DLL by 1208 bytes, about 0.6%. It also simplifies
michael@0 4765 maintenance by removing the declarations from pngpriv.h and allowing
michael@0 4766 easier changes to the internal interfaces.
michael@0 4767 Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
michael@0 4768 in the tar distributions.
michael@0 4769
michael@0 4770 Version 1.6.9beta02 [January 1, 2014]
michael@0 4771 Added checks for libpng 1.5 to pngvalid.c. This supports the use of
michael@0 4772 this version of pngvalid in libpng 1.5
michael@0 4773 Merged with pngvalid.c from libpng-1.7 changes to create a single
michael@0 4774 pngvalid.c
michael@0 4775 Removed #error macro from contrib/tools/pngfix.c (Thomas Klausner).
michael@0 4776 Merged pngrio.c, pngtrans.c, pngwio.c, and pngerror.c with libpng-1.7.0
michael@0 4777 Merged libpng-1.7.0 changes to make no-interlace configurations work
michael@0 4778 with test programs.
michael@0 4779 Revised pngvalid.c to support libpng 1.5, which does not support the
michael@0 4780 PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
michael@0 4781 pngvalid.c
michael@0 4782 Allow unversioned links created on install to be disabled in configure.
michael@0 4783 In configure builds 'make install' changes/adds links like png.h
michael@0 4784 and libpng.a to point to the newly installed, versioned, files (e.g.
michael@0 4785 libpng17/png.h and libpng17.a). Three new configure options and some
michael@0 4786 rearrangement of Makefile.am allow creation of these links to be disabled.
michael@0 4787
michael@0 4788 Version 1.6.9beta03 [January 10, 2014]
michael@0 4789 Removed potentially misleading warning from png_check_IHDR().
michael@0 4790
michael@0 4791 Version 1.6.9beta04 [January 20, 2014]
michael@0 4792 Updated scripts/makefile.* to use CPPFLAGS (Cosmin).
michael@0 4793 Added clang attribute support (Cosmin).
michael@0 4794
michael@0 4795 Version 1.6.9rc01 [January 28, 2014]
michael@0 4796 No changes.
michael@0 4797
michael@0 4798 Version 1.6.9rc02 [January 30, 2014]
michael@0 4799 Quiet an uninitialized memory warning from VC2013 in png_get_png().
michael@0 4800
michael@0 4801 Version 1.6.9 [February 6, 2014]
michael@0 4802
michael@0 4803 Version 1.6.10beta01 [February 9, 2014]
michael@0 4804 Backported changes from libpng-1.7.0beta30 and beta31:
michael@0 4805 Fixed a large number of instances where PNGCBAPI was omitted from
michael@0 4806 function definitions.
michael@0 4807 Added pngimage test program for png_read_png() and png_write_png()
michael@0 4808 with two new test scripts.
michael@0 4809 Removed dependence on !PNG_READ_EXPAND_SUPPORTED for calling
michael@0 4810 png_set_packing() in png_read_png().
michael@0 4811 Fixed combination of ~alpha with shift. On read invert alpha, processing
michael@0 4812 occurred after shift processing, which causes the final values to be
michael@0 4813 outside the range that should be produced by the shift. Reversing the
michael@0 4814 order on read makes the two transforms work together correctly and mirrors
michael@0 4815 the order used on write.
michael@0 4816 Do not read invalid sBIT chunks. Previously libpng only checked sBIT
michael@0 4817 values on write, so a malicious PNG writer could therefore cause
michael@0 4818 the read code to return an invalid sBIT chunk, which might lead to
michael@0 4819 application errors or crashes. Such chunks are now skipped (with
michael@0 4820 chunk_benign_error).
michael@0 4821 Make png_read_png() and png_write_png() prototypes in png.h depend
michael@0 4822 upon PNG_READ_SUPPORTED and PNG_WRITE_SUPPORTED.
michael@0 4823 Support builds with unsupported PNG_TRANSFORM_* values. All of the
michael@0 4824 PNG_TRANSFORM_* values are always defined in png.h and, because they
michael@0 4825 are used for both read and write in some cases, it is not reliable
michael@0 4826 to #if out ones that are totally unsupported. This change adds error
michael@0 4827 detection in png_read_image() and png_write_image() to do a
michael@0 4828 png_app_error() if the app requests something that cannot be done
michael@0 4829 and it adds corresponding code to pngimage.c to handle such options
michael@0 4830 by not attempting to test them.
michael@0 4831
michael@0 4832 Version 1.6.10beta02 [February 23, 2014]
michael@0 4833 Moved redefines of png_error(), png_warning(), png_chunk_error(),
michael@0 4834 and png_chunk_warning() from pngpriv.h to png.h to make them visible
michael@0 4835 to libpng-calling applications.
michael@0 4836 Moved OS dependent code from arm/arm_init.c, to allow the included
michael@0 4837 implementation of the ARM NEON discovery function to be set at
michael@0 4838 build-time and provide sample implementations from the current code in the
michael@0 4839 contrib/arm-neon subdirectory. The __linux__ code has also been changed to
michael@0 4840 compile and link on Android by using /proc/cpuinfo, and the old linux code
michael@0 4841 is in contrib/arm-neon/linux-auxv.c. The new code avoids POSIX and Linux
michael@0 4842 dependencies apart from opening /proc/cpuinfo and is C90 compliant.
michael@0 4843 Check for info_ptr == NULL early in png_read_end() so we don't need to
michael@0 4844 run all the png_handle_*() and depend on them to return if info_ptr == NULL.
michael@0 4845 This improves the performance of png_read_end(png_ptr, NULL) and makes
michael@0 4846 it more robust against future programming errors.
michael@0 4847 Check for __has_extension before using it in pngconf.h, to
michael@0 4848 support older Clang versions (Jeremy Sequoia).
michael@0 4849 Treat CRC error handling with png_set_crc_action(), instead of with
michael@0 4850 png_set_benign_errors(), which has been the case since libpng-1.6.0beta18.
michael@0 4851 Use a user warning handler in contrib/gregbook/readpng2.c instead of default,
michael@0 4852 so warnings will be put on stderr even if libpng has CONSOLE_IO disabled.
michael@0 4853 Added png_ptr->process_mode = PNG_READ_IDAT_MODE in png_push_read_chunk
michael@0 4854 after recognizing the IDAT chunk, which avoids an infinite loop while
michael@0 4855 reading a datastream whose first IDAT chunk is of zero-length.
michael@0 4856 This fixes CERT VU#684412 and CVE-2014-0333.
michael@0 4857 Don't recognize known sRGB profiles as sRGB if they have been hacked,
michael@0 4858 but don't reject them and don't issue a copyright violation warning.
michael@0 4859
michael@0 4860 Version 1.6.10beta03 [February 25, 2014]
michael@0 4861 Moved some documentation from png.h to libpng.3 and libpng-manual.txt
michael@0 4862 Minor editing of contrib/arm-neon/README and contrib/examples/*.c
michael@0 4863
michael@0 4864 Version 1.6.10rc01 [February 27, 2014]
michael@0 4865 Fixed typos in the manual and in scripts/pnglibconf.dfa (CFLAGS -> CPPFLAGS
michael@0 4866 and PNG_USR_CONFIG -> PNG_USER_CONFIG).
michael@0 4867
michael@0 4868 Version 1.6.10rc02 [February 28, 2014]
michael@0 4869 Removed unreachable return statement after png_chunk_error()
michael@0 4870 in pngrutil.c
michael@0 4871
michael@0 4872 Version 1.6.10rc03 [March 4, 2014]
michael@0 4873 Un-deprecated png_data_freer().
michael@0 4874
michael@0 4875 Version 1.6.10 [March 6, 2014]
michael@0 4876
michael@0 4877 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
michael@0 4878 (subscription required; visit
michael@0 4879 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
michael@0 4880 to subscribe)
michael@0 4881 or to glennrp at users.sourceforge.net
michael@0 4882
michael@0 4883 Glenn R-P
michael@0 4884 #endif

mercurial