diff --git a/civicrm.php b/civicrm.php
index bbf025d512934a8d01035b1f89ec3582d52a96ac..7e40d2663c7ed9d1b1f00e4fe2c5053f0b033a4a 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: CiviCRM
  * Description: CiviCRM - Growing and Sustaining Relationships
- * Version: 5.37.0
+ * Version: 5.37.1
  * Requires at least: 4.9
  * Requires PHP:      7.2
  * Author: CiviCRM LLC
@@ -54,7 +54,7 @@ if (!defined('ABSPATH')) {
 }
 
 // Set version here: when it changes, will force Javascript & CSS to reload.
-define('CIVICRM_PLUGIN_VERSION', '5.37.0');
+define('CIVICRM_PLUGIN_VERSION', '5.37.1');
 
 // Store reference to this file.
 if (!defined('CIVICRM_PLUGIN_FILE')) {
diff --git a/civicrm/CRM/Contribute/Form/AdditionalInfo.php b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
index 117764dc3a1e5177ad546b1ef9c344525c5cebc8..93c8d59779f80fcf0bdadecdd628958812f035ef 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalInfo.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
@@ -275,7 +275,7 @@ class CRM_Contribute_Form_AdditionalInfo {
       $formatted['thankyou_date'] = CRM_Utils_Date::processDate($params['thankyou_date']);
     }
     else {
-      $formatted['thankyou_date'] = NULL;
+      $formatted['thankyou_date'] = 'null';
     }
 
     if (!empty($params['is_email_receipt'])) {
diff --git a/civicrm/CRM/Core/Permission/Base.php b/civicrm/CRM/Core/Permission/Base.php
index 60ffbe3c9ed6adc129811e0efbe3627e121560d2..c0ac7fcf7447625b50042a1e8a511a5a5a5ca7b9 100644
--- a/civicrm/CRM/Core/Permission/Base.php
+++ b/civicrm/CRM/Core/Permission/Base.php
@@ -393,15 +393,13 @@ class CRM_Core_Permission_Base {
    * in all enabled CiviCRM module extensions.
    *
    * @param bool $descriptions
-   * @param array $permissions
    *
    * @return array
    *   Array of permissions, in the same format as CRM_Core_Permission::getCorePermissions().
    */
-  public function getAllModulePermissions($descriptions = FALSE, &$permissions): array {
-    $newPermissions = [];
-    CRM_Utils_Hook::permission($newPermissions, $permissions);
-    $permissions = array_merge($permissions, $newPermissions);
+  public function getAllModulePermissions($descriptions = FALSE): array {
+    $permissions = [];
+    CRM_Utils_Hook::permission($permissions);
 
     if ($descriptions) {
       foreach ($permissions as $permission => $label) {
diff --git a/civicrm/CRM/Utils/Hook.php b/civicrm/CRM/Utils/Hook.php
index dc54996f1423eb42e4e474d5821cdae4d8689f1d..045a9bf25b156d78261de5e8bf2417800987e35f 100644
--- a/civicrm/CRM/Utils/Hook.php
+++ b/civicrm/CRM/Utils/Hook.php
@@ -2025,16 +2025,12 @@ abstract class CRM_Utils_Hook {
    *
    * @param array $newPermissions
    *   Array to be filled with permissions.
-   * @param array $permissions
-   *   Already calculated permissions. These can be altered. Notably an
-   *   extension might want to add it's permissions to 'implied' or to
-   *   remove some permissions.
    *
    * @return null
    *   The return value is ignored
    */
-  public static function permission(&$newPermissions, &$permissions) {
-    return self::singleton()->invoke(['permissions', 'all_permissions'], $newPermissions, $permissions,
+  public static function permission(&$newPermissions) {
+    return self::singleton()->invoke(['permissions'], $newPermissions, self::$_nullObject,
       self::$_nullObject, self::$_nullObject, self::$_nullObject, self::$_nullObject,
       'civicrm_permission'
     );
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index dd7308f38c1bc3cf8d40b7dc2a3a8d3fd260b8fd..6eb65f9e9c3cf73c77c5200ca1a57a8c6d412c1a 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.37.0',
+  return array( 'version'  => '5.37.1',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 8b420f6dec4f1fce8e2ee770fcc0ba438c43afa9..e50e21dbd8ca0a17158d3807c73798331252dcc2 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -15,6 +15,15 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
+## CiviCRM 5.37.1
+
+Released May 11, 2021
+
+- **[Synopsis](release-notes/5.37.1.md#synopsis)**
+- **[Bugs resolved](release-notes/5.37.1.md#bugs)**
+- **[Credits](release-notes/5.37.1.md#credits)**
+- **[Feedback](release-notes/5.37.1.md#feedback)**
+
 ## CiviCRM 5.37.0
 
 Released May 5, 2021
diff --git a/civicrm/release-notes/5.37.1.md b/civicrm/release-notes/5.37.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..023f7763256aec47b3b4322ac0b6f6fc2d470e98
--- /dev/null
+++ b/civicrm/release-notes/5.37.1.md
@@ -0,0 +1,37 @@
+# CiviCRM 5.37.1
+
+Released May 11, 2021
+
+- **[Synopsis](#synopsis)**
+- **[Bugs resolved](#bugs)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |          |
+| --------------------------------------------------------------- | -------- |
+| Change the database schema?                                     | no       |
+| Alter the API?                                                  | no       |
+| Require attention to configuration options?                     | no       |
+| Fix problems installing or upgrading to a previous version?     | no       |
+| Introduce features?                                             | no       |
+| **Fix bugs?**                                                   | **yes**  |
+
+## <a name="bugs"></a>Bugs resolved
+
+* **_CiviContribute_: Cannot clear "Thank-You Date" ([dev/core#2586](https://lab.civicrm.org/dev/core/-/issues/2586): [#20225](https://github.com/civicrm/civicrm-core/pull/20225))**
+* **_Joomla_: Cannot edit user permissions ([dev/core#2601](https://lab.civicrm.org/dev/core/-/issues/2601): [#20256](https://github.com/civicrm/civicrm-core/pull/20256))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following authors and reviewers:
+
+Wikimedia Foundation - Eileen McNaughton; pbarmak; JMA Consulting - Seamus Lee; Dave D;
+CiviCRM - Tim Otten; Adam Wood
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Tim Otten and Andrew Hunt.  If you'd like to
+provide feedback on them, please login to https://chat.civicrm.org/civicrm and
+contact `@agh1`.
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index 77b7c8cbedc4a857d1066f885482f89d3f018336..d961c02fe57e9eb61d0497b03288cd88e4ce1df4 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23875,4 +23875,4 @@ INSERT INTO `civicrm_report_instance`
     ( `domain_id`, `title`, `report_id`, `description`, `permission`, `form_values`)
 VALUES
     (  @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
-UPDATE civicrm_domain SET version = '5.37.0';
+UPDATE civicrm_domain SET version = '5.37.1';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index 48074800bdf8de734ed7004fe047cba92ef0d1ff..4627355d003de942bf613ad3100ef3a5d54052b7 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -399,7 +399,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
-INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,'5.37.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,'5.37.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index a04741bb61e5fc745056bb292e2b91a1bc774877..9c768a2912c39b978d02a562fc49eae468ca2588 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492::getLoader();
+return ComposerAutoloaderInit72f67de33e1b44e47fbb763283ffdc83::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index 0a482e46259cece922d2f27af1e1b7c0537236a4..c470b2b119720fab67b8596af9f01318d40e9e13 100644
--- a/civicrm/vendor/composer/autoload_real.php
+++ b/civicrm/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492
+class ComposerAutoloaderInit72f67de33e1b44e47fbb763283ffdc83
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit72f67de33e1b44e47fbb763283ffdc83', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit72f67de33e1b44e47fbb763283ffdc83', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInitdba5a8c8a6449ed6d9ad495c62fe9492
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequiredba5a8c8a6449ed6d9ad495c62fe9492($fileIdentifier, $file);
+            composerRequire72f67de33e1b44e47fbb763283ffdc83($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequiredba5a8c8a6449ed6d9ad495c62fe9492($fileIdentifier, $file)
+function composerRequire72f67de33e1b44e47fbb763283ffdc83($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         require $file;
diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php
index 3a4640b7eaf95534af59ed5d72ae6d4829b2e831..4826d2d04182903df26a10210fc4c94396d26508 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492
+class ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83
 {
     public static $files = array (
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@@ -575,11 +575,11 @@ class ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInitdba5a8c8a6449ed6d9ad495c62fe9492::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInit72f67de33e1b44e47fbb763283ffdc83::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index 3d6197369147ca0d13177cb7e00131ea36e5dae9..0433f3a5d9f88beda820a7983d6a79a5a7bd2929 100644
--- a/civicrm/xml/version.xml
+++ b/civicrm/xml/version.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <version>
-  <version_no>5.37.0</version_no>
+  <version_no>5.37.1</version_no>
 </version>