diff --git a/ANNOUNCE b/ANNOUNCE
index f5ee358..26304a4 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.11rc2 - June 14, 2006
+Libpng 1.2.11rc3 - June 15, 2006
 
 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,32 +9,32 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.2.11rc2.tar.gz
-   libpng-1.2.11rc2.tar.bz2
+   libpng-1.2.11rc3.tar.gz
+   libpng-1.2.11rc3.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.2.11rc2-no-config.tar.gz
-   libpng-1.2.11rc2-no-config.tar.bz2
+   libpng-1.2.11rc3-no-config.tar.gz
+   libpng-1.2.11rc3-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1211r02.zip
-   lp1211r02.tar.bz2
+   lp1211r03.zip
+   lp1211r03.tar.bz2
 
 Project files
 
-   libpng-1.2.11rc2-project-netware.zip
-   libpng-1.2.11rc2-project-wince.zip
+   libpng-1.2.11rc3-project-netware.zip
+   libpng-1.2.11rc3-project-wince.zip
 
 Other information:
 
-   libpng-1.2.11rc2-README.txt
-   libpng-1.2.11rc2-KNOWNBUGS.txt
-   libpng-1.2.11rc2-LICENSE.txt
-   libpng-1.2.11rc2-Y2K-compliance.txt
+   libpng-1.2.11rc3-README.txt
+   libpng-1.2.11rc3-KNOWNBUGS.txt
+   libpng-1.2.11rc3-LICENSE.txt
+   libpng-1.2.11rc3-Y2K-compliance.txt
 
 Changes since the last public release (1.2.10):
 
@@ -61,7 +61,7 @@
   Allow zero-length IDAT chunks after the entire zlib datastream, but not
     after another intervening chunk type.
 
-version 1.2.11rc1 [June 14, 2006]
+version 1.2.11rc1 [June 13, 2006]
   Deleted extraneous square brackets from [config.h] in configure.ac
 
 version 1.2.11rc2 [June 14, 2006]
@@ -70,6 +70,11 @@
   Fixed typo in several makefiles (-W1 should be -Wl)
   Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
 
+version 1.2.11rc3 [June 15, 2006]
+  Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
+  Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
+    reading out of bounds.
+
 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 c5dfe1d..2dc70b8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1597,6 +1597,11 @@
   Fixed typo in several makefiles (-W1 should be -Wl)
   Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
 
+version 1.2.11rc3 [June 15, 2006]
+  Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
+  Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
+    reading out of bounds.
+
 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/INSTALL b/INSTALL
index 09213c6..87fffd2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.11rc2 - June 14, 2006
+Installing libpng version 1.2.11rc3 - June 15, 2006
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -37,7 +37,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.11rc2" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.11rc3" or "lpng109" and "zlib-1.2.1"
 or "zlib121") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -93,11 +93,11 @@
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.11rc2)
+                       gcc, creates libpng12.so.0.1.2.11rc3)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.11rc2)
+                       (gcc, creates libpng12.so.0.1.2.11rc3)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.11rc2,
+                       (gcc, creates libpng12.so.0.1.2.11rc3,
                        uses assembler code tuned for Intel MMX platform)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
@@ -120,12 +120,12 @@
  makefile.openbsd  =>  OpenBSD makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng12.so.0.1.2.11rc2)
+                       creates libpng12.so.0.1.2.11rc3)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.11rc2)
+                       creates libpng12.so.0.1.2.11rc3)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.11rc2)
+                       creates libpng12.so.0.1.2.11rc3)
  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/KNOWNBUG b/KNOWNBUG
index 0fe288b..4647f00 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.11rc2
+Known bugs in libpng version 1.2.11rc3
 
 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
    reading interlaced PNG files, when assembler code is enabled but running
diff --git a/LICENSE b/LICENSE
index 5eadd20..6d87794 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.11rc2, June 14, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.11rc3, June 15, 2006, are
 Copyright (c) 2004, 2006 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
@@ -106,4 +106,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-June 14, 2006
+June 15, 2006
diff --git a/README b/README
index f9dddad..b70509f 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.11rc2 - June 14, 2006 (shared library 12.0)
+README for libpng version 1.2.11rc3 - June 15, 2006 (shared library 12.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,11 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            gcc, creates libpng12.so.0.1.2.11rc2)
+                            gcc, creates libpng12.so.0.1.2.11rc3)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.11rc2)
+                            (gcc, creates libpng12.so.0.1.2.11rc3)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.11rc2,
+                            (gcc, creates libpng12.so.0.1.2.11rc3,
                             uses assembler code tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -216,12 +216,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng12.so.0.1.2.11rc2)
+                            (gcc, creates libpng12.so.0.1.2.11rc3)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.11rc2)
+                            (gcc, creates libpng12.so.0.1.2.11rc3)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.11rc2)
+                            (gcc, creates libpng12.so.0.1.2.11rc3)
        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/Y2KINFO b/Y2KINFO
