diff --git a/ANNOUNCE b/ANNOUNCE
index 6842814..603f4dd 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.5.17rc01 - June 17, 2013
+Libpng 1.5.17rc02 - June 18, 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.
@@ -9,20 +9,20 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.5.17rc01.tar.xz (LZMA-compressed, recommended)
-   1.5.17rc01.tar.gz
-   1.5.17rc01.tar.bz2
+   1.5.17rc02.tar.xz (LZMA-compressed, recommended)
+   1.5.17rc02.tar.gz
+   1.5.17rc02.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1517r01.7z  (LZMA-compressed, recommended)
-   lp1517r01.zip
+   lp1517r02.7z  (LZMA-compressed, recommended)
+   lp1517r02.zip
 
 Other information:
 
-   1.5.17rc01-README.txt
-   1.5.17rc01-LICENSE.txt
+   1.5.17rc02-README.txt
+   1.5.17rc02-LICENSE.txt
 
 Changes since the last public release (1.5.16):
 
@@ -49,9 +49,12 @@
     the confusion that would result by declaring the init function even when
     it is not used, so that it will always get prefixed.
 
-Version 1.5.17rc01 [June 17, 2013]
+Version 1.5.17rc01 [June 18, 2013]
   No changes.
 
+Version 1.5.17rc02 [June 18, 2013]
+  Revised libpng.3 so that "doclift" can process it.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CHANGES b/CHANGES
index 0297fd9..0bea1a5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4139,6 +4139,9 @@
 Version 1.5.17rc01 [June 17, 2013]
   No changes.
 
+Version 1.5.17rc02 [June 18, 2013]
+  Revised libpng.3 so that "doclift" can process it.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d52bb57..4853a83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -217,7 +217,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#   VERSION 15.${PNGLIB_RELEASE}.1.5.17rc01
+#   VERSION 15.${PNGLIB_RELEASE}.1.5.17rc02
     VERSION 15.${PNGLIB_RELEASE}.0
     SOVERSION 15
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/LICENSE b/LICENSE
index 8c5f997..99bbc9c 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.5.17rc01, June 17, 2013, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.17rc02, June 18, 2013, are
 Copyright (c) 2004, 2006-2012 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
-June 17, 2013
+June 18, 2013
diff --git a/README b/README
index ebdbac1..2321b3c 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.17rc01 - June 17, 2013 (shared library 15.0)
+README for libpng version 1.5.17rc02 - June 18, 2013 (shared library 15.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/configure b/configure
index 1ef7cf0..78f5ba9 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libpng 1.5.17rc01.
+# Generated by GNU Autoconf 2.69 for libpng 1.5.17rc02.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.5.17rc01'
-PACKAGE_STRING='libpng 1.5.17rc01'
+PACKAGE_VERSION='1.5.17rc02'
+PACKAGE_STRING='libpng 1.5.17rc02'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1342,7 +1342,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpng 1.5.17rc01 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.17rc02 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1412,7 +1412,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.5.17rc01:";;
+     short | recursive ) echo "Configuration of libpng 1.5.17rc02:";;
    esac
   cat <<\_ACEOF
 
@@ -1534,7 +1534,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.5.17rc01
+libpng configure 1.5.17rc02
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1957,7 +1957,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpng $as_me 1.5.17rc01, which was
+It was created by libpng $as_me 1.5.17rc02, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2820,7 +2820,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.5.17rc01'
+ VERSION='1.5.17rc02'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2890,7 +2890,7 @@
 
 
 
-PNGLIB_VERSION=1.5.17rc01
+PNGLIB_VERSION=1.5.17rc02
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=17
@@ -13426,7 +13426,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpng $as_me 1.5.17rc01, which was
+This file was extended by libpng $as_me 1.5.17rc02, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13492,7 +13492,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libpng config.status 1.5.17rc01
+libpng config.status 1.5.17rc02
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 9aa2978..0214bb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.5.17rc01], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.17rc02], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE([serial-tests])
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.5.17rc01
+PNGLIB_VERSION=1.5.17rc02
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=17
diff --git a/libpng-manual.txt b/libpng-manual.txt
index 6fe4f67..135decd 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.5.17rc01 - June 17, 2013
+ libpng version 1.5.17rc02 - June 18, 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.5.17rc01 - June 17, 2013
+ libpng versions 0.97, January 1998, through 1.5.17rc02 - June 18, 2013
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
 
