diff --git a/ANNOUNCE b/ANNOUNCE
index fed8511..6510918 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.5.23beta03 - July 9, 2015
+Libpng 1.5.23rc01 - July 9, 2015
 
 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,21 +9,21 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.5.23beta03.tar.xz (LZMA-compressed, recommended)
-   1.5.23beta03.tar.gz
-   1.5.23beta03.tar.bz2
+   1.5.23rc01.tar.xz (LZMA-compressed, recommended)
+   1.5.23rc01.tar.gz
+   1.5.23rc01.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1523b03.7z  (LZMA-compressed, recommended)
-   lp1523b03.zip
+   lp1523r01.7z  (LZMA-compressed, recommended)
+   lp1523r01.zip
 
 Other information:
 
-   1.5.23beta03-README.txt
-   1.5.23beta03-LICENSE.txt
-   libpng-1.5.23beta03-*.asc (armored detached GPG signatures)
+   1.5.23rc01-README.txt
+   1.5.23rc01-LICENSE.txt
+   libpng-1.5.23rc01-*.asc (armored detached GPG signatures)
 
 Changes since the last public release (1.5.22):
 
@@ -47,7 +47,7 @@
   Quieted Coverity issues in pngvalid.c.
   Removed non-working progressive reader 'skip' function.
 
-Version 1.5.23beta03 [July 9, 2015]
+Version 1.5.23rc01 [July 9, 2015]
   Belatedly added Mans Rullgard to the list of Contributing Authors.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/CHANGES b/CHANGES
index 6a8aa1e..c9a8d8b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4360,7 +4360,7 @@
   Quieted Coverity issues in pngvalid.c.
   Removed non-working progressive reader 'skip' function.
 
-Version 1.5.23beta03 [July 9, 2015]
+Version 1.5.23rc01 [July 9, 2015]
   Belatedly added Mans Rullgard to the list of Contributing Authors.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c92a5f2..ac51268 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,7 +224,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#   VERSION 15.${PNGLIB_RELEASE}.1.5.23beta03
+#   VERSION 15.${PNGLIB_RELEASE}.1.5.23rc01
     VERSION 15.${PNGLIB_RELEASE}.0
     SOVERSION 15
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/LICENSE b/LICENSE
index f93e804..de6879c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.5.23beta03, July 9, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.5.23rc01, July 9, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
diff --git a/README b/README
index 22a407a..1f6cd7c 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.23beta03 - June 30, 2015 (shared library 15.0)
+README for libpng version 1.5.23rc01 - July 9, 2015 (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 a18b454..e37804e 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.23beta03.
+# Generated by GNU Autoconf 2.69 for libpng 1.5.23rc01.
 #
 # 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.23beta03'
-PACKAGE_STRING='libpng 1.5.23beta03'
+PACKAGE_VERSION='1.5.23rc01'
+PACKAGE_STRING='libpng 1.5.23rc01'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1354,7 +1354,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.23beta03 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.23rc01 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1424,7 +1424,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.5.23beta03:";;
+     short | recursive ) echo "Configuration of libpng 1.5.23rc01:";;
    esac
   cat <<\_ACEOF
 
@@ -1579,7 +1579,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.5.23beta03
+libpng configure 1.5.23rc01
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2002,7 +2002,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.23beta03, which was
+It was created by libpng $as_me 1.5.23rc01, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2865,7 +2865,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.5.23beta03'
+ VERSION='1.5.23rc01'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2982,7 +2982,7 @@
 
 
 
-PNGLIB_VERSION=1.5.23beta03
+PNGLIB_VERSION=1.5.23rc01
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=23
@@ -14124,7 +14124,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.23beta03, which was
+This file was extended by libpng $as_me 1.5.23rc01, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14190,7 +14190,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.23beta03
+libpng config.status 1.5.23rc01
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 7822009..3dbe444 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.5.23beta03], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.23rc01], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE([1.13 serial-tests subdir-objects])
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.5.23beta03
+PNGLIB_VERSION=1.5.23rc01
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=23
diff --git a/libpng-manual.txt b/libpng-manual.txt
index 189d153..5f049aa 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.23beta03 - July 9, 2015
+ libpng version 1.5.23rc01 - July 9, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.23beta03 - July 9, 2015
+ libpng versions 0.97, January 1998, through 1.5.23rc01 - July 9, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2014 Glenn Randers-Pehrson
 
