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