@@ -3875,7 +3875,7 @@
 and p1 and p2 are parameters that are to be embedded in the string
 according to printf-style formatting directives.  For example,
 
-   png_debug1(2, "foo=%d\n", foo);
+   png_debug1(2, "foo=%d", foo);
 
 is expanded to
 
@@ -4655,13 +4655,13 @@
 
 XIV. Y2K Compliance in libpng
 
-June 17, 2013
+June 18, 2013
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.5.17rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.17rc02 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index 62d503d..1ff6cb7 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "June 17, 2013"
+.TH LIBPNG 3 "June 18, 2013"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.17rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.17rc02
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -492,7 +492,7 @@
 .SH LIBPNG.TXT
 Libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.5.17rc01 - June 17, 2013
+ libpng version 1.5.17rc02 - June 18, 2013
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
@@ -503,7 +503,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.17rc01 - June 17, 2013
+ libpng versions 0.97, January 1998, through 1.5.17rc02 - June 18, 2013
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2013 Glenn Randers-Pehrson
 
@@ -4368,12 +4368,12 @@
 and p1 and p2 are parameters that are to be embedded in the string
 according to printf-style formatting directives.  For example,
 
-   png_debug1(2, "foo=%d\n", foo);
+   png_debug1(2, "foo=%d", foo);
 
 is expanded to
 
    if (PNG_DEBUG > 2)
-      fprintf(PNG_DEBUG_FILE, "foo=%d\n", foo);
+      fprintf(PNG_DEBUG_FILE, "foo=%d\en", foo);
 
 When PNG_DEBUG is defined but is zero, the macros aren't defined, but you
 can still use PNG_DEBUG to control your own debugging:
@@ -5148,13 +5148,13 @@
 
 .SH XIV. Y2K Compliance in libpng
 
-June 17, 2013
+June 18, 2013
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.5.17rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.17rc02 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer that
@@ -5441,7 +5441,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.17rc01 - June 17, 2013:
+Libpng version 1.5.17rc02 - June 18, 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).
 
