diff --git a/ANNOUNCE b/ANNOUNCE
index 7580737..ba16645 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.4.5rc02 - November 20, 2010
+Libpng 1.4.5beta05 - November 20, 2010
 
 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.4.5rc02.tar.xz (LZMA-compressed, recommended)
-   1.4.5rc02.tar.gz
-   1.4.5rc02.tar.bz2
+   1.4.5beta05.tar.xz (LZMA-compressed, recommended)
+   1.4.5beta05.tar.gz
+   1.4.5beta05.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp145r02.zip
-   lp145r02.7z
+   lp145b05.zip
+   lp145b05.7z
 
 Other information:
 
-   1.4.5rc02-README.txt
-   1.4.5rc02-LICENSE.txt
+   1.4.5beta05-README.txt
+   1.4.5beta05-LICENSE.txt
 
 Changes since the last public release (1.4.4):
 
@@ -46,7 +46,7 @@
 version 1.4.5rc01 [November 19, 2010]
   No changes.
 
-version 1.4.5rc02 [November 20, 2010]
+version 1.4.5beta05 [November 20, 2010]
   Removed some extraneous parentheses that appeared in pngrutil.c of
     libpng-1.4.3bet01
   Revised png_get_uint_32, png_get_int_32, png_get_uint_16 (Cosmin)
diff --git a/CHANGES b/CHANGES
index 525068c..f34beba 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2700,7 +2700,7 @@
 version 1.4.5rc01 [November 19, 2010]
   No changes.
 
-version 1.4.5rc02 [November 20, 2010]
+version 1.4.5beta05 [November 20, 2010]
   Removed some extraneous parentheses that appeared in pngrutil.c of
     libpng-1.4.3bet01
   Revised png_get_uint_32, png_get_int_32, png_get_uint_16 (Cosmin)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6ef860..60d48e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -252,7 +252,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#   VERSION 14.${PNGLIB_RELEASE}.1.4.5rc01
+#   VERSION 14.${PNGLIB_RELEASE}.1.4.5beta05
     VERSION 14.${PNGLIB_RELEASE}.0
     SOVERSION 14
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/INSTALL b/INSTALL
index 7920828..ef7306e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.4.5rc01 - November 19, 2010
+Installing libpng version 1.4.5beta05 - November 20, 2010
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -46,7 +46,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.4.5rc01" or "libpng14" and "zlib-1.2.3"
+might be called "libpng-1.4.5beta05" or "libpng14" and "zlib-1.2.3"
 or "zlib123") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
diff --git a/LICENSE b/LICENSE
index 073487d..fa26ec7 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.4.5rc01, November 19, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.5beta05, November 20, 2010, are
 Copyright (c) 2004, 2006-2010 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
