
Libpng 1.5.15 - March 28, 2013

This is a public release of libpng, intended for use in production codes.

Files available for download:

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

   libpng-1.5.15.tar.xz (LZMA-compressed, recommended)
   libpng-1.5.15.tar.gz
   libpng-1.5.15.tar.bz2

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

   lpng1515.7z  (LZMA-compressed, recommended)
   lpng1515.zip

Other information:

   libpng-1.5.15-README.txt
   libpng-1.5.15-LICENSE.txt

Changes since the last public release (1.5.14):

  Enabled renaming of the extern (but not DLL exported) ARM filter functions.
    Also enabled inclusion of pngpriv.h in non-C files by preventing C/C++
    specific definitions if PNG_VERSION_INFO_ONLY is defined.
  Added png_get_palette_max() function.
  Made a probably general fix for the preprocessing used to generate source
    files. This change might make the check for a special C preprocessor
    unnecessary, and it also eliminates the requirement for sed in the
    configure build process.
  Fix typo in Makefile.am, fix scripts/pnglibconf.mak and makefile.std
  Rebuilt Makefile.in, configure, etc., with autoconf-2.69 and automake-1.13
  Fix 'setting' handling in options.awk and fixed palette_max API
  Remove SUN OS cc -E workround - no longer required
  Turn serial tests back on (recently turned off by autotools upgrade).
  Enclosed the new png_get_palette_max in #ifdef PNG_GET_PALETTE_MAX_SUPPORTED
    block, and revised pnglibconf.h and pnglibconf.h.prebuilt accordingly.
  Use approved/supported Android method to check for NEON, use Linux/POSIX
    1003.1 API to check /proc/self/auxv avoiding buffer allocation and other
    library calls.
  Fixed a race condition in the creation of the build 'scripts' directory
    while building with a parallel make.
  Use parentheses more consistently in "#if defined(MACRO)" tests.
  Fixed PNG_ALIGN(ED)_MEMORY and add ability to turn off ARM_NEON
    runtime checks
  Updated the INSTALL document.
  Revised INSTALL to recommend using CPPFLAGS instead of INCLUDES.
  Revised scripts/makefile.freebsd to respect ZLIBLIB and ZLIBINC.
  Revised scripts/dfn.awk to work with the buggy MSYS awk that has trouble
    with CRLF line endings.
  Avoid a possible memory leak in contrib/gregbook/readpng.c
  Made the _SUPPORTED macro definitions consistent. The change made in
    libpng15 to #define *_SUPPORTED 1, to match the use of -D*_SUPPORTED
    (which means -D*_SUPPORTED=1) and avoid compiler warnings from GCC was made
    inconsistently and causes problems as a result, also some additions in
    pnglibconf.h.prebuilt were inconsistent (omitting the 1). This changes 1.5
    back to the scheme used both before (1.4) and after (1.6). This might cause
    some build scripts to issue warnings, and might, in the extreme, cause some
    applications to fail (but they would fail anyway against 1.6).  It seems
    safer to go for consistency, given the change in 1.6, not correctness here,
    particularly as 'make check' currently warns anyway on the symbols.dfn check
    because of the inconsistencies.
  Corrected Android builds and corrected libpng.vers with symbol
    prefixing This adds an API to set optimization options externally,
    providing an alternative and general solution for the non-portable
    run-time tests used by the ARM Neon code.  It also makes those tests
    compile and link on Android.
  The order of settings vs options in pnglibconf.h is reversed to allow
    settings to depend on options and options can now set (or override) the
    defaults for settings.
  Fixed CMakelists.txt to allow building a single variant of the library
    (Claudio Bley):
  Introduced a PNG_LIB_TARGETS variable that lists all activated library
    targets.  It is an error if this variable ends up empty, ie. you have
    to build at least one library variant.
  Made the *_COPY targets only depend on library targets actually being build.
  Use PNG_LIB_TARGETS to unify a code path.
  Changed the CREATE_SYMLINK macro to expect the full path to a file as the
    first argument. When symlinking the filename component of that path is
    determined and used as the link target.
  Use copy_if_different in the CREATE_SYMLINK macro.
  Eliminated two warnings from the Intel C compiler. The warnings are
    technically valid, although a reasonable treatment of division would
    show it to be incorrect.

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
