diff --git a/ANNOUNCE b/ANNOUNCE
index b552c13..fb14840 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,31 +1,28 @@
-Libpng 1.6.22rc04 - May 18, 2016
+Libpng 1.6.22 - May 26, 2016
 
-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.
+This is a public release of libpng, intended for use in production codes.
 
 Files available for download:
 
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.6.22rc04.tar.xz (LZMA-compressed, recommended)
-   1.6.22rc04.tar.gz
+   libpng-1.6.22.tar.xz (LZMA-compressed, recommended)
+   libpng-1.6.22.tar.gz
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1622r04.7z  (LZMA-compressed, recommended)
-   lp1622r04.zip
+   lpng1622.7z  (LZMA-compressed, recommended)
+   lpng1622.zip
 
 Other information:
 
-   1.6.22rc04-README.txt
-   1.6.22rc04-LICENSE.txt
-   libpng-1.6.22rc04-*.asc (armored detached GPG signatures)
+   libpng-1.6.22-README.txt
+   libpng-1.6.22-LICENSE.txt
+   libpng-1.6.22-*.asc (armored detached GPG signatures)
 
 Changes since the last public release (1.6.21):
-
-Version 1.6.22beta01 [January 23, 2016]
   Changed PNG_USE_MKSTEMP to __COVERITY__ to select alternate
     "tmpfile()" implementation in contrib/libtests/pngstest.c
   Fixed NO_STDIO build of pngunknown.c to skip calling png_init_io()
@@ -39,12 +36,7 @@
     a quiet API change that limits in-memory image size (uncompressed) to
     less than 4GByte and image row size (stride) to less than 2GByte.
   Revised workaround for false-positive Coverity issue in pngvalid.c.
-
-Version 1.6.22beta02 [February 8, 2016]
   Only use exit(77) in configure builds.
-  Corrected error in PNG_IMAGE_PNG_SIZE_MAX. This new macro underreported
-    the palette size because it failed to take into account that the memory
-    palette has to be expanded to full RGB when it is written to PNG.
   Updated CMakeLists.txt, added supporting scripts/gen*.cmake.in
     and test.cmake.in (Roger Leigh).
   Relaxed limit checks on gamma values in pngrtran.c. As suggested in
@@ -53,8 +45,6 @@
     are already permitted by png_set_gamma so it is reasonable caution to
     extend the png_set_alpha_mode range as HDR imaging systems are starting
     to emerge.
-
-Version 1.6.22beta03 [March 9, 2016]
   Added a common-law trademark notice and export control information
     to the LICENSE file, png.h, and the man page.
   Restored "& 0xff" in png_save_uint_16() and png_save_uint_32() that
@@ -62,7 +52,7 @@
   Changed PNG_INFO_cHNK and PNG_FREE_cHNK from 0xnnnn to 0xnnnnU in png.h
     (Robert C. Seacord).
   Removed dubious "#if INT_MAX" test from png.h that was added to
-    libpng-1.6.19beta02 (John Bowler).
+    libpng-1.6.19 (John Bowler).
   Add ${INCLUDES} in scripts/genout.cmake.in (Bug report by Nixon Kwok).
   Updated LICENSE to say files in the contrib directory are not
     necessarily under the libpng license, and that some makefiles have
@@ -76,44 +66,23 @@
     more realistic testing; the decoded data actually gets used in a
     meaningful fashion (John Bowler).
   Fixed some misleading indentation (Krishnaraj Bhat).
-
-Version 1.6.22beta04 [April 5, 2016]
   Force GCC compilation to C89 if needed (Dagobert Michelsen).
   SSE filter speed improvements for bpp=3:
     memcpy-free implementations of load3() / store3().
     call load3() only when needed at the end of a scanline.
-
-Version 1.6.22beta05 [April 27, 2016]
   Added PNG_FAST_FILTERS macro (defined as
     PNG_FILTER_NONE|PNG_FILTER_SUB|PNG_FILTER_UP).
   Various fixes for contrib/libtests/timepng.c