-November 19, 2010
+November 20, 2010
diff --git a/README b/README
index 3e0c7c3..a6e2d08 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.4.5rc01 - November 19, 2010 (shared library 14.0)
+README for libpng version 1.4.5beta05 - November 20, 2010 (shared library 14.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -185,9 +185,9 @@
        makefile.std     =>  Generic UNIX makefile (cc, creates static
                             libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            (gcc, creates libpng14.so.14.1.4.5rc01)
+                            (gcc, creates libpng14.so.14.1.4.5beta05)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng14.so.14.1.4.5rc01)
+                            (gcc, creates libpng14.so.14.1.4.5beta05)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
                             ansi2knr (Requires ansi2knr.c from
@@ -209,12 +209,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng14.so.14.1.4.5rc01)
+                            (gcc, creates libpng14.so.14.1.4.5beta05)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng14.so.14.1.4.5rc01)
+                            (gcc, creates libpng14.so.14.1.4.5beta05)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng14.so.14.1.4.5rc01)
+                            (gcc, creates libpng14.so.14.1.4.5beta05)
        makefile.32sunu  =>  Sun Ultra 32-bit makefile
        makefile.64sunu  =>  Sun Ultra 64-bit makefile
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/configure b/configure
index 3dc27ac..99544d8 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.65 for libpng 1.4.5rc01.
+# Generated by GNU Autoconf 2.65 for libpng 1.4.5beta05.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -562,8 +562,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.4.5rc01'
-PACKAGE_STRING='libpng 1.4.5rc01'
+PACKAGE_VERSION='1.4.5beta05'
+PACKAGE_STRING='libpng 1.4.5beta05'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1292,7 +1292,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.4.5rc01 to adapt to many kinds of systems.
+\`configure' configures libpng 1.4.5beta05 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1362,7 +1362,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.4.5rc01:";;
+     short | recursive ) echo "Configuration of libpng 1.4.5beta05:";;
    esac
   cat <<\_ACEOF
 
@@ -1467,7 +1467,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.4.5rc01
+libpng configure 1.4.5beta05
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1892,7 +1892,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.4.5rc01, which was
+It was created by libpng $as_me 1.4.5beta05, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -2700,7 +2700,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.4.5rc01'
+ VERSION='1.4.5beta05'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2764,7 +2764,7 @@
 
 
 
-PNGLIB_VERSION=1.4.5rc01
+PNGLIB_VERSION=1.4.5beta05
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=4
 PNGLIB_RELEASE=5
@@ -12175,7 +12175,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.4.5rc01, which was
+This file was extended by libpng $as_me 1.4.5beta05, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12241,7 +12241,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.4.5rc01
+libpng config.status 1.4.5beta05
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 16ea80d..39ec39e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,14 +16,14 @@
 dnl stamps are correct
 AC_PREREQ(2.59)
 
-AC_INIT([libpng], [1.4.5rc01], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.4.5beta05], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
 dnl Version number stuff here:
 
-PNGLIB_VERSION=1.4.5rc01
+PNGLIB_VERSION=1.4.5beta05
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=4
 PNGLIB_RELEASE=5
diff --git a/contrib/pngminim/decoder/gather.sh b/contrib/pngminim/decoder/gather.sh
index 264564d..4eb1d67 100755
--- a/contrib/pngminim/decoder/gather.sh
+++ b/contrib/pngminim/decoder/gather.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 cp ../../pngminus/png2pnm.c pngm2pnm.c
 cp ../../../*.h .
 cp ../../../*.c .
diff --git a/contrib/pngminim/decoder/gather.sh.orig b/contrib/pngminim/decoder/gather.sh.orig
new file mode 100755
index 0000000..264564d
--- /dev/null
+++ b/contrib/pngminim/decoder/gather.sh.orig
@@ -0,0 +1,8 @@
+cp ../../pngminus/png2pnm.c pngm2pnm.c
+cp ../../../*.h .
+cp ../../../*.c .
+rm example.c pngtest.c pngpread.c pngw*.c
+# change the following 2 lines if zlib is somewhere else
+cp ../../../../zlib/*.h .
+cp ../../../../zlib/*.c .
+rm minigzip.c example.c compress.c deflate.c gz*
diff --git a/contrib/pngminim/encoder/gather.sh b/contrib/pngminim/encoder/gather.sh
index ad4cc03..e9ccffc 100755
--- a/contrib/pngminim/encoder/gather.sh
+++ b/contrib/pngminim/encoder/gather.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 cp ../../pngminus/pnm2png.c pnm2pngm.c
 cp ../../../*.h .
 cp ../../../*.c .
diff --git a/contrib/pngminim/encoder/gather.sh.orig b/contrib/pngminim/encoder/gather.sh.orig
new file mode 100755
index 0000000..ad4cc03
--- /dev/null
+++ b/contrib/pngminim/encoder/gather.sh.orig
@@ -0,0 +1,9 @@
+cp ../../pngminus/pnm2png.c pnm2pngm.c
+cp ../../../*.h .
+cp ../../../*.c .
+rm example.c pngtest.c pngr*.c pngpread.c
+# Change the next 2 lines if zlib is somewhere else.
+cp ../../../../zlib/*.h .
+cp ../../../../zlib/*.c .
+rm inf*.[ch]
+rm uncompr.c minigzip.c example.c gz*
diff --git a/contrib/pngminim/preader/gather.sh b/contrib/pngminim/preader/gather.sh
index 4fe4231..4207af7 100755
--- a/contrib/pngminim/preader/gather.sh
+++ b/contrib/pngminim/preader/gather.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 cp ../../gregbook/rpng2-x.c ../../gregbook/readpng2.[ch] .
 cp ../../gregbook/COPYING ../../gregbook/LICENSE .
 cp ../../../*.h .
diff --git a/contrib/pngminim/preader/gather.sh.orig b/contrib/pngminim/preader/gather.sh.orig
new file mode 100755
index 0000000..4fe4231
--- /dev/null
+++ b/contrib/pngminim/preader/gather.sh.orig
@@ -0,0 +1,9 @@
+cp ../../gregbook/rpng2-x.c ../../gregbook/readpng2.[ch] .
+cp ../../gregbook/COPYING ../../gregbook/LICENSE .
+cp ../../../*.h .
+cp ../../../*.c .
+rm example.c pngtest.c pngw*.c
+# change the following 2 lines if zlib is somewhere else
+cp ../../../../zlib/*.h .
+cp ../../../../zlib/*.c .
+rm minigzip.c example.c compress.c deflate.c gz*
diff --git a/libpng-1.4.5rc01.txt b/libpng-1.4.5beta05.txt
similarity index 99%
rename from libpng-1.4.5rc01.txt
rename to libpng-1.4.5beta05.txt
index ca25092..f42c6cf 100644
--- a/libpng-1.4.5rc01.txt
+++ b/libpng-1.4.5beta05.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.5rc01 - November 19, 2010
+ libpng version 1.4.5beta05 - November 20, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2010 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.4.5rc01 - November 19, 2010
+ libpng versions 0.97, January 1998, through 1.4.5beta05 - November 20, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
@@ -903,7 +903,7 @@
 As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
 added.  It expands the sample depth without changing tRNS to alpha.
 
-As of libpng version 1.4.5rc01, not all possible expansions are supported.
+As of libpng version 1.4.5beta05, not all possible expansions are supported.
 
 In the following table, the 01 means grayscale with depth<8, 31 means
 indexed with depth<8, other numerals represent the color type, "T" means
@@ -3297,13 +3297,13 @@
 
 XIII. Y2K Compliance in libpng
 
-November 19, 2010
+November 20, 2010
 
 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.4.5rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.5beta05 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index c612ada..f650426 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "November 19, 2010"
+.TH LIBPNG 3 "November 20, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.5rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.5beta05
 .SH SYNOPSIS
 \fI\fB
 
@@ -785,7 +785,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.4.5rc01 - November 19, 2010
+ libpng version 1.4.5beta05 - November 20, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2010 Glenn Randers-Pehrson
@@ -796,7 +796,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.4.5rc01 - November 19, 2010
+ libpng versions 0.97, January 1998, through 1.4.5beta05 - November 20, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
@@ -1688,7 +1688,7 @@
 As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was
 added.  It expands the sample depth without changing tRNS to alpha.
 
-As of libpng version 1.4.5rc01, not all possible expansions are supported.
+As of libpng version 1.4.5beta05, not all possible expansions are supported.
 
 In the following table, the 01 means grayscale with depth<8, 31 means
 indexed with depth<8, other numerals represent the color type, "T" means
@@ -4082,13 +4082,13 @@
 
 .SH XIII. Y2K Compliance in libpng
 
-November 19, 2010
+November 20, 2010
 
 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.4.5rc01 are Y2K compliant.  It is my belief that earlier
+upward through 1.4.5beta05 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -4277,6 +4277,7 @@
  1.4.4               14    10404  14.so.14.4[.0]
  1.4.5beta01-04      14    10405  14.so.14.5[.0]
  1.4.5rc01           14    10405  14.so.14.5[.0]
+ 1.4.5beta05         14    10405  14.so.14.5[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -4332,7 +4333,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.4.5rc01 - November 19, 2010:
+Libpng version 1.4.5beta05 - November 20, 2010:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -4355,7 +4356,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.4.5rc01, November 19, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.4.5beta05, November 20, 2010, 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
@@ -4454,7 +4455,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-November 19, 2010
+November 20, 2010
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 4803a37..c917d0c 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "November 19, 2010"
+.TH LIBPNGPF 3 "November 20, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.4.5rc01
+libpng \- Portable Network Graphics (PNG) Reference Library 1.4.5beta05
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index f6796a5..a086ec5 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "November 19, 2010"
+.TH PNG 5 "November 20, 2010"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index d94f324..4e1ca05 100644
--- a/png.c
+++ b/png.c
@@ -17,7 +17,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_5rc01 Your_png_h_is_not_version_1_4_5rc01;
+typedef version_1_4_5beta05 Your_png_h_is_not_version_1_4_5beta05;
 
 /* 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
@@ -547,13 +547,13 @@
 #else
 #ifdef __STDC__
    return ((png_charp) PNG_STRING_NEWLINE \
-     "libpng version 1.4.5rc01 - November 19, 2010" PNG_STRING_NEWLINE \
+     "libpng version 1.4.5beta05 - November 20, 2010" PNG_STRING_NEWLINE \
      "Copyright (c) 1998-2010 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 ((png_charp) "libpng version 1.4.5rc01 - November 19, 2010\
+      return ((png_charp) "libpng version 1.4.5beta05 - November 20, 2010\
       Copyright (c) 1998-2010 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 cea2f5f..297c680 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.4.5rc01 - November 19, 2010
+ * libpng version 1.4.5beta05 - November 20, 2010
  * Copyright (c) 1998-2010 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.4.5rc01 - November 19, 2010: Glenn
+ *  libpng versions 0.97, January 1998, through 1.4.5beta05 - November 20, 2010: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -150,6 +150,7 @@
  *    1.4.4                   14    10404  14.so.14.4[.0]
  *    1.4.5beta01-04          14    10405  14.so.14.5[.0]
  *    1.4.5rc01               14    10405  14.so.14.5[.0]
+ *    1.4.5beta05             14    10405  14.so.14.5[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -181,7 +182,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.4.5rc01, November 19, 2010, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.4.5beta05, November 20, 2010, are
  * Copyright (c) 2004, 2006-2010 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:
@@ -293,13 +294,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    November 19, 2010
+ *    November 20, 2010
  *
  *    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.4.5rc01 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.4.5beta05 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -355,9 +356,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.4.5rc01"
+#define PNG_LIBPNG_VER_STRING "1.4.5beta05"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.4.5rc01 - November 19, 2010\n"
+   " libpng version 1.4.5beta05 - November 20, 2010\n"
 
 #define PNG_LIBPNG_VER_SONUM   14
 #define PNG_LIBPNG_VER_DLLNUM  14
@@ -370,7 +371,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  01
+#define PNG_LIBPNG_VER_BUILD  05
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1479,7 +1480,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef png_structp version_1_4_5rc01;
+typedef png_structp version_1_4_5beta05;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 3e44352..9a8d1a3 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.4.5rc01 - November 19, 2010
+ * libpng version 1.4.5beta05 - November 20, 2010
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpriv.h b/pngpriv.h
index fae87a6..58a5a61 100644
--- a/pngpriv.h
+++ b/pngpriv.h
@@ -1,7 +1,7 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * libpng version 1.4.5rc01 - November 19, 2010
+ * libpng version 1.4.5beta05 - November 20, 2010
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -290,6 +290,9 @@
 PNG_EXTERN void png_write_data PNGARG((png_structp png_ptr, png_bytep data,
    png_size_t length));
 
+/* Read and check the PNG file signature */
+PNG_EXTERN void png_read_sig PNGARG((png_structp png_ptr, png_infop info_ptr));
+
 /* Read the chunk header (length + type name) */
 PNG_EXTERN png_uint_32 png_read_chunk_header PNGARG((png_structp png_ptr));
 
diff --git a/pngset.c b/pngset.c
index 3c8ae7d..8d3f87f 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * Last changed in libpng 1.4.5 [November 19, 2010]
+ * Last changed in libpng 1.4.5 [November 20, 2010]
  * Copyright (c) 1998-2010 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.)
diff --git a/pngtest.c b/pngtest.c
index 4f01d90..5d80f34 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1687,4 +1687,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_4_5rc02 your_png_h_is_not_version_1_4_5rc02;
+typedef version_1_4_5beta05 your_png_h_is_not_version_1_4_5beta05;
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 3cba9cf..9fd2bf7 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.4.5rc01 - November 19, 2010
+libpng version 1.4.5beta05 - November 20, 2010
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 2e2c78b..4029b4a 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source and build
  *
- * libpng version 1.4.5rc01 - November 19, 2010
+ * libpng version 1.4.5beta05 - November 20, 2010
  *
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index 22db4b8..628d1c9 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,8 +1,8 @@
 
-Makefiles for  libpng version 1.4.5rc01 - November 19, 2010
+Makefiles for  libpng version 1.4.5beta05 - November 20, 2010
 
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng14.so.14.1.4.5rc01)
+                       (gcc, creates libpng14.so.14.1.4.5beta05)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -20,7 +20,7 @@
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.dj2      =>  DJGPP 2 makefile
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       (gcc, creates libpng14.so.14.1.4.5rc01)
+                       (gcc, creates libpng14.so.14.1.4.5beta05)
  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 pngos2.def)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng14.so.14.1.4.5rc01)
+                       creates libpng14.so.14.1.4.5beta05)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng14.so.14.1.4.5rc01)
+                       creates libpng14.so.14.1.4.5beta05)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng14.so.14.1.4.5rc01)
+                       creates libpng14.so.14.1.4.5beta05)
  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 298c325..8eb0dc2 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.4.5rc01
+version=1.4.5beta05
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index f777b84..c001eb0 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.4.5rc01
+Version: 1.4.5beta05
 Libs: -L${libdir} -lpng14
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 168a548..bc2d336 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png14
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.5rc01
+SHLIB_MINOR=	1.4.5beta05
 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 8cac243..4c08d07 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.4.5rc01
+SHLIB_MINOR=	1.4.5beta05
 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 8b0cbea..36f55f4 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.4.5rc01
+SHLIB_MINOR=	1.4.5beta05
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/png32ce.def b/scripts/png32ce.def
index 189f358..7d63d8f 100644
--- a/scripts/png32ce.def
+++ b/scripts/png32ce.def
@@ -15,7 +15,7 @@
  png_get_int_32
 
 EXPORTS
-;Version 1.4.5rc01
+;Version 1.4.5beta05
   png_build_grayscale_palette  @1
 ;  png_check_sig        @2
   png_chunk_error      @3
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index ff2d3ee..3e69a66 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.4.5rc01
+; Version 1.4.5beta05
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngwin.def b/scripts/pngwin.def
index 7e8ef9c..0f12532 100644
--- a/scripts/pngwin.def
+++ b/scripts/pngwin.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.4.5rc01
+;Version 1.4.5beta05
   png_build_grayscale_palette
   png_chunk_error
   png_chunk_warning
