diff --git a/ANNOUNCE b/ANNOUNCE
index 37d7778..6b11d37 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.7.0beta03 - February 19, 2013
+Libpng 1.7.0beta03 - February 22, 2013
 
 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.
@@ -177,7 +177,7 @@
   Use parentheses more consistently in "#if defined(MACRO)" tests.
   Folded long lines.
 
-Version 1.7.0beta03 [February 19, 2013]
+Version 1.7.0beta03 [February 22, 2013]
   Reenabled code to allow zero length PLTE chunks for MNG.
   Fixed ALIGNED_MEMORY support.
   Allow run-time ARM NEON checking to be disabled. A new configure option:
@@ -185,6 +185,7 @@
     within arm/arm_init.c will cause the code not to be compiled unless
     __ARM_NEON__ is set. This should make it fail safe (if someone asks
     for it on then the build will fail if it can't be done.)
+  Updated the INSTALL document.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index e748eae..73a0b91 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4464,7 +4464,7 @@
   Use parentheses more consistently in "#if defined(MACRO)" tests.
   Folded long lines.
 
-Version 1.7.0beta03 [February 19, 2013]
+Version 1.7.0beta03 [February 22, 2013]
   Reenabled code to allow zero length PLTE chunks for MNG.
   Fixed ALIGNED_MEMORY support.
   Allow run-time ARM NEON checking to be disabled. A new configure option:
@@ -4472,6 +4472,7 @@
     within arm/arm_init.c will cause the code not to be compiled unless
     __ARM_NEON__ is set. This should make it fail safe (if someone asks
     for it on then the build will fail if it can't be done.)
+  Updated the INSTALL document.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/INSTALL b/INSTALL
index 2644c7a..972a472 100644
--- a/INSTALL
+++ b/INSTALL
@@ -41,16 +41,31 @@
 wherever you got libpng.  zlib can be placed in another directory,
 at the same level as libpng.
 
+If your system already has a preinstalled zlib you will still need
+to have access to the zlib.h and zconf.h include files that
+correspond to the version of zlib that's installed.
+
+If you wish to test with a particular zlib that is not first in the
+standard library search path, put ZLIBLIB, ZLIBINC, INCLUDES, LDFLAGS,
+LIBS, and LD_LIBRARY_PATH in your environment before running "make test"
+or "make distcheck":
+
+ZLIBLIB=/path/to/lib export ZLIBLIB
+ZLIBINC=/path/to/include export ZLIBINC
+INCLUDES="-I$ZLIBINC" export INCLUDES
+LDFLAGS="-L$ZLIBLIB" export LDFLAGS
+LIBS=$ZLIBLIB/libz.a export LIBS
+LD_LIBRARY_PATH="$ZLIBLIB:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
+
+If you are using one of the makefile scripts, put ZLIBLIB and ZLIBINC
+in your environment and type "make ZLIBLIB=$ZLIBLIB ZLIBINC=$ZLIBINC test".
+
 If you want to use "cmake" (see www.cmake.org), type
 
    cmake . -DCMAKE_INSTALL_PREFIX=/path
    make
    make install
 
-If your system already has a preinstalled zlib you will still need
-to have access to the zlib.h and zconf.h include files that
-correspond to the version of zlib that's installed.
-
 You can rename the directories that you downloaded (they
 might be called "libpng-x.y.z" or "libpngNN" and "zlib-1.2.5"
 or "zlib125") so that you have directories called "zlib" and "libpng".
@@ -71,6 +86,7 @@
              depcomp, install-sh, mkinstalldirs, test-pngtest.sh
           contrib
              gregbook
+             libtests
              pngminim
              pngminus
              pngsuite
diff --git a/LICENSE b/LICENSE
index 8624d76..ce7e94d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 18, 2013, are
+libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 22, 2013, are
 Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-February 18, 2013
+February 22, 2013
diff --git a/README b/README
index 7707538..cf34bca 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.7.0beta03 - February 18, 2013 (shared library 17.0)
+README for libpng version 1.7.0beta03 - February 22, 2013 (shared library 17.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
diff --git a/libpng-manual.txt b/libpng-manual.txt
index 032548e..6132ed5 100644
--- a/libpng-manual.txt
+++ b/libpng-manual.txt
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.7.0beta03 - February 18, 2013
+ libpng version 1.7.0beta03 - February 22, 2013
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.7.0beta03 - February 18, 2013
+ libpng versions 0.97, January 1998, through 1.7.0beta03 - February 22, 2013
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
 
@@ -5184,7 +5184,7 @@
 
 XVII. Y2K Compliance in libpng
 
-February 18, 2013
+February 22, 2013
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
diff --git a/libpng.3 b/libpng.3
index 56634f6..2ab1168 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "February 18, 2013"
+.TH LIBPNG 3 "February 22, 2013"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta03
 .SH SYNOPSIS
@@ -494,7 +494,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.7.0beta03 - February 18, 2013
+ libpng version 1.7.0beta03 - February 22, 2013
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -505,7 +505,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.7.0beta03 - February 18, 2013
+ libpng versions 0.97, January 1998, through 1.7.0beta03 - February 22, 2013
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
 
@@ -5679,7 +5679,7 @@
 
 .SH XVII. Y2K Compliance in libpng
 
-February 18, 2013
+February 22, 2013
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
@@ -5949,7 +5949,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.7.0beta03 - February 18, 2013:
+Libpng version 1.7.0beta03 - February 22, 2013:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -5972,7 +5972,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 18, 2013, are
+libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 22, 2013, are
 Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -6071,7 +6071,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-February 18, 2013
+February 22, 2013
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index fd42380..f8b5ac2 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "February 18, 2013"
+.TH LIBPNGPF 3 "February 22, 2013"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta03
 (private functions)
diff --git a/png.5 b/png.5
index 1b7dcee..6d16ae4 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "February 18, 2013"
+.TH PNG 5 "February 22, 2013"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 58f62fc..d200f3d 100644
--- a/png.c
+++ b/png.c
@@ -691,13 +691,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.7.0beta03 - February 18, 2013" PNG_STRING_NEWLINE \
+     "libpng version 1.7.0beta03 - February 22, 2013" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
      "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
      "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
      PNG_STRING_NEWLINE;
 #  else
-      return "libpng version 1.7.0beta03 - February 18, 2013\
+      return "libpng version 1.7.0beta03 - February 22, 2013\
       Copyright (c) 1998-2013 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/png.h b/png.h
index fa6caed..066f8b0 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.7.0beta03 - February 18, 2013
+ * libpng version 1.7.0beta03 - February 22, 2013
  * Copyright (c) 1998-2013 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -11,7 +11,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.7.0beta03 - February 18, 2013: Glenn
+ *   libpng versions 0.97, January 1998, through 1.7.0beta03 - February 22, 2013: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -200,7 +200,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 18, 2013, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.7.0beta03, February 22, 2013, are
  * Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -312,7 +312,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    February 18, 2013
+ *    February 22, 2013
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -380,7 +380,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.7.0beta03"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.7.0beta03 - February 18, 2013\n"
+     " libpng version 1.7.0beta03 - February 22, 2013\n"
 
 #define PNG_LIBPNG_VER_SONUM   17
 #define PNG_LIBPNG_VER_DLLNUM  17
diff --git a/pngconf.h b/pngconf.h
index a7f00af..dd65ceb 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.7.0beta03 - February 18, 2013
+ * libpng version 1.7.0beta03 - February 22, 2013
  *
  * Copyright (c) 1998-2013 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 6e92167..9da0766 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.7.0beta03 - February 18, 2013
+libpng version 1.7.0beta03 - February 22, 2013
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 422617e..b93683e 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.7.0beta03 - February 18, 2013
+ * libpng version 1.7.0beta03 - February 22, 2013
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index ef1498f..362f867 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.7.0beta03 - February 18, 2013
+Makefiles for  libpng version 1.7.0beta03 - February 22, 2013
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
diff --git a/scripts/pnglibconf.dfa b/scripts/pnglibconf.dfa
index 2d62898..bf1ed8a 100644
--- a/scripts/pnglibconf.dfa
+++ b/scripts/pnglibconf.dfa
@@ -143,6 +143,12 @@
 # - PNG_USER_VERSIONINFO_COMPANYNAME
 # - PNG_USER_VERSIONINFO_LEGALTRADEMARKS
 
+# It is necessary to include configures definitions here so that AC_DEFINE
+# in configure.ac works in a comprehensible way
+@#if defined(HAVE_CONFIG_H) && !defined(PNG_NO_CONFIG_H)
+@#  include "config.h"
+@#endif
+
 @#ifdef PNG_USER_CONFIG
 @#  include "pngusr.h"
 @#endif
@@ -210,6 +216,18 @@
 # include the file too, so that the defaults below are known
 @#  include <zlib.h>
 
+# This setting allows a hardware or configuration specific filter optimization
+# function to be specified, the argument is the name of the filter initializaion
+# function to use.
+
+setting FILTER_OPTIMIZATIONS
+
+# This option turns on runtime checks for ARM NEON support, it is irrelevant
+# on other platforms and it is irrelevant unless NEON code is turned on.  Checks
+# are on by default
+
+option ARM_NEON_CHECK
+
 # These settings configure the default compression level (0-9) and 'strategy';
 # strategy is as defined by the implementors of zlib, it describes the input
 # data and modifies the zlib parameters in an attempt to optimize the balance
@@ -603,7 +621,7 @@
 # but can help (in theory) on some architectures.  Only affects
 # internal structures.  Added at libpng 1.4.0
 
-option ALIGN_MEMORY
+option ALIGNED_MEMORY
 
 # Buggy compilers (e.g., gcc 2.7.2.2) need PNG_NO_POINTER_INDEXING
 # See png[wr]util.c, normally this should always be *on*
diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt
index cef9b74..fcc261e 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -1,6 +1,6 @@
 /* pnglibconf.h - library build configuration */
 
-/* libpng version 1.7.0beta03 - February 19, 2013 */
+/* libpng version 1.7.0beta03 - February 22, 2013 */
 
 /* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
 
