diff --git a/Config b/Config
index 5b1560389..16368c460 100755
--- a/Config
+++ b/Config
@@ -375,7 +375,7 @@ echo "We will now ask you a number of questions. You can just press ENTER to acc
 echo ""
 
 # This needs to be updated each release so auto-upgrading works for settings, modules, etc!!:
-UNREALRELEASES="unrealircd-6.0.7 unrealircd-6.0.6 unrealircd-6.0.5 unrealircd-6.0.5-rc2 unrealircd-6.0.5-rc1 unrealircd-6.0.4.2 unrealircd-6.0.4.1 unrealircd-6.0.4 unrealircd-6.0.4-rc2 unrealircd-6.0.4-rc1 unrealircd-6.0.3 unrealircd-6.0.2 unrealircd-6.0.1.1 unrealircd-6.0.1 unrealircd-6.0.0 unrealircd-6.0.0-rc2 unrealircd-6.0.0-rc1 unrealircd-6.0.0-beta4 unrealircd-6.0.0-beta3 unrealircd-6.0.0-beta2 unrealircd-6.0.0-beta1 unrealircd-5.2.3 unrealircd-5.2.2 unrealircd-5.2.1.1 unrealircd-5.2.1 unrealircd-5.2.1-rc1 unrealircd-5.2.0.2 unrealircd-5.2.0.1 unrealircd-5.2.0 unrealircd-5.2.0-rc1 unrealircd-5.0.9.1 unrealircd-5.0.9 unrealircd-5.0.9-rc1 unrealircd-5.0.8 unrealircd-5.0.8-rc1 unrealircd-5.0.7 unrealircd-5.0.7-rc1 unrealircd-5.0.6"
+UNREALRELEASES="unrealircd-6.1.0-rc1 unrealircd-6.0.7 unrealircd-6.0.6 unrealircd-6.0.5 unrealircd-6.0.5-rc2 unrealircd-6.0.5-rc1 unrealircd-6.0.4.2 unrealircd-6.0.4.1 unrealircd-6.0.4 unrealircd-6.0.4-rc2 unrealircd-6.0.4-rc1 unrealircd-6.0.3 unrealircd-6.0.2 unrealircd-6.0.1.1 unrealircd-6.0.1 unrealircd-6.0.0 unrealircd-6.0.0-rc2 unrealircd-6.0.0-rc1 unrealircd-6.0.0-beta4 unrealircd-6.0.0-beta3 unrealircd-6.0.0-beta2 unrealircd-6.0.0-beta1 unrealircd-5.2.3 unrealircd-5.2.2 unrealircd-5.2.1.1 unrealircd-5.2.1 unrealircd-5.2.1-rc1 unrealircd-5.2.0.2 unrealircd-5.2.0.1 unrealircd-5.2.0 unrealircd-5.2.0-rc1 unrealircd-5.0.9.1 unrealircd-5.0.9 unrealircd-5.0.9-rc1 unrealircd-5.0.8 unrealircd-5.0.8-rc1 unrealircd-5.0.7 unrealircd-5.0.7-rc1 unrealircd-5.0.6"
 if [ -f "config.settings" ]; then
 	. ./config.settings
 else
diff --git a/configure b/configure
index a463bdaa7..c0344cca3 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.71 for unrealircd 6.1.0-rc1.
+# Generated by GNU Autoconf 2.71 for unrealircd 6.1.0-rc2.
 #
 # Report bugs to <https://bugs.unrealircd.org/>.
 #
@@ -611,8 +611,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='unrealircd'
 PACKAGE_TARNAME='unrealircd'
-PACKAGE_VERSION='6.1.0-rc1'
-PACKAGE_STRING='unrealircd 6.1.0-rc1'
+PACKAGE_VERSION='6.1.0-rc2'
+PACKAGE_STRING='unrealircd 6.1.0-rc2'
 PACKAGE_BUGREPORT='https://bugs.unrealircd.org/'
 PACKAGE_URL='https://unrealircd.org/'
 
@@ -1372,7 +1372,7 @@ if test "$ac_init_help" = "long"; then
   # 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 unrealircd 6.1.0-rc1 to adapt to many kinds of systems.
