diff --git a/civicrm.php b/civicrm.php index 184eace9043df3693749557b13c827d802c21d0c..49570b3c2020ca380c126ab7c54043e84cdb8fe6 100644 --- a/civicrm.php +++ b/civicrm.php @@ -2,7 +2,7 @@ /** * Plugin Name: CiviCRM * Description: CiviCRM - Growing and Sustaining Relationships - * Version: 5.65.1 + * Version: 5.65.2 * Requires at least: 4.9 * Requires PHP: 7.3 * Author: CiviCRM LLC @@ -36,7 +36,7 @@ if (!defined('ABSPATH')) { } // Set version here: changing it forces Javascript and CSS to reload. -define('CIVICRM_PLUGIN_VERSION', '5.65.1'); +define('CIVICRM_PLUGIN_VERSION', '5.65.2'); // Store reference to this file. if (!defined('CIVICRM_PLUGIN_FILE')) { diff --git a/civicrm/CRM/Core/Invoke.php b/civicrm/CRM/Core/Invoke.php index 230ceb7c14275baebc6663b9d73fc71e97454fba..83e9e721bccc9ca4ea6e2d870b6fc64c441ffb0f 100644 --- a/civicrm/CRM/Core/Invoke.php +++ b/civicrm/CRM/Core/Invoke.php @@ -249,7 +249,7 @@ class CRM_Core_Invoke { CRM_Utils_System::setTitle($item['title']); } - if (isset($item['breadcrumb']) && empty($item['is_public'])) { + if (!CRM_Core_Config::isUpgradeMode() && isset($item['breadcrumb']) && empty($item['is_public'])) { CRM_Utils_System::appendBreadCrumb($item['breadcrumb']); } diff --git a/civicrm/CRM/Custom/Form/CustomDataByType.php b/civicrm/CRM/Custom/Form/CustomDataByType.php index 57d9d5923d737c9b0708c59fcb88cc23afd5e034..e5f885ba23df0377b0e06f441e3f06c4e02d5d51 100644 --- a/civicrm/CRM/Custom/Form/CustomDataByType.php +++ b/civicrm/CRM/Custom/Form/CustomDataByType.php @@ -29,7 +29,7 @@ class CRM_Custom_Form_CustomDataByType extends CRM_Core_Form { /** * @var array */ - private $groupTree; + protected $groupTree; /** * @var array diff --git a/civicrm/CRM/Upgrade/Incremental/Base.php b/civicrm/CRM/Upgrade/Incremental/Base.php index 68e04644f769e588042a99c57eb9403ce6129b2a..d263842f936322a14cc17c64c06db3a775c4b70c 100644 --- a/civicrm/CRM/Upgrade/Incremental/Base.php +++ b/civicrm/CRM/Upgrade/Incremental/Base.php @@ -188,8 +188,13 @@ class CRM_Upgrade_Incremental_Base { } /** - * Add a task to activate an extension. This task will run post-upgrade (after all - * changes to core DB are settled). + * Add a task to activate an extension. It will use the full, normal installation process + * (invoking `hook_install`, `hook_enable`, and so on). To ensure that the installation process + * can rely on regular core services and APIs, it will run after the core-upgrade-steps. + * + * This is more suited to green-field extensions (which started life as an extension). + * If you have a brown-field extension which doesn't have install-logic (i.e. it arises from + * rearranging pre-existing core-core functionality), then consider `addSimpleExtensionTask()`. * * @param string $title * @param string[] $keys @@ -206,6 +211,90 @@ class CRM_Upgrade_Incremental_Base { ); } + /** + * Add a task to activate an extension. It will use a simple (low-tech) installation process + * (skipping events like `hook_install`; instead, it merely updates `civicrm_extension` and + * `CRM_Extension_ClassLoader`). The extension should not now (or in the future) use + * `hook_install`. Simple installations can run at any point during the upgrade process. + * + * This is more suited to brown-field extensions (which arise from rearranging pre-existing + * core-core functionality). If you have a green-field extension (which has always been an + * extension), then consider `addExtensionTask()` instead. + * + * @param string $title + * @param string|string[] $keys + * List of extensions to enable. + */ + protected function addSimpleExtensionTask(string $title, $keys): void { + $this->addTask($title, 'enableSimpleExtension', $keys); + } + + /** + * This callback is used to enable one or more extensions which have no install or upgrade code, + * and whose autoloaders are needed right away. + * + * It was written to facilitate migrating core code into extensions. + * Moving a class into an extension means it is no longer loaded by the core autoloader. + * Upgrade code that relies on it could crash if classes disappear during the upgrade, + * so this function sets the extension status to enabled and installs its autoloader; + * both of which are important depending on the upgrade interface: + * - The web UI does each step as a separate ajax request, so inserting/enabling the extension in the db + * ensures it is loaded on subsequent requests. + * - The CLI upgrader does everything in a single request so its autoloader should be installed right away. + * + * @param CRM_Queue_TaskContext $ctx + * @param string|array $keys + * @return bool + * @throws CRM_Extension_Exception + * @throws DBQueryException + */ + public static function enableSimpleExtension(CRM_Queue_TaskContext $ctx, $keys): bool { + $keys = (array) $keys; + + // Find out current situation + $system = CRM_Extension_System::singleton(); + $statuses = CRM_Utils_SQL_Select::from('civicrm_extension') + ->select(['full_name, is_active']) + ->execute(NULL, FALSE) + ->fetchAll(); + $byStatus = CRM_Utils_Array::index(['is_active', 'full_name'], $statuses); + $disabled = array_intersect($keys, array_keys($byStatus[0] ?? [])); + $uninstalled = array_diff($keys, array_keys($byStatus[0] ?? []), array_keys($byStatus[1] ?? [])); + + // Make a plan + $toUpdate = $disabled; + $toInsert = []; + foreach ($uninstalled as $key) { + $info = $system->getMapper()->keyToInfo($key); + $toInsert[] = [ + 'full_name' => $info->key, + 'type' => $info->type, + 'name' => $info->name, + 'label' => $info->label, + 'file' => $info->file, + 'is_active' => 1, + ]; + } + + // Execute the plan + if ($toUpdate) { + $updateSql = 'UPDATE civicrm_extension SET is_active = 1 WHERE full_name IN ("' . implode('", "', array_keys($toUpdate)) . '")'; + CRM_Core_DAO::executeQuery($updateSql, [], TRUE, NULL, FALSE, FALSE); + } + if ($toInsert) { + $insertSql = CRM_Utils_SQL_Insert::into('civicrm_extension') + ->rows($toInsert) + ->toSQL(); + CRM_Core_DAO::executeQuery($insertSql, [], TRUE, NULL, FALSE, FALSE); + } + foreach (array_merge($disabled, $uninstalled) as $key) { + $info = $system->getMapper()->keyToInfo($key); + $path = $system->getMapper()->keyToPath($key); + $system->getClassLoader()->installExtension($info, dirname($path)); + } + return TRUE; + } + /** * @param \CRM_Queue_TaskContext $ctx * @param string[] $keys diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveSixtyThree.php b/civicrm/CRM/Upgrade/Incremental/php/FiveSixtyThree.php index d3587657ae841bffc4615dfb3d081aee657c7b3b..1a6c3b91e6609332a97811c507dbf2eb6a1bb31f 100644 --- a/civicrm/CRM/Upgrade/Incremental/php/FiveSixtyThree.php +++ b/civicrm/CRM/Upgrade/Incremental/php/FiveSixtyThree.php @@ -43,7 +43,7 @@ class CRM_Upgrade_Incremental_php_FiveSixtyThree extends CRM_Upgrade_Incremental $enabledComponents = Civi::settings()->get('enable_components'); $extensions = array_map(['CRM_Utils_String', 'convertStringToSnakeCase'], $enabledComponents); - $this->addExtensionTask('Enable component extensions', $extensions); + $this->addSimpleExtensionTask(sprintf('Enable component-extensions (%s)', implode(', ', $extensions)), $extensions); $this->addTask('Make ContributionPage.name required', 'alterColumn', 'civicrm_contribution_page', 'name', "varchar(255) NOT NULL COMMENT 'Unique name for identifying contribution page'"); $this->addTask('Make ContributionPage.title required', 'alterColumn', 'civicrm_contribution_page', 'title', "varchar(255) NOT NULL COMMENT 'Contribution Page title. For top of page display'", TRUE); diff --git a/civicrm/CRM/Utils/Check/Component/Env.php b/civicrm/CRM/Utils/Check/Component/Env.php index 4d697af396848e4be98bd2719a156b04fcf705fc..2ac6246f6f2f483a747db2e1ab019ab8153c6405 100644 --- a/civicrm/CRM/Utils/Check/Component/Env.php +++ b/civicrm/CRM/Utils/Check/Component/Env.php @@ -603,9 +603,12 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { $enabled = array_keys(array_filter($stauses, function($status) { return $status === CRM_Extension_Manager::STATUS_INSTALLED; })); - $requiredExtensions = $mapper->getKeysByTag('mgmt:required'); + // Extensions belonging to enabled components are required + $enabledComponents = array_map(['CRM_Utils_String', 'convertStringToSnakeCase'], Civi::settings()->get('enable_components')); + // And extensions tagged `mgmg:required` must be enabled + $requiredExtensions = array_merge($enabledComponents, $mapper->getKeysByTag('mgmt:required')); sort($keys); - $updates = $errors = $okextensions = []; + $updates = $errors = $okextensions = $missingRequired = []; $extPrettyLabel = function($key) use ($mapper) { // We definitely know a $key, but we may not have a $label. @@ -637,13 +640,13 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { break; case CRM_Extension_Manager::STATUS_INSTALLED: - $missingRequirements = array_diff($row['requires'], $enabled); - if (!empty($row['requires']) && $missingRequirements) { + $missingDependencies = array_diff($row['requires'], $enabled); + if (!empty($row['requires']) && $missingDependencies) { $errors[] = ts('%1 has a missing dependency on %2', [ 1 => $extPrettyLabel($key), - 2 => implode(', ', array_map($extPrettyLabel, $missingRequirements)), + 2 => implode(', ', array_map($extPrettyLabel, $missingDependencies)), 'plural' => '%1 has missing dependencies: %2', - 'count' => count($missingRequirements), + 'count' => count($missingDependencies), ]); } elseif (!empty($remotes[$key]) && version_compare($row['version'], $remotes[$key]->version, '<')) { @@ -664,24 +667,28 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { default: if (in_array($key, $requiredExtensions, TRUE)) { - $requiredMessage = new CRM_Utils_Check_Message( - __FUNCTION__ . 'Required:' . $key, - ts('The extension %1 is required and must be enabled.', [1 => $row['label']]), - ts('Required Extension'), - \Psr\Log\LogLevel::ERROR, - 'fa-exclamation-triangle' - ); - $requiredMessage->addAction( - ts('Enable %1', [1 => $row['label']]), - '', - 'api3', - ['Extension', 'install', ['key' => $key]] - ); - $messages[] = $requiredMessage; + $missingRequired[$key] = $row['label']; } } } + if ($missingRequired) { + $requiredMessage = new CRM_Utils_Check_Message( + __FUNCTION__ . 'Required:' . implode(',', array_keys($missingRequired)), + ts('The extension %1 is required and must be enabled.', [1 => implode(', ', $missingRequired)]), + ts('Required Extension'), + \Psr\Log\LogLevel::ERROR, + 'fa-exclamation-triangle' + ); + $requiredMessage->addAction( + ts('Enable %1', [1 => implode(', ', $missingRequired)]), + '', + 'api3', + ['Extension', 'install', ['keys' => array_keys($missingRequired)]] + ); + $messages[] = $requiredMessage; + } + if (!$okextensions && !$updates && !$errors) { $messages[] = new CRM_Utils_Check_Message( __FUNCTION__ . 'Ok', @@ -741,6 +748,44 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { return $messages; } + /** + * Ensure that *some* CiviCRM components (component-extensions) are enabled. + * + * It is believed that some sites lost their list of active-components due to a flawed + * upgrade-step circa 5.62/5.63. The upgrade-step has been fixed (civicrm-core#27075), + * but some sites may still have bad configurations. + * + * This problem should generally be obvious after running web-based upgrader, but it's not obvious + * in scripted+CLI upgrades. + * + * @return array + * @throws \CRM_Core_Exception + * @throws \Civi\API\Exception\UnauthorizedException + */ + public function checkComponents(): array { + $messages = []; + + $setting = Civi::settings()->get('enable_components'); + $exts = \Civi\Api4\Extension::get(FALSE) + ->addWhere('key', 'LIKE', 'civi_%') + ->addWhere('status', '=', 'installed') + ->execute() + ->indexBy('key')->column('status'); + if (empty($setting) || empty($exts)) { + $messages[] = new CRM_Utils_Check_Message( + __FUNCTION__, + ts('None of the CiviCRM components are enabled. This is theoretically legal, but it is most likely a misconfiguration.<br/> Please inspect and re-save the <a %1>component settings</a>.', [ + 1 => sprintf('target="_blank" href="%s"', Civi::url('backend://civicrm/admin/setting/component?reset=1', 'ah')), + ]), + ts('Missing Components'), + \Psr\Log\LogLevel::WARNING, + 'fa-server' + ); + } + + return $messages; + } + /** * @return CRM_Utils_Check_Message[] */ diff --git a/civicrm/CRM/Utils/Date.php b/civicrm/CRM/Utils/Date.php index 0159874e7ddc41d10998d4caff4a6adaff2203cd..68cb109fe309ee52493d90564e6f78a77f38db19 100644 --- a/civicrm/CRM/Utils/Date.php +++ b/civicrm/CRM/Utils/Date.php @@ -2008,10 +2008,10 @@ class CRM_Utils_Date { } $thisYear = date('Y'); if (isset($field['start_date_years'])) { - $extra['minDate'] = date('Y-m-d', strtotime('-' . ($thisYear - $field['start_date_years']) . ' years')); + $extra['minDate'] = date('Y-m-d', strtotime((-1 * ($thisYear - $field['start_date_years'])) . ' years')); } if (isset($field['end_date_years'])) { - $extra['maxDate'] = date('Y-m-d', strtotime('-' . ($thisYear - $field['end_date_years']) . ' years')); + $extra['maxDate'] = date('Y-m-d', strtotime((-1 * ($thisYear - $field['end_date_years'])) . ' years')); } return $extra; } diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php index eae9bfe69efa5e37bb09a3ad122447deb9e41f30..d6f0cd2ed03f49108b76ee831e61bded54ccae12 100644 --- a/civicrm/civicrm-version.php +++ b/civicrm/civicrm-version.php @@ -1,7 +1,7 @@ <?php /** @deprecated */ function civicrmVersion( ) { - return array( 'version' => '5.65.1', + return array( 'version' => '5.65.2', 'cms' => 'Wordpress', 'revision' => '' ); } diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml index 7bc7d2830860cbd0a42566684838df51d8115703..4f8949bd2478c56b8add0ba876ba97d7d6e52814 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.65.1</version> + <version>5.65.2</version> <develStage>beta</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml index 70aa0ea9a346845feb0a52b7ed7eeb0905c36e85..0baab18d64d40bba8b0d03b5e32850fb28a46b71 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.65.1</version> + <version>5.65.2</version> <develStage>beta</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml index aac58015f589fc012ab4d5bd20d8c99e0dbea0c9..a26a0a7836aec50164410a6c7c0c8e8c2e72a28e 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.65.1</version> + <version>5.65.2</version> <develStage>alpha</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml index 60098426ed736711a0fdc755b6a333683f0dd2e6..71485fc8522898fa136c524994c966463685cdf9 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml index a169c82d23a98c0e9f5e8d2fac0aafb3b4b9f140..d8570c9b9fd15c788ed164b2e126abfd251fe7c9 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/civi_campaign/info.xml b/civicrm/ext/civi_campaign/info.xml index b26207cd6257ed6bbfa79c00b145a560597a4681..57da6fdf3e5656b09178791d2515a825ec7f111b 100644 --- a/civicrm/ext/civi_campaign/info.xml +++ b/civicrm/ext/civi_campaign/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_case/info.xml b/civicrm/ext/civi_case/info.xml index fb0397ce1a79743cd9061c5796e80bb23d2b65e1..1a210ee5c05b69bf4bacdf1d4f06bf17b171a21e 100644 --- a/civicrm/ext/civi_case/info.xml +++ b/civicrm/ext/civi_case/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_contribute/info.xml b/civicrm/ext/civi_contribute/info.xml index 2e3aef08742da865d5ef7f2fd0ea9f3a62740617..cae6cbbd5091cf6ef41a197cac40b815594dc288 100644 --- a/civicrm/ext/civi_contribute/info.xml +++ b/civicrm/ext/civi_contribute/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_event/info.xml b/civicrm/ext/civi_event/info.xml index a1b09e065ac1b320d69466d52613ab8ca0698e97..5267e6d7dd0607374daf7e38260b02f9236ee429 100644 --- a/civicrm/ext/civi_event/info.xml +++ b/civicrm/ext/civi_event/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_mail/info.xml b/civicrm/ext/civi_mail/info.xml index 9304948726a29600252e3f6c475692c4e6b3cd5d..72cd45acf57334edaf4508745188b8f425f2bf6a 100644 --- a/civicrm/ext/civi_mail/info.xml +++ b/civicrm/ext/civi_mail/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_member/info.xml b/civicrm/ext/civi_member/info.xml index 4aef573d96c0f78f499be94d53531c4a92c272ab..ba8c9db74c7f1b2bc2df98a3cfa477aef145c93a 100644 --- a/civicrm/ext/civi_member/info.xml +++ b/civicrm/ext/civi_member/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_pledge/info.xml b/civicrm/ext/civi_pledge/info.xml index 459244ea74e9b7cbb54cdfb18eb0581bddea0e59..f6299ac422e8fab62e445a04399590482ca67468 100644 --- a/civicrm/ext/civi_pledge/info.xml +++ b/civicrm/ext/civi_pledge/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civi_report/info.xml b/civicrm/ext/civi_report/info.xml index c788cefb42107af748c6796137d147398997956c..04bd19e289c2239220f1d4d40dee2acb5e520b50 100644 --- a/civicrm/ext/civi_report/info.xml +++ b/civicrm/ext/civi_report/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-04-08</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>component</tag> diff --git a/civicrm/ext/civicrm_admin_ui/info.xml b/civicrm/ext/civicrm_admin_ui/info.xml index 0e204fdc6c4fb9ad3718f391d4bca3824df11936..bd5b2ddb18f65da90976cf9b5aedb378b4d35a06 100644 --- a/civicrm/ext/civicrm_admin_ui/info.xml +++ b/civicrm/ext/civicrm_admin_ui/info.xml @@ -15,7 +15,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2022-01-02</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>beta</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/civicrm_search_ui/info.xml b/civicrm/ext/civicrm_search_ui/info.xml index 3f7751d79d7e59cf8ccefddaddffa4b5cb49eff7..03ec5bc5bab2af0ec4eb8ae53c0e957d8b00ab5e 100644 --- a/civicrm/ext/civicrm_search_ui/info.xml +++ b/civicrm/ext/civicrm_search_ui/info.xml @@ -15,7 +15,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2023-07-17</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>alpha</develStage> <requires> <ext>org.civicrm.search_kit</ext> diff --git a/civicrm/ext/civigrant/info.xml b/civicrm/ext/civigrant/info.xml index d46f7192461b9277373c220b4ab473f6a9376a72..d2a23149eaa55e89e9f9fba85bd12357e8ce9d11 100644 --- a/civicrm/ext/civigrant/info.xml +++ b/civicrm/ext/civigrant/info.xml @@ -13,7 +13,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2021-11-11</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/civiimport/info.xml b/civicrm/ext/civiimport/info.xml index 41d94844a0bfb56c31f4dd2472d0c81c87a2c4fb..d00e307f6f10480b3f3b6c7bd5030689742c572d 100644 --- a/civicrm/ext/civiimport/info.xml +++ b/civicrm/ext/civiimport/info.xml @@ -15,7 +15,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2022-08-11</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>alpha</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml index cf5164da7e906b98f9f36768b57787edc83fea32..f29ff3f14e6faac9aaad5d52681bcd02643d861c 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml index ba9e12ec76e58f6355236954cd101df729c1b77c..1fe224984fab6bbe676fa87536b193331ddcaccc 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/elavon/info.xml b/civicrm/ext/elavon/info.xml index 1045d0121f60ea47c8a04646de6bd6bbb4dfb8e8..1f73e243b30336d6e710848cc088a6a0c031300c 100644 --- a/civicrm/ext/elavon/info.xml +++ b/civicrm/ext/elavon/info.xml @@ -15,7 +15,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2022-08-05</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml index 70bac9d779ff4efea609a52dce033a8f299136d4..d46f9825b895c2a5df45eeeb51cdbbddf566be48 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml index f6b64e3385257791c2e9a0d66aad58a93a34f8f5..38fce6560c397fb1066dfb873b456ed6b14919f1 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml index 24d7946bf745cef7e9adf77892843ddf9affd69d..50def07d304dd77f6b7aeeca3e54f3a6ce3882a6 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml index 0d83a2ed1f26d7ee09df4af9bfc7aa60b5d630ce..56b62409a1f0333188bb5aeb5c19ad3a121872e1 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.65.1</version> + <version>5.65.2</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 259fea27241c274a0ea3504d5e57b711b3584987..2436be1880af6db536585b96b7a3ee4bf558b0a0 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml index 01445a3b8174bd90a53d6815787a0f15a7ed21ff..d4d3e0a102186c652e9f4a63ded559f22105c312 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml index f358adadd2a2194aa54946d0f0db5687e5e03159..fcaa37db65d4ac3a6e6c521fb1c7607a67a5053a 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.65.1</version> + <version>5.65.2</version> <develStage>alpha</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml index d98dfe3c8c4bd1d6b213c73fa1fc27ae3c60b65a..3b1a1e8a1b227d6316aa56e27b789e11aa497dd2 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml index 397fb31906a7bd6687cf405f711aee8166415d45..01e4c021e4973ef683e7f37955eb1249829c03b3 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml index 6d8b2ad4815728a9cee3a9a7cffa864cab7b70a2..29e4b907bd4ae7887a4ece34b6c7f3311b4f9fa6 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml index 1ceaf0aa4459d253f9d641b1d6cc7316c1aa31db..f04895703b523b8a28cce871f558f5421b69e1de 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.65.1</version> + <version>5.65.2</version> <develStage>stable</develStage> <tags> <tag>mgmt:required</tag> diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml index ef0d9da6d8bde8a8b2a9a23789a3fc8588d57f81..c7773e516734b09cc048a044a65c16420d962003 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.65.1</version> + <version>5.65.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/standaloneusers/info.xml b/civicrm/ext/standaloneusers/info.xml index ad389dc3d25eb0e5a46eb645526355d0193fe557..97c33ff794604eb6216c3ccbf1b0ec28de9c5205 100644 --- a/civicrm/ext/standaloneusers/info.xml +++ b/civicrm/ext/standaloneusers/info.xml @@ -15,7 +15,7 @@ <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url> </urls> <releaseDate>2022-11-11</releaseDate> - <version>5.65.1</version> + <version>5.65.2</version> <develStage>alpha</develStage> <compatibility> <ver>5.65</ver> diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md index 705c2791fa221a9d9d0a8cee819aef632334ff2f..2f17029cab0b5e903cb767a18803fda1c2a6ec23 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.65.2 + +Released September 19, 2023 + +- **[Synopsis](release-notes/5.65.2.md#synopsis)** +- **[Bugs resolved](release-notes/5.65.2.md#bugs)** +- **[Credits](release-notes/5.65.2.md#credits)** +- **[Feedback](release-notes/5.65.2.md#feedback)** + ## CiviCRM 5.65.1 Released September 8, 2023 diff --git a/civicrm/release-notes/5.65.2.md b/civicrm/release-notes/5.65.2.md new file mode 100644 index 0000000000000000000000000000000000000000..b6bd68520c8949f0f7dee6ea5bae8c9ec8ef169c --- /dev/null +++ b/civicrm/release-notes/5.65.2.md @@ -0,0 +1,42 @@ +# CiviCRM 5.65.2 + +Released September 19, 2023 + +- **[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?** | **yes (rare)** | +| **Fix problems installing or upgrading to a previous version?** | **yes** | +| Introduce features? | no | +| **Fix bugs?** | **yes** | +| Fix security vulnerabilities? | no | + +## <a name="bugs"></a>Bugs resolved + +* **_Custom Data_: Restricted visibility of `$groupTree` may cause some customizations to fail ([#27492](https://github.com/civicrm/civicrm-core/pull/27492))** +* **_Status Check_: Display warning(s) if a previous upgrade left inconsistencies in the configuration of "Components" ([#27453](https://github.com/civicrm/civicrm-core/pull/27453), [#27475](https://github.com/civicrm/civicrm-core/pull/27475))** +* **_Upgrader_: Upgrades may fail if customizations depend on migrated component APIs ([dev/core#4521](https://lab.civicrm.org/dev/core/-/issues/4521): [#27481](https://github.com/civicrm/civicrm-core/pull/27481))** +* **_Upgrader_: Upgrades may fail due to interaction between migrated component APIs, breadcrumbs, and views/entities ([dev/core#4605](https://lab.civicrm.org/dev/core/-/issues/4605): [#27518](https://github.com/civicrm/civicrm-core/pull/27518))** + +## <a name="credits"></a>Credits + +This release was developed by the following authors and reviewers: + +Wildsight - Lars Sander-Green; Wikimedia Foundation - Eileen McNaughton; Megaphone +Technology Consulting - Jon Goldberg; Dave D; Coop SymbioTIC - Mathieu Lutfy; CiviCRM - +Coleman Watts, Tim Otten; Circle Interactive - Pradeep Nayak; BrightMinded Ltd - Bradley +Taylor; aiden_g; Agileware - Justin Freeman + +## <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 7bea043271825cfc54e2f86cb277299dab0f4f20..1803f377b18defc9ad5225878c57ca7a74967980 100644 --- a/civicrm/sql/civicrm_data.mysql +++ b/civicrm/sql/civicrm_data.mysql @@ -23952,4 +23952,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.65.1'; +UPDATE civicrm_domain SET version = '5.65.2'; diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql index e3eb529d8a14762aaea093266370e6f39b72918c..81cf4e35bcc00e9a1c4c67ceb69b60c7599290dd 100644 --- a/civicrm/sql/civicrm_generated.mysql +++ b/civicrm/sql/civicrm_generated.mysql @@ -2976,7 +2976,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.65.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}'); + (1,'Default Domain Name',NULL,'5.65.2',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 4dcacc028d81d3952eddd50884c9d011ef3bcd84..66488b582199d07372c6fa5d457e95e6eeb9ac03 100644 --- a/civicrm/vendor/autoload.php +++ b/civicrm/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316::getLoader(); +return ComposerAutoloaderInitfe61fa497677221bb9f34e1742d40075::getLoader(); diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php index 430aa6f807b22d8ccaa5b1f1ee9837e81020fa5d..9b7a9e93cd46b68943f4e98b906336c4b72d4dc2 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 ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316 +class ComposerAutoloaderInitfe61fa497677221bb9f34e1742d40075 { private static $loader; @@ -24,9 +24,9 @@ class ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316 require __DIR__ . '/platform_check.php'; - spl_autoload_register(array('ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitfe61fa497677221bb9f34e1742d40075', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); - spl_autoload_unregister(array('ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitfe61fa497677221bb9f34e1742d40075', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; $includePaths[] = get_include_path(); @@ -36,7 +36,7 @@ class ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316 if ($useStaticLoader) { require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInitfe61fa497677221bb9f34e1742d40075::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -57,12 +57,12 @@ class ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316 $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$files; + $includeFiles = Composer\Autoload\ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire67c874d7fdc7e2efa931aa6138624316($fileIdentifier, $file); + composerRequirefe61fa497677221bb9f34e1742d40075($fileIdentifier, $file); } return $loader; @@ -74,7 +74,7 @@ class ComposerAutoloaderInit67c874d7fdc7e2efa931aa6138624316 * @param string $file * @return void */ -function composerRequire67c874d7fdc7e2efa931aa6138624316($fileIdentifier, $file) +function composerRequirefe61fa497677221bb9f34e1742d40075($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php index 5b576d10da836b0b766eb82e588b784f9bf84c8f..0f38addf3cbc09dca25a118fe75aaee5483af53c 100644 --- a/civicrm/vendor/composer/autoload_static.php +++ b/civicrm/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit67c874d7fdc7e2efa931aa6138624316 +class ComposerStaticInitfe61fa497677221bb9f34e1742d40075 { public static $files = array ( 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', @@ -729,11 +729,11 @@ class ComposerStaticInit67c874d7fdc7e2efa931aa6138624316 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$prefixesPsr0; - $loader->fallbackDirsPsr0 = ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$fallbackDirsPsr0; - $loader->classMap = ComposerStaticInit67c874d7fdc7e2efa931aa6138624316::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$prefixesPsr0; + $loader->fallbackDirsPsr0 = ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$fallbackDirsPsr0; + $loader->classMap = ComposerStaticInitfe61fa497677221bb9f34e1742d40075::$classMap; }, null, ClassLoader::class); } diff --git a/civicrm/vendor/composer/installed.php b/civicrm/vendor/composer/installed.php index 2f69df8bdafb6eedfbade001be737226b29afb71..237c915b42031c6a78561da9b94617f4345ef5fd 100644 --- a/civicrm/vendor/composer/installed.php +++ b/civicrm/vendor/composer/installed.php @@ -5,7 +5,7 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => 'd887fb183cd2ec2e6d20d3ef575fc577e9fad453', + 'reference' => '302a4461fa1f8bffbf265e1c1ecc9b1c5e8de5ba', 'name' => 'civicrm/civicrm-core', 'dev' => true, ), @@ -43,7 +43,7 @@ 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => 'd887fb183cd2ec2e6d20d3ef575fc577e9fad453', + 'reference' => '302a4461fa1f8bffbf265e1c1ecc9b1c5e8de5ba', 'dev_requirement' => false, ), 'civicrm/civicrm-cxn-rpc' => array( diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml index 109f1b09403cfb5684137ead940924f5171cfac7..9eb58bc4bc66096dbaf32375d582bc9a0d0138cd 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.65.1</version_no> + <version_no>5.65.2</version_no> </version>