-  Moved INTEL-SSE code from pngpriv.h into contrib/intel/intel_sse.patch.
   Fixed typo (missing underscore) in #define PNG_READ_16_TO_8_SUPPORTED
     (Bug report by Y.Ohashik).
-
-Version 1.6.22beta06 [May 5, 2016]
-  Rebased contrib/intel_sse.patch.
   Quieted two Coverity issues in contrib/libtests/timepng.c.
   Fixed issues with scripts/genout.cmake.in (David Capello, Nixon Kwok):
     Added support to use multiple directories in ZLIBINCDIR variable,
     Fixed CMAKE_C_FLAGS with multiple values when genout is compiled on MSVC,
     Fixed pnglibconf.c compilation on OS X including the sysroot path.
-
-Version 1.6.22rc01 [May 14, 2016]
-  No changes.
-
-Version 1.6.22rc01 [May 16, 2016]
-  Removed contrib/timepng from default build; it does not build on platforms
-    that don't supply clock_gettime().
   Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng.
+  Check for the presence of clock_gettime() in configure.ac and Makefile.am.
 
-Version 1.6.22rc03 [May 17, 2016]
-  Restored contrib/timepng to default build but check for the presence
-    of clock_gettime() in configure.ac and Makefile.am.
-
-Version 1.6.22rc04 [May 18, 2016]
-
-Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
 to subscribe)
diff --git a/CHANGES b/CHANGES
index a824e61..5327b30 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5570,7 +5570,8 @@
   Restored contrib/timepng to default build but check for the presence
     of clock_gettime() in configure.ac and Makefile.am.
 
-Version 1.6.22rc04 [May 18, 2016]
+Version 1.6.22 [May 26, 2016]
+  No changes.
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4583615..bb2d6d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -696,7 +696,7 @@
 # SET UP LINKS
 if(PNG_SHARED)
   set_target_properties(png PROPERTIES
-#   VERSION 16.${PNGLIB_RELEASE}.1.6.22rc04
+#   VERSION 16.${PNGLIB_RELEASE}.1.6.22
     VERSION 16.${PNGLIB_RELEASE}.0
     SOVERSION 16
     CLEAN_DIRECT_OUTPUT 1)
diff --git a/LICENSE b/LICENSE
index a2e90a2..0e4bd84 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.6.22rc04, May 18, 2016 are
+libpng versions 1.0.7, July 1, 2000 through 1.6.22, May 26, 2016 are
 Copyright (c) 2000-2002, 2004, 2006-2016 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
@@ -127,4 +127,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 18, 2016
+May 26, 2016
diff --git a/README b/README
index 0428298..dc5b52c 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.6.22rc04 - May 18, 2016 (shared library 16.0)
+README for libpng version 1.6.22 - May 26, 2016 (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/arm/arm_init.c b/arm/arm_init.c
index 3c01231..02df812 100644
--- a/arm/arm_init.c
+++ b/arm/arm_init.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2014,2016 Glenn Randers-Pehrson
  * Written by Mans Rullgard, 2011.
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/arm/filter_neon_intrinsics.c b/arm/filter_neon_intrinsics.c
index 22923b4..ea7e356 100644
--- a/arm/filter_neon_intrinsics.c
+++ b/arm/filter_neon_intrinsics.c
@@ -5,7 +5,7 @@
  * Written by James Yu <james.yu at linaro.org>, October 2013.
  * Based on filter_neon.S, written by Mans Rullgard, 2011.
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/configure.ac b/configure.ac
index e2258be..d4121b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 # configure.ac
 
 # Copyright (c) 2004-2015 Glenn Randers-Pehrson
-# Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+# Last changed in libpng 1.6.22 [May 26, 2016]
 
 # This code is released under the libpng license.
 # For conditions of distribution and use, see the disclaimer
@@ -25,7 +25,7 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng],[1.6.22rc04],[png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng],[1.6.22],[png-mng-implement@lists.sourceforge.net])
 AC_CONFIG_MACRO_DIR([scripts])
 
 # libpng does not follow GNU file name conventions (hence 'foreign')
