From ed879726336029407946fbc1091dc19371c16a38 Mon Sep 17 00:00:00 2001
From: Tim van Dijen <tvdijen@gmail.com>
Date: Tue, 15 Sep 2020 22:10:40 +0200
Subject: [PATCH] Remove @return void

---
 lib/SimpleSAML/Auth/ProcessingChain.php       |  4 --
 lib/SimpleSAML/Auth/ProcessingFilter.php      |  1 -
 lib/SimpleSAML/Auth/Simple.php                |  4 --
 lib/SimpleSAML/Auth/Source.php                | 11 -----
 lib/SimpleSAML/Auth/State.php                 |  2 -
 lib/SimpleSAML/Command/RouterDebugCommand.php |  1 -
 lib/SimpleSAML/Configuration.php              |  3 --
 lib/SimpleSAML/Error/Assertion.php            |  2 -
 lib/SimpleSAML/Error/Error.php                |  2 -
 lib/SimpleSAML/Error/Exception.php            |  7 ---
 lib/SimpleSAML/IdP.php                        | 12 ------
 lib/SimpleSAML/IdP/IFrameLogoutHandler.php    |  2 -
 lib/SimpleSAML/IdP/LogoutHandlerInterface.php |  2 -
 .../IdP/TraditionalLogoutHandler.php          |  3 --
 lib/SimpleSAML/Kernel.php                     |  3 --
 lib/SimpleSAML/Locale/Language.php            |  2 -
 lib/SimpleSAML/Locale/Localization.php        |  5 ---
 lib/SimpleSAML/Locale/Translate.php           |  2 -
 lib/SimpleSAML/Logger.php                     | 18 --------
 .../Logger/ErrorLogLoggingHandler.php         |  2 -
 lib/SimpleSAML/Logger/FileLoggingHandler.php  |  2 -
 .../Logger/LoggingHandlerInterface.php        |  2 -
 .../Logger/SyslogLoggingHandler.php           |  2 -
 lib/SimpleSAML/Memcache.php                   |  3 --
 .../Metadata/MetaDataStorageHandler.php       |  1 -
 .../MetaDataStorageHandlerSerialize.php       |  1 -
 lib/SimpleSAML/Metadata/SAMLBuilder.php       | 14 ------
 lib/SimpleSAML/Metadata/SAMLParser.php        |  7 ---
 lib/SimpleSAML/Metadata/Sources/MDQ.php       |  1 -
 lib/SimpleSAML/Module.php                     |  1 -
 lib/SimpleSAML/Session.php                    | 20 ---------
 lib/SimpleSAML/SessionHandler.php             |  3 --
 lib/SimpleSAML/SessionHandlerCookie.php       |  1 -
 lib/SimpleSAML/SessionHandlerPHP.php          |  3 --
 lib/SimpleSAML/SessionHandlerStore.php        |  1 -
 lib/SimpleSAML/Stats.php                      |  2 -
 lib/SimpleSAML/Stats/Output.php               |  1 -
 lib/SimpleSAML/Store.php                      |  3 --
 lib/SimpleSAML/Store/Memcache.php             |  2 -
 lib/SimpleSAML/Store/Redis.php                |  2 -
 lib/SimpleSAML/Store/SQL.php                  |  7 ---
 lib/SimpleSAML/Utils/Auth.php                 |  1 -
 lib/SimpleSAML/Utils/ClearableState.php       |  1 -
 lib/SimpleSAML/Utils/EMail.php                |  5 ---
 lib/SimpleSAML/Utils/HTTP.php                 |  6 ---
 lib/SimpleSAML/Utils/HttpAdapter.php          |  5 ---
 lib/SimpleSAML/Utils/System.php               |  1 -
 lib/SimpleSAML/Utils/Time.php                 |  1 -
 lib/SimpleSAML/Utils/XML.php                  |  3 --
 lib/SimpleSAML/XHTML/IdPDisco.php             |  5 ---
 lib/SimpleSAML/XHTML/Template.php             |  2 -
 .../XHTML/TemplateControllerInterface.php     |  2 -
 lib/SimpleSAML/XML/Errors.php                 |  2 -
 lib/SimpleSAML/XML/Signer.php                 |  7 ---
 modules/admin/lib/Controller/Menu.php         |  1 -
 modules/core/hooks/hook_sanitycheck.php       |  1 -
 .../core/lib/Auth/Process/AttributeAdd.php    |  1 -
 .../core/lib/Auth/Process/AttributeAlter.php  |  1 -
 .../core/lib/Auth/Process/AttributeCopy.php   |  1 -
 .../core/lib/Auth/Process/AttributeLimit.php  |  1 -
 .../core/lib/Auth/Process/AttributeMap.php    |  2 -
 .../lib/Auth/Process/AttributeValueMap.php    |  1 -
 modules/core/lib/Auth/Process/Cardinality.php |  1 -
 .../lib/Auth/Process/CardinalitySingle.php    |  1 -
 .../lib/Auth/Process/ExtendIdPSession.php     |  1 -
 .../core/lib/Auth/Process/GenerateGroups.php  |  1 -
 .../core/lib/Auth/Process/LanguageAdaptor.php |  1 -
 modules/core/lib/Auth/Process/PHP.php         |  2 -
 .../core/lib/Auth/Process/ScopeAttribute.php  |  1 -
 .../lib/Auth/Process/ScopeFromAttribute.php   |  1 -
 .../Auth/Process/StatisticsWithAttribute.php  |  1 -
 modules/core/lib/Auth/Process/TargetedID.php  |  1 -
 .../lib/Auth/Process/WarnShortSSOInterval.php |  1 -
 modules/core/lib/Auth/UserPassBase.php        |  3 --
 modules/core/lib/Auth/UserPassOrgBase.php     |  3 --
 modules/core/lib/Controller/Login.php         |  1 -
 modules/core/lib/Stats/Output/File.php        |  2 -
 modules/core/lib/Stats/Output/Log.php         |  1 -
 .../core/lib/Storage/SQLPermanentStorage.php  |  1 -
 modules/cron/hooks/hook_configpage.php        |  1 -
 modules/cron/hooks/hook_cron.php              |  1 -
 modules/cron/hooks/hook_frontpage.php         |  1 -
 .../lib/Auth/Process/RedirectTest.php         |  1 -
 .../exampleauth/lib/Auth/Source/External.php  |  3 --
 .../lib/Auth/Source/StaticSource.php          |  1 -
 .../multiauth/lib/Auth/Source/MultiAuth.php   |  4 --
 modules/saml/hooks/hook_metadata_hosted.php   |  1 -
 .../lib/Auth/Process/AuthnContextClassRef.php |  1 -
 .../Process/ExpectedAuthnContextClassRef.php  |  2 -
 .../saml/lib/Auth/Process/FilterScopes.php    |  1 -
 .../saml/lib/Auth/Process/NameIDAttribute.php |  1 -
 .../Process/PersistentNameID2TargetedID.php   |  1 -
 modules/saml/lib/Auth/Source/SP.php           | 16 -------
 modules/saml/lib/BaseNameIDGenerator.php      |  1 -
 modules/saml/lib/IdP/SAML2.php                |  6 ---
 modules/saml/lib/IdP/SQLNameID.php            |  4 --
 modules/saml/lib/Message.php                  |  4 --
 modules/saml/lib/SP/LogoutStore.php           |  4 --
 tests/SigningTestCase.php                     |  3 --
 tests/Utils/ClearStateTestCase.php            |  4 --
 tests/Utils/ExitTestException.php             |  1 -
 tests/Utils/ReduceSpillOverTest.php           |  2 -
 tests/Utils/SpTester.php                      |  3 --
 tests/Utils/StateClearer.php                  |  3 --
 tests/Utils/TestAuthSource.php                |  1 -
 tests/_autoload_modules.php                   |  1 -
 tests/lib/SimpleSAML/Auth/SimpleTest.php      |  1 -
 tests/lib/SimpleSAML/Auth/SourceTest.php      |  1 -
 tests/lib/SimpleSAML/Auth/StateTest.php       |  1 -
 tests/lib/SimpleSAML/ConfigurationTest.php    | 43 -------------------
 tests/lib/SimpleSAML/DatabaseTest.php         |  9 ----
 tests/lib/SimpleSAML/Locale/LanguageTest.php  |  8 ----
 .../SimpleSAML/Locale/LocalizationTest.php    |  3 --
 tests/lib/SimpleSAML/Locale/TranslateTest.php |  1 -
 .../Metadata/MetaDataStorageHandlerTest.php   |  1 -
 .../Metadata/MetaDataStorageSourceTest.php    |  4 --
 .../SimpleSAML/Metadata/SAMLBuilderTest.php   |  4 --
 .../SimpleSAML/Metadata/SAMLParserTest.php    |  7 ---
 tests/lib/SimpleSAML/ModuleTest.php           |  7 ---
 .../lib/SimpleSAML/SessionHandlerPHPTest.php  |  9 ----
 tests/lib/SimpleSAML/SessionTest.php          |  3 --
 tests/lib/SimpleSAML/Store/RedisTest.php      | 13 ------
 tests/lib/SimpleSAML/Store/SQLTest.php        | 12 ------
 tests/lib/SimpleSAML/StoreTest.php            |  8 ----
 tests/lib/SimpleSAML/Utils/ArraysTest.php     |  2 -
 tests/lib/SimpleSAML/Utils/AttributesTest.php |  9 ----
 .../SimpleSAML/Utils/Config/MetadataTest.php  |  3 --
 tests/lib/SimpleSAML/Utils/ConfigTest.php     |  5 ---
 tests/lib/SimpleSAML/Utils/CryptoTest.php     | 19 --------
 tests/lib/SimpleSAML/Utils/EMailTest.php      |  8 ----
 tests/lib/SimpleSAML/Utils/HTTPTest.php       | 14 ------
 tests/lib/SimpleSAML/Utils/NetTest.php        |  2 -
 tests/lib/SimpleSAML/Utils/RandomTest.php     |  1 -
 tests/lib/SimpleSAML/Utils/SystemTest.php     | 15 -------
 tests/lib/SimpleSAML/Utils/TimeTest.php       |  3 --
 tests/lib/SimpleSAML/Utils/XMLTest.php        | 21 ---------
 tests/lib/SimpleSAML/XML/ErrorsTest.php       |  2 -
 tests/lib/SimpleSAML/XML/ParserTest.php       |  8 ----
 tests/lib/SimpleSAML/XML/SignerTest.php       |  6 ---
 tests/lib/SimpleSAML/XML/ValidatorTest.php    |  4 --
 .../admin/lib/Controller/ConfigTest.php       |  4 --
 .../admin/lib/Controller/FederationTest.php   | 10 -----
 .../modules/admin/lib/Controller/TestTest.php |  6 ---
 .../lib/Auth/Process/AttributeAddTest.php     |  8 ----
 .../lib/Auth/Process/AttributeAlterTest.php   | 14 ------
 .../lib/Auth/Process/AttributeCopyTest.php    |  7 ---
 .../lib/Auth/Process/AttributeLimitTest.php   | 15 -------
 .../lib/Auth/Process/AttributeMapTest.php     | 11 -----
 .../Auth/Process/AttributeValueMapTest.php    |  7 ---
 .../Auth/Process/CardinalitySingleTest.php    |  7 ---
 .../core/lib/Auth/Process/CardinalityTest.php | 12 ------
 .../modules/core/lib/Auth/Process/PHPTest.php |  5 ---
 .../lib/Auth/Process/ScopeAttributeTest.php   |  9 ----
 .../Auth/Process/ScopeFromAttributeTest.php   |  4 --
 .../core/lib/Auth/Process/TargetedIDTest.php  | 12 ------
 .../core/lib/Auth/UserPassBaseTest.php        |  4 --
 .../core/lib/Auth/UserPassOrgBaseTest.php     |  1 -
 .../modules/core/lib/Controller/LoginTest.php |  8 ----
 .../lib/Storage/SQLPermanentStorageTest.php   |  7 ---
 .../modules/cron/lib/Controller/CronTest.php  |  3 --
 .../lib/Auth/Source/MultiAuthTest.php         |  6 ---
 .../lib/Auth/Process/FilterScopesTest.php     |  2 -
 .../lib/Auth/Process/NameIDAttributeTest.php  |  7 ---
 .../lib/Auth/Source/Auth_Source_SP_Test.php   | 10 -----
 tests/modules/saml/lib/IdP/SAML2Test.php      |  4 --
 tests/modules/saml/lib/IdP/SQLNameIDTest.php  |  5 ---
 tests/www/IndexTest.php                       |  4 --
 167 files changed, 761 deletions(-)

diff --git a/lib/SimpleSAML/Auth/ProcessingChain.php b/lib/SimpleSAML/Auth/ProcessingChain.php
index a013b0efa..65a8fcd02 100644
--- a/lib/SimpleSAML/Auth/ProcessingChain.php
+++ b/lib/SimpleSAML/Auth/ProcessingChain.php
@@ -90,7 +90,6 @@ class ProcessingChain
      *
      * @param array &$target  Target filter list. This list must be sorted.
      * @param array $src  Source filters. May be unsorted.