@@ -4541,7 +4541,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.5.23beta03 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.23rc01 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
diff --git a/libpng.3 b/libpng.3
index 5992271..44b6179 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
 .TH LIBPNG 3 "July 9, 2015"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.23beta03
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.23rc01
 .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.23beta03 - July 9, 2015
+ libpng version 1.5.23rc01 - July 9, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2014 Glenn Randers-Pehrson
@@ -503,7 +503,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.23beta03 - July 9, 2015
+ libpng versions 0.97, January 1998, through 1.5.23rc01 - July 9, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2014 Glenn Randers-Pehrson
 
@@ -5033,7 +5033,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.5.23beta03 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.23rc01 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
@@ -5280,7 +5280,8 @@
  1.5.22beta01-04     15    10522  15.so.15.22[.0]
  1.5.22rc01-04       15    10522  15.so.15.22[.0]
  1.5.22              15    10522  15.so.15.22[.0]
- 1.5.23beta01-03     15    10523  15.so.15.23[.0]
+ 1.5.23beta01-02     15    10523  15.so.15.23[.0]
+ 1.5.23rc01          15    10523  15.so.15.23[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -5337,7 +5338,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.23beta03 - July 9, 2015:
+Libpng version 1.5.23rc01 - July 9, 2015:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -5360,7 +5361,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.5.23beta03, July 9, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.5.23rc01, July 9, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
diff --git a/libpngpf.3 b/libpngpf.3
index 57dc80f..f5741eb 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "June 30, 2015"
+.TH LIBPNGPF 3 "July 9, 2015"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.23beta03
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.23rc01
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"
diff --git a/png.5 b/png.5
index 57bba1a..645030a 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "June 30, 2015"
+.TH PNG 5 "July 9, 2015"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index e37072b..ec47a44 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_23beta03 Your_png_h_is_not_version_1_5_23beta03;
+typedef png_libpng_version_1_5_23rc01 Your_png_h_is_not_version_1_5_23rc01;
 
 /* 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
@@ -648,13 +648,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.5.23beta03 - June 30, 2015" PNG_STRING_NEWLINE \
+     "libpng version 1.5.23rc01 - July 9, 2015" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2015 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.23beta03 - June 30, 2015\
+      return "libpng version 1.5.23rc01 - July 9, 2015\
       Copyright (c) 1998-2015 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 18e69ec..cd544aa 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.23beta03, July 9, 2015
+ * libpng version 1.5.23rc01, July 9, 2015
  *
  * Copyright (c) 1998-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -12,7 +12,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.23beta03, July 9, 2015: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.23rc01, July 9, 2015: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -209,7 +209,8 @@
  *    1.5.22beta01-04         15    10522  15.so.15.22[.0]
  *    1.5.22rc01-04           15    10522  15.so.15.22[.0]
  *    1.5.22                  15    10522  15.so.15.22[.0]
- *    1.5.23beta01-03         15    10523  15.so.15.23[.0]
+ *    1.5.23beta01-02         15    10523  15.so.15.23[.0]
+ *    1.5.23rc01              15    10523  15.so.15.23[.0]
  *
  *   Henceforth the source version will match the shared-library major
  *   and minor numbers; the shared-library major version number will be
@@ -241,7 +242,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.0.7, July 1, 2000, through 1.5.23beta03, July 9, 2015, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.5.23rc01, July 9, 2015, are
  * Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors:
@@ -355,7 +356,7 @@
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.5.23beta03 are Y2K compliant.  It is my belief that
+ *    upward through 1.5.23rc01 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
@@ -416,9 +417,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.5.23beta03"
+#define PNG_LIBPNG_VER_STRING "1.5.23rc01"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.23beta03 - July 9, 2015\n"
+     " libpng version 1.5.23rc01 - July 9, 2015\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -432,7 +433,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  03
+#define PNG_LIBPNG_VER_BUILD  01
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -449,7 +450,7 @@
 #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
                                        PNG_LIBPNG_BUILD_PRIVATE */
 
-#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_BETA
+#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -579,7 +580,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_23beta03;
+typedef char* png_libpng_version_1_5_23rc01;
 
 /* 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 1c79999..cc6105c 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.23beta03, June 30, 2015
+ * libpng version 1.5.23rc01, July 9, 2015
  *
  * 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 4338a9b..3006fc3 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -2025,4 +2025,4 @@
 #endif
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_5_23beta03 Your_png_h_is_not_version_1_5_23beta03;
+typedef png_libpng_version_1_5_23rc01 Your_png_h_is_not_version_1_5_23rc01;
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index d560050..f12172b 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.23beta03 - June 30, 2015
+libpng version 1.5.23rc01 - July 9, 2015
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index b71c383..a06c47f 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.23beta03 - June 30, 2015
+ * libpng version 1.5.23rc01 - July 9, 2015
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index a6c3b52..a4033be 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.5.23beta03 - June 30, 2015
+Makefiles for  libpng version 1.5.23rc01 - July 9, 2015
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng15.so.15.1.5.23beta03)
+                       (gcc, creates libpng15.so.15.1.5.23rc01)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -34,12 +34,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.23beta03)
+                       creates libpng15.so.15.1.5.23rc01)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng15.so.15.1.5.23beta03)
+                       creates libpng15.so.15.1.5.23rc01)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng15.so.15.1.5.23beta03)
+                       creates libpng15.so.15.1.5.23rc01)
  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/def.c b/scripts/def.c
index 1dc4d97..eceaac1 100644
--- a/scripts/def.c
+++ b/scripts/def.c
@@ -21,7 +21,7 @@
 PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
 PNG_DFN ""
 PNG_DFN "EXPORTS"
-PNG_DFN ";Version 1.5.23beta03"
+PNG_DFN ";Version 1.5.23rc01"
 
 #define PNG_EXPORTA(ordinal, type, name, args, attributes)\
         PNG_DFN "@" SYMBOL_PREFIX "@@" name "@"
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index dd58f2b..d6ee5e4 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.5.23beta03
+version=1.5.23rc01
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 26d3aaa..355afb3 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.23beta03
+Version: 1.5.23rc01
 Libs: -L${libdir} -lpng15
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index b0a09c6..c549627 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png15
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.5.23beta03
+SHLIB_MINOR=	1.5.23rc01
 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 2b5b7e3..23bbb42 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.23beta03
+SHLIB_MINOR=	1.5.23rc01
 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 43f2de6..b4f5293 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	15
-SHLIB_MINOR=	1.5.23beta03
+SHLIB_MINOR=	1.5.23rc01
 
 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 ce877c6..4d18325 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -1,7 +1,7 @@
-/* 1.5.23beta03 STANDARD API DEFINITION */
+/* 1.5.23rc01 STANDARD API DEFINITION */
 /* pnglibconf.h - library build configuration */
 
-/* libpng version 1.5.23beta03 - June 30, 2015 */
+/* libpng version 1.5.23rc01 - July 9, 2015 */
 
 /* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
 
diff --git a/scripts/symbols.def b/scripts/symbols.def
index c497d9a..e85bc27 100644
--- a/scripts/symbols.def
+++ b/scripts/symbols.def
@@ -1,4 +1,4 @@
-;Version 1.5.23beta03
+;Version 1.5.23rc01
 ;--------------------------------------------------------------
 ; LIBPNG symbol list as a Win32 DEF file
 ; Contains all the symbols that can be exported from libpng