@@ -46,7 +46,7 @@
 dnl AM_PREREQ([1.11.2])
 dnl stop configure from automagically running automake
 
-PNGLIB_VERSION=1.6.22rc04
+PNGLIB_VERSION=1.6.22
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=6
 PNGLIB_RELEASE=22
diff --git a/contrib/gregbook/readpng2.c b/contrib/gregbook/readpng2.c
index a9e7ba5..4d5e38f 100644
--- a/contrib/gregbook/readpng2.c
+++ b/contrib/gregbook/readpng2.c
@@ -54,7 +54,7 @@
   ---------------------------------------------------------------------------
 
    Changelog:
-     %RDATE% - Check return value of png_get_bKGD() (Glenn R-P)
+     2015-11-12 - Check return value of png_get_bKGD() (Glenn R-P)
 
   ---------------------------------------------------------------------------*/
 
diff --git a/contrib/intel/INSTALL b/contrib/intel/INSTALL
index acfa9da..cd5cdd9 100644
--- a/contrib/intel/INSTALL
+++ b/contrib/intel/INSTALL
@@ -46,16 +46,7 @@
 section II of INSTALL in the main libpng directory, then configure libpng
 with -DPNG_INTEL_SSE in CPPFLAGS.
 
-1. Insert the following lines above the copyright line near the top of
-configure.ac:
-
------------------cut----------------
-# Copyright (c) 2016 Google, Inc.
-# Written by Mike Klein and Matt Sarett
-# Derived from the ARM supporting code in libpng/configure.ac, which was
------------------cut----------------
-
-2. Add the following code to configure.ac under HOST SPECIFIC OPTIONS
+1. Add the following code to configure.ac under HOST SPECIFIC OPTIONS
 directly beneath the section for ARM:
 
 -----------------cut----------------
@@ -95,16 +86,7 @@
     esac])
 -----------------cut----------------
 
-3. Insert the following lines above the copyright line near the top of
-Makefile.am:
-
------------------cut----------------
-# Copyright (c) 2016 Google, Inc.
-# Written by Mike Klein and Matt Sarett
-# Derived from the ARM supporting code in libpng/configure.ac, which was
------------------cut----------------
-
-4. Add the following code to Makefile.am under HOST SPECIFIC OPTIONS
+2. Add the following code to Makefile.am under HOST SPECIFIC OPTIONS
 directly beneath the "if PNG_ARM_NEON ... endif" statement:
 
 -----------------cut----------------
@@ -114,7 +96,7 @@
 endif
 -----------------cut----------------
 
-5. Add the following lines to pngpriv.h, following the PNG_ARM_NEON_OPT
+3. Add the following lines to pngpriv.h, following the PNG_ARM_NEON_OPT
 code:
 
 -----------------cut----------------
@@ -156,7 +138,7 @@
 
 -----------------cut----------------
 
-5. Add the following lines to pngpriv.h, following the prototype for
+4. Add the following lines to pngpriv.h, following the prototype for
 png_read_filter_row_paeth4_neon:
 
 -----------------cut----------------