index 7e6ea37..814c8a9 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      June 14, 2006
+      June 15, 2006
 
       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.2.11rc2 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.11rc3 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
diff --git a/configure b/configure
index 0786c5b..9411055 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.59 for libpng 1.2.11rc2.
+# Generated by GNU Autoconf 2.59 for libpng 1.2.11rc3.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -423,8 +423,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.11rc2'
-PACKAGE_STRING='libpng 1.2.11rc2'
+PACKAGE_VERSION='1.2.11rc3'
+PACKAGE_STRING='libpng 1.2.11rc3'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -954,7 +954,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.2.11rc2 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.11rc3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.11rc2:";;
+     short | recursive ) echo "Configuration of libpng 1.2.11rc3:";;
    esac
   cat <<\_ACEOF
 
@@ -1167,7 +1167,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.11rc2
+libpng configure 1.2.11rc3
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1181,7 +1181,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.2.11rc2, which was
+It was created by libpng $as_me 1.2.11rc3, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1824,7 +1824,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.11rc2'
+ VERSION='1.2.11rc3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1979,7 +1979,7 @@
 
 
 
-PNGLIB_VERSION=1.2.11rc2
+PNGLIB_VERSION=1.2.11rc3
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=11
 
@@ -20681,7 +20681,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libpng $as_me 1.2.11rc2, which was
+This file was extended by libpng $as_me 1.2.11rc3, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20744,7 +20744,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.11rc2
+libpng config.status 1.2.11rc3
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index 7f6afe9..30ad396 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.11rc2], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.11rc3], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.11rc2
+PNGLIB_VERSION=1.2.11rc3
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=11
 
diff --git a/libpng.3 b/libpng.3
index 8e7d997..d044f60 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "June 14, 2006"
+.TH LIBPNG 3 "June 15, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11rc2
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11rc3
 .SH SYNOPSIS
 \fI\fB
 
@@ -821,7 +821,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.11rc2 - June 14, 2006
+ libpng version 1.2.11rc3 - June 15, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -3738,13 +3738,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-June 14, 2006
+June 15, 2006
 
 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.2.11rc2 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.11rc3 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
@@ -3905,8 +3905,8 @@
  1.2.10rc1-3         13    10210  12.so.0.10[.0]
  1.2.10              13    10210  12.so.0.10[.0]
  1.2.11beta1-4       13    10211  12.so.0.11[.0]
