diff --git a/ANNOUNCE b/ANNOUNCE
index 7508916..72a4f3d 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.7.0beta68 - November 5, 2015
+Libpng 1.7.0beta68 - November 12, 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.
@@ -959,8 +959,10 @@
   Removed much of the long list of previous versions from png.h and
     libpng.3.
 
-Version 1.7.0beta68 [November 5, 2015]
-  Fixed new bug with CRC error after reading an over-length palette.
+Version 1.7.0beta68 [November 12, 2015]
+  Fixed new bug with CRC error after reading an over-length palette
+    (bug report by Cosmin Truta).
+  Cleaned up coding style in png_handle_PLTE().
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CHANGES b/CHANGES
index f0cbf42..943e348 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5259,9 +5259,11 @@
   Removed much of the long list of previous versions from png.h and
     libpng.3.
 
-Version 1.7.0beta68 [November 5, 2015]
-  Fixed new bug with CRC error after reading an over-length palette.
-    
+Version 1.7.0beta68 [November 12, 2015]
+  Fixed new bug with CRC error after reading an over-length palette
+    (bug report by Cosmin Truta).
+  Cleaned up coding style in png_handle_PLTE().
+   
 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/LICENSE b/LICENSE
index bde2138..a276587 100644
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 3, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 12, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are
 derived from libpng-1.0.6, and are distributed according to the same
 disclaimer and license as libpng-1.0.6 with the following individuals
@@ -109,4 +109,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-November 3, 2015
+November 12, 2015
diff --git a/README b/README
index 056539e..ca4bd0a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.7.0beta68 - November 3, 2015 (shared library 17.0)
+README for libpng version 1.7.0beta68 - November 12, 2015 (shared library 17.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/libpng-manual.txt b/libpng-manual.txt
index 705f3ba..9f1bcb6 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.7.0beta68 - November 3, 2015
+ libpng version 1.7.0beta68 - November 12, 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.7.0beta68 - November 3, 2015
+ libpng versions 0.97, January 1998, through 1.7.0beta68 - November 12, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5317,8 +5317,6 @@
 
 XVII. Y2K Compliance in libpng
 
-November 3, 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 70fb995..8a37f59 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "November 3, 2015"
+.TH LIBPNG 3 "November 12, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta68
 .SH SYNOPSIS
@@ -498,7 +498,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.7.0beta68 - November 3, 2015
+ libpng version 1.7.0beta68 - November 12, 2015
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
@@ -509,7 +509,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.7.0beta68 - November 3, 2015
+ libpng versions 0.97, January 1998, through 1.7.0beta68 - November 12, 2015
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2015 Glenn Randers-Pehrson
 
@@ -5815,8 +5815,6 @@
 
 .SH XVII. Y2K Compliance in libpng
 
-November 3, 2015
-
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
@@ -5982,7 +5980,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.7.0beta68 - November 3, 2015:
+Libpng version 1.7.0beta68 - November 12, 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).
 
@@ -6007,7 +6005,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 3, 2015, are
+libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 12, 2015, are
 Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are
 derived from libpng-1.0.6, and are distributed according to the same
 disclaimer and license as libpng-1.0.6 with the following individuals
@@ -6106,7 +6104,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-November 3, 2015
+November 12, 2015
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index de80d7a..9ec8de7 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "November 3, 2015"
+.TH LIBPNGPF 3 "November 12, 2015"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta68
 (private functions)
diff --git a/png.5 b/png.5
index 75ef593..e4688d3 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "November 3, 2015"
+.TH PNG 5 "November 12, 2015"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 947f5cc..bf7dcd2 100644
--- a/png.c
+++ b/png.c
@@ -699,13 +699,13 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-     "libpng version 1.7.0beta68 - November 3, 2015" PNG_STRING_NEWLINE \
+     "libpng version 1.7.0beta68 - November 12, 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.7.0beta68 - November 3, 2015\
+      return "libpng version 1.7.0beta68 - November 12, 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 83e1d1e..646dca3 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.7.0beta68, November 3, 2015
+ * libpng version 1.7.0beta68, November 12, 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.89, June 1996, through 0.96, May 1997: Andreas Dilger
- *   libpng versions 0.97, January 1998, through 1.7.0beta68, November 3, 2015: Glenn
+ *   libpng versions 0.97, January 1998, through 1.7.0beta68, November 12, 2015: Glenn
  *   See also "Contributing Authors", below.
  */
 
