ANNOUNCE 19.3 KB
Newer Older
1

2
Libpng 1.4.0beta58 - May 14, 2009
3

4 5
This is not intended to be a public release.  It will be replaced
within a few weeks by a public version or by another test version.
6

7 8 9 10 11
Files available for download:

Source files with LF line endings (for Unix/Linux) and with a
"configure" script

12 13
   1.4.0beta58.tar.gz
   1.4.0beta58.tar.bz2
14 15 16 17

Source files with LF line endings (for Unix/Linux) without the
"configure" script

18 19
   1.4.0beta58-no-config.tar.gz
   1.4.0beta58-no-config.tar.bz2
20 21 22 23

Source files with CRLF line endings (for Windows), without the
"configure" script

24 25
   lp140b58.zip
   lp140b58.tar.bz2
26 27 28

Other information:

29 30 31 32
   1.4.0beta58-README.txt
   1.4.0beta58-KNOWNBUGS.txt
   1.4.0beta58-LICENSE.txt
   1.4.0beta58-Y2K-compliance.txt
33

34
Changes since the last public release (1.2.10):
35 36 37 38 39

version 1.2.10beta1 [April 15, 2006]
  Renamed "config.h" to "png_conf.h" and revised Makefile.am to add
    -DPNG_BUILDING_LIBPNG to compile directive, and modified pngconf.h
    to include png_conf.h only when PNG_BUILDING_LIBPNG is defined.
40

41
version 1.2.10beta2 [April 15, 2006]
42 43 44 45 46
  Manually updated Makefile.in and configure.  Changed png_conf.h.in
    back to config.h.

version 1.2.10beta3 [April 15, 2006]
  Change png_conf.h back to config.h in pngconf.h.
47

48 49 50
version 1.2.10beta4 [April 16, 2006]
  Change PNG_BUILDING_LIBPNG to PNG_CONFIGURE_LIBPNG in config/Makefile*.

51
version 1.2.10beta5 [April 16, 2006]
52 53
  Added a configure check for compiling assembler code in pnggccrd.c

54 55 56 57 58
version 1.2.10beta6 [April 17, 2006]
  Revised the configure check for pnggccrd.c
  Moved -DPNG_CONFIGURE_LIBPNG into @LIBPNG_DEFINES@
  Added @LIBPNG_DEFINES@ to arguments when building libpng.sym

59 60 61
version 1.2.10beta7 [April 18, 2006]
  Change "exec_prefix=$prefix" to "exec_prefix=$(prefix)" in makefiles.

62
version 1.2.10rc1 [April 19, 2006]
63 64 65
  Ensure pngconf.h doesn't define both PNG_USE_PNGGCCRD and PNG_USE_PNGVCRD
  Fixed "LN_FS" typo in makefile.sco and makefile.solaris.

66 67 68 69 70
version 1.2.10rc2 [April 19, 2006]
  Added a backslash between -DPNG_CONFIGURE_LIBPNG and -DPNG_NO_ASSEMBLER_CODE
    in configure.ac
  Made the configure warning about versioned symbols less arrogant.

71
version 1.2.10rc3 [April 20, 2006]
72 73 74
  Added a note in libpng.txt that png_set_sig_bytes(8) can be used when
    writing an embedded PNG without the 8-byte signature.

75 76 77 78 79 80 81 82 83 84 85 86
version 1.4.0beta1 [April 20, 2006]
  Enabled iTXt support (changes png_struct, thus requires so-number change).
  Cleaned up PNG_ASSEMBLER_CODE_SUPPORTED vs PNG_MMX_CODE_SUPPORTED
  Eliminated PNG_1_0_X and PNG_1_2_X macros.
  Removed deprecated functions png_read_init, png_write_init, png_info_init,
    png_permit_empty_plte, png_set_gray_1_2_4_to_8, and removed the
    deprecated macro PNG_MAX_UINT.
  Moved "PNG_INTERNAL" parts of png.h and pngconf.h into pngintrn.h
  Removed many WIN32_WCE #ifdefs (Cosmin).
  Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
  Replaced sprintf() with png_sprintf() (Simon-Pierre)

87
version 1.4.0beta2 [April 20, 2006]
88 89 90
  Revised makefiles to avoid making links to libpng.so.*
  Moved some leftover MMX-related defines from pngconf.h to pngintrn.h
  Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
91
  Updated scripts/pngw32.def to comment out MMX functions.
92

93 94 95 96 97 98
version 1.2.11beta1 [May 31, 2006]
  scripts/libpng.pc.in contained "configure" style version info and would
    not work with makefiles.
  The shared-library makefiles were linking to libpng.so.0 instead of
    libpng.so.3 compatibility as the library.

