diff --git a/civicrm.php b/civicrm.php index d635bcc8e214ce2ef5680355a20f836e0c67dffa..fdffa195841b70a032afd8573bb930ffb4ddd7de 100644 --- a/civicrm.php +++ b/civicrm.php @@ -2,7 +2,7 @@ /** * Plugin Name: CiviCRM * Description: CiviCRM - Growing and Sustaining Relationships - * Version: 5.45.1 + * Version: 5.45.2 * 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.1'); +define('CIVICRM_PLUGIN_VERSION', '5.45.2'); // 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 5aa9960d59674d8e0e12eccdebd6c0ca0abadebc..cd1043847e68ee5593584fb55cfad6d02594979d 100644 --- a/civicrm/CRM/Contact/BAO/Contact.php +++ b/civicrm/CRM/Contact/BAO/Contact.php @@ -3512,7 +3512,7 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id ) 'contact_type' => $contact->contact_type, 'greeting_type' => $greetingType, ]; - return CRM_Core_PseudoConstant::greeting($filter)[$contact->{$idField}]; + return CRM_Core_PseudoConstant::greeting($filter)[$contact->{$idField}] ?? ''; } /** diff --git a/civicrm/CRM/Export/BAO/ExportProcessor.php b/civicrm/CRM/Export/BAO/ExportProcessor.php index 4e85f9758c6aba9f0b2d59fe4b31e69dc75ce56b..18a5663ff8d6180c75840ad2a1dcb7b22a1d20b7 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/CRM/Extension/Mapper.php b/civicrm/CRM/Extension/Mapper.php index 7f56f176f2f66da78b442321ff2acd5027fdfb1c..b8d62af8f030030839d614ca9c7d6b5805e204d2 100644 --- a/civicrm/CRM/Extension/Mapper.php +++ b/civicrm/CRM/Extension/Mapper.php @@ -441,7 +441,7 @@ class CRM_Extension_Mapper { } /** - * @return array + * @return CRM_Extension_Info[] * Ex: $result['org.civicrm.foobar'] = new CRM_Extension_Info(...). * @throws \CRM_Extension_Exception * @throws \Exception diff --git a/civicrm/CRM/Extension/Upgrades.php b/civicrm/CRM/Extension/Upgrades.php index adf3b1f49493501cda107cf59bf5654b2b772694..6d5991fa55b1a87cab6c6dd9ccee299b14f5bd31 100644 --- a/civicrm/CRM/Extension/Upgrades.php +++ b/civicrm/CRM/Extension/Upgrades.php @@ -127,7 +127,10 @@ class CRM_Extension_Upgrades { } /** + * Sorts active extensions according to their dependencies + * * @param string[] $keys + * Names of all active modules * * @return string[] * @throws \CRM_Extension_Exception @@ -137,30 +140,25 @@ class CRM_Extension_Upgrades { protected static function sortKeys($keys) { $infos = CRM_Extension_System::singleton()->getMapper()->getAllInfos(); - // Start with our inputs in a normalized form. + // Ensure a stable starting order. $todoKeys = array_unique($keys); sort($todoKeys); - // Goal: Add all active items to $sorter and flag $doneKeys['org.example.foobar']=1. - $doneKeys = []; $sorter = new \MJS\TopSort\Implementations\FixedArraySort(); - while (!empty($todoKeys)) { - $key = array_shift($todoKeys); - if (isset($doneKeys[$key])) { - continue; - } - $doneKeys[$key] = 1; - + foreach ($todoKeys as $key) { /** @var CRM_Extension_Info $info */ - $info = @$infos[$key]; + $info = $infos[$key] ?? NULL; - if ($info && $info->requires) { - $sorter->add($key, $info->requires); - $todoKeys = array_merge($todoKeys, $info->requires); + // Add dependencies + if ($info) { + // Filter out missing dependencies; missing modules cannot be upgraded + $requires = array_intersect($info->requires ?? [], $keys); + $sorter->add($key, $requires); } + // This shouldn't ever happen if this function is being passed a list of active extensions. else { - $sorter->add($key, []); + throw new CRM_Extension_Exception('Invalid extension key: "' . $key . '"'); } } return $sorter->sort(); diff --git a/civicrm/CRM/Utils/Check/Component/Env.php b/civicrm/CRM/Utils/Check/Component/Env.php index 96b8be565ce8f30c94ae6306971b51cc89eedb6f..1d01b358e07525f1d74f730c571e45fb76e4231a 100644 --- a/civicrm/CRM/Utils/Check/Component/Env.php +++ b/civicrm/CRM/Utils/Check/Component/Env.php @@ -600,10 +600,29 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { return $messages; } - $keys = array_keys($manager->getStatuses()); + $stauses = $manager->getStatuses(); + $keys = array_keys($stauses); + $enabled = array_keys(array_filter($stauses, function($status) { + return $status === CRM_Extension_Manager::STATUS_INSTALLED; + })); sort($keys); $updates = $errors = $okextensions = []; + $extPrettyLabel = function($key) use ($mapper) { + // We definitely know a $key, but we may not have a $label. + // Which is too bad - because it would be nicer if $label could be the reliable start of the string. + $keyFmt = '<code>' . htmlentities($key) . '</code>'; + try { + $info = $mapper->keyToInfo($key); + if ($info->label) { + return sprintf('"<em>%s</em>" (%s)', htmlentities($info->label), $keyFmt); + } + } + catch (CRM_Extension_Exception $ex) { + return "($keyFmt)"; + } + }; + foreach ($keys as $key) { try { $obj = $mapper->keyToInfo($key); @@ -615,11 +634,20 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { $row = CRM_Admin_Page_Extensions::createExtendedInfo($obj); switch ($row['status']) { case CRM_Extension_Manager::STATUS_INSTALLED_MISSING: - $errors[] = ts('%1 extension (%2) is installed but missing files.', [1 => $row['label'] ?? NULL, 2 => $key]); + $errors[] = ts('%1 is installed but missing files.', [1 => $extPrettyLabel($key)]); break; case CRM_Extension_Manager::STATUS_INSTALLED: - if (!empty($remotes[$key]) && version_compare($row['version'], $remotes[$key]->version, '<')) { + $missingRequirements = array_diff($row['requires'], $enabled); + if (!empty($row['requires']) && $missingRequirements) { + $errors[] = ts('%1 has a missing dependency on %2', [ + 1 => $extPrettyLabel($key), + 2 => implode(', ', array_map($extPrettyLabel, $missingRequirements)), + 'plural' => '%1 has missing dependencies: %2', + 'count' => count($missingRequirements), + ]); + } + elseif (!empty($remotes[$key]) && version_compare($row['version'], $remotes[$key]->version, '<')) { $updates[] = $row['label'] . ': ' . $mapper->getUpgradeLink($remotes[$key], $row); } else { @@ -652,8 +680,15 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component { if ($errors) { $messages[] = new CRM_Utils_Check_Message( __FUNCTION__ . 'Error', - '<ul><li>' . implode('</li><li>', $errors) . '</li></ul>', - ts('Extension Error'), + ts('There is one extension error:', [ + 'count' => count($errors), + 'plural' => 'There are %count extension errors:', + ]) + . '<ul><li>' . implode('</li><li>', $errors) . '</li></ul>' + . ts('To resolve any errors, go to <a %1>Manage Extensions</a>.', [ + 1 => 'href="' . CRM_Utils_System::url('civicrm/admin/extensions', 'reset=1') . '"', + ]), + ts('Extension Error', ['count' => count($errors), 'plural' => 'Extension Errors']), \Psr\Log\LogLevel::ERROR, 'fa-plug' ); diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php index c949a0763d4ce5b33366de73fa337e05bc17d183..b0db8a0818f7416a3c9cdefa465e1d4a8d6df04e 100644 --- a/civicrm/civicrm-version.php +++ b/civicrm/civicrm-version.php @@ -1,7 +1,7 @@ <?php /** @deprecated */ function civicrmVersion( ) { - return array( 'version' => '5.45.1', + return array( 'version' => '5.45.2', 'cms' => 'Wordpress', 'revision' => '' ); } diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml index c53b3d8d4fdb8d32fa523bc0a9a24d722c25552d..86922d6c1469b42727e21a80ceb87ba2a303c155 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.1</version> + <version>5.45.2</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 082273eb2626eb641d91bb9f6cd4c554362f14c6..5bf7aa5fdfb9a90197b91334bfcbd3917e73a81e 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.1</version> + <version>5.45.2</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 ff26baf1e72d77d29fccc5da9b02c3f6e3e15d15..59c1ba8f27ae99573a427a24b011a03c4fdb2097 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.1</version> + <version>5.45.2</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 05b0774e7e439422c3deb30b7b52cd4492bebe19..1230e4e384fe34cf7ffcbc151c19a0bc9ab9eec7 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml index 28798d5e7e02d6f55b518dc9122d9940b7a2c0d7..0cc74bf8ed9b1ff32b62585809fb0a16c93cedb5 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.1</version> + <version>5.45.2</version> <develStage>alpha</develStage> <compatibility> <ver>5.0</ver> diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml index 1aadd06b7d74a3cc4fc14bf1b6937854c874f0da..5178f6d2d77cef67fc95cf79d86a043609d27158 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.1</version> + <version>5.45.2</version> <develStage>stable</develStage> <compatibility> <ver>5.39</ver> diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml index 64950485458bdee543f28829c6d20756d91ba7a0..28028b162d0ad3d13dad4f53f5d2cc6544b269dd 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.1</version> + <version>5.45.2</version> <develStage>stable</develStage> <compatibility> <ver>5.32</ver> diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml index 670979ce776136b1bc07f11c191bad617d82b1ae..ae6decdcf335e210b9f70d46265578a650c7b72a 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml index d89d05ad06232f2ed701a680f1cc5f490b6af366..b160fa7f6fe1ec2cae5a0db12a59f3228df3af3b 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml index 7610211476d8816f812d7bbd97d28dc22aa6b1fd..fb4dbae9978c05f8fcc9b5f1c1842413c7966fda 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.1</version> + <version>5.45.2</version> <develStage>stable</develStage> <compatibility> <ver>5.30</ver> diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml index c46299c4165473808a67d9cd40037255356744e3..6561a29e9010600ec58cd560029a74e6310a3db5 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.1</version> + <version>5.45.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 55e34751f4a0c2ed364cba23c91aba1da09a1f6b..50c58b5f5a890c501c635d70ada0f016d774ae26 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml index f80d6c3cad2200512c6ca778c75828e2c15db699..8a62df2de8d7e2082c257f894a57aba9fe62aead 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.1</version> + <version>5.45.2</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 b0a66a65bc9e62517fd5a2a125d73b88ddd0d1af..f1399d5dc5283029353f90414f08416069fc7a91 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml index db547041d6cab8487e445261cd0fa55932f3e7c0..98fb9d2db95bea37cc83190704b299fc10dd7156 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.1</version> + <version>5.45.2</version> <develStage>stable</develStage> <compatibility> <ver>5.38</ver> diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml index 10b53949ead985a03de42920f14fb57f7cfffaf4..a00589329be340129c5ef232716a9ca5ca143481 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.1</version> + <version>5.45.2</version> <develStage>stable</develStage> <compatibility> <ver>5.0</ver> diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml index e9aa5185a234e9e66a34daab0cd63f1e36b14e1e..fdc8525e89e3ca040de168444c24f91ea0ce4ced 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.1</version> + <version>5.45.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 e53e6e3686613d69a91aacf1249b2b0b4026cbd0..6e1bc152870de10edf5ff6e69c22b0488555f837 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.1</version> + <version>5.45.2</version> <develStage>beta</develStage> <compatibility> <ver>5.38</ver> diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml index fcc842ad920e085ea7be0c5c5278258eae1efd31..284ef0a9fc0b7fd02a59fa16ba4985d519e6b790 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.1</version> + <version>5.45.2</version> <tags> <tag>mgmt:hidden</tag> </tags> diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md index 6b6e60c456fc04631ecdd6ebd1d01c46cc62d263..94a1bdf4f620fdbaa324e89d7a6d739763db2d71 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.2 + +Released January 28, 2022 + +- **[Synopsis](release-notes/5.45.2.md#synopsis)** +- **[Bugs resolved](release-notes/5.45.2.md#bugs)** +- **[Credits](release-notes/5.45.2.md#credits)** +- **[Feedback](release-notes/5.45.2.md#feedback)** + ## CiviCRM 5.45.1 Released January 11, 2022 diff --git a/civicrm/release-notes/5.45.2.md b/civicrm/release-notes/5.45.2.md new file mode 100644 index 0000000000000000000000000000000000000000..1bb75ae248b27d1aba8e63bb18e10c7b96a5fc85 --- /dev/null +++ b/civicrm/release-notes/5.45.2.md @@ -0,0 +1,37 @@ +# CiviCRM 5.45.2 + +Released January 28, 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?** | **yes** | +| Introduce features? | no | +| **Fix bugs?** | **yes** | + +## <a name="bugs"></a>Bugs resolved + +* **_Extensions_: Database upgrades fail if "afform_admin" is used without "search_kit" ([dev/core#3036](https://lab.civicrm.org/dev/core/-/issues/3036): [#22623](https://github.com/civicrm/civicrm-core/pull/22623), [#22640](https://github.com/civicrm/civicrm-core/pull/22640))** +* **_Greetings_: Fix crash when recomputing stale greeting data ([dev/core#3028](https://lab.civicrm.org/dev/core/-/issues/3028): [#22650](https://github.com/civicrm/civicrm-core/pull/22650))** + +## <a name="credits"></a>Credits + +This release was developed by the following authors and reviewers: + +Wikimedia Foundation - Eileen McNaughton; Richard van Oosterhout; 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 f245cec31825e2f94a873e3f103ca787510b0fb2..7202aa946fb4b5857308921fe7dfe4ecb87c1245 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.1'; +UPDATE civicrm_domain SET version = '5.45.2'; diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql index 530d582509b3f2381674f6d2fb7ac33cef8a3720..c53c701c8fc7e7ce0bdf2376f75a12a781f16ada 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.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}'); + (1,'Default Domain Name',NULL,'5.45.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 c3a26b7426602774ea43714cb51db27859b00e85..6dff542c7736ee0301738d8372a490399c320a51 100644 --- a/civicrm/vendor/autoload.php +++ b/civicrm/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9::getLoader(); +return ComposerAutoloaderInit2849ed2655cdf02df20e11e4e9c5abb7::getLoader(); diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php index 3d53ae95efec833fc044795e6ce45f0bf784e504..6d216b67c5fa7b23b3eef69f24a39f7bd209a7f6 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 ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9 +class ComposerAutoloaderInit2849ed2655cdf02df20e11e4e9c5abb7 { private static $loader; @@ -19,9 +19,9 @@ class ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit2849ed2655cdf02df20e11e4e9c5abb7', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit2849ed2655cdf02df20e11e4e9c5abb7', 'loadClassLoader')); $includePaths = require __DIR__ . '/include_paths.php'; $includePaths[] = get_include_path(); @@ -31,7 +31,7 @@ class ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9 if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -52,19 +52,19 @@ class ComposerAutoloaderInitac295e4d513ea64ec2106a4e00e125d9 $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequireac295e4d513ea64ec2106a4e00e125d9($fileIdentifier, $file); + composerRequire2849ed2655cdf02df20e11e4e9c5abb7($fileIdentifier, $file); } return $loader; } } -function composerRequireac295e4d513ea64ec2106a4e00e125d9($fileIdentifier, $file) +function composerRequire2849ed2655cdf02df20e11e4e9c5abb7($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 97de59eb53650c62da68327808530f8fd4ccf7a1..0ddaea5e58355cbbebd285e5bbcd99fd4e6aa72e 100644 --- a/civicrm/vendor/composer/autoload_static.php +++ b/civicrm/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9 +class ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7 { public static $files = array ( '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', @@ -672,11 +672,11 @@ class ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$prefixesPsr0; - $loader->fallbackDirsPsr0 = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$fallbackDirsPsr0; - $loader->classMap = ComposerStaticInitac295e4d513ea64ec2106a4e00e125d9::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$prefixDirsPsr4; + $loader->prefixesPsr0 = ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$prefixesPsr0; + $loader->fallbackDirsPsr0 = ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$fallbackDirsPsr0; + $loader->classMap = ComposerStaticInit2849ed2655cdf02df20e11e4e9c5abb7::$classMap; }, null, ClassLoader::class); } diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml index 20bd6bf7a9f6391ba52cfc3bf842d11e5af9d502..f54b00575987516dea481942e3cd4a6e21ada976 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.1</version_no> + <version_no>5.45.2</version_no> </version>