+\`configure' configures unrealircd 6.1.0-rc2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1438,7 +1438,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of unrealircd 6.1.0-rc1:";;
+     short | recursive ) echo "Configuration of unrealircd 6.1.0-rc2:";;
    esac
   cat <<\_ACEOF
 
@@ -1615,7 +1615,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-unrealircd configure 6.1.0-rc1
+unrealircd configure 6.1.0-rc2
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1914,7 +1914,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by unrealircd $as_me 6.1.0-rc1, which was
+It was created by unrealircd $as_me 6.1.0-rc2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2705,7 +2705,7 @@ printf "%s\n" "#define UNREAL_VERSION_MINOR $UNREAL_VERSION_MINOR" >>confdefs.h
 # The version suffix such as a beta marker or release candidate
 # marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
 # string instead of an integer because it contains arbitrary data.
-UNREAL_VERSION_SUFFIX="-rc1"
+UNREAL_VERSION_SUFFIX="-rc2"
 
 printf "%s\n" "#define UNREAL_VERSION_SUFFIX \"$UNREAL_VERSION_SUFFIX\"" >>confdefs.h
 
@@ -10058,7 +10058,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by unrealircd $as_me 6.1.0-rc1, which was
+This file was extended by unrealircd $as_me 6.1.0-rc2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10123,7 +10123,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-unrealircd config.status 6.1.0-rc1
+unrealircd config.status 6.1.0-rc2
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 6b88b9efb..29af322ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ dnl src/windows/unrealinst.iss
 dnl doc/Config.header
 dnl src/version.c.SH
 
-AC_INIT([unrealircd], [6.1.0-rc1], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
+AC_INIT([unrealircd], [6.1.0-rc2], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
 AC_CONFIG_SRCDIR([src/ircd.c])
 AC_CONFIG_HEADER([include/setup.h])
 AC_CONFIG_AUX_DIR([autoconf])
@@ -40,7 +40,7 @@ AC_DEFINE_UNQUOTED([UNREAL_VERSION_MINOR], [$UNREAL_VERSION_MINOR], [Minor versi
 # The version suffix such as a beta marker or release candidate
 # marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
 # string instead of an integer because it contains arbitrary data.
-UNREAL_VERSION_SUFFIX=["-rc1"]
+UNREAL_VERSION_SUFFIX=["-rc2"]
 AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rcX for unrealircd-3.2.9-rcX)])
 
 AC_PATH_PROG(RM,rm)
diff --git a/doc/Config.header b/doc/Config.header
index cf586d04a..459663de3 100644
--- a/doc/Config.header
+++ b/doc/Config.header
@@ -7,7 +7,7 @@
  \___/|_| |_|_|  \___|\__,_|_|\___/\_| \_| \____/\__,_|
 
                                Configuration Program
-                                for UnrealIRCd 6.1.0-rc1
+                                for UnrealIRCd 6.1.0-rc2
                                     
 This program will help you to compile your IRC server, and ask you
 questions regarding the compile-time settings of it during the process. 
diff --git a/doc/RELEASE-NOTES.md b/doc/RELEASE-NOTES.md
index 08ede18c2..a9de9db80 100644
--- a/doc/RELEASE-NOTES.md
+++ b/doc/RELEASE-NOTES.md
@@ -1,10 +1,14 @@
-UnrealIRCd 6.1.0-rc1
+UnrealIRCd 6.1.0-rc2
 =================
-This is the first Release Candidate for future 6.1.0. It is not a "stable version".
+This is the second Release Candidate for future 6.1.0. It is not a "stable version".
 The stable 6.1.0 version is scheduled for May, 2023.
 
 You can help us by testing this release and reporting any issues at https://bugs.unrealircd.org/.
 
+Compared to -rc1 this -rc2 contains some minor +F fixes if setting a default
+profile, lots of JSON-RPC improvements and new API methods, HELPOP updates,
+fixes for streaming logs over websockets, ban exemption change and a Tor guide.
+
 ### Enhancements:
 * Channel flood protection improvements:
   * New [channel mode `+F`](https://www.unrealircd.org/docs/Channel_anti-flood_settings)
@@ -43,6 +47,15 @@ You can help us by testing this release and reporting any issues at https://bugs
       to `0`. This because in such a scenario only 1/5th (20%) of the users
       would reconnect and hopefully don't trigger +f/+F join floods.
   * All these features only work properly if all servers are on 6.1.0-rc1 or later.
+* New module `whowasdb` (persistent `WHOWAS` history): this saves the WHOWAS
+  history on disk periodically and when we terminate, so next server boot
+  still has the WHOWAS history. This module is currently not loaded by default.
+* New option [listen::spoof-ip](https://www.unrealircd.org/docs/Listen_block#spoof-ip),
+  only valid when using UNIX domain sockets (so listen::file).
+  This way you can override the IP address that users come online with when
+  they use the socket (default was and still is `127.0.0.1`).
+* Add a new guide [Running Tor Onion service with UnrealIRCd](https://www.unrealircd.org/docs/Running_Tor_Onion_service_with_UnrealIRCd)
+  which uses the new listen::spoof-ip and optionally requires a services account.
 * [JSON-RPC](https://www.unrealircd.org/docs/JSON-RPC):
   * Logging of JSON-RPC requests (eg. via snomask `+R`) has been improved,
     it now shows:
@@ -78,15 +91,6 @@ You can help us by testing this release and reporting any issues at https://bugs
 * A new message tag `unrealircd.org/issued-by` which is IRCOp-only (and
   used intra-server) to communicate who actually issued a command.
   See [docs](https://www.unrealircd.org/issued-by).
-* New module `whowasdb` (persistent `WHOWAS` history): this saves the WHOWAS
-  history on disk periodically and when we terminate, so next server boot
-  still has the WHOWAS history. This module is currently not loaded by default.
-* New option [listen::spoof-ip](https://www.unrealircd.org/docs/Listen_block#spoof-ip),
-  only valid when using UNIX domain sockets (so listen::file).
-  This way you can override the IP address that users come online with when
-  they use the socket (default was and still is `127.0.0.1`).
-* Add a new guide [Running Tor hidden service with UnrealIRCd](https://www.unrealircd.org/docs/Running_Tor_hidden_service_with_UnrealIRCd)
-  which uses the new listen::spoof-ip and optionally requires a services account.
 
 ### Changes:
 * The RPC modules are enabled by default now. This so remote RPC works
diff --git a/extras/doxygen/Doxyfile b/extras/doxygen/Doxyfile
index 077e54b96..212317a6b 100644
--- a/extras/doxygen/Doxyfile
+++ b/extras/doxygen/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME           = "UnrealIRCd"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 6.1.0-rc1
+PROJECT_NUMBER         = 6.1.0-rc2
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/include/windows/setup.h b/include/windows/setup.h
index d13c719fc..caccf5491 100644
--- a/include/windows/setup.h
+++ b/include/windows/setup.h
@@ -67,6 +67,6 @@
 
 /* Version suffix such as a beta marker or release candidate marker. (e.g.:
    -rcX for unrealircd-3.2.9-rcX) */
-#define UNREAL_VERSION_SUFFIX "-rc1"
+#define UNREAL_VERSION_SUFFIX "-rc2"
 
 #endif
diff --git a/src/version.c.SH b/src/version.c.SH
index f5409f134..cc4bc8706 100644
--- a/src/version.c.SH
+++ b/src/version.c.SH
@@ -7,7 +7,7 @@ echo "Extracting src/version.c..."
 if [ -d ../.git ]; then
 	SUFFIX="-$(git rev-parse --short HEAD)"
 fi
-id="6.1.0-rc1$SUFFIX"
+id="6.1.0-rc2$SUFFIX"
 echo "$id"
 
 if test -r version.c
diff --git a/src/windows/unrealinst.iss b/src/windows/unrealinst.iss
index cfe19fa0f..2005ad5f0 100755
--- a/src/windows/unrealinst.iss
+++ b/src/windows/unrealinst.iss
@@ -6,7 +6,7 @@
 
 [Setup]
 AppName=UnrealIRCd 6
-AppVerName=UnrealIRCd 6.1.0-rc1
+AppVerName=UnrealIRCd 6.1.0-rc2
 AppPublisher=UnrealIRCd Team
 AppPublisherURL=https://www.unrealircd.org
 AppSupportURL=https://www.unrealircd.org