99 100
version 1.4.0beta3 [May 10, 2006]
  Updated scripts/pngw32.def to comment out MMX functions.
101 102 103 104
  Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
  Revised pngconf.h and added pngconf.h.in so makefiles and configure can
    pass defines to libpng and applications.

105 106 107
version 1.4.0beta4 [May 11, 2006]
  Revised configure.ac, Makefile.am, and many of the makefiles to write
    their defines in pngconf.h.
108

109
version 1.4.0beta5 [May 15, 2006]
110 111 112
  Added a missing semicolon in Makefile.am and Makefile.in
  Deleted extraneous square brackets from configure.ac

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
version 1.2.11beta2 [June 2, 2006]
  Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
    buffer overflow.
  Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb))

version 1.4.0beta6 [June 2, 2006]
  Changed sonum from 0 to 1.
  Removed unused prototype for png_check_sig() from png.h

version 1.2.11beta3 [June 5, 2006]
  Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
  Removed the accidental leftover Makefile.in~ (Cosmin).
  Avoided potential buffer overflow and optimized buffer in
    png_write_sCAL(), png_write_sCAL_s() (Cosmin).
  Removed the include directories and libraries from CFLAGS and LDFLAGS
    in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).

version 1.2.11beta4 [June 6, 2006]
  Allow zero-length IDAT chunks after the entire zlib datastream, but not
    after another intervening chunk type.

version 1.2.11rc2 [June 14, 2006]
  Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
  Revised INSTALL and autogen.sh
  Fixed typo in several makefiles (-W1 should be -Wl)

139
version 1.2.11rc3 [June 15, 2006]
140 141 142
  Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
    reading out of bounds.

143
version 1.4.0beta7 [June 16, 2006]
144 145 146 147 148 149 150
  Exported png_write_sig (Cosmin).
  Optimized buffer in png_handle_cHRM() (Cosmin).
  Set pHYs = 2835 x 2835 pixels per meter, and added
    sCAL = 0.352778e-3 x 0.352778e-3 meters, in pngtest.png (Cosmin).
  Added png_set_benign_errors(), png_benign_error(), png_chunk_benign_error().
  Added typedef for png_int_32 and png_uint_32 on 64-bit systems.

151
version 1.4.0beta8 [June 21, 2006]
152 153 154
  Added demonstration of user chunk support in pngtest.c, to support the
    public sTER chunk and a private vpAg chunk.

155 156 157 158
version 1.4.0beta9 [July 3, 2006]
  Removed ordinals from scripts/pngw32.def and removed png_info_int and
    png_set_gray_1_2_4_to_8 entries.
  Inline call of png_get_uint_32() in png_get_uint_31().
159
  Use png_get_uint_31() to get vpAg width and height in pngtest.c
160 161 162
  Removed WINCE and Netware projects.
  Removed standalone Y2KINFO file.

163 164 165
version 1.4.0beta10 [July 12, 2006]
  Added "all: pngconf.h.in pngconf.h" target to Makefile.am