- 1.0.19rc1-2         10    10019  10.so.0.19[.0]
- 1.2.11rc1-2         13    10211  12.so.0.11[.0]
+ 1.0.19rc1-3         10    10019  10.so.0.19[.0]
+ 1.2.11rc1-3         13    10211  12.so.0.11[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3962,7 +3962,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.11rc2 - June 14, 2006:
+Libpng version 1.2.11rc3 - June 15, 2006:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -3983,7 +3983,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.11rc2, June 14, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.11rc3, June 15, 2006, are
 Copyright (c) 2004-2006 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
@@ -4082,7 +4082,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-June 14, 2006
+June 15, 2006
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index 2675403..1254446 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.11rc2 - June 14, 2006
+ libpng version 1.2.11rc3 - June 15, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -2917,13 +2917,13 @@
 
 IX. Y2K Compliance in libpng
 
-June 14, 2006
+June 15, 2006
 
 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.2.11rc2 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.11rc3 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/libpngpf.3 b/libpngpf.3
index 2720e6f..2aa382c 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "June 14, 2006"
+.TH LIBPNGPF 3 "June 15, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11rc2
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.11rc3
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index bf6052d..ae1b279 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "June 14, 2006"
+.TH PNG 5 "June 15, 2006"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 2c07662..44be047 100644
--- a/png.c
+++ b/png.c
@@ -13,7 +13,7 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_11rc2 Your_png_h_is_not_version_1_2_11rc2;
+typedef version_1_2_11rc3 Your_png_h_is_not_version_1_2_11rc3;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -693,7 +693,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (&png_ptr != NULL)  /* silence compiler warning about unused png_ptr */
-   return ((png_charp) "\n libpng version 1.2.11rc2 - June 14, 2006\n\
+   return ((png_charp) "\n libpng version 1.2.11rc3 - June 15, 2006\n\
    Copyright (c) 1998-2006 Glenn Randers-Pehrson\n\
    Copyright (c) 1996-1997 Andreas Dilger\n\
    Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
diff --git a/png.h b/png.h
index 879036e..61d78e3 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.11rc2 - June 14, 2006
+ * libpng version 1.2.11rc3 - June 15, 2006
  * Copyright (c) 1998-2006 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.)
@@ -9,7 +9,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.2.11rc2 - June 14, 2006: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.11rc3 - June 15, 2006: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -120,8 +120,8 @@
  *    1.2.10rc1-3             13    10210  12.so.0.10[.0]
  *    1.2.10                  13    10210  12.so.0.10[.0]
  *    1.2.11beta1-4           13    10211  12.so.0.11[.0]
- *    1.0.19rc1-2             10    10019  10.so.0.19[.0]
- *    1.2.11rc1-2             13    10211  12.so.0.11[.0]
+ *    1.0.19rc1-3             10    10019  10.so.0.19[.0]
+ *    1.2.11rc1-3             13    10211  12.so.0.11[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -151,7 +151,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.2.11rc2, June 14, 2006, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.11rc3, June 15, 2006, are
  * Copyright (c) 2004, 2006 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:
@@ -263,13 +263,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    June 14, 2006
+ *    June 15, 2006
  *
  *    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.2.11rc2 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.11rc3 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
@@ -325,9 +325,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.11rc2"
+#define PNG_LIBPNG_VER_STRING "1.2.11rc3"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.11rc2 - June 14, 2006 (header)\n"
+   " libpng version 1.2.11rc3 - June 15, 2006 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -339,7 +339,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  2
+#define PNG_LIBPNG_VER_BUILD  3
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1369,7 +1369,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_2_11rc2;
+typedef png_structp version_1_2_11rc3;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 306f7ff..83e2c86 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.11rc2 - June 14, 2006
+ * libpng version 1.2.11rc3 - June 15, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2005 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -37,6 +37,11 @@
 #endif
 #endif
 
+/* Added at libpng-1.4.0 */
+#ifndef PNG_NO_LIMITS_H
+#include <limits.h>
+#endif
+
 /*
  * Added at libpng-1.2.8
  *  
@@ -1082,7 +1087,7 @@
  * want to have unsigned int for png_uint_32 instead of unsigned long.
  */
 
-#if (__WORDSIZE == 64) || defined(_LP64) || (_MIPS_SZLONG == 64)
+#if defined(INT_MAX) && (INT_MAX > 0x7ffffffeL)
 typedef unsigned int png_uint_32;
 typedef int png_int_32;
 #else
diff --git a/pngrtran.c b/pngrtran.c
index 8b58080..bd1f597 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.2.9 April 14, 2006
+ * Last changed in libpng 1.2.11 June 15, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -3938,7 +3938,7 @@
 #ifdef PNG_FLOATING_POINT_SUPPORTED
 #if defined(PNG_READ_GAMMA_SUPPORTED)
 static int png_gamma_shift[] =
-   {0x10, 0x21, 0x42, 0x84, 0x110, 0x248, 0x550, 0xff0};
+   {0x10, 0x21, 0x42, 0x84, 0x110, 0x248, 0x550, 0xff0, 0x00};
 
 /* We build the 8- or 16-bit gamma tables here.  Note that for 16-bit
  * tables, we don't make a full table if we are reducing to 8-bit in
diff --git a/pngtest.c b/pngtest.c
index 3f02f1c..bba4074 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1549,4 +1549,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_11rc2 your_png_h_is_not_version_1_2_11rc2;
+typedef version_1_2_11rc3 your_png_h_is_not_version_1_2_11rc3;
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 7f6119e..472f163 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.11rc2
+version=1.2.11rc3
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 0ad376a..74e0ec3 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.2.11rc2
+Version: 1.2.11rc3
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index da64fad..6c11d4e 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index a1e21f6..d09c37e 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 742f28d..e8cc918 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index e5f2f31..2aaf435 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index c398481..fcd3d9a 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -80,7 +80,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 456c7b5..774ac0d 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 31512f8..fedab51 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index fa83425..7e3294d 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index da8f592..394ffe2 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 3661724..f945c3f 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 178c4a2..fa50d1f 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index ed5296b..9b3473c 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 5c4a20f..826faa3 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index fd936e5..7409f5c 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -76,7 +76,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index fafb38f..e4a837c 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.11rc2
+SHLIB_MINOR=	1.2.11rc3
 SRCS=	pnggccrd.c 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 fb4c1d6..48bdc36 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.11rc2
+SHLIB_MINOR=	1.2.11rc3
 SRCS=	pnggccrd.c 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 2cf3d39..1806b37 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.11rc2
+SHLIB_MINOR=	1.2.11rc3
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 7407b83..417b1ba 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index e035aa0..81686a1 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index 0a2c83d..bcec659 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 5e68211..8ab6eb9 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index bd64cde..1c2f56e 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.11rc2
+PNGMIN = 1.2.11rc3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index b8c69bc..ddb2ad1 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.11rc2
+; Version 1.2.11rc3
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 0a437e9..e38bf8c 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.11rc2
+;Version 1.2.11rc3
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