@@ -24,7 +24,7 @@
  *
  * This code is released under the libpng license.
  *
- * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 3, 2015, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.7.0beta68, November 12, 2015, are
  * Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are
  * derived from libpng-1.0.6, and are distributed according to the same
  * disclaimer and license as libpng-1.0.6 with the following individuals
@@ -217,7 +217,7 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    November 3, 2015
+ *    November 12, 2015
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
@@ -287,7 +287,7 @@
 /* Version information for png.h - this should match the version in png.c */
 #define PNG_LIBPNG_VER_STRING "1.7.0beta68"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.7.0beta68 - November 3, 2015\n"
+     " libpng version 1.7.0beta68 - November 12, 2015\n"
 
 #define PNG_LIBPNG_VER_SONUM   17
 #define PNG_LIBPNG_VER_DLLNUM  17
diff --git a/pngconf.h b/pngconf.h
index e3308b1..5a1b9c7 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.7.0beta68, November 3, 2015
+ * libpng version 1.7.0beta68, November 12, 2015
  *
  * Copyright (c) 1998-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index abf5d1d..154f78f 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -335,11 +335,13 @@
    /* Now check the CRC, before attempting the unknown handling. */
    png_calculate_crc(png_ptr, buffer, chunk_length);
    png_crc_finish(png_ptr, 0);
+
 #  ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
-      png_handle_unknown(png_ptr, info_ptr, buffer);
+   png_handle_unknown(png_ptr, info_ptr, buffer);
 #  else /* !READ_UNKNOWN_CHUNKS */
-      PNG_UNUSED(info_ptr)
+   PNG_UNUSED(info_ptr)
 #  endif /* !READ_UNKNOWN_CHUNKS */
+
    png_ptr->process_mode = png_read_chunk_header;
 }
 
@@ -360,7 +362,7 @@
           * one:
           */
 #        ifdef PNG_READ_DEINTERLACE_SUPPORTED
-            if (!png_ptr->do_interlace)
+         if (!png_ptr->do_interlace)
 #        endif
          {
             affirm(PNG_ROW_IN_INTERLACE_PASS(row_number, pass) && row != NULL);
@@ -528,13 +530,15 @@
                 * is handling the de-interlace; when the app does it it only
                 * see the real rows.
                 */
+
 #              ifdef PNG_READ_DEINTERLACE_SUPPORTED
-                  if (png_ptr->do_interlace)
-                  {
-                     row_buffer = png_ptr->row_buffer;
-                     break;
-                  }
+               if (png_ptr->do_interlace)
+               {
+                  row_buffer = png_ptr->row_buffer;
+                  break;
+               }
 #              endif
+
                continue;
 
             case png_row_skip:
diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt
index c743f21..2da3d70 100644
--- a/projects/vstudio/readme.txt
+++ b/projects/vstudio/readme.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.7.0beta68 - November 3, 2015
+libpng version 1.7.0beta68 - November 12, 2015
 
 Copyright (c) 1998-2010 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 8ebac1f..89f7c7d 100644
--- a/projects/vstudio/zlib.props
+++ b/projects/vstudio/zlib.props
@@ -2,7 +2,7 @@
 <!--
  * zlib.props - location of zlib source
  *
- * libpng version 1.7.0beta68 - November 3, 2015
+ * libpng version 1.7.0beta68 - November 12, 2015
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index 85a0860..5933e66 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,5 +1,5 @@
 
-Makefiles for  libpng version 1.7.0beta68 - November 3, 2015
+Makefiles for  libpng version 1.7.0beta68 - November 12, 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 471e62d..33b6722 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -2,7 +2,7 @@
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.7.0beta68 - November 3, 2015 */
+/* Libpng version 1.7.0beta68 - November 12, 2015 */
 
 /* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
 