166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
version 1.4.0beta11 [August 19, 2006]
  Removed AC_FUNC_MALLOC from configure.ac.
  Added a warning when writing iCCP profile with mismatched profile length.
  Patched pnggccrd.c to assemble on x86_64 platforms.
  Moved chunk header reading into a separate function png_read_chunk_header()
    in pngrutil.c.  The chunk header (len+sig) is now serialized in a single
    operation (Cosmin).
  Implemented support for I/O states. Added png_ptr member io_state, and
    functions png_get_io_chunk_name() and png_get_io_state() in pngget.c
    (Cosmin).
  Added png_get_io_chunk_name and png_get_io_state to scripts/*.def (Cosmin).
  Renamed scripts/pngw32.* to scripts/pngwin.* (Cosmin).
  Removed the include directories and libraries from CFLAGS and LDFLAGS
    in scripts/makefile.gcc (Cosmin).
  Used png_save_uint_32() to set vpAg width and height in pngtest.c (Cosmin).
  Cast to proper type when getting/setting vpAg units in pngtest.c (Cosmin).
  Added pngintrn.h to the Visual C++ projects (Cosmin).
  Removed scripts/list (Cosmin).
  Updated copyright year in scripts/pngwin.def (Cosmin).
  Removed PNG_TYPECAST_NULL and used standard NULL consistently (Cosmin).
  Disallowed the user to redefine png_size_t, and enforced a consistent use
    of png_size_t across libpng (Cosmin).
  Changed the type of png_ptr->rowbytes, PNG_ROWBYTES() and friends
    to png_size_t (Cosmin).
  Removed png_convert_size() and replaced png_sizeof with sizeof (Cosmin).
  Removed some unnecessary type casts (Cosmin).
  Changed prototype of png_get_compression_buffer_size() and
    png_set_compression_buffer_size() to work with png_size_t instead of
    png_uint_32 (Cosmin).
  Removed png_memcpy_check() and png_memset_check() (Cosmin).
  Fixed a typo (png_byte --> png_bytep) in libpng.3 and libpng.txt (Cosmin).
  Clarified that png_zalloc() does not clear the allocated memory,
    and png_zalloc() and png_zfree() cannot be PNGAPI (Cosmin).
  Renamed png_mem_size_t to png_alloc_size_t, fixed its definition in
    pngconf.h, and used it in all memory allocation functions (Cosmin).
  Renamed pngintrn.h to pngpriv.h, added a comment at the top of the file
    mentioning that the symbols declared in that file are private, and
    updated the scripts and the Visual C++ projects accordingly (Cosmin).
  Removed circular references between pngconf.h and pngconf.h.in in
    scripts/makefile.vc*win32 (Cosmin).
  Removing trailing '.' from the warning and error messages (Cosmin).
  Added pngdefs.h that is built by makefile or configure, instead of
    pngconf.h.in (Glenn).
209
  Detect and fix attempt to write wrong iCCP profile length.
210

211 212 213 214 215
version 1.4.0beta12 [October 19, 2006]
  Changed "logical" to "bitwise" in the documentation.
  Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
  Add a typecast to stifle compiler warning in pngrutil.c

216
version 1.4.0beta13 [November 10, 2006]
217 218
  Fix potential buffer overflow in sPLT chunk handler.
  Fix Makefile.am to not try to link to noexistent files.
219

220
version 1.4.0beta14 [November 15, 2006]
221
  Check all exported functions for NULL png_ptr.
222

223 224 225
version 1.4.0beta15 [November 17, 2006]
  Relocated two misplaced tests for NULL png_ptr.
  Built Makefile.in with automake-1.9.6 instead of 1.9.2.
226 227 228 229 230
  Build configure with autoconf-2.60 instead of 2.59.
  Add "install: all" in Makefile.am so "configure; make install" will work.

version 1.4.0beta16 [November 17, 2006]
  Added a typecast in png_zalloc().
231

232
version 1.4.0beta17 [December 4, 2006]
233 234
  Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c

235
version 1.4.0beta18 [December 7, 2006]
236 237
  Added scripts/CMakeLists.txt

238
version 1.4.0beta19 [May 16, 2007]
239 240 241 242 243
  Revised scripts/CMakeLists.txt
  Rebuilt configure and Makefile.in with newer tools.
  Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
    to eliminate a vulnerability (CVE-2007-2554, CERT VU#684664)

244
version 1.4.0beta20 [July 9, 2008]
245 246 247 248 249 250 251 252 253 254
  Moved several PNG_HAVE_* macros from pngpriv.h to png.h because applications
    calling set_unknown_chunk_location() need them.
  Moved several macro definitions from pngpriv.h to pngconf.h
  Added png_ptr->unknown_chunk to hold working unknown chunk data, so it
    can be free'ed in case of error.  Revised unknown chunk handling in
    pngrutil.c and pngpread.c to use this structure.
  Merge with changes to the 1.2.X branch, as of 1.2.19beta10.
  Revised makefile.mingw
  Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h

255
version 1.4.0beta21 [July 21, 2008]
256
  Moved local array "chunkdata" from pngrutil.c to the png_struct, so
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
    it will be freed by png_read_destroy() in case of a read error (Kurt
    Christensen).

version 1.4.0beta22 [July 21, 2008]
  Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.

version 1.4.0beta23 [July 22, 2008]
  Change "chunkdata = NULL" to "png_ptr->chunkdata = NULL" several places in
    png_decompress_chunk().

version 1.4.0beta24 [July 25, 2008]
  Change all remaining "chunkdata" to "png_ptr->chunkdata" in
    png_decompress_chunk(), and remove "chunkdata" from parameter list.
  Put a call to png_check_chunk_name() in png_read_chunk_header().
  Revised png_check_chunk_name() to reject a name with a lowercase 3rd byte.
  Removed two calls to png_check_chunk_name() occuring later in the process.
  Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
274

275 276 277 278 279 280 281 282 283
version 1.4.0beta25 [July 30, 2008]
  Added a call to png_check_chunk_name() in pngpread.c
  Reverted png_check_chunk_name() to accept a name with a lowercase 3rd byte.
  Added png_push_have_buffer() function to pngpread.c
  Eliminated PNG_BIG_ENDIAN_SUPPORTED and associated png_get_* macros.
  Made inline expansion of png_get_*() optional with PNG_USE_READ_MACROS.
  Eliminated all PNG_USELESS_TESTS and PNG_CORRECT_PALETTE_SUPPORTED code.
  Synced contrib directory and configure files with libpng-1.2.30beta06.
  Eliminated no-longer-used pngdefs.h (but it's still built in the makefiles)
284 285 286 287 288 289 290 291 292
  Relocated a misplaced "#endif /* PNG_NO_WRITE_FILTER */" in pngwutil.c

