diff --git a/ANNOUNCE b/ANNOUNCE
index 093dcaa..feeea8d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.5.0beta24 - May 7, 2010
+Libpng 1.5.0beta25 - June 18, 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.5.0beta24.tar.xz (LZMA-compressed, recommended)
-   1.5.0beta24.tar.gz
-   1.5.0beta24.tar.bz2
+   1.5.0beta25.tar.xz (LZMA-compressed, recommended)
+   1.5.0beta25.tar.gz
+   1.5.0beta25.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp150b24.zip
-   lp150b24.7z
+   lp150b25.zip
+   lp150b25.7z
 
 Other information:
 
-   1.5.0beta24-README.txt
-   1.5.0beta24-LICENSE.txt
+   1.5.0beta25-README.txt
+   1.5.0beta25-LICENSE.txt
 
 Changes since the last public release (1.4.1):
 
@@ -225,6 +225,10 @@
     offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
   Added more blank lines for readability.
 
+version 1.5.0beta25 [June 18, 2010]
+  In pngpread.c: png_push_have_row() add check for new_row > height
+  Removed the now-redundant check for out-of-bounds new_row from example.c
+
 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 b68a3b5..519b692 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1672,7 +1672,7 @@
   Added scripts/makefile.nommx
 
 version 1.2.15rc3 [December 25, 2006]
-  Fixed shared library numbering error that was intruduced in 1.2.15beta6.
+  Fixed shared library numbering error that was introduced in 1.2.15beta6.
 
 version 1.2.15rc4 [December 27, 2006]
   Fixed handling of rgb_to_gray when png_ptr->color.gray isn't set.
@@ -2125,7 +2125,7 @@
   Removed pngprefs.h and MMX from makefiles
 
 version 1.4.0beta58 [May 14, 2009]
-  Changed pngw32.def to pngwin.def in makefile.mingw (typo was intruduced
+  Changed pngw32.def to pngwin.def in makefile.mingw (typo was introduced
     in beta57).
   Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri)
 
@@ -2707,6 +2707,10 @@
     offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
   Added more blank lines for readability.
 
+version 1.5.0beta25 [June 18, 2010]
+  In pngpread.c: png_push_have_row() add check for new_row > height
+  Removed the now-redundant check for out-of-bounds new_row from example.c
+
 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 c28cd5d..4dd0a94 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,7 +207,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#   VERSION 15.${PNGLIB_RELEASE}.1.5.0beta24
