bump version to 2.16rc
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2d31df6..aa1ec6d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,14 +5,14 @@
 
 # Based on configure.ac
 
-project(gperftools VERSION 2.15 LANGUAGES C CXX
+project(gperftools VERSION 2.15.90 LANGUAGES C CXX
         DESCRIPTION "Performance tools for C++"
         HOMEPAGE_URL https://github.com/gperftools/gperftools)
 
 # Update this value for every release!
-set(TCMALLOC_SO_VERSION 9.16.5)
-set(PROFILER_SO_VERSION 5.11.5)
-set(TCMALLOC_AND_PROFILER_SO_VERSION 10.11.6)
+set(TCMALLOC_SO_VERSION 9.17.5)
+set(PROFILER_SO_VERSION 5.12.5)
+set(TCMALLOC_AND_PROFILER_SO_VERSION 10.12.6)
 
 # The user can choose not to compile in the heap-profiler, the
 # heap-checker, or the cpu-profiler.  There's also the possibility
diff --git a/NEWS b/NEWS
index 64483c2..6b724e3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,98 @@
+== 16 September 2024
+
+gperftools 2.16rc is out!
+
+This release doesn't have major fixes or big headline features, but it
+has quite a lot of internal modernizations and cleanups. By the number
+of commits, 2.16 is going to be our biggest release ever.
+
+This release's main focus was making our code and building
+infrastructure simpler, more straightforward, more portable, and more
+modern.
+
+Please note that the gperftools 2.16 release will be the last release
+with the heap leak checker included. The time has come to drop this
+feature entirely. All users should migrate to relevant gcc/clang
+sanitizers.
+
+Here are the most notable changes:
+
+* we've upgraded our C++ standard to C++ 17. Some fraction of our code
+  base was modernized.
+
+* We've integrated (vendored copy of) GoogleTest, and most tests now
+  use it. GoogleTest has helped us eliminate some legacy code and
+  reduce the number of tests that use shell scripts.
+
+* There are no more unnecessary wrappers around mutexes and threads
+  for unit tests. We now use C++ standard mutexes and threads in our
+  tests.
+
+* We've done the bulk of the work necessary to enable hidden
+  visibility. The most significant change is that tests no longer
+  reach into libtcmalloc's guts. We use a special TestingPortal
+  interface instead. We now offer the --enable-hidden-visibility
+  configure option, which does what it says. But please note that
+  hidden visibility is off by default for now.
+
+* autotools build was significantly refactored, modernized and
+  simplified.
+
+* The cmake build has also been radically simplified. The previous
+  version attempted to duplicate the same complexity that we had in
+  the autotools build and did not do it very well. More tests now pass
+  under cmake. But please note that cmake support is still not
+  entirely functional, and we're not yet able to promise anything
+  about it.
+
+* Thread-local storage access and emergency malloc integration have
+  been reworked. We now support emergency malloc even on systems with
+  emutls and similarly "bad" TLS support. As a result, backtracing is
+  now more reliable (e.g., on QNX).
+
+* OSX operator new/delete performance has been improved. OSX's malloc
+  performance is badly compromised by its support of malloc zones, so
+  we cannot help much (the same applies to much of our competition
+  among memory allocators). But the C++ new/delete API doesn't have to
+  integrate with this stuff, so we now directly replace those
+  functions for a sizeable speedup. Note that OSX performance is still
+  not on par with other "prime tier" OSes due to its lack of efficient
+  TLS support.
+
+* Long deprecated google/ headers have been deleted (use, e.g.,
+  "gperftools/tcmalloc.h" instead)
+
+* All clang builds now use -Wthread-safety and actually check
+  thread-safety declarations
+
+* Our code has stopped being incompatible with _TIME_BITS=64 on modern
+  GNU Linux systems (relevant only for 32-bit systems)
+
+* OpenSolaris build has been verified and fixed when needed
+
+Thanks to the following people for code contributions:
+
+* Github user oPiZiL (build fix for gcc 7.5)
+
+* Github user zhangdexin (qnx fixes)
+
+* Ishant Goyal (support for configuring minimal per-thread cache size)
+
+* Lennox Ho (several build fixes and several fixes around Windows support)
+
+* Olivier Langlois
+
+* Sergey Fedorovhas (another fix for building gperftools on old PPC
+  OSX computers)
+
+* Xiang.Lin (several OSX fixes)
+
+* Yikai Zhao (aarch64 generic_fp stack frame validation)
+
+You can find the list of all GitHub issues fixes in this release here:
+
+https://github.com/gperftools/gperftools/issues?q=label%3Afixed-in-2.16+is%3Aclosed
+
 == 5 Jan 2024
 gperftools 2.15 is out!
 
diff --git a/configure.ac b/configure.ac
index 6eb2dab..f44fb5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,12 +4,12 @@
 # make sure we're interpreted by some minimal autoconf
 AC_PREREQ([2.69])
 
-AC_INIT([gperftools],[2.15],[gperftools@googlegroups.com])
+AC_INIT([gperftools],[2.15.90],[gperftools@googlegroups.com])
 # Update this value for every release!  (A:B:C will map to foo.so.(A-C).C.B)
 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
-TCMALLOC_SO_VERSION=9:16:5
-PROFILER_SO_VERSION=5:11:5
-TCMALLOC_AND_PROFILER_SO_VERSION=10:11:6
+TCMALLOC_SO_VERSION=9:17:5
+PROFILER_SO_VERSION=5:12:5
+TCMALLOC_AND_PROFILER_SO_VERSION=10:12:6
 
 AC_SUBST(TCMALLOC_SO_VERSION)
 AC_SUBST(PROFILER_SO_VERSION)
@@ -20,7 +20,7 @@
 AC_CONFIG_SRCDIR(README)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE([dist-zip foreign])
+AM_INIT_AUTOMAKE([dist-zip foreign tar-ustar])
 AC_CONFIG_HEADERS([src/config.h])
 
 AM_MAINTAINER_MODE()
diff --git a/vsprojects/include/gperftools/tcmalloc.h b/vsprojects/include/gperftools/tcmalloc.h
index 135acf8..e76bfff 100644
--- a/vsprojects/include/gperftools/tcmalloc.h
+++ b/vsprojects/include/gperftools/tcmalloc.h
@@ -44,8 +44,8 @@
 /* Define the version number so folks can check against it */
 #define TC_VERSION_MAJOR  2
 #define TC_VERSION_MINOR  15
-#define TC_VERSION_PATCH  ""
-#define TC_VERSION_STRING "gperftools 2.15"
+#define TC_VERSION_PATCH  ".90"
+#define TC_VERSION_STRING "gperftools 2.15.90"
 
 #ifndef _WIN32
 /* For struct mallinfo, if it's defined. */