version 1.4.0beta26 [August 4, 2008]
  Removed png_push_have_buffer() function in pngpread.c.  It increased the
    compiled library size slightly.
  Changed "-Wall" to "-W -Wall" in the CFLAGS in all makefiles (Cosmin Truta)
  Declared png_ptr "volatile" in pngread.c and pngwrite.c to avoid warnings.
  Updated contrib/visupng/cexcept.h to version 2.0.1
  Added PNG_LITERAL_CHARACTER macros for #, [, and ].
293

294 295 296 297 298 299
version 1.4.0beta27 [August 5, 2008]
  Revised usage of PNG_LITERAL_SHARP in pngerror.c.
  Moved newline character from individual png_debug messages into the
    png_debug macros.
  Allow user to #define their own png_debug, png_debug1, and png_debug2.

300
version 1.4.0beta28 [August 5, 2008]
301 302 303
  Revised usage of PNG_LITERAL_SHARP in pngerror.c.
  Added PNG_STRING_NEWLINE macro

304 305 306 307 308
version 1.4.0beta29 [August 9, 2008]
  Revised usage of PNG_STRING_NEWLINE to work on non-ISO compilers.
  Added PNG_STRING_COPYRIGHT macro.
  Added non-ISO versions of png_debug macros.

309 310 311
version 1.4.0beta30 [August 14, 2008]
  Added premultiplied alpha feature (Volker Wiendl).

312
version 1.4.0beta31 [August 18, 2008]
313
  Moved png_set_premultiply_alpha from pngtrans.c to pngrtran.c
314 315 316 317 318 319
  Removed extra crc check at the end of png_handle_cHRM().  Bug introduced
    in libpng-1.4.0beta20.

version 1.4.0beta32 [August 19, 2008]
  Added PNG_WRITE_FLUSH_SUPPORTED block around new png_flush() call.
  Revised PNG_NO_STDIO version of png_write_flush()
320

321 322 323 324
version 1.4.0beta33 [August 20, 2008]
  Added png_set_chunk_cache_max() to limit the total number of sPLT,
    text, and unknown chunks that can be stored.

325 326
version 1.4.0beta34 [September 6, 2008]
  Shortened tIME_string to 29 bytes in pngtest.c
327 328 329 330 331 332 333
  Fixed off-by-one error introduced in png_push_read_zTXt() function in
    libpng-1.2.30beta04/pngpread.c (Harald van Dijk)

version 1.4.0beta35 [October 6, 2008]
  Changed "trans_values" to "trans_color".
  Change png_set_gray_1_2_4_to_8() to png_set_expand_gray_1_2_4_to_8()
    in example.c (debian bug report)
334

335
version 1.4.0beta36 [October 25, 2008]
336 337
  Sync with tEXt vulnerability fix in libpng-1.2.33rc02.

338 339 340 341
version 1.4.0beta37 [November 13, 2008]
  Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
    and pngwrite.c

342 343 344 345
version 1.4.0beta38 [November 22, 2008]
  Added check for zero-area RGB cHRM triange in png_check_cHRM() and
    png_check_cHRM_fixed().

346
version 1.4.0beta39 [November 23, 2008]
347 348 349
  Revised png_warning() to write its message on standard output by default
    when warning_fn is NULL.

350
version 1.4.0beta40 [November 24, 2008]
351 352 353 354
  Eliminated png_check_cHRM().  Instead, always use png_check_cHRM_fixed().
  In png_check_cHRM_fixed(), ensure white_y is > 0, and removed redundant
    check for all-zero coordinates that is detected by the triangle check.

355
version 1.4.0beta41 [November 26, 2008]
356 357 358 359 360
  Fixed string vs pointer-to-string error in png_check_keyword().
  Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
    overflows.
  Added PNG_NO_CHECK_cHRM conditional.

361
version 1.4.0beta42, 43 [December 1, 2008]
362 363
  Merge png_debug with version 1.2.34beta04.

364 365 366 367
version 1.4.0beta44 [December 6, 2008]
  Removed redundant check for key==NULL before calling png_check_keyword()
    to ensure that new_key gets initialized and removed extra warning
    (Merge with version 1.2.34beta05 -- Arvan Pritchard).