@@ -5464,7 +5464,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.17rc01, June 17, 2013, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.17rc02, June 18, 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
@@ -5563,7 +5563,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-June 17, 2013
+June 18, 2013
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 6dd89a3..ff14603 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "June 17, 2013"
+.TH LIBPNGPF 3 "June 18, 2013"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.17rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.17rc02
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"
diff --git a/png.5 b/png.5
index a062651..33619c5 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "June 17, 2013"
+.TH PNG 5 "June 18, 2013"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 221328d..6ea75cd 100644
--- a/png.c
+++ b/png.c
@@ -14,7 +14,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_17rc01 Your_png_h_is_not_version_1_5_17rc01;
+typedef png_libpng_version_1_5_17rc02 Your_png_h_is_not_version_1_5_17rc02;
 
 /* Tells libpng that we have already handled the first "num_bytes" bytes
  * of the PNG file signature.  If the PNG data is embedded into another
@@ -658,13 +658,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.5.17rc01 - June 17, 2013" PNG_STRING_NEWLINE \
+     "libpng version 1.5.17rc02 - June 18, 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.5.17rc01 - June 17, 2013\
+      return "libpng version 1.5.17rc02 - June 18, 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 a3c0aa5..48577c1 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.17rc01 - June 17, 2013
+ * libpng version 1.5.17rc02 - June 18, 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.5.17rc01 - June 17, 2013: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.17rc02 - June 18, 2013: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -223,7 +223,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.17rc01, June 17, 2013, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.17rc02, June 18, 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:
@@ -335,13 +335,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    June 17, 2013
+ *    June 18, 2013
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.5.17rc01 are Y2K compliant.  It is my belief that
+ *    upward through 1.5.17rc02 are Y2K compliant.  It is my belief that
  *    earlier versions were also Y2K compliant.
  *
  *    Libpng only has two year fields.  One is a 2-byte unsigned integer
@@ -400,9 +400,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.5.17rc01"
+#define PNG_LIBPNG_VER_STRING "1.5.17rc02"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.17rc01 - June 17, 2013\n"
+     " libpng version 1.5.17rc02 - June 18, 2013\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -416,7 +416,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  01
+#define PNG_LIBPNG_VER_BUILD  02
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -563,7 +563,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef char* png_libpng_version_1_5_17rc01;
+typedef char* png_libpng_version_1_5_17rc02;
 
 /* Three color definitions.  The order of the red, green, and blue, (and the
  * exact size) is not important, although the size of the fields need to
diff --git a/pngconf.h b/pngconf.h
index 7dd3ec5..b842344 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.17rc01 - June 17, 2013
+ * libpng version 1.5.17rc02 - June 18, 2013
  *
  * Copyright (c) 1998-2013 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 0bb02ac..8fa9850 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1962,4 +1962,4 @@
 #endif
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_17rc01 Your_png_h_is_not_version_1_5_17rc01;
+typedef png_libpng_version_1_5_17rc02 Your_png_h_is_not_version_1_5_17rc02;
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 818375f..5c7714f 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.17rc01 - June 17, 2013
+libpng version 1.5.17rc02 - June 18, 2013
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index adcd730..549c10a 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.5.17rc01 - June 17, 2013
+ * libpng version 1.5.17rc02 - June 18, 2013
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index d272470..602526a 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.5.17rc01 - June 17, 2013
+Makefiles for  libpng version 1.5.17rc02 - June 18, 2013
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng15.so.15.1.5.17rc01)
+                       (gcc, creates libpng15.so.15.1.5.17rc02)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -21,7 +21,7 @@
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.dj2      =>  DJGPP 2 makefile
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       (gcc, creates libpng15.so.15.1.5.17rc01)
+                       (gcc, creates libpng15.so.15.1.5.17rc02)
  makefile.freebsd  =>  FreeBSD makefile
  makefile.gcc      =>  Generic gcc makefile
  makefile.hpgcc    =>  HPUX makefile using gcc
@@ -36,12 +36,12 @@
  makefile.os2      =>  OS/2 Makefile (gcc and emx, requires libpng.def)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng15.so.15.1.5.17rc01)
+                       creates libpng15.so.15.1.5.17rc02)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng15.so.15.1.5.17rc01)
+                       creates libpng15.so.15.1.5.17rc02)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng15.so.15.1.5.17rc01)
+                       creates libpng15.so.15.1.5.17rc02)
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.sunos    =>  Sun makefile
  makefile.32sunu   =>  Sun Ultra 32-bit makefile
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index c201c4a..cec5e5f 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.5.17rc01
+version=1.5.17rc02
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 8eeee8a..e97254c 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.5.17rc01
+Version: 1.5.17rc02
 Libs: -L${libdir} -lpng15
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 6278ad6..705e5df 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png15
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.5.17rc01
+SHLIB_MINOR=	1.5.17rc02
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 94586a4..8ab7c4e 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.17rc01
+SHLIB_MINOR=	1.5.17rc02
 SRCS=	png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 	pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 	pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index b778473..bef274f 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.17rc01
+SHLIB_MINOR=	1.5.17rc02
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt
index a3c2a78..957e033 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -1,7 +1,7 @@
-/* 1.5.17rc01 STANDARD API DEFINITION */
+/* 1.5.17rc02 STANDARD API DEFINITION */
 /* pnglibconf.h - library build configuration */
 
-/* libpng version 1.5.17rc01 - June 17, 2013 */
+/* libpng version 1.5.17rc02 - June 18, 2013 */
 
 /* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
 
diff --git a/scripts/symbols.def b/scripts/symbols.def
index fd96bad..fedf558 100644
--- a/scripts/symbols.def
+++ b/scripts/symbols.def
@@ -1,4 +1,4 @@
-;Version 1.5.17rc01
+;Version 1.5.17rc02
 ;--------------------------------------------------------------
 ; LIBPNG symbol list as a Win32 DEF file
 ; Contains all the symbols that can be exported from libpng
