From 71a603261c57996ee58a3796bfb8c716b9ac0341 Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@kcristiano.com>
Date: Wed, 12 Jan 2022 10:07:33 -0500
Subject: [PATCH] civicrm release-5.45.1

---
 civicrm.php                                   |  4 +-
 civicrm/CRM/Contact/BAO/Contact.php           | 10 ++++-
 civicrm/CRM/Contact/Tokens.php                |  2 +-
 civicrm/CRM/Export/BAO/ExportProcessor.php    | 10 +++++
 civicrm/civicrm-version.php                   |  2 +-
 civicrm/ext/afform/admin/info.xml             |  2 +-
 civicrm/ext/afform/core/info.xml              |  2 +-
 civicrm/ext/afform/html/info.xml              |  2 +-
 civicrm/ext/afform/mock/info.xml              |  2 +-
 civicrm/ext/authx/info.xml                    |  2 +-
 civicrm/ext/ckeditor4/info.xml                |  2 +-
 .../ext/contributioncancelactions/info.xml    |  2 +-
 civicrm/ext/eventcart/info.xml                |  2 +-
 civicrm/ext/ewaysingle/info.xml               |  2 +-
 civicrm/ext/financialacls/info.xml            |  2 +-
 civicrm/ext/flexmailer/info.xml               |  2 +-
 civicrm/ext/greenwich/info.xml                |  2 +-
 civicrm/ext/legacycustomsearches/info.xml     |  2 +-
 civicrm/ext/message_admin/info.xml            |  2 +-
 civicrm/ext/oauth-client/info.xml             |  2 +-
 civicrm/ext/payflowpro/info.xml               |  2 +-
 civicrm/ext/recaptcha/info.xml                |  2 +-
 .../SearchDisplay/AbstractRunAction.php       |  2 +-
 civicrm/ext/search_kit/info.xml               |  2 +-
 civicrm/ext/sequentialcreditnotes/info.xml    |  2 +-
 .../packages/kcfinder/core/class/browser.php  |  6 +--
 .../packages/kcfinder/core/class/uploader.php |  2 +-
 civicrm/release-notes.md                      |  9 +++++
 civicrm/release-notes/5.45.1.md               | 39 +++++++++++++++++++
 civicrm/sql/civicrm_data.mysql                |  2 +-
 civicrm/sql/civicrm_generated.mysql           |  2 +-
 civicrm/vendor/autoload.php                   |  2 +-
 civicrm/vendor/composer/autoload_real.php     | 14 +++----
 civicrm/vendor/composer/autoload_static.php   | 12 +++---
 civicrm/xml/version.xml                       |  2 +-
 35 files changed, 111 insertions(+), 47 deletions(-)
 create mode 100644 civicrm/release-notes/5.45.1.md

diff --git a/civicrm.php b/civicrm.php
index 2f02a37842..d635bcc8e2 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: CiviCRM
  * Description: CiviCRM - Growing and Sustaining Relationships
- * Version: 5.45.0
+ * Version: 5.45.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.45.0');
+define('CIVICRM_PLUGIN_VERSION', '5.45.1');
 
 // Store reference to this file.
 if (!defined('CIVICRM_PLUGIN_FILE')) {
diff --git a/civicrm/CRM/Contact/BAO/Contact.php b/civicrm/CRM/Contact/BAO/Contact.php
index 64a14674ca..5aa9960d59 100644
--- a/civicrm/CRM/Contact/BAO/Contact.php
+++ b/civicrm/CRM/Contact/BAO/Contact.php
@@ -2704,10 +2704,16 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return CRM_Core_BAO_Note::getContactNoteCount($contactId);
 
       case 'contribution':
-        return CRM_Contribute_BAO_Contribution::contributionCount($contactId);
+        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+          return CRM_Contribute_BAO_Contribution::contributionCount($contactId);
+        }
+        return FALSE;
 
       case 'membership':
