diff --git a/ANNOUNCE b/ANNOUNCE
index c64a2bd..0efd418 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,4 +1,4 @@
-Libpng 1.6.18beta08 - June 10, 2015
+Libpng 1.6.18beta08 - June 30, 2015
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -87,7 +87,7 @@
     to compile them without the minimum required support enabled
     (suggested by Flavio Medeiros).
 
-Version 1.6.18beta08 [June 10, 2015]
+Version 1.6.18beta08 [June 30, 2015]
   Eliminated the final two Coverity defects (insecure temporary file
     handling in contrib/libtests/pngstest.c; possible overflow of
     unsigned char in contrib/tools/png-fix-itxt.c). To use the "secure"
diff --git a/CHANGES b/CHANGES
index 7fb47d0..7c95e48 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5272,7 +5272,7 @@
     to compile them without the minimum required support enabled
     (suggested by Flavio Medeiros).
 
-Version 1.6.18beta08 [June 10, 2015]
+Version 1.6.18beta08 [June 30, 2015]
   Eliminated the final two Coverity defects (insecure temporary file
     handling in contrib/libtests/pngstest.c; possible overflow of
     unsigned char in contrib/tools/png-fix-itxt.c). To use the "secure"
diff --git a/LICENSE b/LICENSE
index 7e124ef..27ad84b 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.6.18beta08, June 6, 2015, are
+libpng versions 1.2.6, August 15, 2004, through 1.6.18beta08, June 30, 2015, are
 Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -108,4 +108,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-June 6, 2015
