summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/libpng/ANNOUNCE
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/libpng/ANNOUNCE')
-rw-r--r--src/3rdparty/libpng/ANNOUNCE505
1 files changed, 170 insertions, 335 deletions
diff --git a/src/3rdparty/libpng/ANNOUNCE b/src/3rdparty/libpng/ANNOUNCE
index 8bb11d2..2a9fb65 100644
--- a/src/3rdparty/libpng/ANNOUNCE
+++ b/src/3rdparty/libpng/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.4.0 - January 3, 2010
+Libpng 1.5.4 - July 7, 2011
This is a public release of libpng, intended for use in production codes.
@@ -8,352 +8,187 @@ Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- libpng-1.4.0.tar.xz (LZMA-compressed, recommended)
- libpng-1.4.0.tar.gz
- libpng-1.4.0.tar.bz2
+ libpng-1.5.4.tar.xz (LZMA-compressed, recommended)
+ libpng-1.5.4.tar.gz
+ libpng-1.5.4.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lpng140.zip
- lpng140.7z
+ lpng154.7z (LZMA-compressed, recommended)
+ lpng154.zip
Other information:
- libpng-1.4.0-README.txt
- libpng-1.4.0-LICENSE.txt
+ libpng-1.5.4-README.txt
+ libpng-1.5.4-LICENSE.txt
-Changes since the last public release (1.2.10):
+Changes since the last public release (1.5.2):
-version 1.4.0 [January 3, 2010]
+ Re-initialize the zlib compressor before compressing non-IDAT chunks.
+ Added API functions to set parameters for zlib compression of non-IDAT
+ chunks.
+ Updated scripts/symbols.def with new API functions.
+ Only compile the new zlib re-initializing code when text or iCCP is
+ supported, using PNG_WRITE_COMPRESSED_TEXT_SUPPORTED macro.
+ Improved the optimization of the zlib CMF byte (see libpng-1.2.6).
+ Optimize the zlib CMF byte in non-IDAT compressed chunks
+ Fixed gcc -ansi -pedantic compile. A strict ANSI system does not have
+ snprintf, and the "__STRICT_ANSI__" detects that condition more reliably
+ than __STDC__ (John Bowler).
+ Removed the PNG_PTR_NORETURN attribute because it too dangerous. It tells
+ the compiler that a user supplied callback (the error handler) does not
+ return, yet there is no guarantee in practice that the application code
+ will correctly implement the error handler because the compiler only
+ issues a warning if there is a mistake (John Bowler).
+ Removed the no-longer-used PNG_DEPSTRUCT macro.
+ Updated the zlib version to 1.2.5 in the VStudio project.
+ Fixed 64-bit builds where png_uint_32 is smaller than png_size_t in
+ pngwutil.c (John Bowler).
+ Fixed bug with stripping the filler or alpha channel when writing, that
+ was introduced in libpng-1.5.2 (bug report by Andrew Church).
+ Updated pngtest.png with the new zlib CMF optimization.
+ Cleaned up conditional compilation code and of background/gamma handling
+ Internal changes only except a new option to avoid compiling the
+ png_build_grayscale_palette API (which is not used at all internally.)
+ The main change is to move the transform tests (READ_TRANSFORMS,
+ WRITE_TRANSFORMS) up one level to the caller of the APIs. This avoids
+ calls to spurious functions if all transforms are disabled and slightly
+ simplifies those functions. Pngvalid modified to handle this.
+ A minor change is to stop the strip_16 and expand_16 interfaces from
+ disabling each other; this allows the future alpha premultiplication
+ code to use 16-bit intermediate values while still producing 8-bit output.
+ png_do_background and png_do_gamma have been simplified to take a single
+ pointer to the png_struct rather than pointers to every item required
+ from the png_struct. This makes no practical difference to the internal
+ code.
+ A serious bug in the pngvalid internal routine 'standard_display_init' has
+ been fixed - this failed to initialize the red channel and accidentally
+ initialized the alpha channel twice.
+ Changed png_struct jmp_buf member name from png_jmpbuf to tmp_jmpbuf to
+ avoid a clash with the png_jmpbuf macro on some platforms.
+ Added appropriate feature test macros to ensure libpng sees the correct API
+ _POSIX_SOURCE is defined in pngpriv.h, pngtest.c and pngvalid.c to ensure
+ that POSIX conformant systems disable non-POSIX APIs. _ISOC99_SOURCE is
+ defined in pngpriv.h to obtain the ISO C99 snprintf definition, when
+ available.
+ Removed png_snprintf and added formatted warning messages. This change adds
+ internal APIs to allow png_warning messages to have parameters without
+ requiring the host OS to implement snprintf. As a side effect the
+ dependency of the tIME-supporting RFC1132 code on stdio is removed and
+ PNG_NO_WARNINGS does actually work now.
+ Added PNG_WRITE_OPTIMIZE_CMF_SUPPORTED macro to make the zlib "CMF" byte
+ optimization configureable.
+ Internal functions were added to claim/release the z_stream and, hopefully,
+ make the code more robust. Also deflateEnd checking is added - previously
+ libpng would ignore an error at the end of the stream.
+ Removed the -D_ALL_SOURCE from definitions for AIX in CMakeLists.txt
+ Implemented premultiplied alpha support: png_set_alpha_mode API
+ Added expand_16 support to the high level interface.
+ Added named value and 'flag' gamma support to png_set_gamma. Made a minor
+ change from the previous (unreleased) ABI/API to hide the exact value used
+ for Macs - it's not a good idea to embed this in the ABI!
+ Moved macro definitions for PNG_HAVE_IHDR, PNG_HAVE_PLTE, and PNG_AFTER_IDAT
+ from pngpriv.h to png.h because they must be visible to applications
+ that call png_set_unknown_chunks().
+ Check for up->location !PNG_AFTER_IDAT when writing unknown chunks
+ before IDAT.
+ Improved "pngvalid --speed" to exclude more of pngvalid from the time.
+ Documented png_set_alpha_mode(), other changes in libpng.3/libpng-manual.txt
+ The cHRM chunk now sets the defaults for png_set_rgb_to_gray() (when negative
+ parameters are supplied by the caller), while in the absence of cHRM
+ sRGB/Rec 709 values are still used.
+ The bKGD chunk no longer overwrites the background value set by
+ png_set_background(), allowing the latter to be used before the file
+ header is read. It never performed any useful function to override
+ the default anyway.
+ Added memory overwrite and palette image checks to pngvalid.c
+ Previously palette image code was poorly checked. Since the transformation
+ code has a special palette path in most cases this was a severe weakness.
+ Minor cleanup and some extra checking in pngrutil.c and pngrtran.c. When
+ expanding an indexed image, always expand to RGBA if transparency is
+ present.
+ Reversed earlier 1.5.3 change of transformation order; move png_expand_16
+ back where it was. The change doesn't work because it requires 16-bit
+ gamma tables when the code only generates 8-bit ones. This fails
+ silently; the libpng code just doesn't do any gamma correction. Moving
+ the tests back leaves the old, inaccurate, 8-bit gamma calculations, but
+ these are clearly better than none!
+ png_set_background() and png_expand_16() did not work together correctly.
+ This problem is present in 1.5.2; if png_set_background is called with
+ need_expand false and the matching 16 bit color libpng erroneously just
+ treats it as an 8-bit color because of where png_do_expand_16 is in the
+ transform list. This simple fix reduces the supplied colour to 8-bits,
+ so it gets smashed, but this is better than the current behavior.
+ Added tests for expand16, more fixes for palette image tests to pngvalid.
+ Corrects the code for palette image tests and disables attempts to
+ validate palette colors.
+ Fixed uninitialized memory read in png_format_buffer() (Bug report by
+ Frank Busse, related to CVE-2004-0421).
+ Fixed png_handle_sCAL which is broken in 1.5; added sCAL to pngtest.png
+ Revised documentation about png_set_user_limits() to say that it also affects
+ png writing.
+ Revised handling of png_set_user_limits() so that it can increase the
+ limit beyond the PNG_USER_WIDTH|HEIGHT_MAX; previously it could only
+ reduce it.
+ Make the 16-to-8 scaling accurate. Dividing by 256 with no rounding is
+ wrong (high by one) 25% of the time. Dividing by 257 with rounding is
+ wrong in 128 out of 65536 cases. Getting the right answer all the time
+ without division is easy.
+ Added "_SUPPORTED" to the PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION macro.
+ Added projects/owatcom, an IDE project for OpenWatcom to replace
+ scripts/makefile.watcom. This project works with OpenWatcom 1.9. The
+ IDE autogenerates appropriate makefiles (libpng.mk) for batch processing.
+ The project is configurable, unlike the Visual Studio project, so long
+ as the developer has an awk.
+ Changed png_set_gAMA to limit the gamma value range so that the inverse
+ of the stored value cannot overflow the fixed point representation,
+ and changed other things OpenWatcom warns about.
+ Revised pngvalid.c to test PNG_ALPHA_MODE_SUPPORTED correctly. This allows
+ pngvalid to build when ALPHA_MODE is not supported, which is required if
+ it is to build on libpng 1.4.
+ Removed string/memory macros that are no longer used and are not
+ necessarily fully supportable, particularly png_strncpy and png_snprintf.
+ Added log option to pngvalid.c and attempted to improve gamma messages.
+ People found the presence of a beta release following an rc release
+ to be confusing; therefore we bump the version to libpng-1.5.4beta01
+ and there will be no libpng-1.5.3 release.
+ Moved definitions of PNG_HAVE_IHDR, PNG_AFTER_IDAT, and PNG_HAVE_PLTE
+ outside of an unknown-chunk block in png.h because they are also
+ needed for other uses.
+ Added png_set_scale_16() API, to match inaccurate results from previous
+ libpng versions, configurable with PNG_READ_SCALE_16_TO_8_SUPPORTED.
+ Fixed a problem in png_do_expand_palette() exposed by optimization in
+ 1.5.3beta06
+ Also removed a spurious and confusing "trans" member ("trans") from png_info.
+ The palette expand optimization prevented expansion to an intermediate RGBA
+ form if tRNS was present but alpha was marked to be stripped; this exposed
+ a check for tRNS in png_do_expand_palette() which is inconsistent with the
+ code elsewhere in libpng.
+ Added PNG_TRANSFORM_SCALE_16 to the high-level read transforms.
+ If PNG_READ_16_TO_8_ACCURATE_SCALE is not enabled, png_set_scale_16()
+ and png_do_scale_16_to_8() aren't built.
+ Revised contrib/visupng, gregbook, and pngminim to demonstrate scale_16_to_8
+ Fixed pngvalid, simplified macros, added checking for 0 in sCAL.
+ The ACCURATE scale macro is no longer defined in libpng-1.5 - call the
+ png_scale_16_to_8 API. Made sure that PNG_READ_16_TO_8 is still defined
+ if the png_strip_16_to_8 API is present. png_check_fp_number now
+ maintains some state so that positive, negative and zero values are
+ identified. sCAL uses these to be strictly spec conformant.
+ Define PNG_ALLOCATED to "restrict" only if MSC_VER >= 1400.
- 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 all WIN32_WCE #ifdefs except those involving the
- time.h "tm" structure (Cosmin)
- Reduced dependency on C-runtime library when on Windows (Simon-Pierre)
- Replaced sprintf() with png_sprintf() (Simon-Pierre)
- Revised makefiles to avoid making links to libpng.so.*
- 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.
- Updated scripts/pngos2.def, pngw32.def, and projects/wince/png32ce.def
- Added PNG_NO_GET_INT_32 and PNG_NO_SAVE_INT_32 macros.
- Scripts/libpng.pc.in contained "configure" style version info and would
- not work with makefiles.
- 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))
- Changed sonum from 0 to 1.
- Removed unused prototype for png_check_sig() from png.h
- Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (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).
- Exported png_write_sig (Cosmin).
- Optimized buffer in png_handle_cHRM() (Cosmin).
- Allow zero-length IDAT chunks after the entire zlib datastream, but not
- after another intervening chunk type.
- Set pHYs = 2835 x 2835 pixels per meter, and added
- pngtest now produces, and made some cosmetic changes to pngtest output.
- 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().
- Revised INSTALL and autogen.sh
- Fixed typo in several makefiles (-W1 should be -Wl)
- Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
- Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
- reading out of bounds.
- Added demonstration of user chunk support in pngtest.c, to support the
- public sTER chunk and a private vpAg chunk.
- 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().
- Removed WINCE and Netware projects.
- Removed standalone Y2KINFO file.
- 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).
- Removing trailing '.' from the warning and error messages (Cosmin).
- Revised many of the makefiles to write their defines in pngdefs.h.
- 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
- Detect and fix attempt to write wrong iCCP profile length.
- Fix potential buffer overflow in sPLT chunk handler.
- Fix Makefile.am to not try to link to noexistent files.
- Check all exported functions for NULL png_ptr.
- Built Makefile.in with automake-1.9.6 instead of 1.9.2.
- Add "install: all" in Makefile.am so "configure; make install" will work.
- Added a typecast in png_zalloc().
- Changed "new_key[79] = '\0';" to "(*new_key)[79] = '\0';" in pngwutil.c
- Add "png_bytep" typecast to profile while calculating length in pngwutil.c
- Added scripts/CMakeLists.txt
- Added "png_ptr->num_trans=0" before error return in png_handle_tRNS,
- to eliminate a vulnerability (CVE-2007-2554, CERT VU#684664)
- 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.
- Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
- Revised pngvcrd.c for improved efficiency.
- Moved local array "chunkdata" from pngrutil.c to the png_struct, so
- it will be freed by png_read_destroy() in case of a read error (Kurt
- Christensen).
- Change "purpose" and "buffer" to png_ptr->chunkdata to avoid memory leaking.
- Change all "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().
- Removed two calls to png_check_chunk_name() occuring later in the process.
- Define PNG_NO_ERROR_NUMBERS by default in pngconf.h
- 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.
- 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 ].
- 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.
- Added PNG_STRING_NEWLINE macro
- Added PNG_STRING_COPYRIGHT macro.
- Added non-ISO versions of png_debug macros.
- Added PNG_WRITE_FLUSH_SUPPORTED and PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED
- blocks around new png_flush() call.
- Revised PNG_NO_STDIO version of png_write_flush()
- Added png_get|set_chunk_cache_max() to limit the total number of sPLT,
- text, and unknown chunks that can be stored.
- Shortened tIME_string to 29 bytes in pngtest.c
- Revised makefile.darwin to fix shared library numbering.
- 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)
- Sync with tEXt vulnerability fix in libpng-1.2.33rc02.
- Added png_check_cHRM in png.c and moved checking from pngget.c, pngrutil.c,
- and pngwrite.c
- Added check for zero-area RGB cHRM triange in png_check_cHRM() and
- png_check_cHRM_fixed().
- Revised png_warning() to write its message on standard output by default
- when warning_fn is NULL.
- 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.
- Rearranged test expressions in png_check_cHRM_fixed() to avoid internal
- overflows.
- Added PNG_NO_CHECK_cHRM conditional.
- Fixed string vs pointer-to-string error in png_check_keyword().
- Added PNG_NO_CHECK_cHRM conditional.
- Merge png_debug with version 1.2.34beta04.
- 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).
- Added PNG_TRANSFORM_STRIP_FILLER_BEFORE and PNG_TRANSFORM_STRIP_FILLER_AFTER
- conditionals and deprecated PNG_TRANSFORM_STRIP_FILLER (Jim Barry).
- Turned off PNG_READ_DITHER_SUPPORTED by default.
- Combined several instances of png_malloc(); png_memset() into png_calloc().
- Fixed order of #ifdef directives in the png_debug defines in png.h
- (bug introduced in libpng-1.2.34).
- Revised comments in png_set_read_fn() and png_set_write_fn().
- Use png_calloc() instead of png_malloc() to allocate big_row_buf when
- reading an interlaced file, to avoid a possible UMR.
- 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
- 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
- Fixed potential memory leak of "new_name" in png_write_iCCP() (Ralph Giles)
- 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
- Eliminated deprecated png_read_init_3() and png_write_init_3() functions.
- 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.
- Removed pngprefs.h and MMX from makefiles
- Rebuilt configure scripts with autoconf-2.63 instead of 2.62
- Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
- Reformated sources in libpng style (3-space intentation, comment format)
- Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG)
- Added sections about the git repository and our coding style to the
- documentation
- Relocated misplaced #endif in pngwrite.c, sCAL chunk handler.
- Conditionally compile png_read_finish_row() which is not used by
- progressive readers.
- Added contrib/pngminim/preader to demonstrate building minimal progressive
- decoder, based on contrib/gregbook with embedded libpng and zlib.
- In contrib/pngminim/*, renamed "makefile.std" to "makefile", since there
- is only one makefile in those directories, and revised the README files
- accordingly.
- Added "#define PNG_NO_WRITE_SWAP" to contrib/pngminim/encoder/pngusr.h
- and "define PNG_NO_READ_SWAP" to decoder/pngusr.h and preader/pngusr.h
- Added a section in the documentation about using png_get_io_ptr() in
- configure scripts to detect the presence of libpng.
- Revised libpng*.txt and libpng.3 to mention calling png_set_IHDR()
- multiple times and to specify the sample order in the tRNS chunk,
- because the ISO PNG specification has a typo in the tRNS table.
- Changed several PNG_UNKNOWN_CHUNK_SUPPORTED to
- PNG_HANDLE_AS_UNKNOWN_SUPPORTED, to make the png_set_keep mechanism
- available for ignoring known chunks even when not saving unknown chunks.
- Adopted preference for consistent use of "#ifdef" and "#ifndef" versus
- "#if defined()" and "if !defined()" where possible.
- Eliminated PNG_LEGACY_SUPPORTED code.
- Moved the various unknown chunk macro definitions outside of the
- PNG_READ|WRITE_ANCILLARY_CHUNK_SUPPORTED blocks.
- Added a reference to the libpng license in each file.
- Relocated INVERT_ALPHA within png_read_png() and png_write_png().
- Added high-level API transform PNG_TRANSFORM_GRAY_TO_RGB.
- Added an "xcode" project to the projects directory (Alam Arias).
- Avoid some tests in filter selection in pngwutil.c
- Avoid a possible NULL dereference in debug build, in png_set_text_2().
- (bug introduced in libpng-0.95, discovered by Evan Rouault)
- Rebuilt configure scripts with autoconf-2.65
- Replaced *.tar.lzma with *.tar.xz in distribution. Get the xz codec
- from <http://tukaani.org/xz>.
- Reject attempt to write iCCP chunk with negative embedded profile length
- (JD Chen)
- Changed "trans" to "trans_alpha" and changed "trans_values" to "trans_color".
- Removed lpXYZ.tar.bz2 (with CRLF), KNOWNBUG, libpng-x.y.z-KNOWNBUG.txt,
- and the "noconfig" files from the distribution.
- Moved CMakeLists.txt from scripts into the main libpng directory.
- Various bugfixes and improvements to CMakeLists.txt (Philip Lowman)
- Converted all PNG_NO_* tests to PNG_*_SUPPORTED everywhere except pngconf.h
- Eliminated PNG_NO_FREE_ME and PNG_FREE_ME_SUPPORTED macros.
- Use png_malloc plus a loop instead of png_calloc() to initialize
- row_pointers in png_read_png().
- Eliminated PNG_GLOBAL_ARRAYS and PNG_LOCAL_ARRAYS; always use local arrays.
- Eliminated PNG_CALLOC_SUPPORTED macro and always provide png_calloc().
- Removed scripts/libpng.icc
- Changed typecast of filler from png_byte to png_uint_16 in png_set_filler().
- (Dennis Gustafsson)
- Eliminated unused PNG_FLAG_FREE_* defines from pngpriv.h
- Expanded TAB characters in pngrtran.c
- Removed PNG_CONST from all "PNG_CONST PNG_CHNK" declarations to avoid
- compiler complaints about doubly declaring things "const".
- Eliminated unused png_ptr->row_buf_size
- Changed all "#if [!]defined(X)" to "if[n]def X" where possible.
- Moved redundant IHDR checking into new png_check_IHDR() in png.c
- and report all errors found in the IHDR data.
- Eliminated useless call to png_check_cHRM() from pngset.c
- Eliminated a shadowed declaration of "pp" in png_handle_sPLT().
- Patched ltmain.sh for wince support.
- Added PNG_CONVERT_tIME_SUPPORTED macro.
- Make inclusion of time.h in pngconf.h depend on PNG_CONVERT_tIME_SUPPORTED
- Make #define PNG_CONVERT_tIME_SUPPORTED depend on PNG_WRITE_tIME_SUPPORTED
- Updated scripts/pngw32.def and projects/wince/png32ce.def
- Copied projects/wince/png32ce.def to the scripts directory.
- Added scripts/makefile.cegcc
- Revised libpng*.txt to describe differences from 1.2.40 to 1.4.0
- Added PNG_DEPSTRUCT, PNG_DEPRECATED, PNG_USE_RESULT, PNG_NORETURN, and
- PNG_ALLOCATED macros to detect deprecated direct access to the
- png_struct or info_struct members and other deprecated usage in
- applications (John Bowler).
- Updated scripts/makefile* to add "-DPNG_CONFIGURE_LIBPNG" to CFLAGS,
- to prevent warnings about direct access to png structs by libpng
- functions while building libpng. They need to be tested, especially
- those using compilers other than gcc.
- Updated CMakeLists.txt to add "-DPNG_CONFIGURE_LIBPNG" to the definitions.
- Updated projects/visualc6 and visualc71 with "/d PNG_CONFIGURE_LIBPNG".
- They should work but still need to be updated to remove
- references to pnggccrd.c or pngvcrd.c and ASM building.
- Added README.txt to the beos, cbuilder5, netware, and xcode projects warning
- that they need to be updated, to remove references to pnggccrd.c and
- pngvcrd.c and to depend on pngpriv.h
- Removed three direct references to read_info_ptr members in pngtest.c
- that were detected by the new PNG_DEPSTRUCT macro.
- Moved the png_debug macro definitions and the png_read_destroy(),
- png_write_destroy() and png_far_to_near() prototypes from png.h
- to pngpriv.h (John Bowler)
- Moved the synopsis lines for png_read_destroy(), png_write_destroy()
- png_debug(), png_debug1(), and png_debug2() from libpng.3 to libpngpf.3.
- Removed the obsolete, unused pnggccrd.c and pngvcrd.c files.
- Removed dependency of pngtest.o on pngpriv.h in the makefiles.
- Added -DPNG_CONFIGURE_LIBPNG to contrib/pngminm/*/makefile
- Changed png_check_sig() to !png_sig_cmp() in contrib programs.
- Corrected the png_get_IHDR() call in contrib/gregbook/readpng2.c
- Changed pngminim/*/gather.sh to stop trying to remove pnggccrd.c and pngvcrd.c
- Added dependency on pngpriv.h in contrib/pngminim/*/makefile
- Revised Makefile.am to use libpng.sys while building libpng.so
- so that only PNG_EXPORT functions are exported.
- Removed the deprecated png_check_sig() function/macro.
- Removed recently removed function names from scripts/*.def
- Added PNG_PRIVATE macro definition in pngconf.h for possible future use.
- Removed projects/beos and netware.txt; no one seems to be supporting them.
- Moved libpng-config.in and libpng.pc-configure.in out of the scripts
- directory, to libpng-config.in and libpng.pc.in, respectively, and
- modified Makefile.am and configure.ac accordingly. Now "configure"
- needs nothing from the "scripts" directory.
- Removed ASM builds from projects/visualc6 and projects/visualc71
- Removed scripts/makefile.nommx and makefile.vcawin32
- Revised CMakeLists.txt to account for new location of libpng-config.in
- and libpng.pc.in
- Updated INSTALL to reflect removal and relocation of files.
- Moved descriptions of makefiles and other scripts out of INSTALL into
- scripts/README.txt
- Updated the copyright year in scripts/pngwin.rc from 2006 to 2009.
- Removed obsolete comments about ASM from projects/visualc71/README_zlib.txt
- Align row_buf on 16-byte boundary in memory.
- Make the 'png_jmpbuf' macro expand to a call that records the correct
- longjmp function as well as returning a pointer to the setjmp
- jmp_buf buffer, and marked direct access to jmpbuf 'deprecated'.
- (John Bowler)
- Changed "/255" to "/255.0" in background calculations to make it clear
- that the 255 is used as a double.
- Added "#define PNG_NO_PEDANTIC_WARNINGS" in the libpng source files.
- Revised scripts/makefile.netbsd, makefile.openbsd, and makefile.sco
- to put png.h and pngconf.h in $prefix/include, like the other scripts,
- instead of in $prefix/include/libpng. Also revised makefile.sco
- to put them in $prefix/include/libpng14 instead of in
- $prefix/include/libpng/libpng14.
- Added "bit_depth" parameter to the private png_build_gamma_table() function.
- Use png_calloc() instead of png_malloc(); png_memset() in pngrutil.c
- Avoid deprecated references to png_ptr-io_ptr and png_ptr->error_ptr
- in pngtest.c
+Send comments/corrections/commendations to png-mng-implement at lists.sf.net
+(subscription required; visit
+https://lists.sourceforge.net/lists/listinfo/png-mng-implement
+to subscribe)
+or to glennrp at users.sourceforge.net
+
+Glenn R-P
+*/ }
+#endif
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
-(subscription required; visit
+(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net