From 14dddcb1fc0cc61e5cd36d44fae5c98eedce2a65 Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@kcristiano.com>
Date: Wed, 21 Oct 2020 08:12:22 -0400
Subject: [PATCH] civicrm release

---
 civicrm.php                                   |  4 +-
 civicrm/CRM/Contact/BAO/RelationshipCache.php |  7 +++-
 .../CRM/Contact/Form/Edit/TagsAndGroups.php   |  5 ++-
 civicrm/CRM/Contact/Form/Search/Basic.php     |  2 +-
 civicrm/CRM/Contact/Form/Search/Criteria.php  |  2 +-
 civicrm/CRM/Core/BAO/SchemaHandler.php        |  3 ++
 civicrm/CRM/Event/Page/UserDashboard.php      | 36 ++++++++++------
 civicrm/CRM/Mailing/BAO/Recipients.php        | 35 +++++++---------
 .../Upgrade/Incremental/sql/5.30.1.mysql.tpl  |  1 +
 civicrm/civicrm-version.php                   |  2 +-
 civicrm/release-notes.md                      |  9 ++++
 civicrm/release-notes/5.30.1.md               | 41 +++++++++++++++++++
 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 +-
 18 files changed, 122 insertions(+), 59 deletions(-)
 create mode 100644 civicrm/CRM/Upgrade/Incremental/sql/5.30.1.mysql.tpl
 create mode 100644 civicrm/release-notes/5.30.1.md