+#   VERSION 15.${PNGLIB_RELEASE}.1.5.0beta25
     VERSION 15.${PNGLIB_RELEASE}.0
     SOVERSION 15
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/INSTALL b/INSTALL
index e97019b..1fc78a3 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.5.0beta24 - May 7, 2010
+Installing libpng version 1.5.0beta25 - June 18, 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.5.0beta24" or "libpng15" and "zlib-1.2.3"
+might be called "libpng-1.5.0beta25" or "libpng15" 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 eab41d5..dce74fb 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.0beta24, May 7, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.0beta25, June 18, 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
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 7, 2010
+June 18, 2010
diff --git a/README b/README
index 3d9b3f5..fe58a46 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.5.0beta24 - May 7, 2010 (shared library 15.0)
+README for libpng version 1.5.0beta25 - June 18, 2010 (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 0f903de..64a5b55 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.5.0beta24.
+# Generated by GNU Autoconf 2.65 for libpng 1.5.0beta25.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -701,8 +701,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.5.0beta24'
-PACKAGE_STRING='libpng 1.5.0beta24'
+PACKAGE_VERSION='1.5.0beta25'
+PACKAGE_STRING='libpng 1.5.0beta25'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1432,7 +1432,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.0beta24 to adapt to many kinds of systems.
+\`configure' configures libpng 1.5.0beta25 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1502,7 +1502,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.5.0beta24:";;
+     short | recursive ) echo "Configuration of libpng 1.5.0beta25:";;
    esac
   cat <<\_ACEOF
 
@@ -1607,7 +1607,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.5.0beta24
+libpng configure 1.5.0beta25
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2032,7 +2032,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.0beta24, which was
+It was created by libpng $as_me 1.5.0beta25, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -2840,7 +2840,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.5.0beta24'
+ VERSION='1.5.0beta25'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2904,7 +2904,7 @@
 
 
 
-PNGLIB_VERSION=1.5.0beta24
+PNGLIB_VERSION=1.5.0beta25
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=0
@@ -12119,7 +12119,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.0beta24, which was
+This file was extended by libpng $as_me 1.5.0beta25, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12185,7 +12185,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.0beta24
+libpng config.status 1.5.0beta25
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index e28aaef..438f1dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.5.0beta24], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.5.0beta25], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.5.0beta24
+PNGLIB_VERSION=1.5.0beta25
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=5
 PNGLIB_RELEASE=0
diff --git a/contrib/pngsuite/README b/contrib/pngsuite/README
index 714d12c..f321e48 100644
--- a/contrib/pngsuite/README
+++ b/contrib/pngsuite/README
@@ -6,34 +6,51 @@
 Permission to use, copy, and distribute these images for any purpose and
 without fee is hereby granted.
 
-These 15 images are part of the much larger PngSuite test-set of 
+The 15 "bas*.png" images are part of the much larger PngSuite test-set of 
 images, available for developers of PNG supporting software. The 
 complete set, available at http:/www.schaik.com/pngsuite/, contains 
 a variety of images to test interlacing, gamma settings, ancillary
 chunks, etc.
 
+The "ft*.png" images are "free/libre" replacements for the transparent
+corresponding t*.png images in the PngSuite.
+
 The images in this directory represent the basic PNG color-types:
 grayscale (1-16 bit deep), full color (8 or 16 bit), paletted
 (1-8 bit) and grayscale or color images with alpha channel. You
 can use them to test the proper functioning of PNG software.
 
-    filename      depth type
+    filename       depth type
     ------------ ------ --------------
-    basn0g01.png  1-bit grayscale
-    basn0g02.png  2-bit grayscale
-    basn0g04.png  4-bit grayscale
-    basn0g08.png  8-bit grayscale
-    basn0g16.png 16-bit grayscale
-    basn2c08.png  8-bit truecolor
-    basn2c16.png 16-bit truecolor
-    basn3p01.png  1-bit paletted
-    basn3p02.png  2-bit paletted
-    basn3p04.png  4-bit paletted
-    basn3p08.png  8-bit paletted
-    basn4a08.png  8-bit gray with alpha
-    basn4a16.png 16-bit gray with alpha
-    basn6a08.png  8-bit RGBA
-    basn6a16.png 16-bit RGBA
+    basn0g01.png   1-bit grayscale
+    basn0g02.png   2-bit grayscale
+    basn0g04.png   4-bit grayscale
+    basn0g08.png   8-bit grayscale
+    basn0g16.png  16-bit grayscale
+    basn2c08.png   8-bit truecolor
+    basn2c16.png  16-bit truecolor
+    basn3p01.png   1-bit paletted
+    basn3p02.png   2-bit paletted
+    basn3p04.png   4-bit paletted
+    basn3p08.png   8-bit paletted
+    basn4a08.png   8-bit gray with alpha
+    basn4a16.png  16-bit gray with alpha
+    basn6a08.png   8-bit RGBA
+    basn6a16.png  16-bit RGBA
+
+    ftbbn0g04.png  4-bit grayscale, black bKGD
+    ftbbn2c16.png 16-bit truecolor, black bKGD
+    ftbbn3p08.png  8-bit paletted, black bKGD
+    ftbgn2c16.png 16-bit truecolor, gray bKGD
+    ftbgn3p08.png  8-bit paletted, gray bKGD
+    ftbrn2c08.png  8-bit truecolor, red bKGD
+    ftbwn0g16.png 16-bit gray, white bKGD
+    ftbwn3p08.png  8-bit paletted, white bKGD
+    ftbyn3p08.png  8-bit paletted, yellow bKGD
+    ftp0n0g08.png  8-bit grayscale, opaque
+    ftp0n2c08.png  8-bit truecolor, opaque 
+    ftp0n3p08.png  8-bit paletted, opaque
+    ftp1n3p08.png  8-bit paletted, no bKGD
 
 Here is the correct result of typing "pngtest -m *.png" in
 this directory:
diff --git a/contrib/pngsuite/ftbbn1g04.png b/contrib/pngsuite/ftbbn1g04.png
new file mode 100644
index 0000000..39a7050
--- /dev/null
+++ b/contrib/pngsuite/ftbbn1g04.png
Binary files differ
diff --git a/contrib/pngsuite/ftbbn2c16.png b/contrib/pngsuite/ftbbn2c16.png
new file mode 100644
index 0000000..dd3168e
--- /dev/null
+++ b/contrib/pngsuite/ftbbn2c16.png
Binary files differ
diff --git a/contrib/pngsuite/ftbbn3p08.png b/contrib/pngsuite/ftbbn3p08.png
new file mode 100644
index 0000000..0ede357
--- /dev/null
+++ b/contrib/pngsuite/ftbbn3p08.png
Binary files differ
diff --git a/contrib/pngsuite/ftbgn2c16.png b/contrib/pngsuite/ftbgn2c16.png
new file mode 100644
index 0000000..85cec39
--- /dev/null
+++ b/contrib/pngsuite/ftbgn2c16.png
Binary files differ
diff --git a/contrib/pngsuite/ftbgn3p08.png b/contrib/pngsuite/ftbgn3p08.png
new file mode 100644
index 0000000..8cf2e6f
--- /dev/null
+++ b/contrib/pngsuite/ftbgn3p08.png
Binary files differ
diff --git a/contrib/pngsuite/ftbrn2c08.png b/contrib/pngsuite/ftbrn2c08.png
new file mode 100644
index 0000000..5cca0d6
--- /dev/null
+++ b/contrib/pngsuite/ftbrn2c08.png
Binary files differ
diff --git a/contrib/pngsuite/ftbwn1g16.png b/contrib/pngsuite/ftbwn1g16.png
new file mode 100644
index 0000000..99bdeed
--- /dev/null
+++ b/contrib/pngsuite/ftbwn1g16.png
Binary files differ
diff --git a/contrib/pngsuite/ftbwn3p08.png b/contrib/pngsuite/ftbwn3p08.png
new file mode 100644
index 0000000..eacab7a
--- /dev/null
+++ b/contrib/pngsuite/ftbwn3p08.png
Binary files differ
diff --git a/contrib/pngsuite/ftbyn3p08.png b/contrib/pngsuite/ftbyn3p08.png
new file mode 100644
index 0000000..656db09
--- /dev/null
+++ b/contrib/pngsuite/ftbyn3p08.png
Binary files differ
diff --git a/contrib/pngsuite/ftp0n1g08.png b/contrib/pngsuite/ftp0n1g08.png
new file mode 100644
index 0000000..333465f
--- /dev/null
+++ b/contrib/pngsuite/ftp0n1g08.png
Binary files differ
diff --git a/contrib/pngsuite/ftp0n2c08.png b/contrib/pngsuite/ftp0n2c08.png
new file mode 100644
index 0000000..fc6e42c
--- /dev/null
+++ b/contrib/pngsuite/ftp0n2c08.png
Binary files differ
diff --git a/contrib/pngsuite/ftp0n3p08.png b/contrib/pngsuite/ftp0n3p08.png
new file mode 100644
index 0000000..69a69e5
--- /dev/null
+++ b/contrib/pngsuite/ftp0n3p08.png
Binary files differ
diff --git a/contrib/pngsuite/ftp1n3p08.png b/contrib/pngsuite/ftp1n3p08.png
new file mode 100644
index 0000000..a6c9f35
--- /dev/null
+++ b/contrib/pngsuite/ftp1n3p08.png
Binary files differ
diff --git a/example.c b/example.c
index 2674761..f7f9e39 100644
--- a/example.c
+++ b/example.c
@@ -2,7 +2,7 @@
 #if 0 /* in case someone actually tries to compile this */
 
 /* example.c - an example of using libpng
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 2010]
  * This file has been placed in the public domain by the authors.
  * Maintained 1998-2010 Glenn Randers-Pehrson
  * Maintained 1996, 1997 Andreas Dilger)
@@ -511,20 +511,17 @@
     * shown below:
     */
 
-   /* Check if row_num is in bounds. */
-   if ((row_num >= 0) && (row_num < height))
-   {
-     /* Get pointer to corresponding row in our
-      * PNG read buffer.
-      */
-     png_bytep old_row = ((png_bytep *)our_data)[row_num];
+   /* Get pointer to corresponding row in our
+    * PNG read buffer.
+    */
+   png_bytep old_row = ((png_bytep *)our_data)[row_num];
 
-     /* If both rows are allocated then copy the new row
-      * data to the corresponding row data.
-      */
-     if ((old_row != NULL) && (new_row != NULL))
-     png_progressive_combine_row(png_ptr, old_row, new_row);
-   }
+   /* If both rows are allocated then copy the new row
+    * data to the corresponding row data.
+    */
+   if ((old_row != NULL) && (new_row != NULL))
+   png_progressive_combine_row(png_ptr, old_row, new_row);
+
    /*
     * The rows and passes are called in order, so you don't really
     * need the row_num and pass, but I'm supplying them because it
diff --git a/libpng-1.5.0beta24.txt b/libpng-1.5.0beta25.txt
similarity index 99%
rename from libpng-1.5.0beta24.txt
rename to libpng-1.5.0beta25.txt
index ee7926f..d52153d 100644
--- a/libpng-1.5.0beta24.txt
+++ b/libpng-1.5.0beta25.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.5.0beta24 - May 7, 2010
+ libpng version 1.5.0beta25 - June 18, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.0beta24 - May 7, 2010
+ libpng versions 0.97, January 1998, through 1.5.0beta25 - June 18, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
 
@@ -906,7 +906,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.5.0beta24, not all possible expansions are supported.
+As of libpng version 1.5.0beta25, 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
@@ -3301,13 +3301,13 @@
 
 XIII. Y2K Compliance in libpng
 
-May 7, 2010
+June 18, 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.5.0beta24 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.0beta25 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 647b5b1..5db6b1d 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "May 7, 2010"
+.TH LIBPNG 3 "June 18, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta24
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta25
 .SH SYNOPSIS
 \fI\fB
 
@@ -789,7 +789,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.5.0beta24 - May 7, 2010
+ libpng version 1.5.0beta25 - June 18, 2010
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
@@ -800,7 +800,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.5.0beta24 - May 7, 2010
+ libpng versions 0.97, January 1998, through 1.5.0beta25 - June 18, 2010
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2009 Glenn Randers-Pehrson
 
@@ -1695,7 +1695,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.5.0beta24, not all possible expansions are supported.
+As of libpng version 1.5.0beta25, 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
@@ -4090,13 +4090,13 @@
 
 .SH XIII. Y2K Compliance in libpng
 
-May 7, 2010
+June 18, 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.5.0beta24 are Y2K compliant.  It is my belief that earlier
+upward through 1.5.0beta25 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
@@ -4273,7 +4273,7 @@
  1.4.1rc01           14    10401  14.so.14.1[.0]
  1.4.1beta04-12      14    10401  14.so.14.1[.0]
  1.4.1               14    10401  14.so.14.1[.0]
- 1.5.0beta01-23      15    10500  15.so.15.1[.0]
+ 1.5.0beta01-25      15    10500  15.so.15.1[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -4330,7 +4330,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.5.0beta24 - May 7, 2010:
+Libpng version 1.5.0beta25 - June 18, 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).
 
@@ -4353,7 +4353,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.0beta24, May 7, 2010, are
+libpng versions 1.2.6, August 15, 2004, through 1.5.0beta25, June 18, 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
@@ -4452,7 +4452,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 7, 2010
+June 18, 2010
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index c8c8765..7d66aed 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "May 7, 2010"
+.TH LIBPNGPF 3 "June 18, 2010"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta24
+libpng \- Portable Network Graphics (PNG) Reference Library 1.5.0beta25
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"
diff --git a/png.5 b/png.5
index a564ad6..b9f3d4f 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 7, 2010"
+.TH PNG 5 "June 18, 2010"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 0f571ca..48e3088 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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.)
@@ -14,7 +14,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_5_0beta24 Your_png_h_is_not_version_1_5_0beta24;
+typedef version_1_5_0beta25 Your_png_h_is_not_version_1_5_0beta25;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.
@@ -560,13 +560,13 @@
 #else
 #  ifdef __STDC__
    return ((png_charp) PNG_STRING_NEWLINE \
-     "libpng version 1.5.0beta24 - May 7, 2010" PNG_STRING_NEWLINE \
+     "libpng version 1.5.0beta25 - June 18, 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.5.0beta24 - May 7, 2010\
+      return ((png_charp) "libpng version 1.5.0beta25 - June 18, 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 079a412..e1d18ce 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.5.0beta24 - May 7, 2010
+ * libpng version 1.5.0beta25 - June 18, 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.5.0beta24 - May 7, 2010: Glenn
+ *   libpng versions 0.97, January 1998, through 1.5.0beta25 - June 18, 2010: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -138,7 +138,7 @@
  *    1.4.1rc01               14    10401  14.so.14.1[.0]
  *    1.4.1beta04-12          14    10401  14.so.14.1[.0]
  *    1.4.1                   14    10401  14.so.14.1[.0]
- *    1.5.0beta01-23          15    10500  15.so.15.0[.0]
+ *    1.5.0beta01-25          15    10500  15.so.15.0[.0]
  *
  *   Henceforth the source version will match the shared-library major
  *   and minor numbers; the shared-library major version number will be
@@ -170,7 +170,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta24, May 7, 2010, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.5.0beta25, June 18, 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:
@@ -242,8 +242,8 @@
  *
  *   1. The origin of this source code must not be misrepresented.
  *
- *   2. Altered versions must be plainly marked as such and
- *   must not be misrepresented as being the original source.
+ *   2. Altered versions must be plainly marked as such and must not
+ *      be misrepresented as being the original source.
  *
  *   3. This Copyright notice may not be removed or altered from
  *      any source or altered source distribution.
@@ -282,13 +282,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 7, 2010
+ *    June 18, 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.5.0beta24 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.5.0beta25 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
@@ -344,9 +344,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.5.0beta24"
+#define PNG_LIBPNG_VER_STRING "1.5.0beta25"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.5.0beta24 - May 7, 2010\n"
+     " libpng version 1.5.0beta25 - June 18, 2010\n"
 
 #define PNG_LIBPNG_VER_SONUM   15
 #define PNG_LIBPNG_VER_DLLNUM  15
@@ -359,7 +359,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  24
+#define PNG_LIBPNG_VER_BUILD  25
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -834,7 +834,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_5_0beta24;
+typedef png_structp version_1_5_0beta25;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 2da3e9b..524ad7c 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.5.0beta24 - May 7, 2010
+ * libpng version 1.5.0beta25 - June 18, 2010
  *
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngdebug.h b/pngdebug.h
index b10ce4b..80be8a4 100644
--- a/pngdebug.h
+++ b/pngdebug.h
@@ -5,7 +5,7 @@
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
- * Last changed in libpng version 1.5.0 - May 7, 2010
+ * Last changed in libpng version 1.5.0 - June 18, 2010
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
@@ -34,7 +34,7 @@
  */
 #ifndef PNGDEBUG_H
 #define PNGDEBUG_H
-/* These settings control the formatting of messages in pngerror.c */
+/* These settings control the formatting of messages in png.c and pngerror.c */
 /* Moved to pngdebug.h at 1.5.0 */
 #  ifndef PNG_LITERAL_SHARP
 #    define PNG_LITERAL_SHARP 0x23
diff --git a/pngerror.c b/pngerror.c
index 1552830..39e6331 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngget.c b/pngget.c
index 6a00a90..2a88ac4 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * Last changed in libpng 1.4.1 [May 7, 2010]
+ * Last changed in libpng 1.4.1 [June 18, 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/pnginfo.h b/pnginfo.h
index 7840a8c..c938411 100644
--- a/pnginfo.h
+++ b/pnginfo.h
@@ -5,7 +5,7 @@
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
- * Last changed in libpng version 1.5.0 - May 7, 2010
+ * Last changed in libpng version 1.5.0 - June 18, 2010
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/pngmem.c b/pngmem.c
index 8840be0..54534eb 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngpread.c b/pngpread.c
index abfff13..b66b84b 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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.)
@@ -1693,7 +1693,7 @@
 void /* PRIVATE */
 png_push_have_row(png_structp png_ptr, png_bytep row)
 {
-   if (png_ptr->row_fn != NULL)
+   if (png_ptr->row_fn != NULL && png_ptr->row_number < png_ptr->height)
       (*(png_ptr->row_fn))(png_ptr, row, png_ptr->row_number,
          (int)png_ptr->pass);
 }
diff --git a/pngpriv.h b/pngpriv.h
index f70b527..a45e171 100644
--- a/pngpriv.h
+++ b/pngpriv.h
@@ -1,7 +1,7 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * libpng version 1.5.0beta24 - May 7, 2010
+ * libpng version 1.5.0beta25 - June 18, 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/pngread.c b/pngread.c
index b0d5c36..7353efa 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngrio.c b/pngrio.c
index 1a637c2..b5c5663 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngrtran.c b/pngrtran.c
index 29071a3..5802592 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.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngrutil.c b/pngrutil.c
index f59485a..972e6c6 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.4.1 [May 7, 2010]
+ * Last changed in libpng 1.4.1 [June 18, 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/pngset.c b/pngset.c
index 9347710..b7f8e76 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.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngstruct.h b/pngstruct.h
index e7b7760..99a748e 100644
--- a/pngstruct.h
+++ b/pngstruct.h
@@ -5,7 +5,7 @@
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  *
- * Last changed in libpng version 1.5.0 - May 7, 2010
+ * Last changed in libpng version 1.5.0 - June 18, 2010
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/pngtest.c b/pngtest.c
index 2e9f713..ff286d6 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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.)
@@ -1716,4 +1716,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_5_0beta24 your_png_h_is_not_version_1_5_0beta24;
+typedef version_1_5_0beta25 your_png_h_is_not_version_1_5_0beta25;
diff --git a/pngtrans.c b/pngtrans.c
index 59cbe61..233c67a 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngwio.c b/pngwio.c
index 0a754d8..4fd81e5 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngwrite.c b/pngwrite.c
index b7a157c..69a75d2 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngwtran.c b/pngwtran.c
index 5827218..00d3e61 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/pngwutil.c b/pngwutil.c
index cd4e36a..7fff36e 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.5.0 [May 7, 2010]
+ * Last changed in libpng 1.5.0 [June 18, 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/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index 0592992..ac0cb7e 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.5.0beta24 - May 7, 2010
+libpng version 1.5.0beta25 - June 18, 2010
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 8870b7c..a7c360f 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.5.0beta24 - May 7, 2010
+ * libpng version 1.5.0beta25 - June 18, 2010
  *
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index e4f466a..901fad1 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.5.0beta24 - May 7, 2010
+Makefiles for  libpng version 1.5.0beta25 - June 18, 2010
 
 pnglibconf.h       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng15.so.15.1.5.0beta24)
+                       (gcc, creates libpng15.so.15.1.5.0beta25)
  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 libpng15.so.15.1.5.0beta24)
+                       gcc, creates libpng15.so.15.1.5.0beta25)
  makefile.freebsd  =>  FreeBSD makefile
  makefile.gcc      =>  Generic gcc makefile
  makefile.hpgcc    =>  HPUX makefile using gcc
@@ -35,12 +35,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.0beta24)
+                       creates libpng15.so.15.1.5.0beta25)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng15.so.15.1.5.0beta24)
+                       creates libpng15.so.15.1.5.0beta25)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng15.so.15.1.5.0beta24)
+                       creates libpng15.so.15.1.5.0beta25)
  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 dcf32b7..979b150 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.5.0beta24
+version=1.5.0beta25
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 02abbd4..5f622de 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.0beta24
+Version: 1.5.0beta25
 Libs: -L${libdir} -lpng15
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 4b38733..0a8ca85 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png15
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.5.0beta24
+SHLIB_MINOR=	1.5.0beta25
 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 b7a4fc8..62c7c3d 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.5.0beta24
+SHLIB_MINOR=	1.5.0beta25
 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 bd3d1b0..b5a546f 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.5.0beta24
+SHLIB_MINOR=	1.5.0beta25
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/options.awk b/scripts/options.awk
index dcffbdb..f1580cc 100755
--- a/scripts/options.awk
+++ b/scripts/options.awk
@@ -1,7 +1,7 @@
 #!/bin/awk -f
 # scripts/options.awk - library build configuration control
 #
-# last changed in libpng version 1.5.0 - May 7, 2010
+# last changed in libpng version 1.5.0 - June 18, 2010
 #
 # Copyright (c) 1998-2010 Glenn Randers-Pehrson
 #
diff --git a/scripts/pnglibconf.dfa b/scripts/pnglibconf.dfa
index 3d53b27..1f70954 100644
--- a/scripts/pnglibconf.dfa
+++ b/scripts/pnglibconf.dfa
@@ -6,7 +6,7 @@
 #
 com pnglibconf.h - library build configuration
 com
-com libpng version PNGLIB_VERSION - last changed on May 7, 2010
+com libpng version PNGLIB_VERSION - last changed on June 18, 2010
 com
 com Copyright (c) 1998-2010 Glenn Randers-Pehrson
 com
diff --git a/scripts/pnglibconf.h b/scripts/pnglibconf.h
index 8819a24..4b643f3 100644
--- a/scripts/pnglibconf.h
+++ b/scripts/pnglibconf.h
@@ -1,7 +1,7 @@
-/* libpng-1.5.0beta24 STANDARD API DEFINITION */
+/* libpng-1.5.0beta25 STANDARD API DEFINITION */
 /* pnglibconf.h - library build configuration */
 
-/* last changed in libpng version 1.5.0 - May 7, 2010 */
+/* last changed in libpng version 1.5.0 - June 18, 2010 */
 
 /* Copyright (c) 1998-2010 Glenn Randers-Pehrson */
 
diff --git a/scripts/pngwin.def b/scripts/pngwin.def
index a1da4e3..f534abf 100644
--- a/scripts/pngwin.def
+++ b/scripts/pngwin.def
@@ -11,7 +11,7 @@
 ;OS2 CODE PRELOAD MOVEABLE DISCARDABLE
 
 EXPORTS
-;Version 1.5.0beta24
+;Version 1.5.0beta25
  png_access_version_number @1
  png_set_sig_bytes @2
  png_sig_cmp @3
diff --git a/scripts/pngwin.dfn b/scripts/pngwin.dfn
index f90ee88..ddf13cc 100644
--- a/scripts/pngwin.dfn
+++ b/scripts/pngwin.dfn
@@ -1,7 +1,7 @@
 
 /* pngwin.dfn - define format of pngwin.def
  *
- * Last changed in libpng version 1.5.0 [May 7, 2010]
+ * Last changed in libpng version 1.5.0 [June 18, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
  * This code is released under the libpng license.
diff --git a/scripts/sym.dfn b/scripts/sym.dfn
index ef6dc02..d154ef3 100644
--- a/scripts/sym.dfn
+++ b/scripts/sym.dfn
@@ -1,7 +1,7 @@
 
 /* sym.dfn - define format of libpng.sym
  *
- * Last changed in libpng version 1.5.0 [May 7, 2010]
+ * Last changed in libpng version 1.5.0 [June 18, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
  * This code is released under the libpng license.
diff --git a/scripts/symbols.def b/scripts/symbols.def
index b109318..04ff161 100644
--- a/scripts/symbols.def
+++ b/scripts/symbols.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.5.0beta24
+;Version 1.5.0beta25
  png_access_version_number @1
  png_set_sig_bytes @2
  png_sig_cmp @3
diff --git a/scripts/symbols.dfn b/scripts/symbols.dfn
index 73c45a2..a0e58db 100644
--- a/scripts/symbols.dfn
+++ b/scripts/symbols.dfn
@@ -1,7 +1,7 @@
 
 /* symbols.dfn - find all exported symbols
  *
- * Last changed in libpng version 1.5.0 [May 7, 2010]
+ * Last changed in libpng version 1.5.0 [June 18, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
  * This code is released under the libpng license.
diff --git a/scripts/vers.dfn b/scripts/vers.dfn
index 9f48fb2..ac75d59 100644
--- a/scripts/vers.dfn
+++ b/scripts/vers.dfn
@@ -1,7 +1,7 @@
 
 /* vers.dfn - define format of libpng.vers
  *
- * Last changed in libpng version 1.5.0 [May 7, 2010]
+ * Last changed in libpng version 1.5.0 [June 18, 2010]
  * Copyright (c) 1998-2010 Glenn Randers-Pehrson
  *
  * This code is released under the libpng license.