-     * @return void
      */
     private static function addFilters(array &$target, array $src): void
     {
@@ -185,7 +184,6 @@ class ProcessingChain
      * @param array &$state  The state we are processing.
      * @throws \SimpleSAML\Error\Exception
      * @throws \SimpleSAML\Error\UnserializableException
-     * @return void
      */
     public function processState(array &$state): void
     {
@@ -224,7 +222,6 @@ class ProcessingChain
      * to whatever exception handler is defined in the state array.
      *
      * @param array $state  The state we are processing.
-     * @return void
      */
     public static function resumeProcessing(array $state): void
     {
@@ -277,7 +274,6 @@ class ProcessingChain
      * This function will only return if processing completes.
      *
      * @param array &$state  The state we are processing.
-     * @return void
      */
     public function processStatePassive(array &$state): void
     {
diff --git a/lib/SimpleSAML/Auth/ProcessingFilter.php b/lib/SimpleSAML/Auth/ProcessingFilter.php
index 548ae0ab8..90442a5b2 100644
--- a/lib/SimpleSAML/Auth/ProcessingFilter.php
+++ b/lib/SimpleSAML/Auth/ProcessingFilter.php
@@ -64,7 +64,6 @@ abstract class ProcessingFilter
      * When a filter returns from this function, it is assumed to have completed its task.
      *
      * @param array &$request  The request we are currently processing.
-     * @return void
      */
     abstract public function process(array &$request): void;
 }
diff --git a/lib/SimpleSAML/Auth/Simple.php b/lib/SimpleSAML/Auth/Simple.php
index e81d98997..1d435a7ef 100644
--- a/lib/SimpleSAML/Auth/Simple.php
+++ b/lib/SimpleSAML/Auth/Simple.php
@@ -99,7 +99,6 @@ class Simple
      * method for a description.
      *
      * @param array $params Various options to the authentication request. See the documentation.
-     * @return void
      */
     public function requireAuth(array $params = []): void
     {
@@ -125,7 +124,6 @@ class Simple
      * Please note: this function never returns.
      *
      * @param array $params Various options to the authentication request.
-     * @return void
      */
     public function login(array $params = []): void
     {
@@ -185,7 +183,6 @@ class Simple
      *
      * @param string|array|null $params Either the URL the user should be redirected to after logging out, or an array
      * with parameters for the logout. If this parameter is null, we will return to the current page.
-     * @return void
      */
     public function logout($params = null): void
     {
@@ -234,7 +231,6 @@ class Simple
      * This function never returns.
      *
      * @param array $state The state after the logout.
-     * @return void
      */
     public static function logoutCompleted(array $state): void
     {
diff --git a/lib/SimpleSAML/Auth/Source.php b/lib/SimpleSAML/Auth/Source.php
index c41548493..3f52d3111 100644
--- a/lib/SimpleSAML/Auth/Source.php
+++ b/lib/SimpleSAML/Auth/Source.php
@@ -103,7 +103,6 @@ abstract class Source
      * information about the user, and call completeAuth with the state array.
      *
      * @param array &$state Information about the current authentication.
-     * @return void
      */
     abstract public function authenticate(array &$state): void;
 
@@ -115,7 +114,6 @@ abstract class Source
      * interact with the user even in the case when the user is already authenticated.
      *
      * @param array &$state Information about the current authentication.
-     * @return void
      */
     public function reauthenticate(array &$state): void
     {
@@ -142,7 +140,6 @@ abstract class Source
      * but should instead be passed to the top-level exception handler.
      *
      * @param array &$state Information about the current authentication.
-     * @return void
      */
     public static function completeAuth(array &$state): void
     {
@@ -170,7 +167,6 @@ abstract class Source
      * check it by calling \SimpleSAML\Utils\HTTP::checkURLAllowed().
      * @param array $params Extra information about the login. Different authentication requestors may provide different
      * information. Optional, will default to an empty array.
-     * @return void
      */
     public function initLogin($return, ?string $errorURL = null, array $params = []): void
     {
@@ -213,7 +209,6 @@ abstract class Source
      * This method never returns.
      *
      * @param array $state The state after the login has completed.
-     * @return void
      */
     public static function loginCompleted(array $state): void
     {
@@ -251,7 +246,6 @@ abstract class Source
      * showing the user a page, or redirecting, this function should return.
      *
      * @param array &$state Information about the current logout operation.
-     * @return void
      */
     public function logout(array &$state): void
     {
@@ -267,7 +261,6 @@ abstract class Source
      * but should instead be passed to the top-level exception handler.
      *
      * @param array &$state Information about the current authentication.
-     * @return void
      */
     public static function completeLogout(array &$state): void
     {
@@ -380,7 +373,6 @@ abstract class Source
      * Called when the authentication source receives an external logout request.
      *
      * @param array $state State array for the logout operation.
-     * @return void
      */
     public static function logoutCallback(array $state): void
     {
@@ -412,7 +404,6 @@ abstract class Source
      *
      * @param string $assoc The identifier for this logout association.
      * @param array  $state The state array passed to the authenticate-function.
-     * @return void
      */
     protected function addLogoutCallback(string $assoc, array $state): void
     {
@@ -454,7 +445,6 @@ abstract class Source
      * This function always returns.
      *
      * @param string $assoc The logout association which should be called.
-     * @return void
      */
     protected function callLogoutCallback(string $assoc): void
     {
@@ -502,7 +492,6 @@ abstract class Source
      * @param string $id The auth source identifier.
      *
      * @throws \Exception If the first element of $source is not an identifier for the auth source.
-     * @return void
      */
     protected static function validateSource(array $source, string $id): void
     {
diff --git a/lib/SimpleSAML/Auth/State.php b/lib/SimpleSAML/Auth/State.php
index 03d36efa4..175fd9494 100644
--- a/lib/SimpleSAML/Auth/State.php
+++ b/lib/SimpleSAML/Auth/State.php
@@ -316,7 +316,6 @@ class State
      * This function deletes the given state to prevent the user from reusing it later.
      *
      * @param array &$state The state which should be deleted.
-     * @return void
      */
     public static function deleteState(array &$state): void
     {
@@ -339,7 +338,6 @@ class State
      * @param \SimpleSAML\Error\Exception $exception The exception.
      *
      * @throws \SimpleSAML\Error\Exception If there is no exception handler defined, it will just throw the $exception.
-     * @return void
      */
     public static function throwException(array $state, Error\Exception $exception): void
     {
diff --git a/lib/SimpleSAML/Command/RouterDebugCommand.php b/lib/SimpleSAML/Command/RouterDebugCommand.php
index 3f6124dc6..b5610c797 100644
--- a/lib/SimpleSAML/Command/RouterDebugCommand.php
+++ b/lib/SimpleSAML/Command/RouterDebugCommand.php
@@ -38,7 +38,6 @@ class RouterDebugCommand extends Command
 
 
     /**
-     * @return void
      */
     protected function configure(): void
     {
diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php
index 9a908c0c6..d562448cb 100644
--- a/lib/SimpleSAML/Configuration.php
+++ b/lib/SimpleSAML/Configuration.php
@@ -178,7 +178,6 @@ class Configuration implements Utils\ClearableState
      *
      * @param string $path The directory which contains the configuration files.
      * @param string $configSet The configuration set. Defaults to 'simplesaml'.
-     * @return void
      */
     public static function setConfigDir(string $path, string $configSet = 'simplesaml'): void
     {
@@ -195,7 +194,6 @@ class Configuration implements Utils\ClearableState
      * @param \SimpleSAML\Configuration $config  The configuration object to store
      * @param string $filename  The name of the configuration file.
      * @param string $configSet  The configuration set. Optional, defaults to 'simplesaml'.
-     * @return void
      * @throws \Exception
      */
     public static function setPreLoadedConfig(
@@ -1200,7 +1198,6 @@ class Configuration implements Utils\ClearableState
      * Allows for configuration files to be changed and reloaded during a given request. Most useful
      * when running phpunit tests and needing to alter config.php between test cases
      *
-     * @return void
      */
     public static function clearInternalState(): void
     {
diff --git a/lib/SimpleSAML/Error/Assertion.php b/lib/SimpleSAML/Error/Assertion.php
index 42cf63563..47335eca5 100644
--- a/lib/SimpleSAML/Error/Assertion.php
+++ b/lib/SimpleSAML/Error/Assertion.php
@@ -54,7 +54,6 @@ class Assertion extends Exception
      *
      * This function will register this assertion handler. If will not enable assertions if they are
      * disabled.
-     * @return void
      */
     public static function installHandler(): void
     {
@@ -72,7 +71,6 @@ class Assertion extends Exception
      * @param string $file  The file assert was called from.
      * @param int $line  The line assert was called from.
      * @param mixed $message  The expression which was passed to the assert-function.
-     * @return void
      */
     public static function onAssertion(string $file, int $line, $message): void
     {
diff --git a/lib/SimpleSAML/Error/Error.php b/lib/SimpleSAML/Error/Error.php
index f5285716c..2d7375f5b 100644
--- a/lib/SimpleSAML/Error/Error.php
+++ b/lib/SimpleSAML/Error/Error.php
@@ -165,7 +165,6 @@ class Error extends Exception
      * Set the HTTP return code for this error.
      *
      * This should be overridden by subclasses who want a different return code than 500 Internal Server Error.
-     * @return void
      */
     protected function setHTTPCode(): void
     {
@@ -219,7 +218,6 @@ class Error extends Exception
      * Display this error.
      *
      * This method displays a standard SimpleSAMLphp error page and exits.
-     * @return void
      */
     public function show(): void
     {
diff --git a/lib/SimpleSAML/Error/Exception.php b/lib/SimpleSAML/Error/Exception.php
index ce1cae1d6..15d4fa644 100644
--- a/lib/SimpleSAML/Error/Exception.php
+++ b/lib/SimpleSAML/Error/Exception.php
@@ -79,7 +79,6 @@ class Exception extends \Exception
      * Load the backtrace from the given exception.
      *
      * @param \Throwable $exception The exception we should fetch the backtrace from.
-     * @return void
      */
     protected function initBacktrace(Throwable $exception): void
     {
@@ -197,7 +196,6 @@ class Exception extends \Exception
     /**
      * Print the backtrace to the log if the 'debug' option is enabled in the configuration.
      * @param int $level
-     * @return void
      */
     protected function logBacktrace(int $level = Logger::DEBUG): void
     {
@@ -230,7 +228,6 @@ class Exception extends \Exception
      * Override to allow errors extending this class to specify the log level themselves.
      *
      * @param int $default_level The log level to use if this method was not overridden.
-     * @return void
      */
     public function log(int $default_level): void
     {
@@ -248,7 +245,6 @@ class Exception extends \Exception
      * Print the exception to the log with log level error.
      *
      * This function will write this exception to the log, including a full backtrace.
-     * @return void
      */
     public function logError(): void
     {
@@ -261,7 +257,6 @@ class Exception extends \Exception
      * Print the exception to the log with log level warning.
      *
      * This function will write this exception to the log, including a full backtrace.
-     * @return void
      */
     public function logWarning(): void
     {
@@ -274,7 +269,6 @@ class Exception extends \Exception
      * Print the exception to the log with log level info.
      *
      * This function will write this exception to the log, including a full backtrace.
-     * @return void
      */
     public function logInfo(): void
     {
@@ -287,7 +281,6 @@ class Exception extends \Exception
      * Print the exception to the log with log level debug.
      *
      * This function will write this exception to the log, including a full backtrace.
-     * @return void
      */
     public function logDebug(): void
     {
diff --git a/lib/SimpleSAML/IdP.php b/lib/SimpleSAML/IdP.php
index 94f767289..876e4d0ed 100644
--- a/lib/SimpleSAML/IdP.php
+++ b/lib/SimpleSAML/IdP.php
@@ -207,7 +207,6 @@ class IdP
      * Add an SP association.
      *
      * @param array $association The SP association.
-     * @return void
      */
     public function addAssociation(array $association): void
     {
@@ -237,7 +236,6 @@ class IdP
      * Remove an SP association.
      *
      * @param string $assocId The association id.
-     * @return void
      */
     public function terminateAssociation(string $assocId): void
     {
@@ -261,7 +259,6 @@ class IdP
      * Called after authproc has run.
      *
      * @param array $state The authentication request state array.
-     * @return void
      */
     public static function postAuthProc(array $state): void
     {
@@ -288,7 +285,6 @@ class IdP
      * @param array $state The authentication request state array.
      *
      * @throws \SimpleSAML\Error\Exception If we are not authenticated.
-     * @return void
      */
     public static function postAuth(array $state): void
     {
@@ -336,7 +332,6 @@ class IdP
      * @param array &$state The authentication request state.
      *
      * @throws \SimpleSAML\Module\saml\Error\NoPassive If we were asked to do passive authentication.
-     * @return void
      */
     private function authenticate(array &$state): void
     {
@@ -359,7 +354,6 @@ class IdP
      * @param array &$state The authentication request state.
      *
      * @throws \Exception If there is no auth source defined for this IdP.
-     * @return void
      */
     private function reauthenticate(array &$state): void
     {
@@ -372,7 +366,6 @@ class IdP
      * Process authentication requests.
      *
      * @param array &$state The authentication request state.
-     * @return void
      */
     public function handleAuthenticationRequest(array &$state): void
     {
@@ -450,7 +443,6 @@ class IdP
      * This function will never return.
      *
      * @param array &$state The logout request state.
-     * @return void
      */
     public function finishLogout(array &$state): void
     {
@@ -470,7 +462,6 @@ class IdP
      * @param array       &$state The logout request state.
      * @param string|null $assocId The association we received the logout request from, or null if there was no
      * association.
-     * @return void
      */
     public function handleLogoutRequest(array &$state, ?string $assocId): void
     {
@@ -508,7 +499,6 @@ class IdP
      * @param string                 $assocId The association that is terminated.
      * @param string|null            $relayState The RelayState from the start of the logout.
      * @param \SimpleSAML\Error\Exception|null $error  The error that occurred during session termination (if any).
-     * @return void
      */
     public function handleLogoutResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void
     {
@@ -531,7 +521,6 @@ class IdP
      * This function never returns.
      *
      * @param string $url The URL the user should be returned to after logout.
-     * @return void
      */
     public function doLogoutRedirect(string $url): void
     {
@@ -552,7 +541,6 @@ class IdP
      *
      * @param IdP      $idp Deprecated. Will be removed.
      * @param array    &$state The logout state from doLogoutRedirect().
-     * @return void
      */
     public static function finishLogoutRedirect(IdP $idp, array $state): void
     {
diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
index 12d2601cb..b7303a256 100644
--- a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
+++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
@@ -43,7 +43,6 @@ class IFrameLogoutHandler implements LogoutHandlerInterface
      *
      * @param array &$state The logout state.
      * @param string|null $assocId The SP we are logging out from.
-     * @return void
      */
     public function startLogout(array &$state, ?string $assocId): void
     {
@@ -91,7 +90,6 @@ class IFrameLogoutHandler implements LogoutHandlerInterface
      * @param string $assocId The association that is terminated.
      * @param string|null $relayState The RelayState from the start of the logout.
      * @param \SimpleSAML\Error\Exception|null $error The error that occurred during session termination (if any).
-     * @return void
      */
     public function onResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void
     {
diff --git a/lib/SimpleSAML/IdP/LogoutHandlerInterface.php b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php
index 3708d6924..ca0f49818 100644
--- a/lib/SimpleSAML/IdP/LogoutHandlerInterface.php
+++ b/lib/SimpleSAML/IdP/LogoutHandlerInterface.php
@@ -30,7 +30,6 @@ interface LogoutHandlerInterface
      *
      * @param array &$state The logout state.
      * @param string $assocId The association that started the logout.
-     * @return void
      */
     public function startLogout(array &$state, string $assocId): void;
 
@@ -43,7 +42,6 @@ interface LogoutHandlerInterface
      * @param string $assocId The association that is terminated.
      * @param string|null $relayState The RelayState from the start of the logout.
      * @param \SimpleSAML\Error\Exception|null $error The error that occurred during session termination (if any).
-     * @return void
      */
     public function onResponse(string $assocId, ?string $relayState, Error\Exception $error = null): void;
 }
diff --git a/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php b/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php
index 2a555cdc3..cf6c2a63c 100644
--- a/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php
+++ b/lib/SimpleSAML/IdP/TraditionalLogoutHandler.php
@@ -44,7 +44,6 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface
      * This function never returns.
      *
      * @param array &$state The logout state.
-     * @return void
      */
     private function logoutNextSP(array &$state): void
     {
@@ -81,7 +80,6 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface
      *
      * @param array  &$state The logout state.
      * @param string $assocId The association that started the logout.
-     * @return void
      */
     public function startLogout(array &$state, string $assocId): void
     {
@@ -99,7 +97,6 @@ class TraditionalLogoutHandler implements LogoutHandlerInterface
      * @param string $assocId The association that is terminated.
      * @param string|null $relayState The RelayState from the start of the logout.
      * @param \SimpleSAML\Error\Exception|null $error The error that occurred during session termination (if any).
-     * @return void
      *
      * @throws \SimpleSAML\Error\Exception If the RelayState was lost during logout.
      */
diff --git a/lib/SimpleSAML/Kernel.php b/lib/SimpleSAML/Kernel.php
index 3a9877eb4..49b9d6906 100644
--- a/lib/SimpleSAML/Kernel.php
+++ b/lib/SimpleSAML/Kernel.php
@@ -100,7 +100,6 @@ class Kernel extends BaseKernel
      *
      * @param ContainerBuilder $container
      * @param LoaderInterface $loader
-     * @return void
      */
     protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
     {
@@ -124,7 +123,6 @@ class Kernel extends BaseKernel
      * Import routes.
      *
      * @param RouteCollectionBuilder $routes
-     * @return void
      */
     protected function configureRoutes(RouteCollectionBuilder $routes): void
     {
@@ -140,7 +138,6 @@ class Kernel extends BaseKernel
 
     /**
      * @param ContainerBuilder $container
-     * @return void
      */
     private function registerModuleControllers(ContainerBuilder $container): void
     {
diff --git a/lib/SimpleSAML/Locale/Language.php b/lib/SimpleSAML/Locale/Language.php
index 04280d9ad..d8fad2258 100644
--- a/lib/SimpleSAML/Locale/Language.php
+++ b/lib/SimpleSAML/Locale/Language.php
@@ -199,7 +199,6 @@ class Language
      *
      * @param string  $language Language code for the language to set.
      * @param boolean $setLanguageCookie Whether to set the language cookie or not. Defaults to true.
-     * @return void
      */
     public function setLanguage(string $language, bool $setLanguageCookie = true): void
     {
@@ -404,7 +403,6 @@ class Language
      * specified is not in the list of available languages, or the headers have already been sent to the browser.
      *
      * @param string $language The language set by the user.
-     * @return void
      */
     public static function setLanguageCookie(string $language): void
     {
diff --git a/lib/SimpleSAML/Locale/Localization.php b/lib/SimpleSAML/Locale/Localization.php
index 776b10ddc..b28c54da3 100644
--- a/lib/SimpleSAML/Locale/Localization.php
+++ b/lib/SimpleSAML/Locale/Localization.php
@@ -140,7 +140,6 @@ class Localization
      *
      * @param string $module Module name
      * @param string $localeDir Absolute path if the module is housed elsewhere
-     * @return void
      */
     public function addModuleDomain(string $module, string $localeDir = null): void
     {
@@ -157,7 +156,6 @@ class Localization
      *
      * @param string $localeDir Location of translations
      * @param string $domain Domain at location
-     * @return void
      */
     public function addDomain(string $localeDir, string $domain): void
     {
@@ -216,7 +214,6 @@ class Localization
 
     /**
      * Setup the translator
-     * @return void
      */
     private function setupTranslator(): void
     {
@@ -233,7 +230,6 @@ class Localization
      *
      * @param string $domain Name of domain
      * @param boolean $catchException Whether to catch an exception on error or return early
-     * @return void
      *
      * @throws \Exception If something is wrong with the locale file for the domain and activated language
      */
@@ -283,7 +279,6 @@ class Localization
 
     /**
      * Set up L18N if configured or fallback to old system
-     * @return void
      */
     private function setupL10N(): void
     {
diff --git a/lib/SimpleSAML/Locale/Translate.php b/lib/SimpleSAML/Locale/Translate.php
index 0413fd097..75ce2a1fc 100644
--- a/lib/SimpleSAML/Locale/Translate.php
+++ b/lib/SimpleSAML/Locale/Translate.php
@@ -237,7 +237,6 @@ class Translate
      * @param mixed  $translation The translation array
      *
      * @throws \Exception If $translation is neither a string nor an array.
-     * @return void
      */
     public function includeInlineTranslation(string $tag, $translation): void
     {
@@ -262,7 +261,6 @@ class Translate
      * one provided in the constructor to be used to find the directory of the dictionary. This allows to combine
      * dictionaries inside the SimpleSAMLphp main code distribution together with external dictionaries. Defaults to
      * null.
-     * @return void
      */
     public function includeLanguageFile(string $file, Configuration $otherConfig = null): void
     {
diff --git a/lib/SimpleSAML/Logger.php b/lib/SimpleSAML/Logger.php
index 9d0a82fb9..ec47b8a4b 100644
--- a/lib/SimpleSAML/Logger.php
+++ b/lib/SimpleSAML/Logger.php
@@ -158,7 +158,6 @@ class Logger
      * Log an emergency message.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function emergency(string $string): void
     {
@@ -170,7 +169,6 @@ class Logger
      * Log a critical message.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function critical(string $string): void
     {
@@ -182,7 +180,6 @@ class Logger
      * Log an alert.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function alert(string $string): void
     {
@@ -194,7 +191,6 @@ class Logger
      * Log an error.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function error(string $string): void
     {
@@ -206,7 +202,6 @@ class Logger
      * Log a warning.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function warning(string $string): void
     {
@@ -218,7 +213,6 @@ class Logger
      * We reserve the notice level for statistics, so do not use this level for other kind of log messages.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function notice(string $string): void
     {
@@ -230,7 +224,6 @@ class Logger
      * Info messages are a bit less verbose than debug messages. This is useful to trace a session.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function info(string $string): void
     {
@@ -243,7 +236,6 @@ class Logger
      * system.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function debug(string $string): void
     {
@@ -255,7 +247,6 @@ class Logger
      * Statistics.
      *
      * @param string $string The message to log.
-     * @return void
      */
     public static function stats(string $string): void
     {
@@ -267,7 +258,6 @@ class Logger
      * Set the logger to capture logs.
      *
      * @param boolean $val Whether to capture logs or not. Defaults to TRUE.
-     * @return void
      */
     public static function setCaptureLog(bool $val = true): void
     {
@@ -289,7 +279,6 @@ class Logger
      * Set the track identifier to use in all logs.
      *
      * @param string $trackId The track identifier to use during this session.
-     * @return void
      */
     public static function setTrackId(string $trackId): void
     {
@@ -301,7 +290,6 @@ class Logger
     /**
      * Flush any pending log messages to the logging handler.
      *
-     * @return void
      */
     public static function flush(): void
     {
@@ -318,7 +306,6 @@ class Logger
      * This method is intended to be registered as a shutdown handler, so that any pending messages that weren't sent
      * to the logging handler at that point, can still make it. It is therefore not intended to be called manually.
      *
-     * @return void
      */
     public static function shutdown(): void
     {
@@ -355,7 +342,6 @@ class Logger
      * Every call to this function must be followed by a call to popErrorMask().
      *
      * @param int $mask The log levels that should be masked.
-     * @return void
      */
     public static function maskErrors(int $mask): void
     {
@@ -373,7 +359,6 @@ class Logger
      *
      * This function restores the previous error mask.
      *
-     * @return void
      */
     public static function popErrorMask(): void
     {
@@ -389,7 +374,6 @@ class Logger
      * @param int     $level The log level corresponding to this message.
      * @param string  $message The message itself to log.
      * @param boolean $stats Whether this is a stats message or a regular one.
-     * @return void
      */
     private static function defer(int $level, string $message, bool $stats): void
     {
@@ -406,7 +390,6 @@ class Logger
 
     /**
      * @param string|null $handler
-     * @return void
      * @throws \Exception
      */
     private static function createLoggingHandler(?string $handler = null): void
@@ -465,7 +448,6 @@ class Logger
      * @param int $level
      * @param string $string
      * @param bool $statsLog
-     * @return void
      */
     private static function log(int $level, string $string, bool $statsLog = false): void
     {
diff --git a/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php
index fe5d4baff..1900893aa 100644
--- a/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php
+++ b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php
@@ -53,7 +53,6 @@ class ErrorLogLoggingHandler implements LoggingHandlerInterface
      * Set the format desired for the logs.
      *
      * @param string $format The format used for logs.
-     * @return void
      */
     public function setLogFormat(string $format): void
     {
@@ -66,7 +65,6 @@ class ErrorLogLoggingHandler implements LoggingHandlerInterface
      *
      * @param int $level The log level.
      * @param string $string The formatted message to log.
-     * @return void
      */
     public function log(int $level, string $string): void
     {
diff --git a/lib/SimpleSAML/Logger/FileLoggingHandler.php b/lib/SimpleSAML/Logger/FileLoggingHandler.php
index a7bbe37cb..f54e76ae1 100644
--- a/lib/SimpleSAML/Logger/FileLoggingHandler.php
+++ b/lib/SimpleSAML/Logger/FileLoggingHandler.php
@@ -78,7 +78,6 @@ class FileLoggingHandler implements LoggingHandlerInterface
      * Set the format desired for the logs.
      *
      * @param string $format The format used for logs.
-     * @return void
      */
     public function setLogFormat(string $format): void
     {
@@ -91,7 +90,6 @@ class FileLoggingHandler implements LoggingHandlerInterface
      *
      * @param int    $level The log level.
      * @param string $string The formatted message to log.
-     * @return void
      */
     public function log(int $level, string $string): void
     {
diff --git a/lib/SimpleSAML/Logger/LoggingHandlerInterface.php b/lib/SimpleSAML/Logger/LoggingHandlerInterface.php
index 8874c2939..25bac0a11 100644
--- a/lib/SimpleSAML/Logger/LoggingHandlerInterface.php
+++ b/lib/SimpleSAML/Logger/LoggingHandlerInterface.php
@@ -27,7 +27,6 @@ interface LoggingHandlerInterface
      *
      * @param int $level The log level.
      * @param string $string The message to log.
-     * @return void
      */
     public function log(int $level, string $string): void;
 
@@ -36,7 +35,6 @@ interface LoggingHandlerInterface
      * Set the format desired for the logs.
      *
      * @param string $format The format used for logs.
-     * @return void
      */
     public function setLogFormat(string $format): void;
 }
diff --git a/lib/SimpleSAML/Logger/SyslogLoggingHandler.php b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php
index efa7ed232..bb3849201 100644
--- a/lib/SimpleSAML/Logger/SyslogLoggingHandler.php
+++ b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php
@@ -45,7 +45,6 @@ class SyslogLoggingHandler implements LoggingHandlerInterface
      * Set the format desired for the logs.
      *
      * @param string $format The format used for logs.
-     * @return void
      */
     public function setLogFormat(string $format): void
     {
@@ -58,7 +57,6 @@ class SyslogLoggingHandler implements LoggingHandlerInterface
      *
      * @param int $level The log level.
      * @param string $string The formatted message to log.
-     * @return void
      */
     public function log(int $level, string $string): void
     {
diff --git a/lib/SimpleSAML/Memcache.php b/lib/SimpleSAML/Memcache.php
index f69e4d83b..39e4b8a88 100644
--- a/lib/SimpleSAML/Memcache.php
+++ b/lib/SimpleSAML/Memcache.php
@@ -142,7 +142,6 @@ class Memcache
      * @param string       $key The key of the data.
      * @param mixed        $value The value of the data.
      * @param integer|null $expire The expiration timestamp of the data.
-     * @return void
      */
     public static function set(string $key, $value, ?int $expire = null): void
     {
@@ -169,7 +168,6 @@ class Memcache
      * Delete a key-value pair from the memcache servers.
      *
      * @param string $key The key we should delete.
-     * @return void
      */
     public static function delete(string $key): void
     {
@@ -202,7 +200,6 @@ class Memcache
      *
      * @param \Memcached $memcache The Memcache object we should add this server to.
      * @param array    $server An associative array with the configuration options for the server to add.
-     * @return void
      *
      * @throws \Exception If any configuration option for the server is invalid.
      */
diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
index d4f86e551..e668914dd 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
@@ -391,7 +391,6 @@ class MetaDataStorageHandler implements ClearableState
      * Clear any metadata cached.
      * Allows for metadata configuration to be changed and reloaded during a given request. Most useful
      * when running phpunit tests and needing to alter config.php and metadata sources between test cases
-     * @return void
      */
     public static function clearInternalState(): void
     {
diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
index 08d75d427..6e1770f3e 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandlerSerialize.php
@@ -258,7 +258,6 @@ class MetaDataStorageHandlerSerialize extends MetaDataStorageSource
      *
      * @param string $entityId The entityId of the metadata entry.
      * @param string $set The metadata set this metadata entry belongs to.
-     * @return void
      */
     public function deleteMetadata(string $entityId, string $set): void
     {
diff --git a/lib/SimpleSAML/Metadata/SAMLBuilder.php b/lib/SimpleSAML/Metadata/SAMLBuilder.php
index 1ea0a5e12..0eed9f37e 100644
--- a/lib/SimpleSAML/Metadata/SAMLBuilder.php
+++ b/lib/SimpleSAML/Metadata/SAMLBuilder.php
@@ -72,7 +72,6 @@ class SAMLBuilder
      * @param int|null $maxCache The maximum time in seconds the metadata should be cached. Defaults to null
      * @param int|null $maxDuration The maximum time in seconds this metadata should be considered valid. Defaults
      * to null.
-     * @return void
      */
     public function __construct(string $entityId, int $maxCache = null, int $maxDuration = null)
     {
@@ -86,7 +85,6 @@ class SAMLBuilder
 
     /**
      * @param array $metadata
-     * @return void
      */
     private function setExpiration(array $metadata): void
     {
@@ -143,7 +141,6 @@ class SAMLBuilder
      * Add a SecurityTokenServiceType for ADFS metadata.
      *
      * @param array $metadata The metadata with the information about the SecurityTokenServiceType.
-     * @return void
      */
     public function addSecurityTokenServiceType(array $metadata): void
     {
@@ -167,7 +164,6 @@ class SAMLBuilder
      *
      * @param \SimpleSAML\Configuration    $metadata The metadata to get extensions from.
      * @param \SAML2\XML\md\RoleDescriptor $e Reference to the element where the Extensions element should be included.
-     * @return void
      */
     private function addExtensions(Configuration $metadata, RoleDescriptor $e): void
     {
@@ -315,7 +311,6 @@ class SAMLBuilder
      * @param array $orgName An array with the localized OrganizationName.
      * @param array $orgDisplayName An array with the localized OrganizationDisplayName.
      * @param array $orgURL An array with the localized OrganizationURL.
-     * @return void
      */
     public function addOrganization(array $orgName, array $orgDisplayName, array $orgURL): void
     {
@@ -333,7 +328,6 @@ class SAMLBuilder
      * Add an Organization element based on metadata array.
      *
      * @param array $metadata The metadata we should extract the organization information from.
-     * @return void
      */
     public function addOrganizationInfo(array $metadata): void
     {
@@ -416,7 +410,6 @@ class SAMLBuilder
      *
      * @param \SAML2\XML\md\SPSSODescriptor $spDesc The SPSSODescriptor element.
      * @param \SimpleSAML\Configuration     $metadata The metadata.
-     * @return void
      */
     private function addAttributeConsumingService(
         SPSSODescriptor $spDesc,
@@ -472,7 +465,6 @@ class SAMLBuilder
      *
      * @param string $set The metadata set this metadata comes from.
      * @param array  $metadata The metadata.
-     * @return void
      */
     public function addMetadata(string $set, array $metadata): void
     {
@@ -499,7 +491,6 @@ class SAMLBuilder
      *
      * @param array $metadata The metadata.
      * @param string[] $protocols The protocols supported. Defaults to \SAML2\Constants::NS_SAMLP.
-     * @return void
      */
     public function addMetadataSP20(array $metadata, array $protocols = [Constants::NS_SAMLP]): void
     {
@@ -554,7 +545,6 @@ class SAMLBuilder
      * Add metadata of a SAML 2.0 identity provider.
      *
      * @param array $metadata The metadata.
-     * @return void
      */
     public function addMetadataIdP20(array $metadata): void
     {
@@ -604,7 +594,6 @@ class SAMLBuilder
      *
      * @param array $metadata The AttributeAuthorityDescriptor, in the format returned by
      * \SimpleSAML\Metadata\SAMLParser.
-     * @return void
      */
     public function addAttributeAuthority(array $metadata): void
     {
@@ -641,7 +630,6 @@ class SAMLBuilder
      * @param string $type The type of contact. Deprecated.
      * @param array  $details The details about the contact.
      *
-     * @return void
      * @todo Change the signature to remove $type.
      * @todo Remove the capability to pass a name and parse it inside the method.
      */
@@ -699,7 +687,6 @@ class SAMLBuilder
      * @param \SAML2\XML\md\RoleDescriptor $rd The RoleDescriptor the certificate should be added to.
      * @param string                      $use The value of the 'use' attribute.
      * @param string                      $x509data The certificate data.
-     * @return void
      */
     private function addX509KeyDescriptor(RoleDescriptor $rd, string $use, string $x509data): void
     {
@@ -718,7 +705,6 @@ class SAMLBuilder
      *
      * @param \SAML2\XML\md\RoleDescriptor $rd The RoleDescriptor the certificate should be added to.
      * @param \SimpleSAML\Configuration    $metadata The metadata of the entity.
-     * @return void
      */
     private function addCertificate(RoleDescriptor $rd, Configuration $metadata): void
     {
diff --git a/lib/SimpleSAML/Metadata/SAMLParser.php b/lib/SimpleSAML/Metadata/SAMLParser.php
index 61f783e80..637f55153 100644
--- a/lib/SimpleSAML/Metadata/SAMLParser.php
+++ b/lib/SimpleSAML/Metadata/SAMLParser.php
@@ -487,7 +487,6 @@ class SAMLParser
      *
      * @param array &$metadata The metadata that should be updated.
      * @param array $roleDescriptor The parsed role descriptor.
-     * @return void
      */
     private function addExtensions(array &$metadata, array $roleDescriptor): void
     {
@@ -796,7 +795,6 @@ class SAMLParser
      * @param \SAML2\XML\md\SPSSODescriptor $element The element which should be parsed.
      * @param int|NULL                     $expireTime The unix timestamp for when this element should expire, or
      *                             NULL if unknown.
-     * @return void
      */
     private function processSPSSODescriptor(SPSSODescriptor $element, ?int $expireTime): void
     {
@@ -831,7 +829,6 @@ class SAMLParser
      * @param \SAML2\XML\md\IDPSSODescriptor $element The element which should be parsed.
      * @param int|NULL                      $expireTime The unix timestamp for when this element should expire, or
      *                             NULL if unknown.
-     * @return void
      */
     private function processIDPSSODescriptor(IDPSSODescriptor $element, ?int $expireTime): void
     {
@@ -856,7 +853,6 @@ class SAMLParser
      * @param \SAML2\XML\md\AttributeAuthorityDescriptor $element The element which should be parsed.
      * @param int|NULL                                  $expireTime The unix timestamp for when this element should
      *     expire, or NULL if unknown.
-     * @return void
      */
     private function processAttributeAuthorityDescriptor(
         AttributeAuthorityDescriptor $element,
@@ -1035,7 +1031,6 @@ class SAMLParser
      * Parse and process a Organization element.
      *
      * @param \SAML2\XML\md\Organization $element The Organization element.
-     * @return void
      */
     private function processOrganization(Organization $element): void
     {
@@ -1049,7 +1044,6 @@ class SAMLParser
      * Parse and process a ContactPerson element.
      *
      * @param \SAML2\XML\md\ContactPerson $element The ContactPerson element.
-     * @return void
      */
     private function processContactPerson(ContactPerson $element): void
     {
@@ -1083,7 +1077,6 @@ class SAMLParser
      *
      * @param \SAML2\XML\md\AttributeConsumingService $element The AttributeConsumingService to parse.
      * @param array $sp The array with the SP's metadata.
-     * @return void
      */
     private static function parseAttributeConsumerService(AttributeConsumingService $element, array &$sp): void
     {
diff --git a/lib/SimpleSAML/Metadata/Sources/MDQ.php b/lib/SimpleSAML/Metadata/Sources/MDQ.php
index 923cca2a9..a972c3ef7 100644
--- a/lib/SimpleSAML/Metadata/Sources/MDQ.php
+++ b/lib/SimpleSAML/Metadata/Sources/MDQ.php
@@ -179,7 +179,6 @@ class MDQ extends \SimpleSAML\Metadata\MetaDataStorageSource
      * @param array  $data The associative array with the metadata for this entity.
      *
      * @throws \Exception If metadata cannot be written to cache.
-     * @return void
      */
     private function writeToCache(string $set, string $entityId, array $data): void
     {
diff --git a/lib/SimpleSAML/Module.php b/lib/SimpleSAML/Module.php
index 6f1591296..f3f4ac03a 100644
--- a/lib/SimpleSAML/Module.php
+++ b/lib/SimpleSAML/Module.php
@@ -508,7 +508,6 @@ class Module
      *
      * @param string $hook The name of the hook.
      * @param mixed  &$data The data which should be passed to each hook. Will be passed as a reference.
-     * @return void
      *
      * @throws \SimpleSAML\Error\Exception If an invalid hook is found in a module.
      */
diff --git a/lib/SimpleSAML/Session.php b/lib/SimpleSAML/Session.php
index 3d49f0faa..7800bf5c4 100644
--- a/lib/SimpleSAML/Session.php
+++ b/lib/SimpleSAML/Session.php
@@ -190,7 +190,6 @@ class Session implements Serializable, Utils\ClearableState
      * Set the configuration we should use.
      *
      * @param Configuration $config
-     * @return void
      */
     public function setConfiguration(Configuration $config): void
     {
@@ -218,7 +217,6 @@ class Session implements Serializable, Utils\ClearableState
      * be serializable in its original form (e.g.: DOM objects).
      *
      * @param string $serialized The serialized representation of a session that we want to restore.
-     * @return void
      *
      * Cannot typehint param as string due to upstream restrictions
      */
@@ -412,7 +410,6 @@ class Session implements Serializable, Utils\ClearableState
      * Create a session that should not be saved at the end of the request.
      * Subsequent calls to getInstance() will return this transient session.
      *
-     * @return void
      */
     public static function useTransientSession(): void
     {
@@ -429,7 +426,6 @@ class Session implements Serializable, Utils\ClearableState
      * Create a new session and cache it.
      *
      * @param string $sessionId The new session we should create.
-     * @return void
      */
     public static function createSession(string $sessionId): void
     {
@@ -445,7 +441,6 @@ class Session implements Serializable, Utils\ClearableState
      * WARNING: please do not use this method directly unless you really need to and know what you are doing. Use
      * markDirty() instead.
      *
-     * @return void
      */
     public function save(): void
     {
@@ -480,7 +475,6 @@ class Session implements Serializable, Utils\ClearableState
      * Use this method if you are using PHP sessions in your application *and* in SimpleSAMLphp, *after* you are done
      * using SimpleSAMLphp and before trying to access your application's session again.
      *
-     * @return void
      */
     public function cleanup(): void
     {
@@ -497,7 +491,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * This method will register a callback to save the session right before any output is sent to the browser.
      *
-     * @return void
      */
     public function markDirty(): void
     {
@@ -576,7 +569,6 @@ class Session implements Serializable, Utils\ClearableState
      * Set remember me expire time.
      *
      * @param int $lifetime Number of seconds after when remember me session cookies expire.
-     * @return void
      */
     public function setRememberMeExpire(int $lifetime = null): void
     {
@@ -597,7 +589,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * @param string     $authority The authority the user logged in with.
      * @param array      $data The authentication data for this authority.
-     * @return void
      *
      * @throws Error\CannotSetCookie If the authentication token cannot be set for some reason.
      */
@@ -690,7 +681,6 @@ class Session implements Serializable, Utils\ClearableState
      * This function will call any registered logout handlers before marking the user as logged out.
      *
      * @param string $authority The authentication source we are logging out of.
-     * @return void
      */
     public function doLogout(string $authority): void
     {
@@ -717,7 +707,6 @@ class Session implements Serializable, Utils\ClearableState
      * This function calls all registered logout handlers.
      *
      * @param string $authority The authentication source we are logging out from.
-     * @return void
      *
      * @throws \Exception If the handler is not a valid function or method.
      */
@@ -782,7 +771,6 @@ class Session implements Serializable, Utils\ClearableState
      * Update session cookies.
      *
      * @param array $params The parameters for the cookies.
-     * @return void
      */
     public function updateSessionCookies(array $params = []): void
     {
@@ -810,7 +798,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * @param string $authority The authentication source we are setting expire time for.
      * @param int    $expire The number of seconds authentication source is valid.
-     * @return void
      */
     public function setAuthorityExpire(string $authority, int $expire = null): void
     {
@@ -830,7 +817,6 @@ class Session implements Serializable, Utils\ClearableState
      * @param string $authority The authority for which register the handler.
      * @param string $classname The class which contains the logout handler.
      * @param string $functionname The logout handler function.
-     * @return void
      *
      * @throws \Exception If the handler is not a valid function or method.
      */
@@ -859,7 +845,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * @param string $type The type of the data.
      * @param string $id The identifier of the data.
-     * @return void
      */
     public function deleteData(string $type, string $id): void
     {
@@ -884,7 +869,6 @@ class Session implements Serializable, Utils\ClearableState
      * @param int|string|null $timeout The number of seconds this data should be stored after its last access.
      * This parameter is optional. The default value is set in 'session.datastore.timeout',
      * and the default is 4 hours.
-     * @return void
      *
      * @throws \Exception If the data couldn't be stored.
      *
@@ -931,7 +915,6 @@ class Session implements Serializable, Utils\ClearableState
     /**
      * This function removes expired data from the data store.
      *
-     * @return void
      */
     private function expireData(): void
     {
@@ -1048,7 +1031,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * @param string $idp The IdP id.
      * @param array  $association The association we should add.
-     * @return void
      */
     public function addAssociation(string $idp, array $association): void
     {
@@ -1110,7 +1092,6 @@ class Session implements Serializable, Utils\ClearableState
      *
      * @param string $idp The IdP id.
      * @param string $associationId The id of the association.
-     * @return void
      */
     public function terminateAssociation(string $idp, string $associationId): void
     {
@@ -1165,7 +1146,6 @@ class Session implements Serializable, Utils\ClearableState
 
     /**
      * Clear any configuration information cached
-     * @return void
      */
     public static function clearInternalState(): void
     {
diff --git a/lib/SimpleSAML/SessionHandler.php b/lib/SimpleSAML/SessionHandler.php
index 1ec01461b..5ee37605e 100644
--- a/lib/SimpleSAML/SessionHandler.php
+++ b/lib/SimpleSAML/SessionHandler.php
@@ -84,7 +84,6 @@ abstract class SessionHandler
      * Save the session.
      *
      * @param \SimpleSAML\Session $session The session object we should save.
-     * @return void
      */
     abstract public function saveSession(Session $session): void;
 
@@ -115,7 +114,6 @@ abstract class SessionHandler
      * @param string $sessionName The name of the session.
      * @param string|null $sessionID The session ID to use. Set to null to delete the cookie.
      * @param array|null $cookieParams Additional parameters to use for the session cookie.
-     * @return void
      *
      * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie.
      */
@@ -130,7 +128,6 @@ abstract class SessionHandler
      * session handler is selected, then we will fall back to the default
      * PHP session handler.
      *
-     * @return void
      *
      * @throws \Exception If we cannot instantiate the session handler.
      */
diff --git a/lib/SimpleSAML/SessionHandlerCookie.php b/lib/SimpleSAML/SessionHandlerCookie.php
index 30a5880e2..cb5fbfc9d 100644
--- a/lib/SimpleSAML/SessionHandlerCookie.php
+++ b/lib/SimpleSAML/SessionHandlerCookie.php
@@ -150,7 +150,6 @@ abstract class SessionHandlerCookie extends SessionHandler
      * @param string $sessionName The name of the session.
      * @param string|null $sessionID The session ID to use. Set to null to delete the cookie.
      * @param array|null $cookieParams Additional parameters to use for the session cookie.
-     * @return void
      *
      * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie.
      */
diff --git a/lib/SimpleSAML/SessionHandlerPHP.php b/lib/SimpleSAML/SessionHandlerPHP.php
index 5a8146bbd..587ea15f0 100644
--- a/lib/SimpleSAML/SessionHandlerPHP.php
+++ b/lib/SimpleSAML/SessionHandlerPHP.php
@@ -106,7 +106,6 @@ class SessionHandlerPHP extends SessionHandler
      * session must always be saved properly before calling this method. If you don't understand what this is about,
      * don't use this method.
      *
-     * @return void
      */
     public function restorePrevious(): void
     {
@@ -203,7 +202,6 @@ class SessionHandlerPHP extends SessionHandler
      * Save the current session to the PHP session array.
      *
      * @param \SimpleSAML\Session $session The session object we should save.
-     * @return void
      */
     public function saveSession(Session $session): void
     {
@@ -295,7 +293,6 @@ class SessionHandlerPHP extends SessionHandler
      * @param string $sessionName The name of the session.
      * @param string|null $sessionID The session ID to use. Set to null to delete the cookie.
      * @param array|null $cookieParams Additional parameters to use for the session cookie.
-     * @return void
      *
      * @throws \SimpleSAML\Error\CannotSetCookie If we can't set the cookie.
      */
diff --git a/lib/SimpleSAML/SessionHandlerStore.php b/lib/SimpleSAML/SessionHandlerStore.php
index 09f08c05d..66c2c911b 100644
--- a/lib/SimpleSAML/SessionHandlerStore.php
+++ b/lib/SimpleSAML/SessionHandlerStore.php
@@ -66,7 +66,6 @@ class SessionHandlerStore extends SessionHandlerCookie
      * Save a session to the data store.
      *
      * @param \SimpleSAML\Session $session The session object we should save.
-     * @return void
      */
     public function saveSession(Session $session): void
     {
diff --git a/lib/SimpleSAML/Stats.php b/lib/SimpleSAML/Stats.php
index f50227bbc..4c47c0cc9 100644
--- a/lib/SimpleSAML/Stats.php
+++ b/lib/SimpleSAML/Stats.php
@@ -52,7 +52,6 @@ class Stats
     /**
      * Initialize the outputs.
      *
-     * @return void
      */
     private static function initOutputs(): void
     {
@@ -72,7 +71,6 @@ class Stats
      * @param string $event The event.
      * @param array  $data Event data. Optional.
      *
-     * @return void|boolean False if output is not enabled, void otherwise.
      */
     public static function log(string $event, array $data = [])
     {
diff --git a/lib/SimpleSAML/Stats/Output.php b/lib/SimpleSAML/Stats/Output.php
index 89be3c8ef..75c3e6455 100644
--- a/lib/SimpleSAML/Stats/Output.php
+++ b/lib/SimpleSAML/Stats/Output.php
@@ -29,7 +29,6 @@ abstract class Output
      * Write a stats event.
      *
      * @param array $data The event.
-     * @return void
      */
     abstract public function emit(array $data): void;
 }
diff --git a/lib/SimpleSAML/Store.php b/lib/SimpleSAML/Store.php
index 18a18cf73..86e863777 100644
--- a/lib/SimpleSAML/Store.php
+++ b/lib/SimpleSAML/Store.php
@@ -93,7 +93,6 @@ abstract class Store implements Utils\ClearableState
      * @param string   $key The key.
      * @param mixed    $value The value.
      * @param int|null $expire The expiration time (unix timestamp), or null if it never expires.
-     * @return void
      */
     abstract public function set(string $type, string $key, $value, ?int $expire = null): void;
 
@@ -103,14 +102,12 @@ abstract class Store implements Utils\ClearableState
      *
      * @param string $type The data type.
      * @param string $key The key.
-     * @return void
      */
     abstract public function delete(string $type, string $key): void;
 
 
     /**
      * Clear any SSP specific state, such as SSP environmental variables or cached internals.
-     * @return void
      */
     public static function clearInternalState(): void
     {
diff --git a/lib/SimpleSAML/Store/Memcache.php b/lib/SimpleSAML/Store/Memcache.php
index 02049476e..8592675d6 100644
--- a/lib/SimpleSAML/Store/Memcache.php
+++ b/lib/SimpleSAML/Store/Memcache.php
@@ -53,7 +53,6 @@ class Memcache extends Store
      * @param string $key The key.
      * @param mixed $value The value.
      * @param int|null $expire The expiration time (unix timestamp), or NULL if it never expires.
-     * @return void
      */
     public function set(string $type, string $key, $value, ?int $expire = null): void
     {
@@ -72,7 +71,6 @@ class Memcache extends Store
      *
      * @param string $type The data type.
      * @param string $key The key.
-     * @return void
      */
     public function delete(string $type, string $key): void
     {
diff --git a/lib/SimpleSAML/Store/Redis.php b/lib/SimpleSAML/Store/Redis.php
index a176c4334..dbdeb1d3a 100644
--- a/lib/SimpleSAML/Store/Redis.php
+++ b/lib/SimpleSAML/Store/Redis.php
@@ -97,7 +97,6 @@ class Redis extends Store
      * @param string $key The key to insert.
      * @param mixed $value The value itself.
      * @param int|null $expire The expiration time (unix timestamp), or null if it never expires.
-     * @return void
      */
     public function set(string $type, string $key, $value, ?int $expire = null): void
     {
@@ -119,7 +118,6 @@ class Redis extends Store
      *
      * @param string $type The type of the data
      * @param string $key The key to delete.
-     * @return void
      */
     public function delete(string $type, string $key): void
     {
diff --git a/lib/SimpleSAML/Store/SQL.php b/lib/SimpleSAML/Store/SQL.php
index d6d472677..10435dcc5 100644
--- a/lib/SimpleSAML/Store/SQL.php
+++ b/lib/SimpleSAML/Store/SQL.php
@@ -79,7 +79,6 @@ class SQL extends Store
 
     /**
      * Initialize the table-version table.
-     * @return void
      */
     private function initTableVersionTable(): void
     {
@@ -103,7 +102,6 @@ class SQL extends Store
 
     /**
      * Initialize key-value table.
-     * @return void
      */
     private function initKVTable(): void
     {
@@ -200,7 +198,6 @@ class SQL extends Store
      *
      * @param string $name Table name.
      * @param int $version Table version.
-     * @return void
      */
     public function setTableVersion(string $name, int $version): void
     {
@@ -221,7 +218,6 @@ class SQL extends Store
      * @param string $table The table we should update.
      * @param string[] $keys The key columns.
      * @param array $data Associative array with columns.
-     * @return void
      */
     public function insertOrUpdate(string $table, array $keys, array $data): void
     {
@@ -277,7 +273,6 @@ class SQL extends Store
 
     /**
      * Clean the key-value table of expired entries.
-     * @return void
      */
     private function cleanKVStore(): void
     {
@@ -341,7 +336,6 @@ class SQL extends Store
      * @param string $key The key to insert.
      * @param mixed $value The value itself.
      * @param int|null $expire The expiration time (unix timestamp), or null if it never expires.
-     * @return void
      */
     public function set(string $type, string $key, $value, ?int $expire = null): void
     {
@@ -378,7 +372,6 @@ class SQL extends Store
      *
      * @param string $type The type of the data
      * @param string $key The key to delete.
-     * @return void
      */
     public function delete(string $type, string $key): void
     {
diff --git a/lib/SimpleSAML/Utils/Auth.php b/lib/SimpleSAML/Utils/Auth.php
index 6461511a4..614749aee 100644
--- a/lib/SimpleSAML/Utils/Auth.php
+++ b/lib/SimpleSAML/Utils/Auth.php
@@ -68,7 +68,6 @@ class Auth
      * This is a helper function for limiting a page to those with administrative access. It will redirect the user to
      * a login page if the current user doesn't have admin access.
      *
-     * @return void This function will only return if the user is admin.
      * @throws \SimpleSAML\Error\Exception If no "admin" authentication source was configured.
      *
      */
diff --git a/lib/SimpleSAML/Utils/ClearableState.php b/lib/SimpleSAML/Utils/ClearableState.php
index 60fc07851..e0a0dede3 100644
--- a/lib/SimpleSAML/Utils/ClearableState.php
+++ b/lib/SimpleSAML/Utils/ClearableState.php
@@ -14,7 +14,6 @@ interface ClearableState
 {
     /**
      * Clear any cached internal state.
-     * @return void
      */
     public static function clearInternalState(): void;
 }
diff --git a/lib/SimpleSAML/Utils/EMail.php b/lib/SimpleSAML/Utils/EMail.php
index 9d435c7fe..6317cd6b2 100644
--- a/lib/SimpleSAML/Utils/EMail.php
+++ b/lib/SimpleSAML/Utils/EMail.php
@@ -78,7 +78,6 @@ class EMail
      * Set the data that should be embedded in the e-mail body
      *
      * @param array $data The data that should be embedded in the e-mail body
-     * @return void
      */
     public function setData(array $data): void
     {
@@ -104,7 +103,6 @@ class EMail
      * Set an introduction text for the e-mail
      *
      * @param string $text Introduction text
-     * @return void
      */
     public function setText(string $text): void
     {
@@ -116,7 +114,6 @@ class EMail
      * Add a Reply-To address to the mail
      *
      * @param string $address Reply-To e-mail address
-     * @return void
      */
     public function addReplyTo(string $address): void
     {
@@ -128,7 +125,6 @@ class EMail
      * Send the mail
      *
      * @param bool $plainTextOnly Do not send HTML payload
-     * @return void
      *
      * @throws \PHPMailer\PHPMailer\Exception
      */
@@ -154,7 +150,6 @@ class EMail
      * @param string $transportMethod the transport method
      * @param array $transportOptions options for the transport method
      *
-     * @return void
      *
      * @throws \InvalidArgumentException
      */
diff --git a/lib/SimpleSAML/Utils/HTTP.php b/lib/SimpleSAML/Utils/HTTP.php
index c1714ad9d..23c7bdf84 100644
--- a/lib/SimpleSAML/Utils/HTTP.php
+++ b/lib/SimpleSAML/Utils/HTTP.php
@@ -161,7 +161,6 @@ class HTTP
      *     the name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just
      *     the name, without a value.
      *
-     * @return void This function never returns.
      * @throws \InvalidArgumentException If $url is not a string or is empty, or $parameters is not an array.
      * @throws \SimpleSAML\Error\Exception If $url is not a valid HTTP URL.
      *
@@ -295,7 +294,6 @@ class HTTP
      *
      * @param string|null $retryURL The URL the user should access to retry the operation. Defaults to null.
      *
-     * @return void If there is a session cookie, nothing will be returned. Otherwise, the user will be redirected to a
      *     page telling about the missing cookie.
      * @throws \InvalidArgumentException If $retryURL is neither a string nor null.
      *
@@ -932,7 +930,6 @@ class HTTP
      * name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just the
      * name, without a value.
      *
-     * @return void This function never returns.
      * @throws \InvalidArgumentException If $url is not a string or $parameters is not an array.
      *
      */
@@ -959,7 +956,6 @@ class HTTP
      * name and the value will be urlencoded. If the value is NULL, then the parameter will be encoded as just the
      * name, without a value.
      *
-     * @return void This function never returns.
      * @throws \InvalidArgumentException If $url is not a string or $parameters is not an array.
      *
      */
@@ -1061,7 +1057,6 @@ class HTTP
      * @throws \InvalidArgumentException If any parameter has an incorrect type.
      * @throws \SimpleSAML\Error\CannotSetCookie If the headers were already sent and the cookie cannot be set.
      *
-     * @return void
      *
      */
     public static function setCookie(string $name, ?string $value, array $params = null, bool $throw = true): void
@@ -1159,7 +1154,6 @@ class HTTP
      * @throws \InvalidArgumentException If $destination is not a string or $data is not an array.
      * @throws \SimpleSAML\Error\Exception If $destination is not a valid HTTP URL.
      *
-     * @return void
      *
      */
     public static function submitPOSTData(string $destination, array $data): void
diff --git a/lib/SimpleSAML/Utils/HttpAdapter.php b/lib/SimpleSAML/Utils/HttpAdapter.php
index f5a85b9c9..46d32ce3a 100644
--- a/lib/SimpleSAML/Utils/HttpAdapter.php
+++ b/lib/SimpleSAML/Utils/HttpAdapter.php
@@ -48,7 +48,6 @@ class HttpAdapter
      * @see HTTP::checkSessionCookie()
      *
      * @param string|null $retryURL
-     * @return void
      */
     public function checkSessionCookie(string $retryURL = null): void
     {
@@ -236,7 +235,6 @@ class HttpAdapter
      *
      * @param string $url
      * @param array $parameters
-     * @return void
      */
     public function redirectTrustedURL(string $url, array $parameters = []): void
     {
@@ -249,7 +247,6 @@ class HttpAdapter
      *
      * @param string $url
      * @param array $parameters
-     * @return void
      */
     public function redirectUntrustedURL(string $url, array $parameters = []): void
     {
@@ -277,7 +274,6 @@ class HttpAdapter
      * @param string $value
      * @param array|null $params
      * @param bool $throw
-     * @return void
      */
     public function setCookie(string $name, string $value, array $params = null, bool $throw = true): void
     {
@@ -290,7 +286,6 @@ class HttpAdapter
      *
      * @param string $destination
      * @param array $data
-     * @return void
      */
     public function submitPOSTData(string $destination, array $data): void
     {
diff --git a/lib/SimpleSAML/Utils/System.php b/lib/SimpleSAML/Utils/System.php
index 8f831b817..0a8b837c1 100644
--- a/lib/SimpleSAML/Utils/System.php
+++ b/lib/SimpleSAML/Utils/System.php
@@ -179,7 +179,6 @@ class System
      * @param string $data The data we should write to the file.
      * @param int    $mode The permissions to apply to the file. Defaults to 0600.
      *
-     * @return void
      *
      * @throws \InvalidArgumentException If any of the input parameters doesn't have the proper types.
      * @throws Error\Exception If the file cannot be saved, permissions cannot be changed or it is not
diff --git a/lib/SimpleSAML/Utils/Time.php b/lib/SimpleSAML/Utils/Time.php
index 62661b715..ee860b78c 100644
--- a/lib/SimpleSAML/Utils/Time.php
+++ b/lib/SimpleSAML/Utils/Time.php
@@ -46,7 +46,6 @@ class Time
      * This function should be called before any calls to date().
      *
      *
-     * @return void
      * @throws \SimpleSAML\Error\Exception If the timezone set in the configuration is invalid.
      */
     public static function initTimezone(): void
diff --git a/lib/SimpleSAML/Utils/XML.php b/lib/SimpleSAML/Utils/XML.php
index 9c0d98c44..75667676a 100644
--- a/lib/SimpleSAML/Utils/XML.php
+++ b/lib/SimpleSAML/Utils/XML.php
@@ -37,7 +37,6 @@ class XML
      *     values allowed.
      * @throws \SimpleSAML\Error\Exception If $message contains a doctype declaration.
      *
-     * @return void
      *
      */
     public static function checkSAMLMessage(string $message, string $type): void
@@ -92,7 +91,6 @@ class XML
      *
      * @throws \InvalidArgumentException If $type is not a string or $message is neither a string nor a \DOMElement.
      *
-     * @return void
      *
      */
     public static function debugSAMLMessage($message, string $type): void
@@ -157,7 +155,6 @@ class XML
      *
      * @throws \InvalidArgumentException If $root is not a DOMElement or $indentBase is not a string.
      *
-     * @return void
      *
      */
     public static function formatDOMElement(DOMNode $root, string $indentBase = ''): void
diff --git a/lib/SimpleSAML/XHTML/IdPDisco.php b/lib/SimpleSAML/XHTML/IdPDisco.php
index 408855334..c0199a445 100644
--- a/lib/SimpleSAML/XHTML/IdPDisco.php
+++ b/lib/SimpleSAML/XHTML/IdPDisco.php
@@ -172,7 +172,6 @@ class IdPDisco
      * discovery service type.
      *
      * @param string $message The message which should be logged.
-     * @return void
      */
     protected function log(string $message): void
     {
@@ -209,7 +208,6 @@ class IdPDisco
      *
      * @param string $name The name of the cookie.
      * @param string $value The value of the cookie.
-     * @return void
      */
     protected function setCookie(string $name, string $value): void
     {
@@ -387,7 +385,6 @@ class IdPDisco
      * Save the current IdP choice to a cookie.
      *
      * @param string $idp The entityID of the IdP.
-     * @return void
      */
     protected function setPreviousIdP(string $idp): void
     {
@@ -508,7 +505,6 @@ class IdPDisco
     /**
      * Check if an IdP is set or if the request is passive, and redirect accordingly.
      *
-     * @return void If there is no IdP targeted and this is not a passive request.
      */
     protected function start(): void
     {
@@ -544,7 +540,6 @@ class IdPDisco
      * Handles a request to this discovery service.
      *
      * The IdP disco parameters should be set before calling this function.
-     * @return void
      */
     public function handleRequest(): void
     {
diff --git a/lib/SimpleSAML/XHTML/Template.php b/lib/SimpleSAML/XHTML/Template.php
index b6873c991..3fde9897b 100644
--- a/lib/SimpleSAML/XHTML/Template.php
+++ b/lib/SimpleSAML/XHTML/Template.php
@@ -404,7 +404,6 @@ class Template extends Response
      *
      * @param string $module The module where we need to search for templates.
      * @throws \InvalidArgumentException If the module is not enabled or it has no templates directory.
-     * @return void
      */
     public function addTemplatesFromModule(string $module): void
     {
@@ -451,7 +450,6 @@ class Template extends Response
 
     /**
      * Set some default context
-     * @return void
      */
     private function twigDefaultContext(): void
     {
diff --git a/lib/SimpleSAML/XHTML/TemplateControllerInterface.php b/lib/SimpleSAML/XHTML/TemplateControllerInterface.php
index fe789e399..488676cd3 100644
--- a/lib/SimpleSAML/XHTML/TemplateControllerInterface.php
+++ b/lib/SimpleSAML/XHTML/TemplateControllerInterface.php
@@ -19,7 +19,6 @@ interface TemplateControllerInterface
      *
      * @param \Twig\Environment $twig The current twig environment.
      *
-     * @return void
      */
     public function setUpTwig(Environment &$twig): void;
 
@@ -31,7 +30,6 @@ interface TemplateControllerInterface
      *
      * @param array $data The current data used by the template.
      *
-     * @return void
      */
     public function display(array &$data): void;
 }
diff --git a/lib/SimpleSAML/XML/Errors.php b/lib/SimpleSAML/XML/Errors.php
index b6363278e..155cb6646 100644
--- a/lib/SimpleSAML/XML/Errors.php
+++ b/lib/SimpleSAML/XML/Errors.php
@@ -32,7 +32,6 @@ class Errors
     /**
      * Append current XML errors to the current stack level.
      *
-     * @return void
      */
     private static function addErrors(): void
     {
@@ -50,7 +49,6 @@ class Errors
      * A call to this function will begin a new error logging context. Every call must have
      * a corresponding call to end().
      *
-     * @return void
      */
     public static function begin(): void
     {
diff --git a/lib/SimpleSAML/XML/Signer.php b/lib/SimpleSAML/XML/Signer.php
index cbb99c18c..769b8dd76 100644
--- a/lib/SimpleSAML/XML/Signer.php
+++ b/lib/SimpleSAML/XML/Signer.php
@@ -96,7 +96,6 @@ class Signer
      * by \SimpleSAML\Utils\Crypto::loadPrivateKey(...).
      *
      * @param array $privatekey  The private key.
-     * @return void
      */
     public function loadPrivateKeyArray(array $privatekey): void
     {
@@ -122,7 +121,6 @@ class Signer
      * @param bool $full_path  Whether the filename found in the configuration contains the
      *                         full path to the private key or not. Default to false.
      * @throws \Exception
-     * @return void
      */
     public function loadPrivateKey(string $file, ?string $pass, bool $full_path = false): void
     {
@@ -156,7 +154,6 @@ class Signer
      *
      * @param array $publickey The public key.
      * @throws \Exception
-     * @return void
      */
     public function loadPublicKeyArray(array $publickey): void
     {
@@ -181,7 +178,6 @@ class Signer
      * @param bool $full_path  Whether the filename found in the configuration contains the
      *                         full path to the private key or not. Default to false.
      * @throws \Exception
-     * @return void
      */
     public function loadCertificate(string $file, bool $full_path = false): void
     {
@@ -207,7 +203,6 @@ class Signer
      * Set the attribute name for the ID value.
      *
      * @param string $idAttrName  The name of the attribute which contains the id.
-     * @return void
      */
     public function setIDAttribute(string $idAttrName): void
     {
@@ -225,7 +220,6 @@ class Signer
      * @param bool $full_path  Whether the filename found in the configuration contains the
      *                         full path to the private key or not. Default to false.
      * @throws \Exception
-     * @return void
      */
     public function addCertificate(string $file, bool $full_path = false): void
     {
@@ -259,7 +253,6 @@ class Signer
      *  The element we should insert the signature element before. Defaults to NULL,
      *  in which case the signature will be appended to the element spesified in $insertInto.
      * @throws \Exception
-     * @return void
      */
     public function sign(DOMElement $node, DOMElement $insertInto, $insertBefore = null): void
     {
diff --git a/modules/admin/lib/Controller/Menu.php b/modules/admin/lib/Controller/Menu.php
index 5b6c44161..1754042f8 100644
--- a/modules/admin/lib/Controller/Menu.php
+++ b/modules/admin/lib/Controller/Menu.php
@@ -54,7 +54,6 @@ final class Menu
      * @param string $id The identifier of this option.
      * @param string $url The URL this option points to.
      * @param string $name The name of the option for display purposes.
-     * @return void
      */
     public function addOption(string $id, string $url, string $name): void
     {
diff --git a/modules/core/hooks/hook_sanitycheck.php b/modules/core/hooks/hook_sanitycheck.php
index d647c68e7..53c0d9e82 100644
--- a/modules/core/hooks/hook_sanitycheck.php
+++ b/modules/core/hooks/hook_sanitycheck.php
@@ -10,7 +10,6 @@ use SimpleSAML\Module;
  * Hook to do sanitycheck
  *
  * @param array &$hookinfo  hookinfo
- * @return void
  */
 function core_hook_sanitycheck(array &$hookinfo): void
 {
diff --git a/modules/core/lib/Auth/Process/AttributeAdd.php b/modules/core/lib/Auth/Process/AttributeAdd.php
index 14493b090..28c82fc1a 100644
--- a/modules/core/lib/Auth/Process/AttributeAdd.php
+++ b/modules/core/lib/Auth/Process/AttributeAdd.php
@@ -74,7 +74,6 @@ class AttributeAdd extends Auth\ProcessingFilter
      * Add or replace existing attributes with the configured values.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/AttributeAlter.php b/modules/core/lib/Auth/Process/AttributeAlter.php
index e6a4be7b0..badf28ad3 100644
--- a/modules/core/lib/Auth/Process/AttributeAlter.php
+++ b/modules/core/lib/Auth/Process/AttributeAlter.php
@@ -101,7 +101,6 @@ class AttributeAlter extends Auth\ProcessingFilter
      *
      * @param array &$request The current request.
      * @throws \SimpleSAML\Error\Exception In case of invalid configuration.
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/AttributeCopy.php b/modules/core/lib/Auth/Process/AttributeCopy.php
index f5631bb5e..d0767528c 100644
--- a/modules/core/lib/Auth/Process/AttributeCopy.php
+++ b/modules/core/lib/Auth/Process/AttributeCopy.php
@@ -59,7 +59,6 @@ class AttributeCopy extends Auth\ProcessingFilter
      * Apply filter to rename attributes.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/AttributeLimit.php b/modules/core/lib/Auth/Process/AttributeLimit.php
index 91f6757b5..91d32fc3a 100644
--- a/modules/core/lib/Auth/Process/AttributeLimit.php
+++ b/modules/core/lib/Auth/Process/AttributeLimit.php
@@ -90,7 +90,6 @@ class AttributeLimit extends Auth\ProcessingFilter
      *
      * @param array &$request  The current request
      * @throws \SimpleSAML\Error\Exception If invalid configuration is found.
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/AttributeMap.php b/modules/core/lib/Auth/Process/AttributeMap.php
index 7dcfbc638..d96068c9d 100644
--- a/modules/core/lib/Auth/Process/AttributeMap.php
+++ b/modules/core/lib/Auth/Process/AttributeMap.php
@@ -80,7 +80,6 @@ class AttributeMap extends Auth\ProcessingFilter
      * of the SimpleSAMLphp installation, or in the root of a module.
      *
      * @throws \Exception If the filter could not load the requested attribute map file.
-     * @return void
      */
     private function loadMapFile(string $fileName): void
     {
@@ -121,7 +120,6 @@ class AttributeMap extends Auth\ProcessingFilter
      * Apply filter to rename attributes.
      *
      * @param array &$request The current request.
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/AttributeValueMap.php b/modules/core/lib/Auth/Process/AttributeValueMap.php
index 14d3b0b6b..8f52114e4 100644
--- a/modules/core/lib/Auth/Process/AttributeValueMap.php
+++ b/modules/core/lib/Auth/Process/AttributeValueMap.php
@@ -108,7 +108,6 @@ class AttributeValueMap extends Auth\ProcessingFilter
      * Apply filter.
      *
      * @param array &$request The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/Cardinality.php b/modules/core/lib/Auth/Process/Cardinality.php
index 275799628..a05e67fd1 100644
--- a/modules/core/lib/Auth/Process/Cardinality.php
+++ b/modules/core/lib/Auth/Process/Cardinality.php
@@ -107,7 +107,6 @@ class Cardinality extends Auth\ProcessingFilter
      * Process this filter
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/CardinalitySingle.php b/modules/core/lib/Auth/Process/CardinalitySingle.php
index c1c667f24..0593c2d34 100644
--- a/modules/core/lib/Auth/Process/CardinalitySingle.php
+++ b/modules/core/lib/Auth/Process/CardinalitySingle.php
@@ -82,7 +82,6 @@ class CardinalitySingle extends Auth\ProcessingFilter
      * Process this filter
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/ExtendIdPSession.php b/modules/core/lib/Auth/Process/ExtendIdPSession.php
index f3e9f710f..09ce3d08c 100644
--- a/modules/core/lib/Auth/Process/ExtendIdPSession.php
+++ b/modules/core/lib/Auth/Process/ExtendIdPSession.php
@@ -17,7 +17,6 @@ class ExtendIdPSession extends Auth\ProcessingFilter
 {
     /**
      * @param array &$state
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/core/lib/Auth/Process/GenerateGroups.php b/modules/core/lib/Auth/Process/GenerateGroups.php
index c0d0ceef8..5793381f2 100644
--- a/modules/core/lib/Auth/Process/GenerateGroups.php
+++ b/modules/core/lib/Auth/Process/GenerateGroups.php
@@ -57,7 +57,6 @@ class GenerateGroups extends Auth\ProcessingFilter
      * Apply filter to add groups attribute.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/LanguageAdaptor.php b/modules/core/lib/Auth/Process/LanguageAdaptor.php
index 11dd96d3b..c6d14c9f0 100644
--- a/modules/core/lib/Auth/Process/LanguageAdaptor.php
+++ b/modules/core/lib/Auth/Process/LanguageAdaptor.php
@@ -42,7 +42,6 @@ class LanguageAdaptor extends Auth\ProcessingFilter
      * Add or replace existing attributes with the configured values.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/PHP.php b/modules/core/lib/Auth/Process/PHP.php
index 30ca1c35d..a1dfab414 100644
--- a/modules/core/lib/Auth/Process/PHP.php
+++ b/modules/core/lib/Auth/Process/PHP.php
@@ -47,7 +47,6 @@ class PHP extends Auth\ProcessingFilter
      * Apply the PHP code to the attributes.
      *
      * @param array &$request The current request
-     * @return void
      *
      * @scrutinizer ignore-unused
      */
@@ -59,7 +58,6 @@ class PHP extends Auth\ProcessingFilter
          * @param array &$attributes
          * @param array &$state
          */
-        $function = /** @return void */ function (
             /** @scrutinizer ignore-unused */ array &$attributes,
             /** @scrutinizer ignore-unused */ array &$state
         ) {
diff --git a/modules/core/lib/Auth/Process/ScopeAttribute.php b/modules/core/lib/Auth/Process/ScopeAttribute.php
index 4c60aa0c8..1b6ceca7c 100644
--- a/modules/core/lib/Auth/Process/ScopeAttribute.php
+++ b/modules/core/lib/Auth/Process/ScopeAttribute.php
@@ -68,7 +68,6 @@ class ScopeAttribute extends Auth\ProcessingFilter
      * Apply this filter to the request.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/ScopeFromAttribute.php b/modules/core/lib/Auth/Process/ScopeFromAttribute.php
index 2e819b0f1..121c6e3f3 100644
--- a/modules/core/lib/Auth/Process/ScopeFromAttribute.php
+++ b/modules/core/lib/Auth/Process/ScopeFromAttribute.php
@@ -62,7 +62,6 @@ class ScopeFromAttribute extends Auth\ProcessingFilter
      * Apply this filter.
      *
      * @param array &$request  The current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/core/lib/Auth/Process/StatisticsWithAttribute.php b/modules/core/lib/Auth/Process/StatisticsWithAttribute.php
index 364240254..f7541d45a 100644
--- a/modules/core/lib/Auth/Process/StatisticsWithAttribute.php
+++ b/modules/core/lib/Auth/Process/StatisticsWithAttribute.php
@@ -67,7 +67,6 @@ class StatisticsWithAttribute extends Auth\ProcessingFilter
      * Log line.
      *
      * @param array &$state  The current state.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/core/lib/Auth/Process/TargetedID.php b/modules/core/lib/Auth/Process/TargetedID.php
index 4fe2f3d78..2325fa2f6 100644
--- a/modules/core/lib/Auth/Process/TargetedID.php
+++ b/modules/core/lib/Auth/Process/TargetedID.php
@@ -94,7 +94,6 @@ class TargetedID extends Auth\ProcessingFilter
      * Apply filter to add the targeted ID.
      *
      * @param array &$state  The current state.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/core/lib/Auth/Process/WarnShortSSOInterval.php b/modules/core/lib/Auth/Process/WarnShortSSOInterval.php
index ef47239e9..71e14c7ae 100644
--- a/modules/core/lib/Auth/Process/WarnShortSSOInterval.php
+++ b/modules/core/lib/Auth/Process/WarnShortSSOInterval.php
@@ -24,7 +24,6 @@ class WarnShortSSOInterval extends Auth\ProcessingFilter
      * If it is to short a while since, we will show a warning to the user.
      *
      * @param array $state  The state of the response.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/core/lib/Auth/UserPassBase.php b/modules/core/lib/Auth/UserPassBase.php
index 3d69ef738..515445b90 100644
--- a/modules/core/lib/Auth/UserPassBase.php
+++ b/modules/core/lib/Auth/UserPassBase.php
@@ -129,7 +129,6 @@ abstract class UserPassBase extends Auth\Source
      * Set forced username.
      *
      * @param string|null $forcedUsername  The forced username.
-     * @return void
      */
     public function setForcedUsername(?string $forcedUsername): void
     {
@@ -194,7 +193,6 @@ abstract class UserPassBase extends Auth\Source
      * login page.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
@@ -281,7 +279,6 @@ abstract class UserPassBase extends Auth\Source
      * @param string $authStateId  The identifier of the authentication state.
      * @param string $username  The username the user wrote.
      * @param string $password  The password the user wrote.
-     * @return void
      */
     public static function handleLogin(string $authStateId, string $username, string $password): void
     {
diff --git a/modules/core/lib/Auth/UserPassOrgBase.php b/modules/core/lib/Auth/UserPassOrgBase.php
index ce9ead3c5..03b9b214a 100644
--- a/modules/core/lib/Auth/UserPassOrgBase.php
+++ b/modules/core/lib/Auth/UserPassOrgBase.php
@@ -134,7 +134,6 @@ abstract class UserPassOrgBase extends Auth\Source
      * If unconfigured, the default is 'none'.
      *
      * @param string $usernameOrgMethod  The method which should be used.
-     * @return void
      */
     protected function setUsernameOrgMethod(string $usernameOrgMethod): void
     {
@@ -207,7 +206,6 @@ abstract class UserPassOrgBase extends Auth\Source
      * login page.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
@@ -263,7 +261,6 @@ abstract class UserPassOrgBase extends Auth\Source
      * @param string $username  The username the user wrote.
      * @param string $password  The password the user wrote.
      * @param string $organization  The id of the organization the user chose.
-     * @return void
      */
     public static function handleLogin(
         string $authStateId,
diff --git a/modules/core/lib/Controller/Login.php b/modules/core/lib/Controller/Login.php
index de75c4702..e54d60198 100644
--- a/modules/core/lib/Controller/Login.php
+++ b/modules/core/lib/Controller/Login.php
@@ -216,7 +216,6 @@ class Login
      * This clears the user's IdP discovery choices.
      *
      * @param Request $request The request that lead to this login operation.
-     * @return void
      */
     public function cleardiscochoices(Request $request): void
     {
diff --git a/modules/core/lib/Stats/Output/File.php b/modules/core/lib/Stats/Output/File.php
index 90fde8437..17d890bc7 100644
--- a/modules/core/lib/Stats/Output/File.php
+++ b/modules/core/lib/Stats/Output/File.php
@@ -56,7 +56,6 @@ class File extends \SimpleSAML\Stats\Output
      * Open a log file.
      *
      * @param string $date  The date for the log file.
-     * @return void
      */
     private function openLog(string $date): void
     {
@@ -83,7 +82,6 @@ class File extends \SimpleSAML\Stats\Output
      * Write a stats event.
      *
      * @param array $data  The event.
-     * @return void
      */
     public function emit(array $data): void
     {
diff --git a/modules/core/lib/Stats/Output/Log.php b/modules/core/lib/Stats/Output/Log.php
index aa881b0b8..58c554b57 100644
--- a/modules/core/lib/Stats/Output/Log.php
+++ b/modules/core/lib/Stats/Output/Log.php
@@ -41,7 +41,6 @@ class Log extends \SimpleSAML\Stats\Output
      * Write a stats event.
      *
      * @param array $data  The event
-     * @return void
      */
     public function emit(array $data): void
     {
diff --git a/modules/core/lib/Storage/SQLPermanentStorage.php b/modules/core/lib/Storage/SQLPermanentStorage.php
index f25519539..dec8a8f76 100644
--- a/modules/core/lib/Storage/SQLPermanentStorage.php
+++ b/modules/core/lib/Storage/SQLPermanentStorage.php
@@ -75,7 +75,6 @@ class SQLPermanentStorage
      * @param string $key2
      * @param string $value
      * @param int|null $duration
-     * @return void
      */
     public function set(string $type, string $key1, string $key2, string $value, int $duration = null): void
     {
diff --git a/modules/cron/hooks/hook_configpage.php b/modules/cron/hooks/hook_configpage.php
index d933c5c5d..51329aee9 100644
--- a/modules/cron/hooks/hook_configpage.php
+++ b/modules/cron/hooks/hook_configpage.php
@@ -8,7 +8,6 @@ use SimpleSAML\XHTML\Template;
  * Hook to add the cron module to the config page.
  *
  * @param \SimpleSAML\XHTML\Template &$template The template that we should alter in this hook.
- * @return void
  */
 function cron_hook_configpage(Template &$template): void
 {
diff --git a/modules/cron/hooks/hook_cron.php b/modules/cron/hooks/hook_cron.php
index f411fb7ca..843d4dd5d 100644
--- a/modules/cron/hooks/hook_cron.php
+++ b/modules/cron/hooks/hook_cron.php
@@ -7,7 +7,6 @@ use SimpleSAML\Configuration;
  * Hook to run a cron job.
  *
  * @param array &$croninfo  Output
- * @return void
  */
 function cron_hook_cron(array &$croninfo): void
 {
diff --git a/modules/cron/hooks/hook_frontpage.php b/modules/cron/hooks/hook_frontpage.php
index 430edf7ef..bf57406cb 100644
--- a/modules/cron/hooks/hook_frontpage.php
+++ b/modules/cron/hooks/hook_frontpage.php
@@ -7,7 +7,6 @@ use SimpleSAML\Module;
  * Hook to add the modinfo module to the frontpage.
  *
  * @param array &$links  The links on the frontpage, split into sections.
- * @return void
  */
 function cron_hook_frontpage(array &$links): void
 {
diff --git a/modules/exampleauth/lib/Auth/Process/RedirectTest.php b/modules/exampleauth/lib/Auth/Process/RedirectTest.php
index 6f9214d91..bb4e7ff6a 100644
--- a/modules/exampleauth/lib/Auth/Process/RedirectTest.php
+++ b/modules/exampleauth/lib/Auth/Process/RedirectTest.php
@@ -19,7 +19,6 @@ class RedirectTest extends \SimpleSAML\Auth\ProcessingFilter
      * Initialize processing of the redirect test.
      *
      * @param array &$state  The state we should update.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/exampleauth/lib/Auth/Source/External.php b/modules/exampleauth/lib/Auth/Source/External.php
index 7d59c63da..6ed1ef5e9 100644
--- a/modules/exampleauth/lib/Auth/Source/External.php
+++ b/modules/exampleauth/lib/Auth/Source/External.php
@@ -102,7 +102,6 @@ class External extends Auth\Source
      * Log in using an external authentication helper.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
@@ -185,7 +184,6 @@ class External extends Auth\Source
      * This function resumes the authentication process after the user has
      * entered his or her credentials.
      *
-     * @return void
      * @throws \SimpleSAML\Error\BadRequest
      * @throws \SimpleSAML\Error\Exception
      */
@@ -264,7 +262,6 @@ class External extends Auth\Source
      * by logging out of a SP that supports single logout.
      *
      * @param array &$state  The logout state array.
-     * @return void
      */
     public function logout(array &$state): void
     {
diff --git a/modules/exampleauth/lib/Auth/Source/StaticSource.php b/modules/exampleauth/lib/Auth/Source/StaticSource.php
index fc8716305..270d6c0ed 100644
--- a/modules/exampleauth/lib/Auth/Source/StaticSource.php
+++ b/modules/exampleauth/lib/Auth/Source/StaticSource.php
@@ -51,7 +51,6 @@ class StaticSource extends Auth\Source
      * Log in using static attributes.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
diff --git a/modules/multiauth/lib/Auth/Source/MultiAuth.php b/modules/multiauth/lib/Auth/Source/MultiAuth.php
index adb283032..3f93169cb 100644
--- a/modules/multiauth/lib/Auth/Source/MultiAuth.php
+++ b/modules/multiauth/lib/Auth/Source/MultiAuth.php
@@ -134,7 +134,6 @@ class MultiAuth extends Auth\Source
      * in the delegateAuthentication method.
      *
      * @param array &$state Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
@@ -176,7 +175,6 @@ class MultiAuth extends Auth\Source
      *
      * @param string $authId Selected authentication source
      * @param array $state Information about the current authentication.
-     * @return void
      * @throws \Exception
      */
     public static function delegateAuthentication(string $authId, array $state): void
@@ -224,7 +222,6 @@ class MultiAuth extends Auth\Source
      * session and then call the logout method on it.
      *
      * @param array &$state Information about the current logout operation.
-     * @return void
      */
     public function logout(array &$state): void
     {
@@ -248,7 +245,6 @@ class MultiAuth extends Auth\Source
      * by storing its name in a cookie.
      *
      * @param string $source Name of the authentication source the user selected.
-     * @return void
      */
     public function setPreviousSource(string $source): void
     {
diff --git a/modules/saml/hooks/hook_metadata_hosted.php b/modules/saml/hooks/hook_metadata_hosted.php
index d91d8062d..45c8021fb 100644
--- a/modules/saml/hooks/hook_metadata_hosted.php
+++ b/modules/saml/hooks/hook_metadata_hosted.php
@@ -7,7 +7,6 @@ use SimpleSAML\Auth;
  * Hook to add the metadata for hosted entities to the frontpage.
  *
  * @param array &$metadataHosted  The metadata links for hosted metadata on the frontpage.
- * @return void
  */
 function saml_hook_metadata_hosted(array &$metadataHosted)
 {
diff --git a/modules/saml/lib/Auth/Process/AuthnContextClassRef.php b/modules/saml/lib/Auth/Process/AuthnContextClassRef.php
index 1c98f44ae..93bf1c719 100644
--- a/modules/saml/lib/Auth/Process/AuthnContextClassRef.php
+++ b/modules/saml/lib/Auth/Process/AuthnContextClassRef.php
@@ -47,7 +47,6 @@ class AuthnContextClassRef extends ProcessingFilter
      * Set the AuthnContextClassRef in the SAML 2 response.
      *
      * @param array &$state The state array for this request.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/saml/lib/Auth/Process/ExpectedAuthnContextClassRef.php b/modules/saml/lib/Auth/Process/ExpectedAuthnContextClassRef.php
index 2ba768e3e..31db71085 100644
--- a/modules/saml/lib/Auth/Process/ExpectedAuthnContextClassRef.php
+++ b/modules/saml/lib/Auth/Process/ExpectedAuthnContextClassRef.php
@@ -71,7 +71,6 @@ class ExpectedAuthnContextClassRef extends ProcessingFilter
     /**
      *
      * @param array &$request The current request
-     * @return void
      */
     public function process(array &$request): void
     {
@@ -96,7 +95,6 @@ class ExpectedAuthnContextClassRef extends ProcessingFilter
      * permission logic.
      *
      * @param array $request
-     * @return void
      */
     protected function unauthorized(array &$request): void
     {
diff --git a/modules/saml/lib/Auth/Process/FilterScopes.php b/modules/saml/lib/Auth/Process/FilterScopes.php
index 5b58f9307..3a8003638 100644
--- a/modules/saml/lib/Auth/Process/FilterScopes.php
+++ b/modules/saml/lib/Auth/Process/FilterScopes.php
@@ -46,7 +46,6 @@ class FilterScopes extends ProcessingFilter
      * This method applies the filter, removing any values
      *
      * @param array &$request the current request
-     * @return void
      */
     public function process(array &$request): void
     {
diff --git a/modules/saml/lib/Auth/Process/NameIDAttribute.php b/modules/saml/lib/Auth/Process/NameIDAttribute.php
index 7ec8a1cae..33e612eec 100644
--- a/modules/saml/lib/Auth/Process/NameIDAttribute.php
+++ b/modules/saml/lib/Auth/Process/NameIDAttribute.php
@@ -107,7 +107,6 @@ class NameIDAttribute extends ProcessingFilter
      * Convert NameID to attribute.
      *
      * @param array &$state The request state.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/saml/lib/Auth/Process/PersistentNameID2TargetedID.php b/modules/saml/lib/Auth/Process/PersistentNameID2TargetedID.php
index 3f889124f..99053c352 100644
--- a/modules/saml/lib/Auth/Process/PersistentNameID2TargetedID.php
+++ b/modules/saml/lib/Auth/Process/PersistentNameID2TargetedID.php
@@ -61,7 +61,6 @@ class PersistentNameID2TargetedID extends ProcessingFilter
      * Store a NameID to attribute.
      *
      * @param array &$state The request state.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/saml/lib/Auth/Source/SP.php b/modules/saml/lib/Auth/Source/SP.php
index 6f111198a..4a7842d8f 100644
--- a/modules/saml/lib/Auth/Source/SP.php
+++ b/modules/saml/lib/Auth/Source/SP.php
@@ -438,7 +438,6 @@ class SP extends \SimpleSAML\Auth\Source
      *
      * @param \SimpleSAML\Configuration $idpMetadata  The metadata of the IdP.
      * @param array $state  The state array for the current authentication.
-     * @return void
      */
     private function startSSO2(Configuration $idpMetadata, array $state): void
     {
@@ -647,7 +646,6 @@ class SP extends \SimpleSAML\Auth\Source
      * @param array &$state  The state array.
      * @param \SAML2\Binding $binding  The binding.
      * @param \SAML2\AuthnRequest  $ar  The authentication request.
-     * @return void
      */
     public function sendSAML2AuthnRequest(array &$state, Binding $binding, AuthnRequest $ar): void
     {
@@ -661,7 +659,6 @@ class SP extends \SimpleSAML\Auth\Source
      *
      * @param string $idp  The entity ID of the IdP.
      * @param array $state  The state array for the current authentication.
-     * @return void
      */
     public function startSSO(string $idp, array $state): void
     {
@@ -683,7 +680,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Start an IdP discovery service operation.
      *
      * @param array $state  The state array.
-     * @return void
      */
     private function startDisco(array $state): void
     {
@@ -721,7 +717,6 @@ class SP extends \SimpleSAML\Auth\Source
      * This function saves the information about the login, and redirects to the IdP.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function authenticate(array &$state): void
     {
@@ -778,7 +773,6 @@ class SP extends \SimpleSAML\Auth\Source
      * interact with the user even in the case when the user is already authenticated.
      *
      * @param array &$state  Information about the current authentication.
-     * @return void
      */
     public function reauthenticate(array &$state): void
     {
@@ -865,7 +859,6 @@ class SP extends \SimpleSAML\Auth\Source
      * - 'core:IdP': the identifier of the local IdP.
      * - 'SPMetadata': an array with the metadata of this local SP.
      *
-     * @return void
      * @throws \SimpleSAML\Module\saml\Error\NoPassive In case the authentication request was passive.
      */
     public static function askForIdPChange(array &$state): void
@@ -897,7 +890,6 @@ class SP extends \SimpleSAML\Auth\Source
      * This method will never return.
      *
      * @param array $state The state array.
-     * @return void
      */
     public static function reauthLogout(array $state): void
     {
@@ -918,7 +910,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Complete login operation after re-authenticating the user on another IdP.
      *
      * @param array $state  The authentication state.
-     * @return void
      */
     public static function reauthPostLogin(array $state): void
     {
@@ -942,7 +933,6 @@ class SP extends \SimpleSAML\Auth\Source
      *
      * @param \SimpleSAML\IdP $idp The IdP we are logging out from.
      * @param array &$state The state array with the state during logout.
-     * @return void
      */
     public static function reauthPostLogout(IdP $idp, array $state): void
     {
@@ -967,7 +957,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Start a SAML 2 logout operation.
      *
      * @param array $state  The logout state.
-     * @return void
      */
     public function startSLO2(array &$state): void
     {
@@ -1022,7 +1011,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Start logout operation.
      *
      * @param array $state  The logout state.
-     * @return void
      */
     public function logout(array &$state): void
     {
@@ -1046,7 +1034,6 @@ class SP extends \SimpleSAML\Auth\Source
      * @param array $state  The authentication state.
      * @param string $idp  The entity id of the IdP.
      * @param array $attributes  The attributes.
-     * @return void
      */
     public function handleResponse(array $state, string $idp, array $attributes): void
     {
@@ -1090,7 +1077,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Handle a logout request from an IdP.
      *
      * @param string $idpEntityId  The entity ID of the IdP.
-     * @return void
      */
     public function handleLogout(string $idpEntityId): void
     {
@@ -1112,7 +1098,6 @@ class SP extends \SimpleSAML\Auth\Source
      * the session. The function will check if the URL is allowed, so there is no need to
      * manually check the URL on beforehand. Please refer to the 'trusted.url.domains'
      * configuration directive for more information about allowing (or disallowing) URLs.
-     * @return void
      */
     public static function handleUnsolicitedAuth(string $authId, array $state, string $redirectTo): void
     {
@@ -1127,7 +1112,6 @@ class SP extends \SimpleSAML\Auth\Source
      * Called when we have completed the procssing chain.
      *
      * @param array $authProcState  The processing chain state.
-     * @return void
      */
     public static function onProcessingCompleted(array $authProcState): void
     {
diff --git a/modules/saml/lib/BaseNameIDGenerator.php b/modules/saml/lib/BaseNameIDGenerator.php
index a6deb6010..c319ea450 100644
--- a/modules/saml/lib/BaseNameIDGenerator.php
+++ b/modules/saml/lib/BaseNameIDGenerator.php
@@ -85,7 +85,6 @@ abstract class BaseNameIDGenerator extends \SimpleSAML\Auth\ProcessingFilter
      * Generate transient NameID.
      *
      * @param array &$state  The request state.
-     * @return void
      */
     public function process(array &$state): void
     {
diff --git a/modules/saml/lib/IdP/SAML2.php b/modules/saml/lib/IdP/SAML2.php
index e4814db36..ac692da2b 100644
--- a/modules/saml/lib/IdP/SAML2.php
+++ b/modules/saml/lib/IdP/SAML2.php
@@ -47,7 +47,6 @@ class SAML2
      * Send a response to the SP.
      *
      * @param array $state The authentication state.
-     * @return void
      */
     public static function sendResponse(array $state): void
     {
@@ -125,7 +124,6 @@ class SAML2
      * \SimpleSAML\Error\Exception $exception  The exception.
      *
      * @param array $state The error state.
-     * @return void
      */
     public static function handleAuthError(\SimpleSAML\Error\Exception $exception, array $state): void
     {
@@ -274,7 +272,6 @@ class SAML2
      * Receive an authentication request.
      *
      * @param \SimpleSAML\IdP $idp The IdP we are receiving it for.
-     * @return void
      * @throws \SimpleSAML\Error\BadRequest In case an error occurs when trying to receive the request.
      */
     public static function receiveAuthnRequest(IdP $idp): void
@@ -492,7 +489,6 @@ class SAML2
      * @param \SimpleSAML\IdP $idp The IdP we are sending a logout request from.
      * @param array           $association The association that should be terminated.
      * @param string|null     $relayState An id that should be carried across the logout.
-     * @return void
      */
     public static function sendLogoutRequest(IdP $idp, array $association, string $relayState = null): void
     {
@@ -528,7 +524,6 @@ class SAML2
      *
      * @param \SimpleSAML\IdP $idp The IdP we are sending a logout request from.
      * @param array           &$state The logout state array.
-     * @return void
      */
     public static function sendLogoutResponse(IdP $idp, array $state): void
     {
@@ -588,7 +583,6 @@ class SAML2
      * Receive a logout message.
      *
      * @param \SimpleSAML\IdP $idp The IdP we are receiving it for.
-     * @return void
      * @throws \SimpleSAML\Error\BadRequest In case an error occurs while trying to receive the logout message.
      */
     public static function receiveLogoutMessage(IdP $idp): void
diff --git a/modules/saml/lib/IdP/SQLNameID.php b/modules/saml/lib/IdP/SQLNameID.php
index d83ca6384..45623212a 100644
--- a/modules/saml/lib/IdP/SQLNameID.php
+++ b/modules/saml/lib/IdP/SQLNameID.php
@@ -81,7 +81,6 @@ class SQLNameID
 
     /**
      * @param array $config
-     * @return void
      */
     private static function create(array $config = [])
     {
@@ -131,7 +130,6 @@ class SQLNameID
      *
      * @param string $table  The table name.
      * @param array $config
-     * @return void
      */
     private static function createTable(string $table, array $config = [])
     {
@@ -176,7 +174,6 @@ class SQLNameID
      * @param string $user  The user's unique identificator (e.g. username).
      * @param string $value  The NameID value.
      * @param array $config
-     * @return void
      */
     public static function add(
         string $idpEntityId,
@@ -241,7 +238,6 @@ class SQLNameID
      * @param string $spEntityId  The SP entityID.
      * @param string $user  The user's unique identificator (e.g. username).
      * @param array $config
-     * @return void
      */
     public static function delete(
         string $idpEntityId,
diff --git a/modules/saml/lib/Message.php b/modules/saml/lib/Message.php
index b461cd99f..4955c2037 100644
--- a/modules/saml/lib/Message.php
+++ b/modules/saml/lib/Message.php
@@ -37,7 +37,6 @@ class Message
      * @param \SimpleSAML\Configuration $srcMetadata The metadata of the sender.
      * @param \SimpleSAML\Configuration $dstMetadata The metadata of the recipient.
      * @param \SAML2\SignedElement $element The element we should add the data to.
-     * @return void
      */
     public static function addSign(
         Configuration $srcMetadata,
@@ -89,7 +88,6 @@ class Message
      * @param \SimpleSAML\Configuration $srcMetadata The metadata of the sender.
      * @param \SimpleSAML\Configuration $dstMetadata The metadata of the recipient.
      * @param \SAML2\Message $message The message we should add the data to.
-     * @return void
      */
     private static function addRedirectSign(
         Configuration $srcMetadata,
@@ -193,7 +191,6 @@ class Message
      * @param \SimpleSAML\Configuration $srcMetadata The metadata of the sender.
      * @param \SimpleSAML\Configuration $dstMetadata The metadata of the recipient.
      * @param \SAML2\Message $message The message we should check the signature on.
-     * @return void
      *
      * @throws \SimpleSAML\Error\Exception if message validation is enabled, but there is no signature in the message.
      */
@@ -378,7 +375,6 @@ class Message
      * @param \SimpleSAML\Configuration $dstMetadata The metadata of the recipient (SP).
      * @param \SAML2\Assertion|\SAML2\Assertion $assertion The assertion containing any possibly encrypted attributes.
      *
-     * @return void
      *
      * @throws \SimpleSAML\Error\Exception if we cannot get the decryption keys or decryption fails.
      */
diff --git a/modules/saml/lib/SP/LogoutStore.php b/modules/saml/lib/SP/LogoutStore.php
index 9b8f423d2..0cbde2f92 100644
--- a/modules/saml/lib/SP/LogoutStore.php
+++ b/modules/saml/lib/SP/LogoutStore.php
@@ -24,7 +24,6 @@ class LogoutStore
      * Create logout table in SQL, if it is missing.
      *
      * @param \SimpleSAML\Store\SQL $store  The datastore.
-     * @return void
      */
     private static function createLogoutTable(Store\SQL $store): void
     {
@@ -199,7 +198,6 @@ class LogoutStore
      * Clean the logout table of expired entries.
      *
      * @param \SimpleSAML\Store\SQL $store  The datastore.
-     * @return void
      */
     private static function cleanLogoutStore(Store\SQL $store): void
     {
@@ -222,7 +220,6 @@ class LogoutStore
      * @param string $sessionIndex  The SessionIndex of the user.
      * @param int $expire
      * @param string $sessionId
-     * @return void
      */
     private static function addSessionSQL(
         Store\SQL $store,
@@ -327,7 +324,6 @@ class LogoutStore
      * @param \SAML2\XML\saml\NameID $nameId The NameID of the user.
      * @param string|null $sessionIndex  The SessionIndex of the user.
      * @param int $expire
-     * @return void
      */
     public static function addSession(string $authId, NameID $nameId, ?string $sessionIndex, int $expire): void
     {
diff --git a/tests/SigningTestCase.php b/tests/SigningTestCase.php
index 95714f230..b5ee39435 100644
--- a/tests/SigningTestCase.php
+++ b/tests/SigningTestCase.php
@@ -189,7 +189,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -215,7 +214,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function tearDown(): void
     {
@@ -227,7 +225,6 @@ NOWDOC;
      * @param \SimpleSAML\Configuration $service
      * @param class-string $className
      * @param mixed|null $value
-     * @return void
      */
     protected function clearInstance(Configuration $service, string $className, $value = null): void
     {
diff --git a/tests/Utils/ClearStateTestCase.php b/tests/Utils/ClearStateTestCase.php
index 000bf57df..d82c423b8 100644
--- a/tests/Utils/ClearStateTestCase.php
+++ b/tests/Utils/ClearStateTestCase.php
@@ -19,7 +19,6 @@ class ClearStateTestCase extends TestCase
 
 
     /**
-     * @return void
      */
     public static function setUpBeforeClass(): void
     {
@@ -31,7 +30,6 @@ class ClearStateTestCase extends TestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -40,7 +38,6 @@ class ClearStateTestCase extends TestCase
 
 
     /**
-     * @return void
      */
     public static function tearDownAfterClass(): void
     {
@@ -50,7 +47,6 @@ class ClearStateTestCase extends TestCase
 
     /**
      * Clear any SSP global state to reduce spill over between tests.
-     * @return void
      */
     public static function clearState(): void
     {
diff --git a/tests/Utils/ExitTestException.php b/tests/Utils/ExitTestException.php
index 973b9d833..dc64a0ae8 100644
--- a/tests/Utils/ExitTestException.php
+++ b/tests/Utils/ExitTestException.php
@@ -15,7 +15,6 @@ class ExitTestException extends \Exception
 
     /**
      * @param array $testResult
-     * @return void
      */
     public function __construct(array $testResult)
     {
diff --git a/tests/Utils/ReduceSpillOverTest.php b/tests/Utils/ReduceSpillOverTest.php
index 6554d5587..ba57f9cbf 100644
--- a/tests/Utils/ReduceSpillOverTest.php
+++ b/tests/Utils/ReduceSpillOverTest.php
@@ -15,7 +15,6 @@ class ReduceSpillOverTest extends ClearStateTestCase
 {
     /**
      * Set some global state
-     * @return void
      */
     public function testSetState(): void
     {
@@ -28,7 +27,6 @@ class ReduceSpillOverTest extends ClearStateTestCase
 
     /**
      * Confirm global state removed prior to next test
-     * @return void
      * @throws \SimpleSAML\Error\ConfigurationError
      */
     public function testStateRemoved(): void
diff --git a/tests/Utils/SpTester.php b/tests/Utils/SpTester.php
index 64ef75503..a83396bbc 100644
--- a/tests/Utils/SpTester.php
+++ b/tests/Utils/SpTester.php
@@ -20,7 +20,6 @@ class SpTester extends SP
     /**
      * @param array $info
      * @param array $config
-     * @return void
      */
     public function __construct(array $info, array $config)
     {
@@ -29,7 +28,6 @@ class SpTester extends SP
 
 
     /**
-     * @return void
      */
     public function startSSO2Test(Configuration $idpMetadata, array $state): void
     {
@@ -42,7 +40,6 @@ class SpTester extends SP
 
     /**
      * override the method that sends the request to avoid sending anything
-     * @return void
      */
     public function sendSAML2AuthnRequest(array &$state, Binding $binding, AuthnRequest $ar): void
     {
diff --git a/tests/Utils/StateClearer.php b/tests/Utils/StateClearer.php
index ba453a4a2..05e69814d 100644
--- a/tests/Utils/StateClearer.php
+++ b/tests/Utils/StateClearer.php
@@ -34,7 +34,6 @@ class StateClearer
 
 
     /**
-     * @return void
      */
     public function backupGlobals(): void
     {
@@ -54,7 +53,6 @@ class StateClearer
 
     /**
      * Clear any global state.
-     * @return void
      */
     public function clearGlobals(): void
     {
@@ -75,7 +73,6 @@ class StateClearer
 
     /**
      * Clear any SSP specific state, such as SSP enviormental variables or cached internals.
-     * @return void
      */
     public function clearSSPState(): void
     {
diff --git a/tests/Utils/TestAuthSource.php b/tests/Utils/TestAuthSource.php
index 2388bfb25..7fd0929bc 100644
--- a/tests/Utils/TestAuthSource.php
+++ b/tests/Utils/TestAuthSource.php
@@ -10,7 +10,6 @@ class TestAuthSource extends Source
 {
     /**
      * @param array &$state
-     * @return void
      */
     public function authenticate(array &$state): void
     {
diff --git a/tests/_autoload_modules.php b/tests/_autoload_modules.php
index 8da8c9eb6..eae6153bc 100644
--- a/tests/_autoload_modules.php
+++ b/tests/_autoload_modules.php
@@ -11,7 +11,6 @@ declare(strict_types=1);
  * Module test classes have namespaces like SimpleSAML\Test\Module\<moduleName>\Auth\Process
  *
  * @param string $className Name of the class.
- * @return void
  */
 function sspmodTestClassAutoloadPSR4(string $className): void
 {
diff --git a/tests/lib/SimpleSAML/Auth/SimpleTest.php b/tests/lib/SimpleSAML/Auth/SimpleTest.php
index d2b5e56fb..2c407cd49 100644
--- a/tests/lib/SimpleSAML/Auth/SimpleTest.php
+++ b/tests/lib/SimpleSAML/Auth/SimpleTest.php
@@ -18,7 +18,6 @@ class SimpleTest extends ClearStateTestCase
 {
     /**
      * @test
-     * @return void
      */
     public function testGetProcessedURL(): void
     {
diff --git a/tests/lib/SimpleSAML/Auth/SourceTest.php b/tests/lib/SimpleSAML/Auth/SourceTest.php
index 415d69ae2..0d447cb6d 100644
--- a/tests/lib/SimpleSAML/Auth/SourceTest.php
+++ b/tests/lib/SimpleSAML/Auth/SourceTest.php
@@ -18,7 +18,6 @@ use SimpleSAML\Test\Utils\TestAuthSourceFactory;
 class SourceTest extends ClearStateTestCase
 {
     /**
-     * @return void
      */
     public function testParseAuthSource(): void
     {
diff --git a/tests/lib/SimpleSAML/Auth/StateTest.php b/tests/lib/SimpleSAML/Auth/StateTest.php
index b89456464..239784f1d 100644
--- a/tests/lib/SimpleSAML/Auth/StateTest.php
+++ b/tests/lib/SimpleSAML/Auth/StateTest.php
@@ -16,7 +16,6 @@ class StateTest extends TestCase
 {
     /**
      * Test the getPersistentAuthData() function.
-     * @return void
      */
     public function testGetPersistentAuthData(): void
     {
diff --git a/tests/lib/SimpleSAML/ConfigurationTest.php b/tests/lib/SimpleSAML/ConfigurationTest.php
index ae07d2a33..50455174d 100644
--- a/tests/lib/SimpleSAML/ConfigurationTest.php
+++ b/tests/lib/SimpleSAML/ConfigurationTest.php
@@ -19,7 +19,6 @@ class ConfigurationTest extends ClearStateTestCase
 {
     /**
      * Test \SimpleSAML\Configuration::getVersion()
-     * @return void
      */
     public function testGetVersion(): void
     {
@@ -30,7 +29,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test that the default instance fails to load even if we previously loaded another instance.
-     * @return void
      */
     public function testLoadDefaultInstance(): void
     {
@@ -43,7 +41,6 @@ class ConfigurationTest extends ClearStateTestCase
     /**
      * Test that after a \SimpleSAML\Error\CriticalConfigurationError exception, a basic, self-survival configuration
      * is loaded.
-     * @return void
      */
     public function testCriticalConfigurationError(): void
     {
@@ -64,7 +61,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getValue()
-     * @return void
      */
     public function testGetValue(): void
     {
@@ -85,7 +81,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getValue(), REQUIRED_OPTION flag.
-     * @return void
      */
     public function testGetValueRequired(): void
     {
@@ -97,7 +92,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::hasValue()
-     * @return void
      */
     public function testHasValue(): void
     {
@@ -113,7 +107,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::hasValue()
-     * @return void
      */
     public function testHasValueOneOf(): void
     {
@@ -134,7 +127,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getBasePath()
-     * @return void
      */
     public function testGetBasePath(): void
     {
@@ -193,7 +185,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::resolvePath()
-     * @return void
      */
     public function testResolvePath(): void
     {
@@ -215,7 +206,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getPathValue()
-     * @return void
      */
     public function testGetPathValue(): void
     {
@@ -233,7 +223,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getBaseDir()
-     * @return void
      */
     public function testGetBaseDir(): void
     {
@@ -254,7 +243,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getBoolean()
-     * @return void
      */
     public function testGetBoolean(): void
     {
@@ -270,7 +258,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getBoolean() missing option
-     * @return void
      */
     public function testGetBooleanMissing(): void
     {
@@ -282,7 +269,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getBoolean() wrong option
-     * @return void
      */
     public function testGetBooleanWrong(): void
     {
@@ -296,7 +282,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getString()
-     * @return void
      */
     public function testGetString(): void
     {
@@ -310,7 +295,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getString() missing option
-     * @return void
      */
     public function testGetStringMissing(): void
     {
@@ -322,7 +306,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getString() wrong option
-     * @return void
      */
     public function testGetStringWrong(): void
     {
@@ -336,7 +319,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getInteger()
-     * @return void
      */
     public function testGetInteger(): void
     {
@@ -350,7 +332,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getInteger() missing option
-     * @return void
      */
     public function testGetIntegerMissing(): void
     {
@@ -362,7 +343,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getInteger() wrong option
-     * @return void
      */
     public function testGetIntegerWrong(): void
     {
@@ -376,7 +356,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getIntegerRange()
-     * @return void
      */
     public function testGetIntegerRange(): void
     {
@@ -390,7 +369,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getIntegerRange() below limit
-     * @return void
      */
     public function testGetIntegerRangeBelow(): void
     {
@@ -404,7 +382,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getIntegerRange() above limit
-     * @return void
      */
     public function testGetIntegerRangeAbove(): void
     {
@@ -418,7 +395,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getValueValidate()
-     * @return void
      */
     public function testGetValueValidate(): void
     {
@@ -432,7 +408,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getValueValidate() wrong option
-     * @return void
      */
     public function testGetValueValidateWrong(): void
     {
@@ -446,7 +421,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getArray()
-     * @return void
      */
     public function testGetArray(): void
     {
@@ -460,7 +434,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getArray() wrong option
-     * @return void
      */
     public function testGetArrayWrong(): void
     {
@@ -474,7 +447,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getArrayize()
-     * @return void
      */
     public function testGetArrayize(): void
     {
@@ -492,7 +464,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getArrayizeString()
-     * @return void
      */
     public function testGetArrayizeString(): void
     {
@@ -509,7 +480,6 @@ class ConfigurationTest extends ClearStateTestCase
     /**
      * Test \SimpleSAML\Configuration::getArrayizeString() option
      * with an array that contains something that isn't a string.
-     * @return void
      */
     public function testGetArrayizeStringWrongValue(): void
     {
@@ -523,7 +493,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getConfigItem()
-     * @return void
      */
     public function testGetConfigItem(): void
     {
@@ -541,7 +510,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getConfigItem() wrong option
-     * @return void
      */
     public function testGetConfigItemWrong(): void
     {
@@ -555,7 +523,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getOptions()
-     * @return void
      */
     public function testGetOptions(): void
     {
@@ -569,7 +536,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::toArray()
-     * @return void
      */
     public function testToArray(): void
     {
@@ -585,7 +551,6 @@ class ConfigurationTest extends ClearStateTestCase
      * Test \SimpleSAML\Configuration::getDefaultEndpoint().
      *
      * Iterate over all different valid definitions of endpoints and check if the expected output is produced.
-     * @return void
      */
     public function testGetDefaultEndpoint(): void
     {
@@ -779,7 +744,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getEndpoints().
-     * @return void
      */
     public function testGetEndpoints(): void
     {
@@ -884,7 +848,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getLocalizedString()
-     * @return void
      */
     public function testGetLocalizedString(): void
     {
@@ -903,7 +866,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getLocalizedString() not array nor simple string
-     * @return void
      */
     public function testGetLocalizedStringNotArray(): void
     {
@@ -917,7 +879,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getLocalizedString() not string key
-     * @return void
      */
     public function testGetLocalizedStringNotStringKey(): void
     {
@@ -931,7 +892,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getLocalizedString() not string value
-     * @return void
      */
     public function testGetLocalizedStringNotStringValue(): void
     {
@@ -945,7 +905,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getConfig() nonexistent file
-     * @return void
      */
     public function testGetConfigNonexistentFile(): void
     {
@@ -956,7 +915,6 @@ class ConfigurationTest extends ClearStateTestCase
 
     /**
      * Test \SimpleSAML\Configuration::getConfig() preloaded nonexistent file
-     * @return void
      */
     public function testGetConfigNonexistentFilePreload(): void
     {
@@ -974,7 +932,6 @@ class ConfigurationTest extends ClearStateTestCase
      * Test that Configuration objects can be initialized from an array.
      *
      * ATTENTION: this test must be kept the last.
-     * @return void
      */
     public function testLoadInstanceFromArray(): void
     {
diff --git a/tests/lib/SimpleSAML/DatabaseTest.php b/tests/lib/SimpleSAML/DatabaseTest.php
index bcda35d06..cfafb15cd 100644
--- a/tests/lib/SimpleSAML/DatabaseTest.php
+++ b/tests/lib/SimpleSAML/DatabaseTest.php
@@ -54,7 +54,6 @@ class DatabaseTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -78,7 +77,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function connectionFailure(): void
     {
@@ -99,7 +97,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function instances(): void
     {
@@ -164,7 +161,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function secondaries(): void
     {
@@ -216,7 +212,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function prefix(): void
     {
@@ -230,7 +225,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function querying(): void
     {
@@ -260,7 +254,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function readFailure(): void
     {
@@ -274,7 +267,6 @@ class DatabaseTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function noSuchTable(): void
     {
@@ -284,7 +276,6 @@ class DatabaseTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function tearDown(): void
     {
diff --git a/tests/lib/SimpleSAML/Locale/LanguageTest.php b/tests/lib/SimpleSAML/Locale/LanguageTest.php
index e6c3da4de..f309bfb75 100644
--- a/tests/lib/SimpleSAML/Locale/LanguageTest.php
+++ b/tests/lib/SimpleSAML/Locale/LanguageTest.php
@@ -15,7 +15,6 @@ class LanguageTest extends TestCase
 {
     /**
      * Test SimpleSAML\Locale\Language::getDefaultLanguage().
-     * @return void
      */
     public function testGetDefaultLanguage(): void
     {
@@ -36,7 +35,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::getLanguageCookie().
-     * @return void
      */
     public function testGetLanguageCookie(): void
     {
@@ -61,7 +59,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::getLanguageList().
-     * @return void
      */
     public function testGetLanguageListNoConfig(): void
     {
@@ -75,7 +72,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::getLanguageList().
-     * @return void
      */
     public function testGetLanguageListCorrectConfig(): void
     {
@@ -95,7 +91,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::getLanguageList().
-     * @return void
      */
     public function testGetLanguageListIncorrectConfig(): void
     {
@@ -111,7 +106,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::getLanguageParameterName().
-     * @return void
      */
     public function testGetLanguageParameterName(): void
     {
@@ -131,7 +125,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::isLanguageRTL().
-     * @return void
      */
     public function testIsLanguageRTL(): void
     {
@@ -162,7 +155,6 @@ class LanguageTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Language::setLanguage().
-     * @return void
      */
     public function testSetLanguage(): void
     {
diff --git a/tests/lib/SimpleSAML/Locale/LocalizationTest.php b/tests/lib/SimpleSAML/Locale/LocalizationTest.php
index 169bafa0d..7f529a0bd 100644
--- a/tests/lib/SimpleSAML/Locale/LocalizationTest.php
+++ b/tests/lib/SimpleSAML/Locale/LocalizationTest.php
@@ -14,7 +14,6 @@ use SimpleSAML\Locale\Localization;
 class LocalizationTest extends TestCase
 {
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -25,7 +24,6 @@ class LocalizationTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Localization().
-     * @return void
      */
     public function testLocalization(): void
     {
@@ -37,7 +35,6 @@ class LocalizationTest extends TestCase
 
     /**
      * Test SimpleSAML\Locale\Localization::activateDomain().
-     * @return void
      */
     public function testAddDomain(): void
     {
diff --git a/tests/lib/SimpleSAML/Locale/TranslateTest.php b/tests/lib/SimpleSAML/Locale/TranslateTest.php
index d66d16ea5..f5242544a 100644
--- a/tests/lib/SimpleSAML/Locale/TranslateTest.php
+++ b/tests/lib/SimpleSAML/Locale/TranslateTest.php
@@ -15,7 +15,6 @@ class TranslateTest extends TestCase
 {
     /**
      * Test SimpleSAML\Locale\Translate::noop().
-     * @return void
      */
     public function testNoop(): void
     {
diff --git a/tests/lib/SimpleSAML/Metadata/MetaDataStorageHandlerTest.php b/tests/lib/SimpleSAML/Metadata/MetaDataStorageHandlerTest.php
index 2245cd5b8..66739c3aa 100644
--- a/tests/lib/SimpleSAML/Metadata/MetaDataStorageHandlerTest.php
+++ b/tests/lib/SimpleSAML/Metadata/MetaDataStorageHandlerTest.php
@@ -15,7 +15,6 @@ class MetaDataStorageHandlerTest extends ClearStateTestCase
 {
     /**
      * Test that loading specific entities works, and that metadata source precedence is followed
-     * @return void
      */
     public function testLoadEntities(): void
     {
diff --git a/tests/lib/SimpleSAML/Metadata/MetaDataStorageSourceTest.php b/tests/lib/SimpleSAML/Metadata/MetaDataStorageSourceTest.php
index 9cee1f59d..e7ab19347 100644
--- a/tests/lib/SimpleSAML/Metadata/MetaDataStorageSourceTest.php
+++ b/tests/lib/SimpleSAML/Metadata/MetaDataStorageSourceTest.php
@@ -18,7 +18,6 @@ class MetaDataStorageSourceTest extends TestCase
 {
     /**
      * Test \SimpleSAML\Metadata\MetaDataStorageSourceTest::getConfig XML bad source
-     * @return void
      */
     public function testBadXMLSource(): void
     {
@@ -29,7 +28,6 @@ class MetaDataStorageSourceTest extends TestCase
 
     /**
      * Test \SimpleSAML\Metadata\MetaDataStorageSourceTest::getConfig invalid static XML source
-     * @return void
      */
     public function testInvalidStaticXMLSource(): void
     {
@@ -44,7 +42,6 @@ class MetaDataStorageSourceTest extends TestCase
 
     /**
      * Test \SimpleSAML\Metadata\MetaDataStorageSourceTest::getConfig XML static XML source
-     * @return void
      */
     public function testStaticXMLSource(): void
     {
@@ -68,7 +65,6 @@ class MetaDataStorageSourceTest extends TestCase
 
     /**
      * Test loading multiple entities
-     * @return void
      */
     public function testLoadEntitiesStaticXMLSource(): void
     {
diff --git a/tests/lib/SimpleSAML/Metadata/SAMLBuilderTest.php b/tests/lib/SimpleSAML/Metadata/SAMLBuilderTest.php
index d00003bb6..2998a753a 100644
--- a/tests/lib/SimpleSAML/Metadata/SAMLBuilderTest.php
+++ b/tests/lib/SimpleSAML/Metadata/SAMLBuilderTest.php
@@ -16,7 +16,6 @@ class SAMLBuilderTest extends TestCase
 {
     /**
      * Test the requested attributes are valued correctly.
-     * @return void
      */
     public function testAttributes(): void
     {
@@ -96,7 +95,6 @@ class SAMLBuilderTest extends TestCase
 
     /**
      * Test the working of the isDefault config option
-     * @return void
      */
     public function testAttributeConsumingServiceDefault(): void
     {
@@ -152,7 +150,6 @@ class SAMLBuilderTest extends TestCase
 
     /**
      * Test the index option is used correctly.
-     * @return void
      */
     public function testAttributeConsumingServiceIndex(): void
     {
@@ -197,7 +194,6 @@ class SAMLBuilderTest extends TestCase
 
     /**
      * Test the required protocolSupportEnumeration in AttributeAuthorityDescriptor
-     * @return void
      */
     public function testProtocolSupportEnumeration(): void
     {
diff --git a/tests/lib/SimpleSAML/Metadata/SAMLParserTest.php b/tests/lib/SimpleSAML/Metadata/SAMLParserTest.php
index 8edf64798..2bd7d1160 100644
--- a/tests/lib/SimpleSAML/Metadata/SAMLParserTest.php
+++ b/tests/lib/SimpleSAML/Metadata/SAMLParserTest.php
@@ -20,7 +20,6 @@ class SAMLParserTest extends \SimpleSAML\Test\SigningTestCase
 {
     /**
      * Test Registration Info is parsed
-     * @return void
      */
     public function testRegistrationInfo(): void
     {
@@ -54,7 +53,6 @@ XML
     /**
      * Test RegistrationInfo is inherited correctly from parent EntitiesDescriptor.
      * According to the spec overriding RegistrationInfo is not valid. We ignore attempts to override
-     * @return void
      */
     public function testRegistrationInfoInheritance(): void
     {
@@ -106,7 +104,6 @@ XML
 
     /**
      * Test AttributeConsumingService is parsed
-     * @return void
      */
     public function testAttributeConsumingServiceParsing(): void
     {
@@ -184,7 +181,6 @@ XML
 
     /**
      * Test RoleDescriptor/Extensions is parsed
-     * @return void
      */
     public function testRoleDescriptorExtensions(): void
     {
@@ -276,7 +272,6 @@ XML
 
     /**
      * Test entity category hidden from discovery is parsed
-     * @return void
      */
     public function testHiddenFromDiscovery(): void
     {
@@ -309,7 +304,6 @@ XML
 
     /**
      * Test entity category hidden from discovery is not returned when not present
-     * @return void
      */
     public function testHiddenFromDiscoveryNotHidden(): void
     {
@@ -341,7 +335,6 @@ XML
 
     /**
      * Test entity category hidden from discovery is not returned when no mace dir entity categories present
-     * @return void
      */
     public function testHiddenFromDiscoveryNotHiddenNoMaceDirEC(): void
     {
diff --git a/tests/lib/SimpleSAML/ModuleTest.php b/tests/lib/SimpleSAML/ModuleTest.php
index ce567e509..0a4b69941 100644
--- a/tests/lib/SimpleSAML/ModuleTest.php
+++ b/tests/lib/SimpleSAML/ModuleTest.php
@@ -16,7 +16,6 @@ class ModuleTest extends TestCase
 {
     /**
      * Test for SimpleSAML\Module::isModuleEnabled().
-     * @return void
      */
     public function testIsModuleEnabled(): void
     {
@@ -27,7 +26,6 @@ class ModuleTest extends TestCase
 
     /**
      * Test for SimpleSAML\Module::getModuleDir().
-     * @return void
      */
     public function testGetModuleDir(): void
     {
@@ -41,7 +39,6 @@ class ModuleTest extends TestCase
 
     /**
      * Test for SimpleSAML\Module::getModuleURL().
-     * @return void
      */
     public function testGetModuleURL(): void
     {
@@ -64,7 +61,6 @@ class ModuleTest extends TestCase
 
     /**
      * Test for SimpleSAML\Module::getModules().
-     * @return void
      */
     public function testGetModules(): void
     {
@@ -76,7 +72,6 @@ class ModuleTest extends TestCase
      * Test for SimpleSAML\Module::resolveClass(). It will make sure that an exception is thrown if we are not asking
      * for a class inside a module (that is, there is no colon separating the name of the module and the name of the
      * class).
-     * @return void
      */
     public function testResolveClassNoModule(): void
     {
@@ -88,7 +83,6 @@ class ModuleTest extends TestCase
     /**
      * Test for SimpleSAML\Module::resolveClass(). It will make sure that an exception is thrown if the class we are
      * asking for can be resolved, but does not extend a given class.
-     * @return void
      */
     public function testResolveClassNotSubclass(): void
     {
@@ -99,7 +93,6 @@ class ModuleTest extends TestCase
 
     /**
      * Test for SimpleSAML\Module::resolveClass(). It covers all the valid use cases.
-     * @return void
      */
     public function testResolveClass(): void
     {
diff --git a/tests/lib/SimpleSAML/SessionHandlerPHPTest.php b/tests/lib/SimpleSAML/SessionHandlerPHPTest.php
index 058e7d24b..15a82c381 100644
--- a/tests/lib/SimpleSAML/SessionHandlerPHPTest.php
+++ b/tests/lib/SimpleSAML/SessionHandlerPHPTest.php
@@ -29,7 +29,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -43,7 +42,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     protected function tearDown(): void
     {
@@ -52,7 +50,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testGetSessionHandler(): void
     {
@@ -65,7 +62,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookie(): void
     {
@@ -89,7 +85,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookieSameSiteNone(): void
     {
@@ -110,7 +105,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookieSameSiteLax(): void
     {
@@ -131,7 +125,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookieSameSiteStrict(): void
     {
@@ -152,7 +145,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testRestorePrevious(): void
     {
@@ -175,7 +167,6 @@ class SessionHandlerPHPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testNewSessionId(): void
     {
diff --git a/tests/lib/SimpleSAML/SessionTest.php b/tests/lib/SimpleSAML/SessionTest.php
index 07e8ab778..6c9326b80 100644
--- a/tests/lib/SimpleSAML/SessionTest.php
+++ b/tests/lib/SimpleSAML/SessionTest.php
@@ -18,7 +18,6 @@ class SessionTest extends ClearStateTestCase
     protected $session;
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -28,7 +27,6 @@ class SessionTest extends ClearStateTestCase
     }
 
     /**
-     * @return void
      */
     public function testSetRememberMeExpireDefaults(): void
     {
@@ -42,7 +40,6 @@ class SessionTest extends ClearStateTestCase
     }
 
     /**
-     * @return void
      */
     public function testSetRememberMeExpireExplicit(): void
     {
diff --git a/tests/lib/SimpleSAML/Store/RedisTest.php b/tests/lib/SimpleSAML/Store/RedisTest.php
index 27b466426..ede953e3a 100644
--- a/tests/lib/SimpleSAML/Store/RedisTest.php
+++ b/tests/lib/SimpleSAML/Store/RedisTest.php
@@ -32,7 +32,6 @@ class RedisTest extends TestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -55,7 +54,6 @@ class RedisTest extends TestCase
         $this->mocked_redis->method('del')
                            ->will($this->returnCallback([$this, 'delMocked']));
 
-        $nop = /** @return void */ function () {
             return;
         };
 
@@ -80,7 +78,6 @@ class RedisTest extends TestCase
     /**
      * @param string $key
      * @param mixed $value
-     * @return void
      */
     public function setMocked(string $key, $value): void
     {
@@ -92,7 +89,6 @@ class RedisTest extends TestCase
      * @param string $key
      * @param int $expire
      * @param mixed $value
-     * @return void
      */
     public function setexMocked(string $key, int $expire, $value): void
     {
@@ -103,7 +99,6 @@ class RedisTest extends TestCase
 
     /**
      * @param string $key
-     * @return void
      */
     public function delMocked(string $key): void
     {
@@ -113,7 +108,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testRedisInstance(): void
     {
@@ -134,7 +128,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testRedisInstanceWithPassword(): void
     {
@@ -156,7 +149,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testInsertData(): void
     {
@@ -172,7 +164,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testInsertExpiringData(): void
     {
@@ -188,7 +179,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetEmptyData(): void
     {
@@ -200,7 +190,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testOverwriteData(): void
     {
@@ -218,7 +207,6 @@ class RedisTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testDeleteData(): void
     {
@@ -233,7 +221,6 @@ class RedisTest extends TestCase
     /**
      * @param \SimpleSAML\Configuration|\SimpleSAML\Store $service
      * @param class-string $className
-     * @return void
      */
     protected function clearInstance($service, string $className): void
     {
diff --git a/tests/lib/SimpleSAML/Store/SQLTest.php b/tests/lib/SimpleSAML/Store/SQLTest.php
index 0d335ebe4..28b23d6f4 100644
--- a/tests/lib/SimpleSAML/Store/SQLTest.php
+++ b/tests/lib/SimpleSAML/Store/SQLTest.php
@@ -22,7 +22,6 @@ use SimpleSAML\Store;
 class SQLTest extends TestCase
 {
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -36,7 +35,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function SQLInstance(): void
     {
@@ -48,7 +46,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function kvstoreTableVersion(): void
     {
@@ -63,7 +60,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function newTableVersion(): void
     {
@@ -78,7 +74,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testSetTableVersion(): void
     {
@@ -94,7 +89,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetEmptyData(): void
     {
@@ -109,7 +103,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testInsertData(): void
     {
@@ -125,7 +118,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testOverwriteData(): void
     {
@@ -142,7 +134,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testDeleteData(): void
     {
@@ -159,7 +150,6 @@ class SQLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testVeryLongKey(): void
     {
@@ -176,7 +166,6 @@ class SQLTest extends TestCase
 
 
     /**
-     * @return void
      */
     protected function tearDown(): void
     {
@@ -193,7 +182,6 @@ class SQLTest extends TestCase
     /**
      * @param \SimpleSAML\Configuration|\SimpleSAML\Store $service
      * @param class-string $className
-     * @return void
      */
     protected function clearInstance($service, string $className): void
     {
diff --git a/tests/lib/SimpleSAML/StoreTest.php b/tests/lib/SimpleSAML/StoreTest.php
index 582ef8d6e..ffeeb30e3 100644
--- a/tests/lib/SimpleSAML/StoreTest.php
+++ b/tests/lib/SimpleSAML/StoreTest.php
@@ -24,7 +24,6 @@ class StoreTest extends TestCase
 {
     /**
      * @test
-     * @return void
      */
     public function defaultStore(): void
     {
@@ -39,7 +38,6 @@ class StoreTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function phpSessionStore(): void
     {
@@ -54,7 +52,6 @@ class StoreTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function memcacheStore(): void
     {
@@ -70,7 +67,6 @@ class StoreTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function sqlStore(): void
     {
@@ -88,7 +84,6 @@ class StoreTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function pathStore(): void
     {
@@ -106,7 +101,6 @@ class StoreTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function notFoundStoreException(): void
     {
@@ -122,7 +116,6 @@ class StoreTest extends TestCase
 
 
     /**
-     * @return void
      */
     protected function tearDown(): void
     {
@@ -138,7 +131,6 @@ class StoreTest extends TestCase
     /**
      * @param \SimpleSAML\Configuration|\SimpleSAML\Store $service
      * @param class-string $className
-     * @return void
      */
     protected function clearInstance($service, string $className): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/ArraysTest.php b/tests/lib/SimpleSAML/Utils/ArraysTest.php
index 4dbaebeec..7267b8ab3 100644
--- a/tests/lib/SimpleSAML/Utils/ArraysTest.php
+++ b/tests/lib/SimpleSAML/Utils/ArraysTest.php
@@ -16,7 +16,6 @@ class ArraysTest extends TestCase
 {
     /**
      * Test the arrayize() function.
-     * @return void
      */
     public function testArrayize(): void
     {
@@ -44,7 +43,6 @@ class ArraysTest extends TestCase
 
     /**
      * Test the transpose() function.
-     * @return void
      */
     public function testTranspose(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/AttributesTest.php b/tests/lib/SimpleSAML/Utils/AttributesTest.php
index 85ccca10a..452fd46fb 100644
--- a/tests/lib/SimpleSAML/Utils/AttributesTest.php
+++ b/tests/lib/SimpleSAML/Utils/AttributesTest.php
@@ -18,7 +18,6 @@ class AttributesTest extends TestCase
 {
     /**
      * Test the getExpectedAttributeMethod() method with a non-normalized attributes array.
-     * @return void
      */
     public function testGetExpectedAttributeNonNormalizedArray(): void
     {
@@ -37,7 +36,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the getExpectedAttribute() method with valid input but missing expected attribute.
-     * @return void
      */
     public function testGetExpectedAttributeMissingAttribute(): void
     {
@@ -54,7 +52,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the getExpectedAttribute() method with an empty attribute.
-     * @return void
      */
     public function testGetExpectedAttributeEmptyAttribute(): void
     {
@@ -71,7 +68,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the getExpectedAttributeMethod() method with multiple values (not being allowed).
-     * @return void
      */
     public function testGetExpectedAttributeMultipleValues(): void
     {
@@ -93,7 +89,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test that the getExpectedAttribute() method successfully obtains values from the attributes array.
-     * @return void
      */
     public function testGetExpectedAttribute(): void
     {
@@ -117,7 +112,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the normalizeAttributesArray() function with an array with non-string attribute names.
-     * @return void
      */
     public function testNormalizeAttributesArrayBadKeys(): void
     {
@@ -128,7 +122,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the normalizeAttributesArray() function with an array with non-string attribute values.
-     * @return void
      */
     public function testNormalizeAttributesArrayBadValues(): void
     {
@@ -139,7 +132,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the normalizeAttributesArray() function.
-     * @return void
      */
     public function testNormalizeAttributesArray(): void
     {
@@ -163,7 +155,6 @@ class AttributesTest extends TestCase
 
     /**
      * Test the getAttributeNamespace() function.
-     * @return void
      */
     public function testNamespacedAttributes(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/Config/MetadataTest.php b/tests/lib/SimpleSAML/Utils/Config/MetadataTest.php
index db198ef8f..f22300602 100644
--- a/tests/lib/SimpleSAML/Utils/Config/MetadataTest.php
+++ b/tests/lib/SimpleSAML/Utils/Config/MetadataTest.php
@@ -20,7 +20,6 @@ class MetadataTest extends TestCase
 {
     /**
      * Test contact configuration parsing and sanitizing.
-     * @return void
      */
     public function testGetContact(): void
     {
@@ -228,7 +227,6 @@ class MetadataTest extends TestCase
 
     /**
      * Test \SimpleSAML\Utils\Config\Metadata::isHiddenFromDiscovery().
-     * @return void
      */
     public function testIsHiddenFromDiscovery(): void
     {
@@ -269,7 +267,6 @@ class MetadataTest extends TestCase
 
     /**
      * Test \SimpleSAML\Utils\Config\Metadata::parseNameIdPolicy().
-     * @return void
      */
     public function testParseNameIdPolicy(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/ConfigTest.php b/tests/lib/SimpleSAML/Utils/ConfigTest.php
index 6f683b4a9..3516d4554 100644
--- a/tests/lib/SimpleSAML/Utils/ConfigTest.php
+++ b/tests/lib/SimpleSAML/Utils/ConfigTest.php
@@ -17,7 +17,6 @@ class ConfigTest extends TestCase
 {
     /**
      * Test default config dir with not environment variable
-     * @return void
      */
     public function testDefaultConfigDir(): void
     {
@@ -31,7 +30,6 @@ class ConfigTest extends TestCase
 
     /**
      * Test valid dir specified by env var overrides default config dir
-     * @return void
      */
     public function testEnvVariableConfigDir(): void
     {
@@ -43,7 +41,6 @@ class ConfigTest extends TestCase
 
     /**
      * Test valid dir specified by env redirect var overrides default config dir
-     * @return void
      */
     public function testEnvRedirectVariableConfigDir(): void
     {
@@ -56,7 +53,6 @@ class ConfigTest extends TestCase
 
     /**
      * Test which directory takes precedence
-     * @return void
      */
     public function testEnvRedirectPriorityVariableConfigDir(): void
     {
@@ -70,7 +66,6 @@ class ConfigTest extends TestCase
 
     /**
      * Test invalid dir specified by env var results in a thrown exception
-     * @return void
      */
     public function testInvalidEnvVariableConfigDirThrowsException(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/CryptoTest.php b/tests/lib/SimpleSAML/Utils/CryptoTest.php
index 3a7bdb175..1dd32661b 100644
--- a/tests/lib/SimpleSAML/Utils/CryptoTest.php
+++ b/tests/lib/SimpleSAML/Utils/CryptoTest.php
@@ -33,7 +33,6 @@ class CryptoTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -53,7 +52,6 @@ class CryptoTest extends TestCase
      * Test that aesDecrypt() works properly, being able to decrypt some previously known (and correct)
      * ciphertext.
      *
-     * @return void
      */
     public function testAesDecrypt(): void
     {
@@ -75,7 +73,6 @@ class CryptoTest extends TestCase
     /**
      * Test that aesEncrypt() produces ciphertexts that aesDecrypt() can decrypt.
      *
-     * @return void
      */
     public function testAesEncrypt(): void
     {
@@ -99,7 +96,6 @@ class CryptoTest extends TestCase
     /**
      * Test that the pem2der() and der2pem() methods work correctly.
      *
-     * @return void
      */
     public function testFormatConversion(): void
     {
@@ -144,7 +140,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testGoodPwValid(): void
     {
@@ -158,7 +153,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testBadPwInvalid(): void
     {
@@ -173,7 +167,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testSecureCompareEqual(): void
     {
@@ -184,7 +177,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testSecureCompareNotEqual(): void
     {
@@ -195,7 +187,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyRequiredMetadataMissing(): void
     {
@@ -208,7 +199,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyNotRequiredMetadataMissing(): void
     {
@@ -222,7 +212,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyMissingFile(): void
     {
@@ -234,7 +223,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyBasic(): void
     {
@@ -253,7 +241,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyPassword(): void
     {
@@ -279,7 +266,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPrivateKeyPrefix(): void
     {
@@ -306,7 +292,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPublicKeyRequiredMetadataMissing(): void
     {
@@ -319,7 +304,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPublicKeyNotRequiredMetadataMissing(): void
     {
@@ -333,7 +317,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPublicKeyNotX509Certificate(): void
     {
@@ -357,7 +340,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPublicKeyNotSigning(): void
     {
@@ -381,7 +363,6 @@ PHP;
 
 
     /**
-     * @return void
      */
     public function testLoadPublicKeyBasic(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/EMailTest.php b/tests/lib/SimpleSAML/Utils/EMailTest.php
index fcaa4d8ab..f3b51427a 100644
--- a/tests/lib/SimpleSAML/Utils/EMailTest.php
+++ b/tests/lib/SimpleSAML/Utils/EMailTest.php
@@ -18,7 +18,6 @@ use SimpleSAML\Utils\EMail;
 class EMailTest extends ClearStateTestCase
 {
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -34,7 +33,6 @@ class EMailTest extends ClearStateTestCase
     /**
      * Test that an exception is thrown if using default configuration,
      * and no custom from address is specified.
-     * @return void
      */
     public function testMailFromDefaultConfigurationException(): void
     {
@@ -45,7 +43,6 @@ class EMailTest extends ClearStateTestCase
 
     /**
      * Test that an exception is thrown if using an invalid "From"-address
-     * @return void
      */
     public function testInvalidFromAddressException(): void
     {
@@ -56,7 +53,6 @@ class EMailTest extends ClearStateTestCase
 
     /**
      * Test that an exception is thrown if using an invalid "To"-address
-     * @return void
      */
     public function testInvalidToAddressException(): void
     {
@@ -69,7 +65,6 @@ class EMailTest extends ClearStateTestCase
      * Test that the data given is visible in the resulting mail
      * @dataProvider mailTemplates
      * @param string $template
-     * @return void
      */
     public function testMailContents($template): void
     {
@@ -99,7 +94,6 @@ class EMailTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testInvalidTransportConfiguration(): void
     {
@@ -121,7 +115,6 @@ class EMailTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testInvalidSMTPConfiguration(): void
     {
@@ -138,7 +131,6 @@ class EMailTest extends ClearStateTestCase
     /**
      * Test setting configuration.
      *
-     * @return void
      */
     public function testGetDefaultMailAddress(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/HTTPTest.php b/tests/lib/SimpleSAML/Utils/HTTPTest.php
index 17e8004a7..e60dae5c8 100644
--- a/tests/lib/SimpleSAML/Utils/HTTPTest.php
+++ b/tests/lib/SimpleSAML/Utils/HTTPTest.php
@@ -19,7 +19,6 @@ class HTTPTest extends ClearStateTestCase
      * Set up the environment ($_SERVER) populating the typical variables from a given URL.
      *
      * @param string $url The URL to use as the current one.
-     * @return void
      */
     private function setupEnvFromURL(string $url): void
     {
@@ -48,7 +47,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::addURLParameters().
-     * @return void
      */
     public function testAddURLParameters(): void
     {
@@ -76,7 +74,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::guessBasePath().
-     * @return void
      */
     public function testGuessBasePath(): void
     {
@@ -120,7 +117,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::getSelfHost() with and without custom port.
-     * @return void
      */
     public function testGetSelfHost(): void
     {
@@ -140,7 +136,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::getSelfHostWithPort(), with and without custom port.
-     * @return void
      */
     public function testGetSelfHostWithPort(): void
     {
@@ -169,7 +164,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::getSelfURL().
-     * @return void
      */
     public function testGetSelfURLMethods(): void
     {
@@ -296,7 +290,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::checkURLAllowed(), without regex.
-     * @return void
      */
     public function testCheckURLAllowedWithoutRegex(): void
     {
@@ -328,7 +321,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::checkURLAllowed(), with regex.
-     * @return void
      */
     public function testCheckURLAllowedWithRegex(): void
     {
@@ -362,7 +354,6 @@ class HTTPTest extends ClearStateTestCase
 
     /**
      * Test SimpleSAML\Utils\HTTP::getServerPort().
-     * @return void
      */
     public function testGetServerPort(): void
     {
@@ -409,7 +400,6 @@ class HTTPTest extends ClearStateTestCase
     /**
      * Test SimpleSAML\Utils\HTTP::checkURLAllowed(), with the regex as a
      * subdomain of an evil domain.
-     * @return void
      */
     public function testCheckURLAllowedWithRegexWithoutDelimiters(): void
     {
@@ -430,7 +420,6 @@ class HTTPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testGetFirstPathElement(): void
     {
@@ -445,7 +434,6 @@ class HTTPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookie(): void
     {
@@ -503,7 +491,6 @@ class HTTPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testSetCookieInsecure(): void
     {
@@ -525,7 +512,6 @@ class HTTPTest extends ClearStateTestCase
     /**
      * @runInSeparateProcess
      * @requires extension xdebug
-     * @return void
      */
     public function testSetCookieSameSite(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/NetTest.php b/tests/lib/SimpleSAML/Utils/NetTest.php
index ded9ff93e..2ef7bc2bd 100644
--- a/tests/lib/SimpleSAML/Utils/NetTest.php
+++ b/tests/lib/SimpleSAML/Utils/NetTest.php
@@ -17,7 +17,6 @@ class NetTest extends TestCase
     /**
      * Test the function that checks for IPs belonging to a CIDR.
      *
-     * @return void
      */
     public function testIpCIDRcheck(): void
     {
@@ -52,7 +51,6 @@ class NetTest extends TestCase
     /**
      * Test IPv6 support in SimpleSAML\Utils\Net::ipCIDRcheck.
      *
-     * @return void
      */
     public function testIpv6CIDRcheck(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/RandomTest.php b/tests/lib/SimpleSAML/Utils/RandomTest.php
index 8e204a2db..d84905a32 100644
--- a/tests/lib/SimpleSAML/Utils/RandomTest.php
+++ b/tests/lib/SimpleSAML/Utils/RandomTest.php
@@ -17,7 +17,6 @@ class RandomTest extends TestCase
     /**
      * Test for SimpleSAML\Utils\Random::generateID().
      *
-     * @return void
      */
     public function testGenerateID(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/SystemTest.php b/tests/lib/SimpleSAML/Utils/SystemTest.php
index 3bd361984..dd233f789 100644
--- a/tests/lib/SimpleSAML/Utils/SystemTest.php
+++ b/tests/lib/SimpleSAML/Utils/SystemTest.php
@@ -31,7 +31,6 @@ class SystemTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -48,7 +47,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetOSBasic(): void
     {
@@ -60,7 +58,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathRemoveTrailingSlashes(): void
     {
@@ -76,7 +73,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathPreferAbsolutePathToBase(): void
     {
@@ -92,7 +88,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathCurDirPath(): void
     {
@@ -108,7 +103,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathParentPath(): void
     {
@@ -124,7 +118,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathAllowsStreamWrappers(): void
     {
@@ -140,7 +133,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testResolvePathAllowsAwsS3StreamWrappers(): void
     {
@@ -156,7 +148,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testWriteFileBasic(): void
     {
@@ -175,7 +166,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testWriteFileContents(): void
     {
@@ -198,7 +188,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testWriteFileMode(): void
     {
@@ -221,7 +210,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetTempDirBasic(): void
     {
@@ -240,7 +228,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetTempDirNonExistant(): void
     {
@@ -259,7 +246,6 @@ class SystemTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetTempDirBadPermissions(): void
     {
@@ -292,7 +278,6 @@ class SystemTest extends TestCase
     /**
      * @param \SimpleSAML\Configuration $service
      * @param class-string $className
-     * @return void
      */
     protected function clearInstance(Configuration $service, string $className): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/TimeTest.php b/tests/lib/SimpleSAML/Utils/TimeTest.php
index 00e1a7c15..220e61151 100644
--- a/tests/lib/SimpleSAML/Utils/TimeTest.php
+++ b/tests/lib/SimpleSAML/Utils/TimeTest.php
@@ -19,7 +19,6 @@ class TimeTest extends TestCase
     /**
      * Test the SimpleSAML\Utils\Time::generateTimestamp() method.
      *
-     * @return void
      */
     public function testGenerateTimestamp(): void
     {
@@ -34,7 +33,6 @@ class TimeTest extends TestCase
     /**
      * Test the SimpleSAML\Utils\Time::initTimezone() method.
      *
-     * @return void
      */
     public function testInitTimezone(): void
     {
@@ -78,7 +76,6 @@ class TimeTest extends TestCase
     /**
      * Test the SimpleSAML\Utils\Time::parseDuration() method.
      *
-     * @return void
      */
     public function testParseDuration(): void
     {
diff --git a/tests/lib/SimpleSAML/Utils/XMLTest.php b/tests/lib/SimpleSAML/Utils/XMLTest.php
index c41ae9a1a..7281e5e0d 100644
--- a/tests/lib/SimpleSAML/Utils/XMLTest.php
+++ b/tests/lib/SimpleSAML/Utils/XMLTest.php
@@ -26,7 +26,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeBasic(): void
     {
@@ -42,7 +41,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeMissingNamespace(): void
     {
@@ -57,7 +55,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeEmpty(): void
     {
@@ -73,7 +70,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeShortcut(): void
     {
@@ -90,7 +86,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeIncorrectName(): void
     {
@@ -107,7 +102,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testIsDomNodeOfTypeIncorrectNamespace(): void
     {
@@ -124,7 +118,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomTextBasic(): void
     {
@@ -142,7 +135,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomTextMulti(): void
     {
@@ -162,7 +154,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomTextIncorrectType(): void
     {
@@ -177,7 +168,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomChildrenBasic(): void
     {
@@ -196,7 +186,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomChildrenIncorrectType(): void
     {
@@ -214,7 +203,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testGetDomChildrenIncorrectName(): void
     {
@@ -233,7 +221,6 @@ class XMLTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function testFormatDomElementBasic(): void
     {
@@ -256,7 +243,6 @@ NOWDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testFormatDomElementNested(): void
     {
@@ -283,7 +269,6 @@ NOWDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testFormatDomElementIndentBase(): void
     {
@@ -311,7 +296,6 @@ HEREDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testFormatDomElementTextAndChild(): void
     {
@@ -335,7 +319,6 @@ HEREDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testFormatXmlStringBasic(): void
     {
@@ -354,7 +337,6 @@ NOWDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testFormatXmlStringMalformedXml(): void
     {
@@ -367,7 +349,6 @@ NOWDOC;
 
     /**
      * @test
-     * @return void
      */
     public function testIsValidMalformedXml(): void
     {
@@ -382,7 +363,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testIsValidMetadata(): void
     {
@@ -397,7 +377,6 @@ NOWDOC;
     }
 
     /**
-     * @return void
      */
     public function testCheckSAMLMessageInvalidType(): void
     {
diff --git a/tests/lib/SimpleSAML/XML/ErrorsTest.php b/tests/lib/SimpleSAML/XML/ErrorsTest.php
index ad9a9ab94..dec252ee4 100644
--- a/tests/lib/SimpleSAML/XML/ErrorsTest.php
+++ b/tests/lib/SimpleSAML/XML/ErrorsTest.php
@@ -22,7 +22,6 @@ class ErrorsTest extends TestCase
 {
     /**
      * @test
-     * @return void
      */
     public function loggingErrors(): void
     {
@@ -41,7 +40,6 @@ class ErrorsTest extends TestCase
 
     /**
      * @test
-     * @return void
      */
     public function formatErrors(): void
     {
diff --git a/tests/lib/SimpleSAML/XML/ParserTest.php b/tests/lib/SimpleSAML/XML/ParserTest.php
index accc6c3c0..1955d4f0f 100644
--- a/tests/lib/SimpleSAML/XML/ParserTest.php
+++ b/tests/lib/SimpleSAML/XML/ParserTest.php
@@ -32,7 +32,6 @@ XML;
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -42,7 +41,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getValue(): void
     {
@@ -56,7 +54,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getEmptyValue(): void
     {
@@ -70,7 +67,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getValueException(): void
     {
@@ -81,7 +77,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getDefaultValue(): void
     {
@@ -95,7 +90,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getValueAlternatives(): void
     {
@@ -116,7 +110,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getEmptyValueAlternatives(): void
     {
@@ -137,7 +130,6 @@ XML;
 
     /**
      * @test
-     * @return void
      */
     public function getValueAlternativesException(): void
     {
diff --git a/tests/lib/SimpleSAML/XML/SignerTest.php b/tests/lib/SimpleSAML/XML/SignerTest.php
index 2b6463fc1..0713f77e9 100644
--- a/tests/lib/SimpleSAML/XML/SignerTest.php
+++ b/tests/lib/SimpleSAML/XML/SignerTest.php
@@ -67,7 +67,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testSignerBasic(): void
     {
@@ -78,7 +77,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testSignBasic(): void
     {
@@ -119,7 +117,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testSignWithCertificate(): void
     {
@@ -147,7 +144,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testSignWithMultiCertificate(): void
     {
@@ -180,7 +176,6 @@ NOWDOC;
 
 
     /**
-     * @return void
      */
     public function testSignMissingPrivateKey(): void
     {
@@ -204,7 +199,6 @@ NOWDOC;
      * @param \SimpleSAML\Configuration $service
      * @param class-string $className
      * @param mixed|null $value
-     * @return void
      */
     protected function clearInstance(Configuration $service, string $className, $value = null): void
     {
diff --git a/tests/lib/SimpleSAML/XML/ValidatorTest.php b/tests/lib/SimpleSAML/XML/ValidatorTest.php
index f79a647ef..1aee17e65 100644
--- a/tests/lib/SimpleSAML/XML/ValidatorTest.php
+++ b/tests/lib/SimpleSAML/XML/ValidatorTest.php
@@ -21,7 +21,6 @@ use SimpleSAML\XML\Validator;
 class ValidatorTest extends SigningTestCase
 {
     /**
-     * @return void
      */
     public function testValidatorMissingSignature(): void
     {
@@ -34,7 +33,6 @@ class ValidatorTest extends SigningTestCase
 
 
     /**
-     * @return void
      */
     public function testGetX509Certificate(): void
     {
@@ -63,7 +61,6 @@ class ValidatorTest extends SigningTestCase
 
 
     /**
-     * @return void
      */
     public function testIsNodeValidatedSuccess(): void
     {
@@ -92,7 +89,6 @@ class ValidatorTest extends SigningTestCase
 
 
     /**
-     * @return void
      */
     public function testIsNodeValidatedFailure(): void
     {
diff --git a/tests/modules/admin/lib/Controller/ConfigTest.php b/tests/modules/admin/lib/Controller/ConfigTest.php
index 422a685b2..389d8925c 100644
--- a/tests/modules/admin/lib/Controller/ConfigTest.php
+++ b/tests/modules/admin/lib/Controller/ConfigTest.php
@@ -34,7 +34,6 @@ class ConfigTest extends TestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -78,7 +77,6 @@ class ConfigTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testDiagnostics(): void
     {
@@ -97,7 +95,6 @@ class ConfigTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMain(): void
     {
@@ -116,7 +113,6 @@ class ConfigTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testPhpinfo(): void
     {
diff --git a/tests/modules/admin/lib/Controller/FederationTest.php b/tests/modules/admin/lib/Controller/FederationTest.php
index c4acde34b..f353d8c4c 100644
--- a/tests/modules/admin/lib/Controller/FederationTest.php
+++ b/tests/modules/admin/lib/Controller/FederationTest.php
@@ -55,7 +55,6 @@ class FederationTest extends TestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -95,7 +94,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMain(): void
     {
@@ -180,7 +178,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMetadataConverterFileUpload(): void
     {
@@ -210,7 +207,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMetadataConverterData(): void
     {
@@ -229,7 +225,6 @@ class FederationTest extends TestCase
     }
 
     /**
-     * @return void
      */
     public function testMetadataConverterSkipsExpires(): void
     {
@@ -249,7 +244,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMetadataConverterInvalidMetadataShowsError(): void
     {
@@ -270,7 +264,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMetadataConverterEmptyInput(): void
     {
@@ -292,7 +285,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testDownloadCertSP(): void
     {
@@ -344,7 +336,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testDownloadCertFile(): void
     {
@@ -384,7 +375,6 @@ class FederationTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testShowRemoteEntity(): void
     {
diff --git a/tests/modules/admin/lib/Controller/TestTest.php b/tests/modules/admin/lib/Controller/TestTest.php
index 881abe700..72a887eaa 100644
--- a/tests/modules/admin/lib/Controller/TestTest.php
+++ b/tests/modules/admin/lib/Controller/TestTest.php
@@ -37,7 +37,6 @@ class TestTest extends TestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -75,7 +74,6 @@ class TestTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMainWithoutAuthSource(): void
     {
@@ -95,7 +93,6 @@ class TestTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMainWithAuthSourceAndLogout(): void
     {
@@ -123,7 +120,6 @@ class TestTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMainWithAuthSourceAndException(): void
     {
@@ -150,7 +146,6 @@ class TestTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMainWithAuthSourceNotAuthenticated(): void
     {
@@ -183,7 +178,6 @@ class TestTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMainWithAuthSourceAuthenticated(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeAddTest.php b/tests/modules/core/lib/Auth/Process/AttributeAddTest.php
index 3c91e2e6f..ae15ae4b4 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeAddTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeAddTest.php
@@ -32,7 +32,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -51,7 +50,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test that existing attributes are left unmodified.
-     * @return void
      */
     public function testExistingNotModified(): void
     {
@@ -77,7 +75,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test single string as attribute value.
-     * @return void
      */
     public function testStringValue(): void
     {
@@ -96,7 +93,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test adding multiple attributes in one config.
-     * @return void
      */
     public function testAddMultiple(): void
     {
@@ -118,7 +114,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test behavior when appending attribute values.
-     * @return void
      */
     public function testAppend(): void
     {
@@ -138,7 +133,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test replacing attribute values.
-     * @return void
      */
     public function testReplace(): void
     {
@@ -159,7 +153,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test wrong usage generates exceptions
-     * @return void
      */
     public function testWrongFlag(): void
     {
@@ -179,7 +172,6 @@ class AttributeAddTest extends TestCase
 
     /**
      * Test wrong attribute value
-     * @return void
      */
     public function testWrongAttributeValue(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeAlterTest.php b/tests/modules/core/lib/Auth/Process/AttributeAlterTest.php
index d81ca84cc..5227e0f67 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeAlterTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeAlterTest.php
@@ -32,7 +32,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -57,7 +56,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testWithTarget(): void
     {
@@ -85,7 +83,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Module is a no op if subject attribute is not present.
-     * @return void
      */
     public function testNomatch(): void
     {
@@ -114,7 +111,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test replacing attribute value.
-     * @return void
      */
     public function testReplaceMatch(): void
     {
@@ -137,7 +133,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test replacing attribute value.
-     * @return void
      */
     public function testReplaceMatchWithTarget(): void
     {
@@ -162,7 +157,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test replacing attribute values.
-     * @return void
      */
     public function testReplaceNoMatch(): void
     {
@@ -189,7 +183,6 @@ class AttributeAlterTest extends TestCase
      * Test removing attribute values.
      * Note that removing a value does not renumber the attributes array.
      * Also ensure unrelated attributes are not touched.
-     * @return void
      */
     public function testRemoveMatch(): void
     {
@@ -213,7 +206,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test removing attribute values, resulting in an empty attribute.
-     * @return void
      */
     public function testRemoveMatchAll(): void
     {
@@ -236,7 +228,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testWrongConfig(): void
     {
@@ -257,7 +248,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testIncompleteConfig(): void
     {
@@ -276,7 +266,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testIncompleteConfig2(): void
     {
@@ -297,7 +286,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testIncompleteConfig3(): void
     {
@@ -320,7 +308,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testIncompleteConfig4(): void
     {
@@ -343,7 +330,6 @@ class AttributeAlterTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testIncompleteConfig5(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeCopyTest.php b/tests/modules/core/lib/Auth/Process/AttributeCopyTest.php
index ea0323ca5..41b6cb337 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeCopyTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeCopyTest.php
@@ -32,7 +32,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -52,7 +51,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testArray(): void
     {
@@ -74,7 +72,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test that existing attributes are left unmodified.
-     * @return void
      */
     public function testExistingNotModified(): void
     {
@@ -101,7 +98,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test copying multiple attributes
-     * @return void
      */
     public function testCopyMultiple(): void
     {
@@ -123,7 +119,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test behaviour when target attribute exists (should be replaced).
-     * @return void
      */
     public function testCopyClash(): void
     {
@@ -144,7 +139,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test wrong attribute name
-     * @return void
      */
     public function testWrongAttributeName(): void
     {
@@ -163,7 +157,6 @@ class AttributeCopyTest extends TestCase
 
     /**
      * Test wrong attribute value
-     * @return void
      */
     public function testWrongAttributeValue(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeLimitTest.php b/tests/modules/core/lib/Auth/Process/AttributeLimitTest.php
index 9878ba8b2..71c1ce107 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeLimitTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeLimitTest.php
@@ -40,7 +40,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test reading IdP Attributes.
-     * @return void
      */
     public function testIdPAttrs(): void
     {
@@ -87,7 +86,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Tests when no attributes are in metadata.
-     * @return void
      */
     public function testNULLMetadataAttrs(): void
     {
@@ -143,7 +141,6 @@ class AttributeLimitTest extends TestCase
 
 
     /**
-     * @return void
      */
     public static function setUpBeforeClass(): void
     {
@@ -165,7 +162,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -183,7 +179,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test defaults with metadata available.
-     * @return void
      */
     public function testDefaultWithMetadata(): void
     {
@@ -201,7 +196,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test defaults with attributes and metadata
-     * @return void
      */
     public function testDefaultWithAttrs(): void
     {
@@ -222,7 +216,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test for exception with illegal config.
-     * @return void
      */
     public function testInvalidConfig(): void
     {
@@ -237,7 +230,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test for invalid attribute name
-     * @return void
      */
     public function testInvalidAttributeName(): void
     {
@@ -252,7 +244,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test for attribute value matching
-     * @return void
      */
     public function testMatchAttributeValues(): void
     {
@@ -293,7 +284,6 @@ class AttributeLimitTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testBadOptionsNotTreatedAsValidValues(): void
     {
@@ -311,7 +301,6 @@ class AttributeLimitTest extends TestCase
     /**
      * Verify that the true value for ignoreCase doesn't get converted into a string ('1') by
      * php and matched against an attribute value of '1'
-     * @return void
      */
     public function testThatIgnoreCaseOptionNotMatchBooleanAsStringValue(): void
     {
@@ -333,7 +322,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test for attribute value matching ignore case
-     * @return void
      */
     public function testMatchAttributeValuesIgnoreCase(): void
     {
@@ -375,7 +363,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test for attribute value matching
-     * @return void
      */
     public function testMatchAttributeValuesRegex(): void
     {
@@ -477,7 +464,6 @@ class AttributeLimitTest extends TestCase
      *
      * This test is very unlikely and would require malformed metadata processing.
      * Cannot be generated via config options.
-     * @return void
      */
     public function testMatchAttributeValuesNotArray(): void
     {
@@ -507,7 +493,6 @@ class AttributeLimitTest extends TestCase
 
     /**
      * Test attributes not intersecting
-     * @return void
      */
     public function testNoIntersection(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeMapTest.php b/tests/modules/core/lib/Auth/Process/AttributeMapTest.php
index 628695e4d..88391df1a 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeMapTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeMapTest.php
@@ -30,7 +30,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testBasic(): void
     {
@@ -54,7 +53,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testDuplicate(): void
     {
@@ -80,7 +78,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMultiple(): void
     {
@@ -105,7 +102,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMultipleDuplicate(): void
     {
@@ -132,7 +128,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testCircular(): void
     {
@@ -159,7 +154,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMissingMap(): void
     {
@@ -185,7 +179,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testInvalidOriginalAttributeType(): void
     {
@@ -204,7 +197,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testInvalidMappedAttributeType(): void
     {
@@ -223,7 +215,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testMissingMapFile(): void
     {
@@ -242,7 +233,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testOverwrite(): void
     {
@@ -267,7 +257,6 @@ class AttributeMapTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testOverwriteReversed(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/AttributeValueMapTest.php b/tests/modules/core/lib/Auth/Process/AttributeValueMapTest.php
index 0dedcf98e..87e772300 100644
--- a/tests/modules/core/lib/Auth/Process/AttributeValueMapTest.php
+++ b/tests/modules/core/lib/Auth/Process/AttributeValueMapTest.php
@@ -33,7 +33,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test the most basic functionality.
      *
-     * @return void
      */
     public function testBasic(): void
     {
@@ -63,7 +62,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test basic functionality, remove duplicates
      *
-     * @return void
      */
     public function testNoDuplicates(): void
     {
@@ -94,7 +92,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test the %replace functionality.
      *
-     * @return void
      */
     public function testReplace(): void
     {
@@ -126,7 +123,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test the %keep functionality.
      *
-     * @return void
      */
     public function testKeep(): void
     {
@@ -158,7 +154,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test unknown flag Exception
      *
-     * @return void
      */
     public function testUnknownFlag(): void
     {
@@ -187,7 +182,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test missing Source attribute
      *
-     * @return void
      */
     public function testMissingSourceAttribute(): void
     {
@@ -212,7 +206,6 @@ class AttributeValueMapTest extends TestCase
     /**
      * Test missing Target attribute
      *
-     * @return void
      */
     public function testMissingTargetAttribute(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/CardinalitySingleTest.php b/tests/modules/core/lib/Auth/Process/CardinalitySingleTest.php
index 5b62d6d71..76a7857bb 100644
--- a/tests/modules/core/lib/Auth/Process/CardinalitySingleTest.php
+++ b/tests/modules/core/lib/Auth/Process/CardinalitySingleTest.php
@@ -41,7 +41,6 @@ class CardinalitySingleTest extends TestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -54,7 +53,6 @@ class CardinalitySingleTest extends TestCase
 
     /**
      * Test singleValued
-     * @return void
      */
     public function testSingleValuedUnchanged(): void
     {
@@ -75,7 +73,6 @@ class CardinalitySingleTest extends TestCase
 
     /**
      * Test first value extraction
-     * @return void
      */
     public function testFirstValue(): void
     {
@@ -95,7 +92,6 @@ class CardinalitySingleTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testFirstValueUnchanged(): void
     {
@@ -116,7 +112,6 @@ class CardinalitySingleTest extends TestCase
 
     /**
      * Test flattening
-     * @return void
      */
     public function testFlatten(): void
     {
@@ -137,7 +132,6 @@ class CardinalitySingleTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testFlattenUnchanged(): void
     {
@@ -159,7 +153,6 @@ class CardinalitySingleTest extends TestCase
 
     /**
      * Test abort
-     * @return void
      */
     public function testAbort(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/CardinalityTest.php b/tests/modules/core/lib/Auth/Process/CardinalityTest.php
index 421b382ed..344184881 100644
--- a/tests/modules/core/lib/Auth/Process/CardinalityTest.php
+++ b/tests/modules/core/lib/Auth/Process/CardinalityTest.php
@@ -43,7 +43,6 @@ class CardinalityTest extends TestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -56,7 +55,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test where a minimum is set but no maximum
-     * @return void
      */
     public function testMinNoMax(): void
     {
@@ -77,7 +75,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test where a maximum is set but no minimum
-     * @return void
      */
     public function testMaxNoMin(): void
     {
@@ -98,7 +95,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test in bounds within a maximum an minimum
-     * @return void
      */
     public function testMaxMin(): void
     {
@@ -119,7 +115,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test maximum is out of bounds results in redirect
-     * @return void
      */
     public function testMaxOutOfBounds(): void
     {
@@ -142,7 +137,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test minimum is out of bounds results in redirect
-     * @return void
      */
     public function testMinOutOfBounds(): void
     {
@@ -165,7 +159,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test missing attribute results in redirect
-     * @return void
      */
     public function testMissingAttribute(): void
     {
@@ -191,7 +184,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test invalid minimum values
-     * @return void
      */
     public function testMinInvalid(): void
     {
@@ -211,7 +203,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test invalid minimum values
-     * @return void
      */
     public function testMinNegative(): void
     {
@@ -231,7 +222,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test invalid maximum values
-     * @return void
      */
     public function testMaxInvalid(): void
     {
@@ -251,7 +241,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test maximum < minimum
-     * @return void
      */
     public function testMinGreaterThanMax(): void
     {
@@ -271,7 +260,6 @@ class CardinalityTest extends TestCase
 
     /**
      * Test invalid attribute name
-     * @return void
      */
     public function testInvalidAttributeName(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/PHPTest.php b/tests/modules/core/lib/Auth/Process/PHPTest.php
index bed06c004..40644af95 100644
--- a/tests/modules/core/lib/Auth/Process/PHPTest.php
+++ b/tests/modules/core/lib/Auth/Process/PHPTest.php
@@ -34,7 +34,6 @@ class PHPTest extends TestCase
 
     /**
      * Test the configuration of the filter.
-     * @return void
      */
     public function testInvalidConfiguration(): void
     {
@@ -49,7 +48,6 @@ class PHPTest extends TestCase
 
     /**
      * Check that defining the code works as expected.
-     * @return void
      */
     public function testCodeDefined(): void
     {
@@ -71,7 +69,6 @@ class PHPTest extends TestCase
 
     /**
      * Check that the incoming attributes are also available after processing
-     * @return void
      */
     public function testPreserveIncomingAttributes(): void
     {
@@ -102,7 +99,6 @@ class PHPTest extends TestCase
     /**
      * Check that throwing an Exception inside the PHP code of the
      * filter (a documented use case) works.
-     * @return void
      */
     public function testThrowExceptionFromFilter(): void
     {
@@ -128,7 +124,6 @@ class PHPTest extends TestCase
 
     /**
      * Check that the entire state can be adjusted.
-     * @return void
      */
     public function testStateCanBeModified(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/ScopeAttributeTest.php b/tests/modules/core/lib/Auth/Process/ScopeAttributeTest.php
index 0e45babcb..2ef2d6f51 100644
--- a/tests/modules/core/lib/Auth/Process/ScopeAttributeTest.php
+++ b/tests/modules/core/lib/Auth/Process/ScopeAttributeTest.php
@@ -31,7 +31,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -55,7 +54,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * If target attribute already set, module must add, not overwrite.
-     * @return void
      */
     public function testNoOverwrite(): void
     {
@@ -82,7 +80,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * If same scope already set, module must do nothing, not duplicate value.
-     * @return void
      */
     public function testNoDuplication(): void
     {
@@ -106,7 +103,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * If source attribute not set, nothing happens
-     * @return void
      */
     public function testNoSourceAttribute(): void
     {
@@ -129,7 +125,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * If scope attribute not set, nothing happens
-     * @return void
      */
     public function testNoScopeAttribute(): void
     {
@@ -152,7 +147,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * When multiple @ signs in attribute, will use the first one.
-     * @return void
      */
     public function testMultiAt(): void
     {
@@ -175,7 +169,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * When multiple values in source attribute, should render multiple targets.
-     * @return void
      */
     public function testMultivaluedSource(): void
     {
@@ -201,7 +194,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * When the source attribute doesn't have a scope, the entire value is used.
-     * @return void
      */
     public function testNoAt(): void
     {
@@ -224,7 +216,6 @@ class ScopeAttributeTest extends TestCase
 
     /**
      * When the target attribute exists and onlyIfEmpty is set
-     * @return void
      */
     public function testOnlyIfEmpty(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/ScopeFromAttributeTest.php b/tests/modules/core/lib/Auth/Process/ScopeFromAttributeTest.php
index 010416d30..0749662aa 100644
--- a/tests/modules/core/lib/Auth/Process/ScopeFromAttributeTest.php
+++ b/tests/modules/core/lib/Auth/Process/ScopeFromAttributeTest.php
@@ -31,7 +31,6 @@ class ScopeFromAttributeTest extends TestCase
 
     /**
      * Test the most basic functionality.
-     * @return void
      */
     public function testBasic(): void
     {
@@ -53,7 +52,6 @@ class ScopeFromAttributeTest extends TestCase
 
     /**
      * If scope already set, module must not overwrite.
-     * @return void
      */
     public function testNoOverwrite(): void
     {
@@ -75,7 +73,6 @@ class ScopeFromAttributeTest extends TestCase
 
     /**
      * If source attribute not set, nothing happens
-     * @return void
      */
     public function testNoSourceAttribute(): void
     {
@@ -116,7 +113,6 @@ class ScopeFromAttributeTest extends TestCase
 
     /**
      * When the source attribute doesn't have a scope, a warning is emitted
-     * @return void
      */
     public function testNoAt(): void
     {
diff --git a/tests/modules/core/lib/Auth/Process/TargetedIDTest.php b/tests/modules/core/lib/Auth/Process/TargetedIDTest.php
index 2adbddef5..2920d9386 100644
--- a/tests/modules/core/lib/Auth/Process/TargetedIDTest.php
+++ b/tests/modules/core/lib/Auth/Process/TargetedIDTest.php
@@ -27,7 +27,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -61,7 +60,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test the most basic functionality
-     * @return void
      */
     public function testBasic()
     {
@@ -79,7 +77,6 @@ class TargetedIDTest extends TestCase
     /**
      * Test with src and dst entityIds.
      * Make sure to overwrite any present eduPersonTargetedId
-     * @return void
      */
     public function testWithSrcDst()
     {
@@ -109,7 +106,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test with nameId config option set.
-     * @return void
      */
     public function testNameIdGeneration()
     {
@@ -154,7 +150,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test the outcome to make sure the algorithm remains unchanged
-     * @return void
      */
     public function testOutcome()
     {
@@ -171,7 +166,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test the outcome when multiple values are given
-     * @return void
      */
     public function testOutcomeMultipleValues()
     {
@@ -188,7 +182,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test that Id is the same for subsequent invocations with same input.
-     * @return void
      */
     public function testIdIsPersistent()
     {
@@ -222,7 +215,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test that Id is different for two different usernames and two different sp's
-     * @return void
      */
     public function testIdIsUnique()
     {
@@ -258,7 +250,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test no userid set
-     * @return void
      */
     public function testNoUserID(): void
     {
@@ -273,7 +264,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test with specified attribute not set
-     * @return void
      */
     public function testAttributeNotExists(): void
     {
@@ -292,7 +282,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test with configuration error 1
-     * @return void
      */
     public function testConfigInvalidAttributeName(): void
     {
@@ -311,7 +300,6 @@ class TargetedIDTest extends TestCase
 
     /**
      * Test with configuration error 2
-     * @return void
      */
     public function testConfigInvalidNameId(): void
     {
diff --git a/tests/modules/core/lib/Auth/UserPassBaseTest.php b/tests/modules/core/lib/Auth/UserPassBaseTest.php
index f0b08669a..ec8bcbfdf 100644
--- a/tests/modules/core/lib/Auth/UserPassBaseTest.php
+++ b/tests/modules/core/lib/Auth/UserPassBaseTest.php
@@ -15,7 +15,6 @@ use SimpleSAML\Module\core\Auth\UserPassBase;
 class UserPassBaseTest extends TestCase
 {
     /**
-     * @return void
      */
     public function testAuthenticateECPCallsLoginAndSetsAttributes(): void
     {
@@ -45,7 +44,6 @@ class UserPassBaseTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testAuthenticateECPMissingUsername(): void
     {
@@ -69,7 +67,6 @@ class UserPassBaseTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testAuthenticateECPMissingPassword(): void
     {
@@ -93,7 +90,6 @@ class UserPassBaseTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testAuthenticateECPCallsLoginWithForcedUsername(): void
     {
diff --git a/tests/modules/core/lib/Auth/UserPassOrgBaseTest.php b/tests/modules/core/lib/Auth/UserPassOrgBaseTest.php
index 9c472638b..c3b431bc3 100644
--- a/tests/modules/core/lib/Auth/UserPassOrgBaseTest.php
+++ b/tests/modules/core/lib/Auth/UserPassOrgBaseTest.php
@@ -13,7 +13,6 @@ use SimpleSAML\Module\core\Auth\UserPassOrgBase;
 class UserPassOrgBaseTest extends TestCase
 {
     /**
-     * @return void
      */
     public function testRememberOrganizationEnabled(): void
     {
diff --git a/tests/modules/core/lib/Controller/LoginTest.php b/tests/modules/core/lib/Controller/LoginTest.php
index 4d06027a7..bb539a01a 100644
--- a/tests/modules/core/lib/Controller/LoginTest.php
+++ b/tests/modules/core/lib/Controller/LoginTest.php
@@ -40,7 +40,6 @@ class LoginTest extends ClearStateTestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -71,7 +70,6 @@ class LoginTest extends ClearStateTestCase
     /**
      * Test that authentication is started immediately if we hit the login endpoint and there's only one non-admin
      * source configured.
-     * @return void
      */
     public function testAutomaticLoginWhenOnlyOneSource(): void
     {
@@ -97,7 +95,6 @@ class LoginTest extends ClearStateTestCase
 
     /**
      * Test that the user can choose what auth source to use when there are multiple defined (admin excluded).
-     * @return void
      */
     public function testMultipleAuthSources(): void
     {
@@ -133,7 +130,6 @@ class LoginTest extends ClearStateTestCase
 
     /**
      * Test that specifying an invalid auth source while trying to login raises an exception.
-     * @return void
      */
     public function testLoginWithInvalidAuthSource(): void
     {
@@ -151,7 +147,6 @@ class LoginTest extends ClearStateTestCase
     /**
      * Test that we get redirected to /account/authsource when accessing the login endpoint while being already
      * authenticated.
-     * @return void
      */
     public function testLoginWhenAlreadyAuthenticated(): void
     {
@@ -190,7 +185,6 @@ class LoginTest extends ClearStateTestCase
 
     /**
      * Test that triggering the logout controller actually proceeds to log out from the specified source.
-     * @return void
      */
     public function testLogout(): void
     {
@@ -212,7 +206,6 @@ class LoginTest extends ClearStateTestCase
     /**
      * Test that accessing the "account" endpoint without being authenticated gets you redirected to the "login"
      * endpoint.
-     * @return void
      */
     public function testNotAuthenticated(): void
     {
@@ -233,7 +226,6 @@ class LoginTest extends ClearStateTestCase
 
     /**
      * Test that we are presented with a regular page if we are authenticated and try to access the "account" endpoint.
-     * @return void
      */
     public function testAuthenticated(): void
     {
diff --git a/tests/modules/core/lib/Storage/SQLPermanentStorageTest.php b/tests/modules/core/lib/Storage/SQLPermanentStorageTest.php
index 21d884d5f..204640081 100644
--- a/tests/modules/core/lib/Storage/SQLPermanentStorageTest.php
+++ b/tests/modules/core/lib/Storage/SQLPermanentStorageTest.php
@@ -20,7 +20,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public static function setUpBeforeClass(): void
     {
@@ -33,7 +32,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public static function tearDownAfterClass(): void
     {
@@ -43,7 +41,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testSet(): void
     {
@@ -58,7 +55,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testSetOverwrite(): void
     {
@@ -76,7 +72,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testNonexistentKey(): void
     {
@@ -91,7 +86,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testExpiration(): void
     {
@@ -113,7 +107,6 @@ class SQLPermanentStorageTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testRemove(): void
     {
diff --git a/tests/modules/cron/lib/Controller/CronTest.php b/tests/modules/cron/lib/Controller/CronTest.php
index 637efae13..d82da0d8a 100644
--- a/tests/modules/cron/lib/Controller/CronTest.php
+++ b/tests/modules/cron/lib/Controller/CronTest.php
@@ -33,7 +33,6 @@ class CronTest extends TestCase
 
     /**
      * Set up for each test.
-     * @return void
      */
     protected function setUp(): void
     {
@@ -75,7 +74,6 @@ class CronTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testInfo(): void
     {
@@ -90,7 +88,6 @@ class CronTest extends TestCase
 
 
     /**
-     * @return void
      */
     public function testRun(): void
     {
diff --git a/tests/modules/multiauth/lib/Auth/Source/MultiAuthTest.php b/tests/modules/multiauth/lib/Auth/Source/MultiAuthTest.php
index 4862f120f..68e72a13e 100644
--- a/tests/modules/multiauth/lib/Auth/Source/MultiAuthTest.php
+++ b/tests/modules/multiauth/lib/Auth/Source/MultiAuthTest.php
@@ -23,7 +23,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function setUp(): void
     {
@@ -75,7 +74,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testSourcesMustBePresent(): void
     {
@@ -94,7 +92,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testPreselectMustBeValid(): void
     {
@@ -143,7 +140,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testPreselectIsOptional(): void
     {
@@ -199,7 +195,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testPreselectCanBeConfigured(): void
     {
@@ -218,7 +213,6 @@ class MultiAuthTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     public function testStatePreselectHasPriority(): void
     {
diff --git a/tests/modules/saml/lib/Auth/Process/FilterScopesTest.php b/tests/modules/saml/lib/Auth/Process/FilterScopesTest.php
index de82c8adb..724eebe57 100644
--- a/tests/modules/saml/lib/Auth/Process/FilterScopesTest.php
+++ b/tests/modules/saml/lib/Auth/Process/FilterScopesTest.php
@@ -33,7 +33,6 @@ class FilterScopesTest extends TestCase
 
     /**
      * Test valid scopes.
-     * @return void
      */
     public function testValidScopes(): void
     {
@@ -95,7 +94,6 @@ class FilterScopesTest extends TestCase
 
     /**
      * Test invalid scopes.
-     * @return void
      */
     public function testInvalidScopes(): void
     {
diff --git a/tests/modules/saml/lib/Auth/Process/NameIDAttributeTest.php b/tests/modules/saml/lib/Auth/Process/NameIDAttributeTest.php
index 664071df7..ba0b5472e 100644
--- a/tests/modules/saml/lib/Auth/Process/NameIDAttributeTest.php
+++ b/tests/modules/saml/lib/Auth/Process/NameIDAttributeTest.php
@@ -36,7 +36,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test minimal configuration.
-     * @return void
      */
     public function testMinimalConfig(): void
     {
@@ -67,7 +66,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test custom attribute name.
-     * @return void
      */
     public function testCustomAttributeName(): void
     {
@@ -99,7 +97,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test custom format.
-     * @return void
      */
     public function testFormat(): void
     {
@@ -129,7 +126,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test invalid format throws an exception.
-     * @return void
      */
     public function testInvalidFormatThrowsException(): void
     {
@@ -159,7 +155,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test invalid request silently continues, leaving the state untouched
-     * @return void
      */
     public function testInvalidRequestLeavesStateUntouched(): void
     {
@@ -184,7 +179,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test custom attribute name with format.
-     * @return void
      */
     public function testCustomAttributeNameAndFormat(): void
     {
@@ -216,7 +210,6 @@ class NameIDAttributeTest extends TestCase
 
     /**
      * Test overriding NameID Format/NameQualifier/SPNameQualifier with defaults.
-     * @return void
      */
     public function testOverrideNameID(): void
     {
diff --git a/tests/modules/saml/lib/Auth/Source/Auth_Source_SP_Test.php b/tests/modules/saml/lib/Auth/Source/Auth_Source_SP_Test.php
index 397482f18..28c3bfca9 100644
--- a/tests/modules/saml/lib/Auth/Source/Auth_Source_SP_Test.php
+++ b/tests/modules/saml/lib/Auth/Source/Auth_Source_SP_Test.php
@@ -51,7 +51,6 @@ class SPTest extends ClearStateTestCase
 
 
     /**
-     * @return void
      */
     protected function setUp(): void
     {
@@ -124,7 +123,6 @@ class SPTest extends ClearStateTestCase
     /**
      * Test generating an AuthnRequest
      * @test
-     * @return void
      */
     public function testAuthnRequest(): void
     {
@@ -150,7 +148,6 @@ class SPTest extends ClearStateTestCase
     /**
      * Test setting a Subject
      * @test
-     * @return void
      */
     public function testNameID(): void
     {
@@ -185,7 +182,6 @@ class SPTest extends ClearStateTestCase
     /**
      * Test setting an AuthnConextClassRef
      * @test
-     * @return void
      */
     public function testAuthnContextClassRef(): void
     {
@@ -215,7 +211,6 @@ class SPTest extends ClearStateTestCase
     /**
      * Test setting ForcedAuthn
      * @test
-     * @return void
      */
     public function testForcedAuthn(): void
     {
@@ -244,7 +239,6 @@ class SPTest extends ClearStateTestCase
 
     /**
      * Test specifying an IDPList where no metadata found for those idps is an error
-     * @return void
      */
     public function testIdpListWithNoMatchingMetadata(): void
     {
@@ -262,7 +256,6 @@ class SPTest extends ClearStateTestCase
 
     /**
      * Test specifying an IDPList where the list does not overlap with the Idp specified in SP config is an error
-     * @return void
      */
     public function testIdpListWithExplicitIdpNotMatch(): void
     {
@@ -290,7 +283,6 @@ class SPTest extends ClearStateTestCase
 
     /**
      * Test that IDPList overlaps with the IDP specified in SP config results in AuthnRequest
-     * @return void
      */
     public function testIdpListWithExplicitIdpMatch(): void
     {
@@ -332,7 +324,6 @@ class SPTest extends ClearStateTestCase
 
     /**
      * Test that IDPList with a single valid idp and no SP config idp results in AuthnRequest to that idp
-     * @return void
      */
     public function testIdpListWithSingleMatch(): void
     {
@@ -372,7 +363,6 @@ class SPTest extends ClearStateTestCase
 
     /**
      * Test that IDPList with multiple valid idp and no SP config idp results in discovery redirect
-     * @return void
      */
     public function testIdpListWithMultipleMatch(): void
     {
diff --git a/tests/modules/saml/lib/IdP/SAML2Test.php b/tests/modules/saml/lib/IdP/SAML2Test.php
index c0affe834..503afddd1 100644
--- a/tests/modules/saml/lib/IdP/SAML2Test.php
+++ b/tests/modules/saml/lib/IdP/SAML2Test.php
@@ -39,7 +39,6 @@ class SAML2Test extends ClearStateTestCase
 
     /**
      * Test that invoking the idp initiated endpoint with the minimum necessary parameters works.
-     * @return void
      */
     public function testIdPInitiatedLoginMinimumParams(): void
     {
@@ -64,7 +63,6 @@ class SAML2Test extends ClearStateTestCase
 
     /**
      * Test that invoking the idp initiated endpoint with the optional parameters works.
-     * @return void
      */
     public function testIdPInitiatedLoginOptionalParams(): void
     {
@@ -99,7 +97,6 @@ class SAML2Test extends ClearStateTestCase
 
     /**
      * Test that invoking the idp initiated endpoint using minimum shib params works
-     * @return void
      */
     public function testIdPInitShibCompatyMinimumParams(): void
     {
@@ -126,7 +123,6 @@ class SAML2Test extends ClearStateTestCase
 
     /**
      * Test that invoking the idp initiated endpoint using minimum shib params works
-     * @return void
      */
     public function testIdPInitShibCompatOptionalParams(): void
     {
diff --git a/tests/modules/saml/lib/IdP/SQLNameIDTest.php b/tests/modules/saml/lib/IdP/SQLNameIDTest.php
index 2a5ae7b40..f89e5bbc9 100644
--- a/tests/modules/saml/lib/IdP/SQLNameIDTest.php
+++ b/tests/modules/saml/lib/IdP/SQLNameIDTest.php
@@ -22,7 +22,6 @@ class SQLNameIDTest extends TestCase
 {
     /**
      * @param array $config
-     * @return void
      */
     private function addGetDelete(array $config = []): void
     {
@@ -36,7 +35,6 @@ class SQLNameIDTest extends TestCase
     /**
      * Test Store.
      * @test
-     * @return void
      */
     public function testSQLStore(): void
     {
@@ -57,7 +55,6 @@ class SQLNameIDTest extends TestCase
     /**
      * Test incompatible Store.
      * @test
-     * @return void
      */
     public function testIncompatibleStore(): void
     {
@@ -79,7 +76,6 @@ class SQLNameIDTest extends TestCase
     /**
      * Test Database.
      * @test
-     * @return void
      */
     public function testDatabase(): void
     {
@@ -104,7 +100,6 @@ class SQLNameIDTest extends TestCase
     /**
      * @param \SimpleSAML\Configuration|\SimpleSAML\Store $service
      * @param class-string $className
-     * @return void
      */
     protected function clearInstance($service, string $className): void
     {
diff --git a/tests/www/IndexTest.php b/tests/www/IndexTest.php
index 070689829..62183d577 100644
--- a/tests/www/IndexTest.php
+++ b/tests/www/IndexTest.php
@@ -39,7 +39,6 @@ class IndexTest extends TestCase
 
     /**
      * The setup method that is run before any tests in this class.
-     * @return void
      */
     protected function setup(): void
     {
@@ -54,7 +53,6 @@ class IndexTest extends TestCase
 
     /**
      * @param array $config
-     * @return void
      */
     protected function updateConfig(array $config): void
     {
@@ -66,7 +64,6 @@ class IndexTest extends TestCase
 
     /**
      * A simple test to make sure the index.php file redirects appropriately to the right URL.
-     * @return void
      */
     public function testRedirection(): void
     {
@@ -113,7 +110,6 @@ class IndexTest extends TestCase
 
     /**
      * The tear down method that is executed after all tests in this class.
-     * @return void
      */
     protected function tearDown(): void
     {
-- 
GitLab