diff --git a/civicrm.php b/civicrm.php
index 5463d699eb..bfc0c589da 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /*
 Plugin Name: CiviCRM
 Description: CiviCRM - Growing and Sustaining Relationships
-Version: 5.30.0
+Version: 5.30.1
 Requires at least: 4.9
 Requires PHP:      7.1
 Author: CiviCRM LLC
@@ -56,7 +56,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
 
 
 // Set version here: when it changes, will force JS to reload
-define( 'CIVICRM_PLUGIN_VERSION', '5.30.0' );
+define( 'CIVICRM_PLUGIN_VERSION', '5.30.1' );
 
 // Store reference to this file
 if (!defined('CIVICRM_PLUGIN_FILE')) {
diff --git a/civicrm/CRM/Contact/BAO/RelationshipCache.php b/civicrm/CRM/Contact/BAO/RelationshipCache.php
index edb76cd1db..c1483973e8 100644
--- a/civicrm/CRM/Contact/BAO/RelationshipCache.php
+++ b/civicrm/CRM/Contact/BAO/RelationshipCache.php
@@ -71,6 +71,9 @@ class CRM_Contact_BAO_RelationshipCache extends CRM_Contact_DAO_RelationshipCach
    */
   public static function onHookTriggerInfo($e) {
     $relUpdates = self::createInsertUpdateQueries();
+    // Use utf8mb4_bin or utf8_bin, depending on what's in use.
+    $collation = preg_replace('/^(utf8(?:mb4)?)_.*$/', '$1_bin', CRM_Core_BAO_SchemaHandler::getInUseCollation());
+
     foreach ($relUpdates as $relUpdate) {
       /**
        * This trigger runs whenever a "civicrm_relationship" record is inserted or updated.
@@ -97,8 +100,8 @@ class CRM_Contact_BAO_RelationshipCache extends CRM_Contact_DAO_RelationshipCach
         'sql' => sprintf("\nIF (%s) THEN\n %s;\n END IF;\n",
 
           // Condition
-          implode(' OR ', array_map(function ($col) {
-            return "(OLD.$col != NEW.$col COLLATE utf8_bin)";
+          implode(' OR ', array_map(function ($col) use ($collation) {
+            return "(OLD.$col != NEW.$col COLLATE $collation)";
           }, self::$relTypeWatchFields)),
 
           // Action
diff --git a/civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php b/civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php
index 9299246d9b..73e9420dff 100644
--- a/civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php
+++ b/civicrm/CRM/Contact/Form/Edit/TagsAndGroups.php
@@ -88,12 +88,13 @@ class CRM_Contact_Form_Edit_TagsAndGroups {
       }
 
       if ($groupID || !empty($group)) {
-        $groups = CRM_Contact_BAO_Group::getGroupsHierarchy($ids);
+        $groups = CRM_Contact_BAO_Group::getGroupsHierarchy($ids, NULL, '- ');
 
         $attributes['skiplabel'] = TRUE;
         $elements = [];
         $groupsOptions = [];
-        foreach ($groups as $id => $group) {
+        foreach ($groups as $group) {
+          $id = $group['id'];
           // make sure that this group has public visibility
           if ($visibility &&
             $group['visibility'] == 'User and User Admin Only'
diff --git a/civicrm/CRM/Contact/Form/Search/Basic.php b/civicrm/CRM/Contact/Form/Search/Basic.php
index c1e8438231..158055fed7 100644
--- a/civicrm/CRM/Contact/Form/Search/Basic.php
+++ b/civicrm/CRM/Contact/Form/Search/Basic.php
@@ -49,7 +49,7 @@ class CRM_Contact_Form_Search_Basic extends CRM_Contact_Form_Search {
 
     // add select for groups
     // Get hierarchical listing of groups, respecting ACLs for CRM-16836.
-    $groupHierarchy = CRM_Contact_BAO_Group::getGroupsHierarchy($this->_group, NULL, '&nbsp;&nbsp;');
+    $groupHierarchy = CRM_Contact_BAO_Group::getGroupsHierarchy($this->_group, NULL, '- ');
     if (!empty($searchOptions['groups'])) {
       $this->addField('group', [
         'entity' => 'group_contact',
diff --git a/civicrm/CRM/Contact/Form/Search/Criteria.php b/civicrm/CRM/Contact/Form/Search/Criteria.php
index bd2d5829da..6bcad01d86 100644
--- a/civicrm/CRM/Contact/Form/Search/Criteria.php
+++ b/civicrm/CRM/Contact/Form/Search/Criteria.php
@@ -42,7 +42,7 @@ class CRM_Contact_Form_Search_Criteria {
       // multiselect for groups
       if ($form->_group) {
         // Arrange groups into hierarchical listing (child groups follow their parents and have indentation spacing in title)
-        $groupHierarchy = CRM_Contact_BAO_Group::getGroupsHierarchy($form->_group, NULL, '&nbsp;&nbsp;', TRUE);
+        $groupHierarchy = CRM_Contact_BAO_Group::getGroupsHierarchy($form->_group, NULL, '- ', TRUE);
 
         $form->add('select', 'group', ts('Groups'), $groupHierarchy, FALSE,
          ['id' => 'group', 'multiple' => 'multiple', 'class' => 'crm-select2']
diff --git a/civicrm/CRM/Core/BAO/SchemaHandler.php b/civicrm/CRM/Core/BAO/SchemaHandler.php
index a6c9845a22..675475bd4e 100644
--- a/civicrm/CRM/Core/BAO/SchemaHandler.php
+++ b/civicrm/CRM/Core/BAO/SchemaHandler.php
@@ -889,6 +889,9 @@ MODIFY      {$columnName} varchar( $length )
       // Disable i18n rewrite.
       CRM_Core_DAO::executeQuery($query, $params, TRUE, NULL, FALSE, FALSE);
     }
+    // Rebuild triggers and other schema reconciliation if needed.
+    $logging = new CRM_Logging_Schema();
+    $logging->fixSchemaDifferences();
     return TRUE;
   }
 
diff --git a/civicrm/CRM/Event/Page/UserDashboard.php b/civicrm/CRM/Event/Page/UserDashboard.php
index 39097caa46..e1c0aa73c2 100644
--- a/civicrm/CRM/Event/Page/UserDashboard.php
+++ b/civicrm/CRM/Event/Page/UserDashboard.php
@@ -25,19 +25,29 @@ class CRM_Event_Page_UserDashboard extends CRM_Contact_Page_View_UserDashBoard {
    *
    */
   public function listParticipations() {
-    $controller = new CRM_Core_Controller_Simple(
-      'CRM_Event_Form_Search',
-      ts('Events'),
-      NULL,
-      FALSE, FALSE, TRUE, FALSE
-    );
-    $controller->setEmbedded(TRUE);
-    $controller->reset();
-    $controller->set('context', 'user');
-    $controller->set('cid', $this->_contactId);
-    $controller->set('force', 1);
-    $controller->process();
-    $controller->run();
+    $event_rows = [];
+
+    $participants = \Civi\Api4\Participant::get(FALSE)
+      ->addSelect('id', 'contact_id', 'status_id:name', 'status_id:label', 'event.id', 'event.title', 'event.start_date', 'event.end_date')
+      ->addWhere('contact_id', '=', $this->_contactId)
+      ->addOrderBy('event.start_date', 'DESC')
+      ->execute()
+      ->indexBy('id');
+
+    // Flatten the results in the format expected by the template
+    foreach ($participants as $p) {
+      $p['participant_id'] = $p['id'];
+      $p['status'] = $p['status_id:name'];
+      $p['participant_status'] = $p['status_id:label'];
+      $p['event_id'] = $p['event.id'];
+      $p['event_title'] = $p['event.title'];
+      $p['event_start_date'] = $p['event.start_date'];
+      $p['event_end_date'] = $p['event.end_date'];
+
+      $event_rows[] = $p;
+    }
+
+    $this->assign('event_rows', $event_rows);
   }
 
   /**
diff --git a/civicrm/CRM/Mailing/BAO/Recipients.php b/civicrm/CRM/Mailing/BAO/Recipients.php
index 14820ed84c..53cf180207 100644
--- a/civicrm/CRM/Mailing/BAO/Recipients.php
+++ b/civicrm/CRM/Mailing/BAO/Recipients.php
@@ -57,28 +57,23 @@ WHERE  mailing_id = %1
       $limitString = "LIMIT $offset, $limit";
     }
 
-    $isSMSmode = CRM_Core_DAO::getFieldValue('CRM_Mailing_BAO_Mailing', $mailingID, 'sms_provider_id', 'id');
-    $additionalJoin = '';
-    if (!$isSMSmode) {
-      // mailing_recipients added when mailing is submitted in UI by user.
-      // if any email is marked on_hold =1 or contact is deceased after mailing is submitted
-      // then it should be get skipped while preparing event_queue
-      // event_queue list is prepared when mailing job gets started.
-      $additionalJoin = " INNER JOIN civicrm_email e ON (r.email_id = e.id AND e.on_hold = 0)
-                          INNER JOIN civicrm_contact c on (c.id = r.contact_id AND c.is_deceased <> 1 AND c.do_not_email = 0 AND c.is_opt_out = 0)
-";
-    }
-    else {
-      $additionalJoin = "INNER JOIN civicrm_contact c on (c.id = r.contact_id AND c.is_deceased <> 1 AND c.do_not_sms = 0 AND c.is_opt_out = 0)";
-    }
+    $isSMSMode = CRM_Core_DAO::getFieldValue('CRM_Mailing_BAO_Mailing', $mailingID, 'sms_provider_id', 'id');
+    $additionalJoin = $isSMSMode ? '' : " INNER JOIN civicrm_email e ON (r.email_id = e.id AND e.on_hold = 0)";
 
     $sql = "
-SELECT r.contact_id, r.email_id, r.phone_id
-FROM   civicrm_mailing_recipients r
-{$additionalJoin}
-WHERE  r.mailing_id = %1
-       $limitString
-";
+      SELECT r.contact_id, r.email_id, r.phone_id
+      FROM   civicrm_mailing_recipients r
+      INNER JOIN civicrm_contact c on
+        (c.id = r.contact_id
+          AND c.is_deleted = 0
+          AND c.is_deceased = 0
+          AND c.do_not_" . ($isSMSMode ? 'sms' : 'email') . " = 0
+          AND c.is_opt_out = 0
+        )
+      {$additionalJoin}
+      WHERE  r.mailing_id = %1
+        $limitString
+      ";
     $params = [1 => [$mailingID, 'Integer']];
 
     return CRM_Core_DAO::executeQuery($sql, $params);
diff --git a/civicrm/CRM/Upgrade/Incremental/sql/5.30.1.mysql.tpl b/civicrm/CRM/Upgrade/Incremental/sql/5.30.1.mysql.tpl
new file mode 100644
index 0000000000..20f875dd0a
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/sql/5.30.1.mysql.tpl
@@ -0,0 +1 @@
+{* file to handle db changes in 5.30.1 during upgrade *}
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index 0474649f10..7997fa7ef4 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.30.0',
+  return array( 'version'  => '5.30.1',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 970335ce2d..d8e085523b 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.30.1
+
+Released October 21, 2020
+
+- **[Synopsis](release-notes/5.30.1.md#synopsis)**
+- **[Bugs resolved](release-notes/5.30.1.md#bugs)**
+- **[Credits](release-notes/5.30.1.md#credits)**
+- **[Feedback](release-notes/5.30.1.md#feedback)**
+
 ## CiviCRM 5.30.0
 
 Released October 7, 2020
diff --git a/civicrm/release-notes/5.30.1.md b/civicrm/release-notes/5.30.1.md
new file mode 100644
index 0000000000..28137c0e32
--- /dev/null
+++ b/civicrm/release-notes/5.30.1.md
@@ -0,0 +1,41 @@
+# CiviCRM 5.30.1
+
+Released October 21, 2020
+
+- **[Synopsis](#synopsis)**
+- **[Bugs resolved](#bugs)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |          |
+| --------------------------------------------------------------- | -------- |
+| **Change the database schema?**                                 | **yes**  |
+| 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
+
+* **_CiviMail_: Recently deleted contacts still receive email ([dev/core#2119](https://lab.civicrm.org/dev/core/-/issues/2119): [#18763](https://github.com/civicrm/civicrm-core/pull/18763))**
+* **_Contact Dashboard_: Authenticated user cannot see their own events ([dev/event#43](https://lab.civicrm.org/dev/event/-/issues/43): [#18758](https://github.com/civicrm/civicrm-core/pull/18758))**
+* **_Groups_: Styling error when selecting groups ([dev/core#2105](https://lab.civicrm.org/dev/core/-/issues/2105): [#18719](https://github.com/civicrm/civicrm-core/pull/18719))**
+* **_Relationships_: Error editing "Relationship Types" when using utf8mb4 ([#18721](https://github.com/civicrm/civicrm-core/pull/18721), [#18751](https://github.com/civicrm/civicrm-core/pull/18751))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following authors and reviewers:
+
+Wikimedia Foundation - Eileen McNaughton; Rar9; Megaphone Technology Consulting - Jon
+Goldberg; MJCO - Mikey O'Toole; Lighthouse Consulting and Design - Brian Shaughnessy; JMA
+Consulting - Seamus Lee, Monish Deb; Fuzion - Luke Stewart; Dave D; Coop SymbioTIC -
+Mathieu Lutfy; CiviCRM - Coleman Watts, Tim Otten; Artful Robot - Rich Lott; Andy Clarke;
+
+## <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 b565cd5f8b..8bb41cad73 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23896,4 +23896,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.30.0';
+UPDATE civicrm_domain SET version = '5.30.1';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index 7bea0df4a5..d3f61f51b3 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.30.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.30.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 7a74b810e6..88a6c22265 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit157c8f429cb411f5002e91a721972659::getLoader();
+return ComposerAutoloaderInit53b94b8697ed3e528623510a6d85b3d5::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index b76ea7c666..8d780b7acb 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 ComposerAutoloaderInit157c8f429cb411f5002e91a721972659
+class ComposerAutoloaderInit53b94b8697ed3e528623510a6d85b3d5
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit157c8f429cb411f5002e91a721972659
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit157c8f429cb411f5002e91a721972659', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit53b94b8697ed3e528623510a6d85b3d5', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit157c8f429cb411f5002e91a721972659', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit53b94b8697ed3e528623510a6d85b3d5', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit157c8f429cb411f5002e91a721972659
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit157c8f429cb411f5002e91a721972659::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit157c8f429cb411f5002e91a721972659
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit157c8f429cb411f5002e91a721972659::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire157c8f429cb411f5002e91a721972659($fileIdentifier, $file);
+            composerRequire53b94b8697ed3e528623510a6d85b3d5($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire157c8f429cb411f5002e91a721972659($fileIdentifier, $file)
+function composerRequire53b94b8697ed3e528623510a6d85b3d5($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 4ef4257dbf..2b8c10e09b 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit157c8f429cb411f5002e91a721972659
+class ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5
 {
     public static $files = array (
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@@ -535,11 +535,11 @@ class ComposerStaticInit157c8f429cb411f5002e91a721972659
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit157c8f429cb411f5002e91a721972659::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit157c8f429cb411f5002e91a721972659::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit157c8f429cb411f5002e91a721972659::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit157c8f429cb411f5002e91a721972659::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInit157c8f429cb411f5002e91a721972659::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInit53b94b8697ed3e528623510a6d85b3d5::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index e8dc6c3e45..57d18a2041 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.30.0</version_no>
+  <version_no>5.30.1</version_no>
 </version>
-- 
GitLab