-        return CRM_Member_BAO_Membership::getContactMembershipCount((int) $contactId, TRUE);
+        if (array_key_exists('CiviMember', CRM_Core_Component::getEnabledComponents())) {
+          return CRM_Member_BAO_Membership::getContactMembershipCount((int) $contactId, TRUE);
+        }
+        return FALSE;
 
       case 'participant':
         return CRM_Event_BAO_Participant::getContactParticipantCount($contactId);
diff --git a/civicrm/CRM/Contact/Tokens.php b/civicrm/CRM/Contact/Tokens.php
index 5742945dd3..731b2f330c 100644
--- a/civicrm/CRM/Contact/Tokens.php
+++ b/civicrm/CRM/Contact/Tokens.php
@@ -316,7 +316,7 @@ class CRM_Contact_Tokens extends CRM_Core_EntityTokens {
             ->tokens('contact', $token, "cs={$cs}");
         }
         elseif ($token === 'signature_html') {
-          $row->format('text/html')->tokens('contact', $token, html_entity_decode($row->context['contact'][$token]));
+          $row->format('text/html')->tokens('contact', $token, html_entity_decode($this->getFieldValue($row, $token)));
         }
         else {
           parent::evaluateToken($row, $this->entity, $token, $row->context['contact']);
diff --git a/civicrm/CRM/Export/BAO/ExportProcessor.php b/civicrm/CRM/Export/BAO/ExportProcessor.php
index 4e85f9758c..18a5663ff8 100644
--- a/civicrm/CRM/Export/BAO/ExportProcessor.php
+++ b/civicrm/CRM/Export/BAO/ExportProcessor.php
@@ -1464,6 +1464,16 @@ class CRM_Export_BAO_ExportProcessor {
 
         case CRM_Utils_Type::T_STRING:
           if (isset($fieldSpec['maxlength'])) {
+            // A localized string for the preferred_mail_format does not fit
+            // into the varchar(8) field.
+            // @see https://lab.civicrm.org/dev/core/-/issues/2645
+            switch ($fieldName) {
+              case 'preferred_mail_format':
+                return "`$fieldName` text(16)";
+
+              default:
+                return "`$fieldName` varchar({$fieldSpec['maxlength']})";
+            }
           }
           $dataType = $fieldSpec['data_type'] ?? '';
           // set the sql columns for custom data
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index a44f8e400d..c949a0763d 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.45.0',
+  return array( 'version'  => '5.45.1',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml
index ad7d916350..c53b3d8d4f 100644
--- a/civicrm/ext/afform/admin/info.xml
+++ b/civicrm/ext/afform/admin/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml
index 8699f2cd3c..082273eb26 100644
--- a/civicrm/ext/afform/core/info.xml
+++ b/civicrm/ext/afform/core/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml
index f95d91c663..ff26baf1e7 100644
--- a/civicrm/ext/afform/html/info.xml
+++ b/civicrm/ext/afform/html/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml
index 1ce09ee40a..05b0774e7e 100644
--- a/civicrm/ext/afform/mock/info.xml
+++ b/civicrm/ext/afform/mock/info.xml
@@ -12,7 +12,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml
index 66339766c7..28798d5e7e 100644
--- a/civicrm/ext/authx/info.xml
+++ b/civicrm/ext/authx/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-02-11</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml
index 82b465e0b5..1aadd06b7d 100644
--- a/civicrm/ext/ckeditor4/info.xml
+++ b/civicrm/ext/ckeditor4/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">https://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-05-23</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.39</ver>
diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml
index 87537548a7..6495048545 100644
--- a/civicrm/ext/contributioncancelactions/info.xml
+++ b/civicrm/ext/contributioncancelactions/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-12</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.32</ver>
diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml
index b96c2dc233..670979ce77 100644
--- a/civicrm/ext/eventcart/info.xml
+++ b/civicrm/ext/eventcart/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-03</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml
index aceb71e688..d89d05ad06 100644
--- a/civicrm/ext/ewaysingle/info.xml
+++ b/civicrm/ext/ewaysingle/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-07</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml
index 442c9dbd42..7610211476 100644
--- a/civicrm/ext/financialacls/info.xml
+++ b/civicrm/ext/financialacls/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-27</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.30</ver>
diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml
index 96c5f03dd2..c46299c416 100644
--- a/civicrm/ext/flexmailer/info.xml
+++ b/civicrm/ext/flexmailer/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-05</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <comments>
     FlexMailer is an email delivery engine which replaces the internal guts
diff --git a/civicrm/ext/greenwich/info.xml b/civicrm/ext/greenwich/info.xml
index 99aeea03a5..55e34751f4 100644
--- a/civicrm/ext/greenwich/info.xml
+++ b/civicrm/ext/greenwich/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-07-21</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml
index 6e062e8098..f80d6c3cad 100644
--- a/civicrm/ext/legacycustomsearches/info.xml
+++ b/civicrm/ext/legacycustomsearches/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-07-25</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>mgmt:hidden</tag>
diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml
index 127c6ef1b2..b0a66a65bc 100644
--- a/civicrm/ext/message_admin/info.xml
+++ b/civicrm/ext/message_admin/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-06-12</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml
index c658da0411..db547041d6 100644
--- a/civicrm/ext/oauth-client/info.xml
+++ b/civicrm/ext/oauth-client/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-23</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml
index d265573a97..10b53949ea 100644
--- a/civicrm/ext/payflowpro/info.xml
+++ b/civicrm/ext/payflowpro/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-13</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml
index 12f98f4934..e9aa5185a2 100644
--- a/civicrm/ext/recaptcha/info.xml
+++ b/civicrm/ext/recaptcha/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-03</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
index e49b718f73..cd163bb908 100644
--- a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
+++ b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
@@ -429,7 +429,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
    * @return string
    */
   private function getUrl(string $path, $query = NULL) {
-    if ($path[0] === '/' || strpos($path, 'http://') || strpos($path, 'https://')) {
+    if ($path[0] === '/' || strpos($path, 'http://') !== FALSE || strpos($path, 'https://') !== FALSE) {
       return $path;
     }
     // Use absolute urls when downloading spreadsheet
diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml
index 39cc5f8c06..e53e6e3686 100644
--- a/civicrm/ext/search_kit/info.xml
+++ b/civicrm/ext/search_kit/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-01-06</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml
index b6fe3f5540..fcc842ad92 100644
--- a/civicrm/ext/sequentialcreditnotes/info.xml
+++ b/civicrm/ext/sequentialcreditnotes/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-28</releaseDate>
-  <version>5.45.0</version>
+  <version>5.45.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/packages/kcfinder/core/class/browser.php b/civicrm/packages/kcfinder/core/class/browser.php
index 4421d58604..d3caf3d7e5 100644
--- a/civicrm/packages/kcfinder/core/class/browser.php
+++ b/civicrm/packages/kcfinder/core/class/browser.php
@@ -526,7 +526,7 @@ class browser extends uploader {
             $this->errorMsg("Unknown error.");
         $filename = basename($dir) . ".zip";
         do {
-            $file = md5(time() . CRM_Core_Config::singleton()->userSystem->getSessionId());
+            $file = md5(time() . \CRM_Core_Config::singleton()->userSystem->getSessionId());
             $file = "{$this->config['uploadDir']}/$file.zip";
         } while (file_exists($file));
         new zipFolder($file, $dir);
@@ -559,7 +559,7 @@ class browser extends uploader {
         }
 
         do {
-            $file = md5(time() . CRM_Core_Config::singleton()->userSystem->getSessionId());
+            $file = md5(time() . \CRM_Core_Config::singleton()->userSystem->getSessionId());
             $file = "{$this->config['uploadDir']}/$file.zip";
         } while (file_exists($file));
 
@@ -601,7 +601,7 @@ class browser extends uploader {
         }
 
         do {
-            $file = md5(time() . CRM_Core_Config::singleton()->userSystem->getSessionId());
+            $file = md5(time() . \CRM_Core_Config::singleton()->userSystem->getSessionId());
             $file = "{$this->config['uploadDir']}/$file.zip";
         } while (file_exists($file));
 
diff --git a/civicrm/packages/kcfinder/core/class/uploader.php b/civicrm/packages/kcfinder/core/class/uploader.php
index e2c34d92f8..cfe33981a2 100644
--- a/civicrm/packages/kcfinder/core/class/uploader.php
+++ b/civicrm/packages/kcfinder/core/class/uploader.php
@@ -115,7 +115,7 @@ class uploader {
         require "conf/config.php";
 
         // SETTING UP SESSION
-        if (!CRM_Core_Config::singleton()->userSystem->getSessionId()) {
+        if (!\CRM_Core_Config::singleton()->userSystem->getSessionId()) {
             if (isset($_CONFIG['_sessionLifetime']))
                 ini_set('session.gc_maxlifetime', $_CONFIG['_sessionLifetime'] * 60);
             if (isset($_CONFIG['_sessionDir']))
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 224e3a227a..6b6e60c456 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.45.1
+
+Released January 11, 2022
+
+- **[Synopsis](release-notes/5.45.1.md#synopsis)**
+- **[Bugs resolved](release-notes/5.45.1.md#bugs)**
+- **[Credits](release-notes/5.45.1.md#credits)**
+- **[Feedback](release-notes/5.45.1.md#feedback)**
+
 ## CiviCRM 5.45.0
 
 Released January 5, 2022
diff --git a/civicrm/release-notes/5.45.1.md b/civicrm/release-notes/5.45.1.md
new file mode 100644
index 0000000000..10cd02a300
--- /dev/null
+++ b/civicrm/release-notes/5.45.1.md
@@ -0,0 +1,39 @@
+# CiviCRM 5.45.1
+
+Released January 11, 2022
+
+- **[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
+
+* **_KCFinder_: Fails to upload images ([packages#338](https://github.com/civicrm/civicrm-packages/pull/338))**
+* **_Mail Merge_: Fix new warning and possible error when processing certain empty tokens ([#22445](https://github.com/civicrm/civicrm-core/pull/22445))**
+* **_Relationships_: Error when adding a relationship (if CiviMember is disabled) ([dev/core#3025](https://lab.civicrm.org/dev/core/-/issues/3025): [#22451](https://github.com/civicrm/civicrm-core/pull/22451))**
+* **_SearchKit_: URLs to external sites no longer render ([dev/report#93](https://lab.civicrm.org/dev/report/-/issues/93): [#22437](https://github.com/civicrm/civicrm-core/pull/22437))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following authors and reviewers:
+
+Wikimedia Foundation - Eileen McNaughton; tapashdatta; Megaphone Technology Consulting -
+Jon Goldberg; JMA Consulting - Seamus Lee; Dave D; CiviCRM - Coleman Watts, Tim Otten
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Tim Otten and Andie 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 cf3856d4ed..f245cec318 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23853,4 +23853,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.45.0';
+UPDATE civicrm_domain SET version = '5.45.1';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index bf36c94e0a..530d582509 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -2896,7 +2896,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.45.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+ (1,'Default Domain Name',NULL,'5.45.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 4c28c17268..c3a26b7426 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63::getLoader();
+return ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index 713a8e0805..3d53ae95ef 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 ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63
+class ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit8c0c2450fe13922c4d62dbca767e0e63
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire8c0c2450fe13922c4d62dbca767e0e63($fileIdentifier, $file);
+            composerRequireac295e4d513ea64ec2106a4e00e125d9($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire8c0c2450fe13922c4d62dbca767e0e63($fileIdentifier, $file)
+function composerRequireac295e4d513ea64ec2106a4e00e125d9($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 9e65325cd0..97de59eb53 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63
+class ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9
 {
     public static $files = array (
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@@ -672,11 +672,11 @@ class ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInit8c0c2450fe13922c4d62dbca767e0e63::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index a4ccc80d29..20bd6bf7a9 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.45.0</version_no>
+  <version_no>5.45.1</version_no>
 </version>
-- 
GitLab