diff --git a/contrib/intel/filter_sse2_intrinsics.c b/contrib/intel/filter_sse2_intrinsics.c
index 92dcd7e..aea3f86 100644
--- a/contrib/intel/filter_sse2_intrinsics.c
+++ b/contrib/intel/filter_sse2_intrinsics.c
@@ -6,7 +6,7 @@
  * Derived from arm/filter_neon_intrinsics.c, which was
  * Copyright (c) 2014,2016 Glenn Randers-Pehrson
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/contrib/intel/intel_init.c b/contrib/intel/intel_init.c
index 357e147..328e90e 100644
--- a/contrib/intel/intel_init.c
+++ b/contrib/intel/intel_init.c
@@ -6,7 +6,7 @@
  * Derived from arm/arm_init.c, which was
  * Copyright (c) 2014,2016 Glenn Randers-Pehrson
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/contrib/intel/intel_sse.patch b/contrib/intel/intel_sse.patch
index 174f589..d9d02bb 100644
--- a/contrib/intel/intel_sse.patch
+++ b/contrib/intel/intel_sse.patch
@@ -1,21 +1,7 @@
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac	2016-04-27 22:33:47.805069558 -0500
-+++ b/configure.ac	2016-04-27 22:33:47.829012469 -0500
-@@ -1,10 +1,13 @@
- # configure.ac
- 
-+# Copyright (c) 2016 Google, Inc.
-+# Written by Mike Klein and Matt Sarett
-+# Derived from the ARM supporting code in libpng/configure.ac, which was
- # Copyright (c) 2004-2015 Glenn Randers-Pehrson
- # Last changed in libpng 1.6.22 [(PENDING RELEASE)]
- 
- # This code is released under the libpng license.
- # For conditions of distribution and use, see the disclaimer
- # and license in png.h
- 
- dnl Process this file with autoconf to produce a configure script.
-@@ -335,16 +338,50 @@ AC_ARG_ENABLE([arm-neon],
+diff --git libpng-1.6.22-orig/configure.ac libpng-1.6.22/configure.ac
+--- libpng-1.6.22-orig/configure.ac	2016-05-25 18:59:10.000000000 -0400
++++ libpng-1.6.22/configure.ac	2016-05-25 19:48:10.631751170 -0400
+@@ -341,16 +341,50 @@ AC_ARG_ENABLE([arm-neon],
  
  AM_CONDITIONAL([PNG_ARM_NEON],
     [test "$enable_arm_neon" != 'no' &&
@@ -66,24 +52,10 @@
     [chmod +x libpng-config])
  
  AC_OUTPUT
-diff --git a/Makefile.am b/Makefile.am
---- a/Makefile.am	2016-04-27 22:33:47.809928404 -0500
-+++ b/Makefile.am	2016-04-27 22:33:47.832941146 -0500
-@@ -1,10 +1,13 @@
- # Makefile.am, the source file for Makefile.in (and hence Makefile), is
- #
-+# Copyright (c) 2016 Google, Inc.
-+# Written by Mike Klein and Matt Sarett
-+# Derived from the ARM supporting code in libpng/configure.ac, which was
- # Copyright (c) 2004-2016 Glenn Randers-Pehrson
- # Last changed in libpng 1.6.22 [(PENDING RELEASE)]
- #
- # This code is released under the libpng license.
- # For conditions of distribution and use, see the disclaimer
- # and license in png.h
- 
- PNGLIB_BASENAME= libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
-@@ -86,16 +89,20 @@ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SO
+diff --git libpng-1.6.22-orig/Makefile.am libpng-1.6.22/Makefile.am
+--- libpng-1.6.22-orig/Makefile.am	2016-05-17 18:15:12.000000000 -0400
++++ libpng-1.6.22/Makefile.am	2016-05-25 19:48:10.631751170 -0400
+@@ -89,16 +89,20 @@ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SO
  	pngset.c pngtrans.c pngwio.c pngwrite.c pngwtran.c pngwutil.c\
  	png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h pngstruct.h pngusr.dfa
  
@@ -104,9 +76,9 @@
  if HAVE_LD_VERSION_SCRIPT
  #   Versioned symbols and restricted exports
  if HAVE_SOLARIS_LD
-diff --git a/pngpriv.h b/pngpriv.h
---- a/pngpriv.h	2016-04-27 22:33:47.800157005 -0500
-+++ b/pngpriv.h	2016-04-27 22:33:47.838191194 -0500
+diff --git libpng-1.6.22-orig/pngpriv.h libpng-1.6.22/pngpriv.h
+--- libpng-1.6.22-orig/pngpriv.h	2016-05-25 18:59:10.000000000 -0400
++++ libpng-1.6.22/pngpriv.h	2016-05-25 19:48:10.635751171 -0400
 @@ -177,16 +177,52 @@
  #  endif /* !PNG_ARM_NEON_IMPLEMENTATION */
  
diff --git a/contrib/libtests/pngimage.c b/contrib/libtests/pngimage.c
index 6413573..2ebe553 100644
--- a/contrib/libtests/pngimage.c
+++ b/contrib/libtests/pngimage.c
@@ -2,7 +2,7 @@
  *
  * Copyright (c) 2015,2016 John Cunningham Bowler
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/contrib/libtests/pngstest.c b/contrib/libtests/pngstest.c
index b70bebc..dffd7c1 100644
--- a/contrib/libtests/pngstest.c
+++ b/contrib/libtests/pngstest.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2013-2016 John Cunningham Bowler
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
diff --git a/contrib/libtests/pngunknown.c b/contrib/libtests/pngunknown.c
index b5ab04a..8b15282 100644
--- a/contrib/libtests/pngunknown.c
+++ b/contrib/libtests/pngunknown.c
@@ -1,7 +1,7 @@
 
 /* pngunknown.c - test the read side unknown chunk handling
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  * Copyright (c) 2015,2016 Glenn Randers-Pehrson
  * Written by John Cunningham Bowler
  *
diff --git a/contrib/libtests/pngvalid.c b/contrib/libtests/pngvalid.c
index fa25e39..ce409b1 100644
--- a/contrib/libtests/pngvalid.c
+++ b/contrib/libtests/pngvalid.c
@@ -1,7 +1,7 @@
 
 /* pngvalid.c - validate libpng by constructing then reading png files.
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  * Copyright (c) 2014-2016 Glenn Randers-Pehrson
  * Written by John Cunningham Bowler
  *
diff --git a/contrib/libtests/timepng.c b/contrib/libtests/timepng.c
index 1aa11e2..3bcfde5 100644
--- a/contrib/libtests/timepng.c
+++ b/contrib/libtests/timepng.c
@@ -2,7 +2,7 @@
  *
  * Copyright (c) 2013,2016 John Cunningham Bowler
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  *
  * This code is released under the libpng license.
  * For conditions of distribution and use, see the disclaimer
@@ -44,9 +44,19 @@
 #  define voidcast(type, value) (value)
 #endif /* __cplusplus */
 
-#if defined (CLOCK_PROCESS_CPUTIME_ID) && \
-    defined (PNG_SEQUENTIAL_READ_SUPPORTED) && defined(PNG_STDIO_SUPPORTED) \
-    && defined(PNG_EASY_ACCESS_SUPPORTED) && defined(PNG_INFO_IMAGE_SUPPORTED)
+/* 'CLOCK_PROCESS_CPUTIME_ID' is one of the clock timers for clock_gettime.  It
+ * need not be supported even when clock_gettime is available.  It returns the
+ * 'CPU' time the process has consumed.  'CPU' time is assumed to include time
+ * when the CPU is actually blocked by a pending cache fill but not time
+ * waiting for page faults.  The attempt is to get a measure of the actual time
+ * the implementation takes to read a PNG ignoring the potentially very large IO
+ * overhead.
+ */
+#if defined (CLOCK_PROCESS_CPUTIME_ID) && defined(PNG_STDIO_SUPPORTED) &&\
+    defined(PNG_EASY_ACCESS_SUPPORTED) &&\
+    (PNG_LIBPNG_VER >= 10700 ? defined(PNG_READ_PNG_SUPPORTED) :\
+     defined (PNG_SEQUENTIAL_READ_SUPPORTED) &&\
+     defined(PNG_INFO_IMAGE_SUPPORTED))
 
 typedef struct
 {
diff --git a/libpng-manual.txt b/libpng-manual.txt
index 44493df..f9b14ad 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.22rc04 - May 18, 2016
+ libpng version 1.6.22 - May 26, 2016
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
@@ -11,7 +11,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.22rc04 - May 18, 2016
+ libpng versions 0.97, January 1998, through 1.6.22 - May 26, 2016
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
 
@@ -5345,7 +5345,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.6.22rc04 are Y2K compliant.  It is my belief that earlier
+upward through 1.6.22 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer
diff --git a/libpng.3 b/libpng.3
index f42e3a7..e27cff8 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "May 18, 2016"
+.TH LIBPNG 3 "May 26, 2016"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.22rc04
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.22
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -510,7 +510,7 @@
 .SH LIBPNG.TXT
 libpng-manual.txt - A description on how to use and modify libpng
 
- libpng version 1.6.22rc04 - May 18, 2016
+ libpng version 1.6.22 - May 26, 2016
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
@@ -521,7 +521,7 @@
 
  Based on:
 
- libpng versions 0.97, January 1998, through 1.6.22rc04 - May 18, 2016
+ libpng versions 0.97, January 1998, through 1.6.22 - May 26, 2016
  Updated and distributed by Glenn Randers-Pehrson
  Copyright (c) 1998-2016 Glenn Randers-Pehrson
 
@@ -5855,7 +5855,7 @@
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.6.22rc04 are Y2K compliant.  It is my belief that earlier
+upward through 1.6.22 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has two year fields.  One is a 2-byte unsigned integer
@@ -5955,7 +5955,7 @@
  ...
  1.2.56                  13    10256  12.so.0.56[.0]
  ...
- 1.5.25                  15    10525  15.so.15.25[.0]
+ 1.5.27                  15    10527  15.so.15.27[.0]
  ...
  1.6.22                  16    10622  16.so.16.22[.0]
 
@@ -6013,7 +6013,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.6.22rc04 - May 18, 2016:
+Libpng version 1.6.22 - May 26, 2016:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -6038,7 +6038,7 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.0.7, July 1, 2000 through 1.6.22rc04, May 18, 2016 are
+libpng versions 1.0.7, July 1, 2000 through 1.6.22, May 26, 2016 are
 Copyright (c) 2000-2002, 2004, 2006-2016 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
@@ -6163,7 +6163,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 18, 2016
+May 26, 2016
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index 3270bc9..4b8278d 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "May 18, 2016"
+.TH LIBPNGPF 3 "May 26, 2016"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.22rc04
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.22
 (private functions)
 .SH SYNOPSIS
 \fB#include \fI"pngpriv.h"
diff --git a/png.5 b/png.5
index 13aa460..af210b1 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 18, 2016"
+.TH PNG 5 "May 26, 2016"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index d0bf4ba..65299a0 100644
--- a/png.c
+++ b/png.c
@@ -14,7 +14,7 @@
 #include "pngpriv.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_22rc04 Your_png_h_is_not_version_1_6_22rc04;
+typedef png_libpng_version_1_6_22 Your_png_h_is_not_version_1_6_22;
 
 /* Tells libpng that we have already handled the first "num_bytes" bytes
  * of the PNG file signature.  If the PNG data is embedded into another
@@ -775,14 +775,14 @@
 #else
 #  ifdef __STDC__
    return PNG_STRING_NEWLINE \
-      "libpng version 1.6.22rc04 - May 18, 2016" PNG_STRING_NEWLINE \
+      "libpng version 1.6.22 - May 26, 2016" PNG_STRING_NEWLINE \
       "Copyright (c) 1998-2002,2004,2006-2016 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.22rc04 - May 18, 2016\
+   return "libpng version 1.6.22 - May 26, 2016\
       Copyright (c) 1998-2002,2004,2006-2016 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 273b907..08c039d 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.6.22rc04, May 18, 2016
+ * libpng version 1.6.22, May 26, 2016
  *
  * Copyright (c) 1998-2002,2004,2006-2016 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.6.22rc04, May 18, 2016:
+ *   libpng versions 0.97, January 1998, through 1.6.22, May 26, 2016:
  *     Glenn Randers-Pehrson.
  *   See also "Contributing Authors", below.
  */
@@ -29,7 +29,7 @@
  * files that are distributed with libpng have other copyright owners and
  * are released under other open source licenses.
  *
- * libpng versions 1.0.7, July 1, 2000 through 1.6.22rc04, May 18, 2016 are
+ * libpng versions 1.0.7, July 1, 2000 through 1.6.22, May 26, 2016 are
  * Copyright (c) 2000-2002, 2004, 2006-2016 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
@@ -215,7 +215,7 @@
  *    ...
  *    1.2.56                  13    10256  12.so.0.56[.0]
  *    ...
- *    1.5.25                  15    10525  15.so.15.25[.0]
+ *    1.5.27                  15    10527  15.so.15.27[.0]
  *    ...
  *    1.6.22                  16    10622  16.so.16.22[.0]
  *
@@ -245,13 +245,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 18, 2016
+ *    May 26, 2016
  *
  *    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.6.22rc04 are Y2K compliant.  It is my belief that
+ *    upward through 1.6.22 are Y2K compliant.  It is my belief that
  *    earlier versions were also Y2K compliant.
  *
  *    Libpng only has two year fields.  One is a 2-byte unsigned integer
@@ -313,9 +313,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.6.22rc04"
+#define PNG_LIBPNG_VER_STRING "1.6.22"
 #define PNG_HEADER_VERSION_STRING \
-     " libpng version 1.6.22rc04 - May 18, 2016\n"
+     " libpng version 1.6.22 - May 26, 2016\n"
 
 #define PNG_LIBPNG_VER_SONUM   16
 #define PNG_LIBPNG_VER_DLLNUM  16
@@ -329,7 +329,7 @@
  * PNG_LIBPNG_VER_STRING, omitting any leading zero:
  */
 
-#define PNG_LIBPNG_VER_BUILD  04
+#define PNG_LIBPNG_VER_BUILD  0
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -346,7 +346,7 @@
 #define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
                                        PNG_LIBPNG_BUILD_PRIVATE */
 
-#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
+#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -464,7 +464,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef char* png_libpng_version_1_6_22rc04;
+typedef char* png_libpng_version_1_6_22;
 
 /* Basic control structions.  Read libpng-manual.txt or libpng.3 for more info.
  *
diff --git a/pngconf.h b/pngconf.h
index d74381b..0cabe4b 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.6.22rc04, May 18, 2016
+ * libpng version 1.6.22, May 26, 2016
  *
  * Copyright (c) 1998-2002,2004,2006-2015 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpriv.h b/pngpriv.h
index 5727f60..718408a 100644
--- a/pngpriv.h
+++ b/pngpriv.h
@@ -1,8 +1,8 @@
 
 /* pngpriv.h - private declarations for use inside libpng
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
- * Copyright (c) 1998-2002,2004,2006-2015 Glenn Randers-Pehrson
+ * Last changed in libpng 1.6.22 [May 26, 2016]
+ * Copyright (c) 1998-2002,2004,2006-2016 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 b65abbd..3138147 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.6.22 [(PENDING RELEASE)]
+ * Last changed in libpng 1.6.22 [May 26, 2016]
  * Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
diff --git a/pngtest.c b/pngtest.c
index a2e82f2..eb431f9 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -2079,4 +2079,4 @@
 #endif
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_22rc04 Your_png_h_is_not_version_1_6_22rc04;
+typedef png_libpng_version_1_6_22 Your_png_h_is_not_version_1_6_22;
diff --git a/pngwutil.c b/pngwutil.c
index 4941690..b47f119 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,8 +1,8 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.6.22 [(PENDING RELEASE)]
- * Copyright (c) 1998-2002,2004,2006-2015 Glenn Randers-Pehrson
+ * Last changed in libpng 1.6.22 [May 26, 2016]
+ * Copyright (c) 1998-2002,2004,2006-2016 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 995714b..c8be615 100644
--- a/projects/vstudio/README.txt
+++ b/projects/vstudio/README.txt
@@ -1,7 +1,7 @@
 
 VisualStudio instructions
 
-libpng version 1.6.22rc04 - May 18, 2016
+libpng version 1.6.22 - May 26, 2016
 
 Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
 
diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props
index 5035e9c..47882dd 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.22rc04 - May 18, 2016
+ * libpng version 1.6.22 - May 26, 2016
  *
  * Copyright (c) 1998-2011 Glenn Randers-Pehrson
  *
diff --git a/scripts/README.txt b/scripts/README.txt
index b75e344..0427d6c 100644
--- a/scripts/README.txt
+++ b/scripts/README.txt
@@ -1,9 +1,9 @@
 
-Makefiles for  libpng version 1.6.22rc04 - May 18, 2016
+Makefiles for  libpng version 1.6.22 - May 26, 2016
 
 pnglibconf.h.prebuilt       =>  Stores configuration settings
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng16.so.16.1.6.22rc04)
+                       (gcc, creates libpng16.so.16.1.6.22)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
@@ -33,12 +33,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 libpng16.so.16.1.6.22rc04)
+                       creates libpng16.so.16.1.6.22)
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng16.so.16.1.6.22rc04)
+                       creates libpng16.so.16.1.6.22)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng16.so.16.1.6.22rc04)
+                       creates libpng16.so.16.1.6.22)
  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/def.c b/scripts/def.c
index b61998a..3914073 100644
--- a/scripts/def.c
+++ b/scripts/def.c
@@ -21,7 +21,7 @@
 PNG_DFN "OS2 CODE PRELOAD MOVEABLE DISCARDABLE"
 PNG_DFN ""
 PNG_DFN "EXPORTS"
-PNG_DFN ";Version 1.6.22rc04"
+PNG_DFN ";Version 1.6.22"
 
 #define PNG_EXPORTA(ordinal, type, name, args, attributes)\
         PNG_DFN "@" SYMBOL_PREFIX "@@" name "@"
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index a5ec822..50542b3 100644
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -11,7 +11,7 @@
 
 # Modeled after libxml-config.
 
-version=1.6.22rc04
+version=1.6.22
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index d42bf87..9639b11 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.6.22rc04
+Version: 1.6.22
 Libs: -L${libdir} -lpng16
 Cflags: -I${includedir}
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index c9d4797..631b72a 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -17,7 +17,7 @@
 
 LIB=	png16
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.6.22rc04
+SHLIB_MINOR=	1.6.22
 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 65f8c67..8e4b59f 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -17,7 +17,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	16
-SHLIB_MINOR=	1.6.22rc04
+SHLIB_MINOR=	1.6.22
 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 c4e1f9f..fd7ebff 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -11,7 +11,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	16
-SHLIB_MINOR=	1.6.22rc04
+SHLIB_MINOR=	1.6.22
 
 LIB=	png
 SRCS=	png.c pngerror.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt
index 7ddf826..d0db96b 100644
--- a/scripts/pnglibconf.h.prebuilt
+++ b/scripts/pnglibconf.h.prebuilt
@@ -1,8 +1,8 @@
-/* libpng 1.6.22rc04 STANDARD API DEFINITION */
+/* libpng 1.6.22 STANDARD API DEFINITION */
 
 /* pnglibconf.h - library build configuration */
 
-/* Libpng version 1.6.22rc04 - May 18, 2016 */
+/* Libpng version 1.6.22 - May 26, 2016 */
 
 /* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
 
diff --git a/scripts/symbols.def b/scripts/symbols.def
index 732dc26..6431a22 100644
--- a/scripts/symbols.def
+++ b/scripts/symbols.def
@@ -1,4 +1,4 @@
-;Version 1.6.22rc04
+;Version 1.6.22
 ;--------------------------------------------------------------
 ; LIBPNG symbol list as a Win32 DEF file
 ; Contains all the symbols that can be exported from libpng