368 369 370 371 372

version 1.4.0beta45 [December 9, 2008]
  In png_write_png(), respect the placement of the filler bytes in an earlier
    call to png_set_filler() (Jim Barry).

373 374 375 376 377
version 1.4.0beta46 [December 10, 2008]
  Undid previous change and added PNG_TRANSFORM_STRIP_FILLER_BEFORE and
    PNG_TRANSFORM_STRIP_FILLER_AFTER conditionals and deprecated
    PNG_TRANSFORM_STRIP_FILLER (Jim Barry).

378 379 380
version 1.4.0beta47 [December 15, 2008]
  Turned off PNG_READ_DITHER_SUPPORTED by default.

381 382 383 384 385
version 1.4.0beta48 [February 14, 2009]
  Added new exported function png_calloc().
  Combined several instances of png_malloc(); png_memset() into png_calloc().
  Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24

386 387 388 389 390 391 392 393 394
version 1.4.0beta49 [February 28, 2009]
  Added png_fileno() macro to pngconf.h, used in pngwio.c
  Corrected order of #ifdef's in png_debug definition in png.h
  Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments
    for pcal_params.
  Fixed order of #ifdef directives in the png_debug defines in png.h
    (bug introduced in libpng-1.2.34/1.4.0beta29).
  Revised comments in png_set_read_fn() and png_set_write_fn().

395
version 1.4.0beta50 [March 18, 2009]
396 397
  Use png_calloc() instead of png_malloc() to allocate big_row_buf when
    reading an interlaced file, to avoid a possible UMR.
398 399 400 401 402 403 404 405 406 407
  Undid recent revision of PNG_NO_STDIO version of png_write_flush().  Users
    having trouble with fflush() can build with PNG_NO_WRITE_FLUSH defined
    or supply their own flush_fn() replacement.
  Revised libpng*.txt and png.h documentation about use of png_write_flush()
    and png_set_write_fn().
  Removed fflush() from pngtest.c.
  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h

version 1.4.0beta51 [March 21, 2009]
  Removed new png_fileno() macro from pngconf.h .
408

409
version 1.4.0beta52 [March 27, 2009]
410 411
  Relocated png_do_chop() ahead of building gamma tables in pngrtran.c
    This avoids building 16-bit gamma tables unnecessarily.
412 413 414 415 416 417 418
  Removed fflush() from pngtest.c.
  Added "#define PNG_NO_WRITE_FLUSH" to contrib/pngminim/encoder/pngusr.h
  Added a section on differences between 1.0.x and 1.2.x to libpng.3/libpng.txt

version 1.4.0beta53 [April 1, 2009]
  Removed some remaining MMX macros from pngpriv.h
  Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
419

420 421 422 423 424 425 426 427 428
version 1.4.0beta54 [April 13, 2009]
  Added "ifndef PNG_SKIP_SETJMP_CHECK" block in pngconf.h to allow
    application code writers to bypass the check for multiple inclusion
    of setjmp.h when they know that it is safe to ignore the situation.
  Eliminated internal use of setjmp() in pngread.c and pngwrite.c
  Reordered ancillary chunks in pngtest.png to be the same as what
    pngtest now produces, and made some cosmetic changes to pngtest output.
  Eliminated deprecated png_read_init_3() and png_write_init_3() functions.

429
version 1.4.0beta55 [April 15, 2009]
430 431 432
  Simplified error handling in pngread.c and pngwrite.c by putting
    the new png_read_cleanup() and png_write_cleanup() functions inline.

433
version 1.4.0beta56 [April 25, 2009]
434 435 436 437
  Renamed "user_chunk_data" to "my_user_chunk_data" in pngtest.c to suppress
    "shadowed declaration" warning from gcc-4.3.3.
  Renamed "gamma" to "png_gamma" in pngset.c to avoid "shadowed declaration"
    warning about a global "gamma" variable in math.h on some platforms.
438

439 440 441
version 1.4.0beta57 [May 2, 2009]
  Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24
    but was never defined (again).
442 443
  Rebuilt configure scripts with autoconf-2.63 instead of 2.62
  Removed pngprefs.h and MMX from makefiles
444

445
version 1.4.0beta58 [May 14, 2009]
446 447
  Changed pngw32.def to pngwin.def in makefile.mingw (typo was intruduced
    in beta57).
448
  Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
449

450 451 452
version 1.4.0betaN [future]
  Build shared libraries with -lz and sometimes -lm.

453
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
454
(subscription required; visit
455 456
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net
457

458
Glenn R-P