+June 30, 2015
diff --git a/README b/README
index 5996643..c96d693 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.6.18beta08 - June 6, 2015 (shared library 16.0)
+README for libpng version 1.6.18beta08 - June 30, 2015 (shared library 16.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/contrib/arm-neon/README b/contrib/arm-neon/README
index 535c8d3..b4248cf 100644
--- a/contrib/arm-neon/README
+++ b/contrib/arm-neon/README
@@ -1,7 +1,7 @@
 OPERATING SYSTEM SPECIFIC ARM NEON DETECTION
 --------------------------------------------
 
-Detection of the ability to exexcute ARM NEON on an ARM processor requires
+Detection of the ability to execute ARM NEON on an ARM processor requires
 operating system support.  (The information is not available in user mode.)
 
 HOW TO USE THIS
diff --git a/contrib/tools/genpng.c b/contrib/tools/genpng.c
index 1864a98..44102b4 100644
--- a/contrib/tools/genpng.c
+++ b/contrib/tools/genpng.c
@@ -79,6 +79,8 @@
  */
 #include "../../png.h"
 
+#if defined(PNG_SIMPLIFIED_WRITE_SUPPORTED) && defined(PNG_STDIO_SUPPORTED)
+
 static const struct color
 {
    const char *name;
@@ -862,3 +864,4 @@
 
    return 1;
 }
+#endif /* SIMPLIFIED_WRITE && STDIO */
diff --git a/contrib/tools/png-fix-itxt.c b/contrib/tools/png-fix-itxt.c
index 9b09e4f..2754c76 100644
--- a/contrib/tools/png-fix-itxt.c
+++ b/contrib/tools/png-fix-itxt.c
@@ -34,8 +34,9 @@
 
 #define MAX_LENGTH 500000
 
+/* Read one character (inchar), also return octet (c), break if EOF */
 #define GETBREAK inchar=getchar(); \
-                 c=(inchar & 0xff);\
+                 c=(inchar & 0xffU);\
                  if (inchar != (int) c) break
 int
 main(void)
@@ -94,10 +95,10 @@
       for (;;)
       {
         /* Check the CRC */
-        if (((crc >> 24) & 0xff) == buf[length+8] &&
-            ((crc >> 16) & 0xff) == buf[length+9] &&
-            ((crc >>  8) & 0xff) == buf[length+10] &&
-            ((crc      ) & 0xff) == buf[length+11])
+        if (((crc >> 24) & 0xffU) == buf[length+8] &&
+            ((crc >> 16) & 0xffU) == buf[length+9] &&
+            ((crc >>  8) & 0xffU) == buf[length+10] &&
+            ((crc      ) & 0xffU) == buf[length+11])
            break;
 
         length++;
@@ -116,10 +117,10 @@
          break;
 
       /* Update length bytes */
-      buf[0] = (unsigned char)((length >> 24) & 0xff);
-      buf[1] = (unsigned char)((length >> 16) & 0xff);
-      buf[2] = (unsigned char)((length >>  8) & 0xff);
-      buf[3] = (unsigned char)((length      ) & 0xff);
+      buf[0] = (unsigned char)((length >> 24) & 0xffU);
+      buf[1] = (unsigned char)((length >> 16) & 0xffU);
+      buf[2] = (unsigned char)((length >>  8) & 0xffU);
+      buf[3] = (unsigned char)((length      ) & 0xffU);
 
       /* Write the fixed iTXt chunk (length, name, data, crc) */
       for (i=0; i<length+12; i++)
diff --git a/libpng-manual.txt b/libpng-manual.txt
index 973f1bc..9284ccc 100644
--- a/libpng-manual.txt
+++ b/libpng-manual.txt
@@ -1,6 +1,6 @@
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.6.18beta08 - June 6, 2015
+ libpng version 1.6.18beta08 - June 30, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.18beta08 - June 6, 2015
+ libpng versions 0.97, January 1998, through 1.6.18beta08 - June 30, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5297,7 +5297,7 @@
 
 XVI. Y2K Compliance in libpng
 
-June 6, 2015
+June 30, 2015
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
diff --git a/libpng.3 b/libpng.3
index 27399de..93094f4 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "June 6, 2015"
+.TH LIBPNG 3 "June 30, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta08
 .SH SYNOPSIS
@@ -504,7 +504,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.6.18beta08 - June 6, 2015
+ libpng version 1.6.18beta08 - June 30, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -515,7 +515,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.18beta08 - June 6, 2015
+ libpng versions 0.97, January 1998, through 1.6.18beta08 - June 30, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5801,7 +5801,7 @@
 
 .SH XVI. Y2K Compliance in libpng
 
-June 6, 2015
+June 30, 2015
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
@@ -6119,7 +6119,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.6.18beta08 - June 6, 2015:
+Libpng version 1.6.18beta08 - June 30, 2015:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -6142,7 +6142,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.6.18beta08, June 6, 2015, are
+libpng versions 1.2.6, August 15, 2004, through 1.6.18beta08, June 30, 2015, are
 Copyright (c) 2004,2006-2015 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
@@ -6241,7 +6241,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-June 6, 2015
+June 30, 2015
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 67cb833..42d0f92 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "June 6, 2015"
+.TH LIBPNGPF 3 "June 30, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta08
 (private functions)
diff --git a/png.5 b/png.5
index a4a1eaf..57bba1a 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "June 6, 2015"
+.TH PNG 5 "June 30, 2015"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index ea6e18e..653e1a0 100644
--- a/png.c
+++ b/png.c
@@ -766,13 +766,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-      "libpng version 1.6.18beta08 - June 11, 2015" PNG_STRING_NEWLINE \
+      "libpng version 1.6.18beta08 - June 30, 2015" PNG_STRING_NEWLINE \
       "Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
       "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
       "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
       PNG_STRING_NEWLINE;
 #  else
-   return "libpng version 1.6.18beta08 - June 11, 2015\
+   return "libpng version 1.6.18beta08 - June 30, 2015\
       Copyright (c) 1998-2015 Glenn Randers-Pehrson\
       Copyright (c) 1996-1997 Andreas Dilger\
       Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
diff --git a/png.h b/png.h
index 149a763..5981bf0 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.6.18beta08, June 10, 2015
+ * libpng version 1.6.18beta08, June 30, 2015
  *
  * Copyright (c) 1998-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -12,7 +12,7 @@
  * Authors and maintainers:
  *   libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *   libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.6.18beta08, June 10, 2015: Glenn
+ *   libpng versions 0.97, January 1998, through 1.6.18beta08, June 30, 2015: Glenn
  *   See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -248,7 +248,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.6.18beta08, June 10, 2015, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.6.18beta08, June 30, 2015, are
  * Copyright (c) 2004, 2006-2015 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:
@@ -360,7 +360,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    June 10, 2015
+ *    June 30, 2015
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -430,7 +430,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.6.18beta08"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.6.18beta08 - June 10, 2015\n"
+     " libpng version 1.6.18beta08 - June 30, 2015\n"
 
 #define PNG_LIBPNG_VER_SONUM   16
 #define PNG_LIBPNG_VER_DLLNUM  16
diff --git a/pngread.c b/pngread.c
index 6775fe5..e88151c 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1043,9 +1043,9 @@
    /* Tell libpng to strip 16-bit/color files down to 8 bits per color.
     */
    if ((transforms & PNG_TRANSFORM_SCALE_16) != 0)
-     /* Added at libpng-1.5.4. "strip_16" produces the same result that it
-      * did in earlier versions, while "scale_16" is now more accurate.
-      */
+      /* Added at libpng-1.5.4. "strip_16" produces the same result that it
+       * did in earlier versions, while "scale_16" is now more accurate.
+       */
 #ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED
       png_set_scale_16(png_ptr);
 #else
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index efa78a0..386fcad 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.6.18beta08 - June 6, 2015
+libpng version 1.6.18beta08 - June 30, 2015
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index ef96d9e..e435d0c 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.6.18beta08 - June 6, 2015
+ * libpng version 1.6.18beta08 - June 30, 2015
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index 71db392..12c6edd 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.6.18beta08 - June 6, 2015
+Makefiles for  libpng version 1.6.18beta08 - June 30, 2015
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt
index 410f375..1e2a7d2 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -2,7 +2,7 @@
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.6.18beta08 - June 6, 2015 */
+/* Libpng version 1.6.18beta08 - June 30, 2015 */
 
 /* Copyright (c) 1998-2014 Glenn Randers-Pehrson */
 
