From 44b27e42800f7163d7529832e09b78749d91a6d0 Mon Sep 17 00:00:00 2001 From: Alice Frumin Date: Wed, 23 Mar 2022 11:56:29 -0400 Subject: [PATCH] [NFC] 5.48 Release Notes - First Pass --- release-notes/5.48.0.md | 544 +++++++++++++++++++++++++++------------- 1 file changed, 373 insertions(+), 171 deletions(-) diff --git a/release-notes/5.48.0.md b/release-notes/5.48.0.md index 1280e6e106..84b14db264 100644 --- a/release-notes/5.48.0.md +++ b/release-notes/5.48.0.md @@ -13,352 +13,554 @@ Released April 6, 2022 | *Does this version...?* | | |:--------------------------------------------------------------- |:-------:| -| Fix security vulnerabilities? | | -| Change the database schema? | | -| Alter the API? | | -| Require attention to configuration options? | | -| Fix problems installing or upgrading to a previous version? | | -| Introduce features? | | -| Fix bugs? | | +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| Require attention to configuration options? | no | +| Fix problems installing or upgrading to a previous version? | no | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features ### Core CiviCRM -- **crm- Missing Summary ([70](https://github.com/civicrm/civicrm-drupal-8/pull/70))** +- **Add civicrm_admin_ui extension + ([22628](https://github.com/civicrm/civicrm-core/pull/22628))** -## Bugs resolved + Adds a new bundled extension `civicrm_admin_ui`. This extension replaces 2 + screens with SearchDisplay Afforms: Custom field groups and Custom fields. -### Core CiviCRM +- **Add deprecation notice to APIv3 Explorer + ([22811](https://github.com/civicrm/civicrm-core/pull/22811))** -- **dev/core#3119 - Post-upgrade messages no longer being displayed ([22985](https://github.com/civicrm/civicrm-core/pull/22985))** + Adds a notice to the APIv3 explorer to encourage users to use APIv4 instead. -- **[REF] Update Guzzlehttp/psr7 version to be 1.8.5 ([22998](https://github.com/civicrm/civicrm-core/pull/22998))** +- **Apiv4 entity parity (Work Towards + [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486): + [22754](https://github.com/civicrm/civicrm-core/pull/22754), + [22823](https://github.com/civicrm/civicrm-core/pull/22823), + [22624](https://github.com/civicrm/civicrm-core/pull/22624) and + [22799](https://github.com/civicrm/civicrm-core/pull/22799))** -- **Afform - Fix saving and editing entity blocks ([22963](https://github.com/civicrm/civicrm-core/pull/22963))** + Adds "Extension", "Mailing", "MailingGroup" and "MailingJob" entities to + APIv4. -- **dev/core#3126 - CiviReport statistics appearing twice on page ([22976](https://github.com/civicrm/civicrm-core/pull/22976))** +- **APIv4 - Add tableName to Entity.get output + ([22829](https://github.com/civicrm/civicrm-core/pull/22829))** -- **(Regression) - fixed tags form field display on New/Edit contact screen ([22964](https://github.com/civicrm/civicrm-core/pull/22964))** + Adds `tableName` to the APIv4 Entity.get action output, improving + flexibility for virtual entities. -- **Return array for setdefaults ([22948](https://github.com/civicrm/civicrm-core/pull/22948))** +- **APIv4 Explorer - Add REST syntax + ([22722](https://github.com/civicrm/civicrm-core/pull/22722))** -- **[REF] Rename SoftDeleteEntity -> SoftDeleteActionTrait ([22944](https://github.com/civicrm/civicrm-core/pull/22944))** + Displays REST syntax in the APIv4 Explorer. -- **Fix backward-compatability for new method in CRM_Contact_BAO_Query_Hook ([22933](https://github.com/civicrm/civicrm-core/pull/22933))** +- **APIv4 - Add metadata about class args + ([22831](https://github.com/civicrm/civicrm-core/pull/22831))** -- **dev/core#3112 Clear caches to avoid error on upgrade ([22932](https://github.com/civicrm/civicrm-core/pull/22932))** + The CustomValue API is a virtual entity, where multiple api entities all get + routed to the same class by virtue of all sharing the prefix "Custom_" and + pass a class arg to the php factory functions e.g. + CustomValue::get('MyCustomGroup'). -- **Afform Gui - Fix selecting html element of text box ([22929](https://github.com/civicrm/civicrm-core/pull/22929))** + Instead of hard-coding this idea into the API Explorer now it's part of the + entity metadata so that other APIs, notaby ECK, can use a similar pattern. -- **(NFC) contributor-key.yml - Fix syntax error ([22921](https://github.com/civicrm/civicrm-core/pull/22921))** +- **APIv4 Explorer - Add "copy" button to quickly copy code to clipboard + ([22896](https://github.com/civicrm/civicrm-core/pull/22896))** -- **Don't perform event timezone check if CiviEvent is disabled ([22898](https://github.com/civicrm/civicrm-core/pull/22898))** + Makes it easy to select and copy generated APIv4 Explorer code. -- **CiviGrant - Don't auto-create any grant types ([22913](https://github.com/civicrm/civicrm-core/pull/22913))** +- **SearchKit - Update APIv3 Extension.get to use APIv4 + ([22788](https://github.com/civicrm/civicrm-core/pull/22788))** -- **dev/core#3100 - Remove grant leftovers from core xml. Remove empty grant reports menu ([22911](https://github.com/civicrm/civicrm-core/pull/22911))** + Updates SearchKit code to use newer version of the API when calling + Extension.get. -- **Only acl line items based on contribution ([22870](https://github.com/civicrm/civicrm-core/pull/22870))** +- **SearchKit - Use crmDialogButtons for task popups + ([22790](https://github.com/civicrm/civicrm-core/pull/22790))** -- **dev/core#3094 - Crash on contribution view when don't have event/participant permissions ([22865](https://github.com/civicrm/civicrm-core/pull/22865))** + Updates the buttons in SearchKit action popups to use standard dialog button + formatting. -- **dev/core#3104 - Crash when viewing a contact page - Call to undefined method CRM_Contact_Page_View_Summary::addExpectedSmartyVariables() ([22897](https://github.com/civicrm/civicrm-core/pull/22897))** +- **SearchKit - Add 'merge contacts' task + ([22768](https://github.com/civicrm/civicrm-core/pull/22768))** -- **Refresh entity list after updating custom group (self_hook_*) ([22868](https://github.com/civicrm/civicrm-core/pull/22868))** + Adds a "merge contacts" task to SearchKit. -- **APIv4 Explorer - Add "copy" button to quicly copy code to clipboard ([22896](https://github.com/civicrm/civicrm-core/pull/22896))** +- **SearchKit - Customizable "No Results" text + ([22770](https://github.com/civicrm/civicrm-core/pull/22770))** -- **smarty/php notices on contribution view part 4 ([22894](https://github.com/civicrm/civicrm-core/pull/22894))** + Makes it so users can customize the "No Results" text in SearchKit. -- **Mark AJAX methods as static ([22895](https://github.com/civicrm/civicrm-core/pull/22895))** +- **SearchKit - Improve import UI to handle update & preview the import + ([22699](https://github.com/civicrm/civicrm-core/pull/22699))** -- **Avoid e-notices on pages with tabs ([22892](https://github.com/civicrm/civicrm-core/pull/22892))** + SearchKit has an import/export SavedSearch feature which allows you to + copy/paste api code in JSON format. This change enables update as well as create, + and improves that UI to give better user feedback about what will happen when + the import is run. -- **5.47 ([22891](https://github.com/civicrm/civicrm-core/pull/22891))** +- **SearchKit - Support relative dates and datepicker with the DATE() sql fn + ([22783](https://github.com/civicrm/civicrm-core/pull/22783))** -- **ManagedEntities - Allow "match" param to convert existing records to … ([22883](https://github.com/civicrm/civicrm-core/pull/22883))** + Allows one to pick a relative or calendar date in conjunction with the DATE + ONLY field transformation. -- **5.47 ([22888](https://github.com/civicrm/civicrm-core/pull/22888))** +- **Civi\Api4\Queue - Allow use with hook_managed + ([22796](https://github.com/civicrm/civicrm-core/pull/22796))** -- **5.47 ([22884](https://github.com/civicrm/civicrm-core/pull/22884))** + Flags the entity Queue so that it can be used with hook_managed. -- **Contact token should show contact's info instead of logged in contact ([22874](https://github.com/civicrm/civicrm-core/pull/22874))** +- **Define more usable queue DX for multithreaded background work (Work Towards + [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304): + [22812](https://github.com/civicrm/civicrm-core/pull/22812))** -- **Bump karma from 6.3.14 to 6.3.16 ([22875](https://github.com/civicrm/civicrm-core/pull/22875))** + Expands the schema for civicrm_queue (et al). By configuring properties on + civicrm_queue (et al), you can tell a generic queue-agent how to handle items + from this queue. -- **php/smarty notices on contribution view part 2 ([22869](https://github.com/civicrm/civicrm-core/pull/22869))** +- **ManagedEntities - Allow "match" param to convert existing records to … + ([22883](https://github.com/civicrm/civicrm-core/pull/22883))** -- **added as a contributor ([22876](https://github.com/civicrm/civicrm-core/pull/22876))** + This can help ease the pain of declaring managed entities which may or may not + already exist - now they can be matched by name or other unique identifier. -- **Call to undefined function civicrm_api3_create_error() in civicrm/civ… ([22872](https://github.com/civicrm/civicrm-core/pull/22872))** +### CiviContribute -- **Format money on transaction list ([22438](https://github.com/civicrm/civicrm-core/pull/22438))** +- **Add basic contribution example base for contribution workflows + ([22636](https://github.com/civicrm/civicrm-core/pull/22636))** -- **5.47 ([22873](https://github.com/civicrm/civicrm-core/pull/22873))** + Makes it so that one can preview Contribution Message Templates. -- **(NFC) LoggingDetailTest - Improve reliability of test ([22867](https://github.com/civicrm/civicrm-core/pull/22867))** +### CiviEvent -- **php notices on contributionview ([22866](https://github.com/civicrm/civicrm-core/pull/22866))** +- **Introduce a way to link event participants from the associated booking. + ([dev/user-interface#45](https://lab.civicrm.org/dev/user-interface/-/issues/45): + [22732](https://github.com/civicrm/civicrm-core/pull/22732))** -- **5.47 ([22859](https://github.com/civicrm/civicrm-core/pull/22859))** + Introduces a way to navigate to participants from the contribution view. -- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day ([22860](https://github.com/civicrm/civicrm-core/pull/22860))** +### CiviMail -- **Add handling for civimember disabled ([22864](https://github.com/civicrm/civicrm-core/pull/22864))** +- **Mailing - Add `serialize` and `add` to `template_options` field + ([22785](https://github.com/civicrm/civicrm-core/pull/22785))** -- **(dev/core#1304) Queues - Define schema for runner, run_count, lease_time, et al ([22812](https://github.com/civicrm/civicrm-core/pull/22812))** + Improves the mailing schema metadata for template_options and template_type + fields. -- **5.47 ([22857](https://github.com/civicrm/civicrm-core/pull/22857))** +- **Start phasing out 'preferred_mail_format' (Work Towards + [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866): + [22775](https://github.com/civicrm/civicrm-core/pull/22775), + [22633](https://github.com/civicrm/civicrm-core/pull/22633) and + [22635](https://github.com/civicrm/civicrm-core/pull/22635))** -- **fixes report#85 - Don't crash Contact Logging Detail report when viewing a contribution ([22242](https://github.com/civicrm/civicrm-core/pull/22242))** + Ignores preferred mail format when sending a message. Instead sends both html + and plain text versions and lets the email client decide which to show. + Removes `preferred_mail_format` from email trait. -- **dev/core#2100 Improve A/B test report page and API Mailing stats ([20093](https://github.com/civicrm/civicrm-core/pull/20093))** +### Drupal Integraton -- **5.47 ([22852](https://github.com/civicrm/civicrm-core/pull/22852))** +- **civicrm.drush.inc - Add 'civicrm-pipe' subcommand + ([70](https://github.com/civicrm/civicrm-drupal-8/pull/70))** -- **dev/user-interface#45 Show associated participants on contributionView form ([22732](https://github.com/civicrm/civicrm-core/pull/22732))** + Adds support for the subcommand `drush civicrm-pipe` (`drush cvpipe`). -- **Fix API4 Explorer undefined variable error ([22849](https://github.com/civicrm/civicrm-core/pull/22849))** +## Bugs resolved -- **Avoid PHP undefined index notices on extension pages ([22848](https://github.com/civicrm/civicrm-core/pull/22848))** +### Core CiviCRM -- **[NFC] Basic case create test with org ([22846](https://github.com/civicrm/civicrm-core/pull/22846))** +- **Contact Logging Detail report crashes when a contribution and contact are + updated together + ([dev/report#85](https://lab.civicrm.org/dev/report/-/issues/85): + [22242](https://github.com/civicrm/civicrm-core/pull/22242))** -- **Fix issues with PHP GetText and 0 length files ([22842](https://github.com/civicrm/civicrm-core/pull/22842))** +- **Warning: is_dir(): open_basedir restriction in effect + ([dev/core#2927](https://lab.civicrm.org/dev/core/-/issues/2927): + [22277](https://github.com/civicrm/civicrm-core/pull/22277))** -- **Remove reference to undefined variable in CRM_Contact_Form_Inline_CommunicationPreferences ([22840](https://github.com/civicrm/civicrm-core/pull/22840))** + Avoids flooding logs with `open_basedir` in effect. -- **Mark methods which are only used statically as static ([22844](https://github.com/civicrm/civicrm-core/pull/22844))** +- **Switch extension downloader and extensions feed to use Guzzle HTTP library + ([21097](https://github.com/civicrm/civicrm-core/pull/21097))** -- **APIv4 - Add metadata about class args ([22831](https://github.com/civicrm/civicrm-core/pull/22831))** + This fixes some situations (eg. shared servers with open_basedir restrictions + in effect) where zip file was not downloaded properly and extension could not + be updated. It also means that we are no longer using our custom + CRM_Utils_HttpClient::fetch() function from within civicrm core. -- **Cody tidy in CRM_Core_State ([22841](https://github.com/civicrm/civicrm-core/pull/22841))** +- **RC Error: Call to undefined method + CRM_Contact_Page_View_Summary::addExpectedSmartyVariables() + ([dev/core#3104](https://lab.civicrm.org/dev/core/-/issues/3104): + [22897](https://github.com/civicrm/civicrm-core/pull/22897))** -- **5.47 ([22838](https://github.com/civicrm/civicrm-core/pull/22838))** +- **Post-upgrade messages no longer being displayed + ([dev/core#3119](https://lab.civicrm.org/dev/core/-/issues/3119): + [22985](https://github.com/civicrm/civicrm-core/pull/22985))** -- **Remove reference to undefined variable ([22839](https://github.com/civicrm/civicrm-core/pull/22839))** +- **CiviReport - Title and Statistics appearing at top and bottom of reports + ([dev/core#3126](https://lab.civicrm.org/dev/core/-/issues/3126): + [22976](https://github.com/civicrm/civicrm-core/pull/22976))** -- **CiviCase - Call hooks when creating relationships ([22814](https://github.com/civicrm/civicrm-core/pull/22814))** +- **APIv4 - Fix setting/getting a multi-record customfield with date+time + ([22731](https://github.com/civicrm/civicrm-core/pull/22731))** -- **5.47 ([22836](https://github.com/civicrm/civicrm-core/pull/22836))** +- **APIv4 - Fix typo in Entity.getFields + ([22776](https://github.com/civicrm/civicrm-core/pull/22776))** -- **Move HookInterface to \Civi\Core namespace ([22834](https://github.com/civicrm/civicrm-core/pull/22834))** +- **Fix apiv4 Contribution delete & all line items + ([22749](https://github.com/civicrm/civicrm-core/pull/22749))** -- **APIv4 - Add tableName to Entity.get output ([22829](https://github.com/civicrm/civicrm-core/pull/22829))** +- **Fix API4 Explorer undefined variable error + ([22849](https://github.com/civicrm/civicrm-core/pull/22849))** -- **Fix submit handling of thousands when creating data entry batch ([22772](https://github.com/civicrm/civicrm-core/pull/22772))** +- **Afform - Fix saving and editing entity blocks + ([22963](https://github.com/civicrm/civicrm-core/pull/22963))** -- **APIv4 - Add fixme about filtering custom fields by sub-type ([22827](https://github.com/civicrm/civicrm-core/pull/22827))** +- **Afform Gui - Fix selecting html element of text box + ([22929](https://github.com/civicrm/civicrm-core/pull/22929))** -- **Flush the metadata cache when the domain is edited ([22637](https://github.com/civicrm/civicrm-core/pull/22637))** +- **SearchKit - Fix support for non-DAO entities + ([22764](https://github.com/civicrm/civicrm-core/pull/22764))** -- **Fixes for smarty grumpy mode with membership ([22752](https://github.com/civicrm/civicrm-core/pull/22752))** +- **Only acl line items based on contribution + ([22870](https://github.com/civicrm/civicrm-core/pull/22870))** -- **Enotice fixes ([22719](https://github.com/civicrm/civicrm-core/pull/22719))** + Ensures ACL query on line items only joins `entity_id` to contributions. -- **Mailing Report: do not recalculate the recipients when the count is zero ([22800](https://github.com/civicrm/civicrm-core/pull/22800))** +- **Add handling for civimember disabled + ([22864](https://github.com/civicrm/civicrm-core/pull/22864))** -- **[REF] APIv4 - use entityTypes event to load custom records ([22824](https://github.com/civicrm/civicrm-core/pull/22824))** +- **Revert membership debug handling in IPN + ([22475](https://github.com/civicrm/civicrm-core/pull/22475))** -- **Fix the "since" version for api v4 Mailing and MailingJob ([22823](https://github.com/civicrm/civicrm-core/pull/22823))** +- **Format money in custom fields once, on the tpl layer + ([22728](https://github.com/civicrm/civicrm-core/pull/22728))** -- **5.47 ([22822](https://github.com/civicrm/civicrm-core/pull/22822))** +- **New Individual: Unfilled fields "Custom Email Greeting", "Custom Postal + Greeting", "Custom Addressee" are hidden + ([dev/core#483](https://lab.civicrm.org/dev/core/-/issues/483): + [22380](https://github.com/civicrm/civicrm-core/pull/22380))** -- **Recent update to {receipt_text} token gives warning in system check after upgrade ([22821](https://github.com/civicrm/civicrm-core/pull/22821))** +- **Fix regression with flexible merging of contact information + ([22720](https://github.com/civicrm/civicrm-core/pull/22720))** -- **add checkPerm ([22818](https://github.com/civicrm/civicrm-core/pull/22818))** +- **Recent update to {receipt_text} token gives warning in system check after + upgrade ([22821](https://github.com/civicrm/civicrm-core/pull/22821))** -- **[REF] Remove unused api v2 function ([22819](https://github.com/civicrm/civicrm-core/pull/22819))** +- **Remove "Search Builder" from menubar on new installs. + ([22778](https://github.com/civicrm/civicrm-core/pull/22778))** -- **[NFC] Rename RecurForms test class ([22820](https://github.com/civicrm/civicrm-core/pull/22820))** +- **Pseudoconstants - Fix and improve handling of option callbacks + ([22730](https://github.com/civicrm/civicrm-core/pull/22730))** -- **[REF] Cleanup docblocks & unused vars in Membership BAO ([22665](https://github.com/civicrm/civicrm-core/pull/22665))** +- **Refresh entity list after updating custom group (self_hook_*) + ([22868](https://github.com/civicrm/civicrm-core/pull/22868))** -- **Added Cancel Recur Subscription test & setter for `supports` on Dummy processor ([21895](https://github.com/civicrm/civicrm-core/pull/21895))** +- **Avoid null column showing on groups search page + ([22724](https://github.com/civicrm/civicrm-core/pull/22724))** -- **Revert membership debug handling in IPN ([22475](https://github.com/civicrm/civicrm-core/pull/22475))** +- **Call to undefined function civicrm_api3_create_error() in + civicrm/civicrm/CRM/Core/Page/AJAX/Attachment.php:65 + ([22872](https://github.com/civicrm/civicrm-core/pull/22872))** -- **Cleanup on Offline Membership Receipts (ensures variables present across flows) ([22736](https://github.com/civicrm/civicrm-core/pull/22736))** +- **Fix backward-compatability for new method in CRM_Contact_BAO_Query_Hook + ([22933](https://github.com/civicrm/civicrm-core/pull/22933))** -- **APIv4 - remove unnecessary field from System::check ([22748](https://github.com/civicrm/civicrm-core/pull/22748))** +- **Fix submit handling of thousands when creating data entry batch + ([22772](https://github.com/civicrm/civicrm-core/pull/22772))** -- **Add deprecation notice to APIv3 Explorer ([22811](https://github.com/civicrm/civicrm-core/pull/22811))** +- **Avoid PHP undefined index notices on extension pages + ([22848](https://github.com/civicrm/civicrm-core/pull/22848))** -- **SearchKit - Use crmDialogButtons for task popups ([22790](https://github.com/civicrm/civicrm-core/pull/22790))** +- **Fix issues with PHP GetText and 0 length files + ([22842](https://github.com/civicrm/civicrm-core/pull/22842))** -- **[REF] Fix css code style issues ([22807](https://github.com/civicrm/civicrm-core/pull/22807))** +- **Remove reference to undefined variable in + CRM_Contact_Form_Inline_CommunicationPreferences + ([22840](https://github.com/civicrm/civicrm-core/pull/22840))** -- **Civi\Api4\Queue - Allow use with hook_managed ([22796](https://github.com/civicrm/civicrm-core/pull/22796))** +- **Mark methods which are only used statically as static + ([22844](https://github.com/civicrm/civicrm-core/pull/22844))** -- **APIv4 - Add MailingGroup API ([22799](https://github.com/civicrm/civicrm-core/pull/22799))** +- **Use valid syntax for self-closing br elements + ([22711](https://github.com/civicrm/civicrm-core/pull/22711))** -- **Remove broken call to function_exists in CRM_Utils_String::isUtf8 ([22803](https://github.com/civicrm/civicrm-core/pull/22803))** +- **civicrm_handler_filter_pseudo_constant - Guard against old or inactive + pseudoconstants ([656](https://github.com/civicrm/civicrm-drupal/pull/656))** -- **5.47 ([22798](https://github.com/civicrm/civicrm-core/pull/22798))** +- **Contact token should show contact's info instead of logged in contact + ([22874](https://github.com/civicrm/civicrm-core/pull/22874))** -- **Fix pledge default on contribution page when the site has a WR for "contribution" ([22801](https://github.com/civicrm/civicrm-core/pull/22801))** +- **Fixes fatal error - function doesn't exist + ([275](https://github.com/civicrm/civicrm-wordpress/pull/275))** -- **dev/core#2486 Add v4 Mailing api (+ MailingJob) ([22624](https://github.com/civicrm/civicrm-core/pull/22624))** +- **Notice fixes ([22706](https://github.com/civicrm/civicrm-core/pull/22706))** -- **(REF) CRM_Queue_Queue_* - Retain a copy of `$queueSpec` ([22797](https://github.com/civicrm/civicrm-core/pull/22797))** +- **Some more notice fixes in smarty + ([22745](https://github.com/civicrm/civicrm-core/pull/22745))** -- **(NFC) tests/phpunit/CRM/Queue - Add common `@group` ([22795](https://github.com/civicrm/civicrm-core/pull/22795))** +- **Enotice fixes + ([22719](https://github.com/civicrm/civicrm-core/pull/22719))** -- **(REF) CRM_Queue_Task - Tighter signature ([22794](https://github.com/civicrm/civicrm-core/pull/22794))** +- **Enotice fix ([22707](https://github.com/civicrm/civicrm-core/pull/22707))** -- **[REF] Remove old require_once statements made obsolete by autoloader ([22792](https://github.com/civicrm/civicrm-core/pull/22792))** +- **Mark AJAX methods as static + ([22895](https://github.com/civicrm/civicrm-core/pull/22895))** -- **Fix regression with flexible merging of contact information ([22720](https://github.com/civicrm/civicrm-core/pull/22720))** +- **Avoid e-notices on pages with tabs + ([22892](https://github.com/civicrm/civicrm-core/pull/22892))** -- **SearchKit - Update APIv3 Extension.get to use APIv4 ([22788](https://github.com/civicrm/civicrm-core/pull/22788))** +- **Flush the metadata cache when the domain is edited + ([22637](https://github.com/civicrm/civicrm-core/pull/22637))** -- **REF Deprecate API3 _ipn_process_transaction() ([22488](https://github.com/civicrm/civicrm-core/pull/22488))** +- **Remove broken call to function_exists in CRM_Utils_String::isUtf8 + ([22803](https://github.com/civicrm/civicrm-core/pull/22803))** -- **Cleanup on contribution view ([22698](https://github.com/civicrm/civicrm-core/pull/22698))** +- **Avoid PHP notices on the UF settings page. + ([22667](https://github.com/civicrm/civicrm-core/pull/22667))** -- **SearchKit - Support relative dates and datepicker with the DATE() sql fn ([22783](https://github.com/civicrm/civicrm-core/pull/22783))** +- **Fix deprecated warnings, smary grumpy-mode issues in legacy searches + ([22742](https://github.com/civicrm/civicrm-core/pull/22742))** -- **5.47 ([22789](https://github.com/civicrm/civicrm-core/pull/22789))** +- **Return array for setdefaults + ([22948](https://github.com/civicrm/civicrm-core/pull/22948))** -- **Update unit test to use exception ([22787](https://github.com/civicrm/civicrm-core/pull/22787))** +### CiviCase -- **Mailing - Add `serialize` and `add` to `template_options` field ([22785](https://github.com/civicrm/civicrm-core/pull/22785))** +- **CiviCase - Call hooks when creating relationships + ([22814](https://github.com/civicrm/civicrm-core/pull/22814))** -- **RecurForms test fixes ([22784](https://github.com/civicrm/civicrm-core/pull/22784))** + Ensures hooks are called when creating case relationships. -- **BAO_Mailing::create - stop passing by reference ([22753](https://github.com/civicrm/civicrm-core/pull/22753))** +### CiviContribute -- **Move check for mailing workflow permisisons to BAO layer ([22766](https://github.com/civicrm/civicrm-core/pull/22766))** +- **Bypass grumpy mode for contribution search totals & criteria + ([22744](https://github.com/civicrm/civicrm-core/pull/22744))** -- **5.47 ([22782](https://github.com/civicrm/civicrm-core/pull/22782))** +- **Clean return values for dummy payment processor + ([22679](https://github.com/civicrm/civicrm-core/pull/22679))** -- **Remove "Search Builder" from menubar on new installs. ([22778](https://github.com/civicrm/civicrm-core/pull/22778))** +- **Adjust css class for payment processor to use `-` + ([22763](https://github.com/civicrm/civicrm-core/pull/22763))** -- **Avoid null column showing on groups search page ([22724](https://github.com/civicrm/civicrm-core/pull/22724))** +- **Fix pledge default on contribution page when the site has a WR for + "contribution" ([22801](https://github.com/civicrm/civicrm-core/pull/22801))** -- **Avoid PHP notices on the UF settings page. ([22667](https://github.com/civicrm/civicrm-core/pull/22667))** +- **Format money on transaction list + ([22438](https://github.com/civicrm/civicrm-core/pull/22438))** -- **SearchKit - Add 'merge contacts' task ([22768](https://github.com/civicrm/civicrm-core/pull/22768))** +- **Deprecate civicrm_contribution_recur.trxn_id + ([21539](https://github.com/civicrm/civicrm-core/pull/21539))** -- **5.47 to master ([22780](https://github.com/civicrm/civicrm-core/pull/22780))** +- **php notices on contributionview + ([22866](https://github.com/civicrm/civicrm-core/pull/22866))** -- **APiv4 - Add Extension.get ([22754](https://github.com/civicrm/civicrm-core/pull/22754))** +- **php/smarty notices on contribution view part 2 + ([22869](https://github.com/civicrm/civicrm-core/pull/22869))** -- **[REF] - Deprecate & delegate BAO::retrieve functions ([22543](https://github.com/civicrm/civicrm-core/pull/22543))** +- **smarty/php notices on contribution view part 4 + ([22894](https://github.com/civicrm/civicrm-core/pull/22894))** -- **dev/core#2927 - Avoid flooding logs with open_basedir in effect ([22277](https://github.com/civicrm/civicrm-core/pull/22277))** +- **Cleanup on contribution view + ([22698](https://github.com/civicrm/civicrm-core/pull/22698))** -- **dev/core#2866 Ignore preferred mail format when sending message ([22633](https://github.com/civicrm/civicrm-core/pull/22633))** +- **Contribution view page crashes if you don't have event permissions + ([dev/core#3094](https://lab.civicrm.org/dev/core/-/issues/3094): + [22865](https://github.com/civicrm/civicrm-core/pull/22865))** -- **Follow up fix on removing preferred_mail_format ([22775](https://github.com/civicrm/civicrm-core/pull/22775))** +### CiviEvent -- **APIv4 - Fix typo in Entity.getFields ([22776](https://github.com/civicrm/civicrm-core/pull/22776))** +- **Don't perform event timezone check if CiviEvent is disabled + ([22898](https://github.com/civicrm/civicrm-core/pull/22898))** -- **Fix apiv4 Contribution delete & all line items ([22749](https://github.com/civicrm/civicrm-core/pull/22749))** +## CiviGrant -- **dev/core#2866 Remove preferred_mail_format from email trait ([22635](https://github.com/civicrm/civicrm-core/pull/22635))** +- **CiviGrant - Don't auto-create any grant types + ([22913](https://github.com/civicrm/civicrm-core/pull/22913))** -- **Pseudoconstants - Fix and improve handling of option callbacks ([22730](https://github.com/civicrm/civicrm-core/pull/22730))** +- **Views - CiviGrant is now an extension + ([654](https://github.com/civicrm/civicrm-drupal/pull/654))** -- **[REF] Results of running npm audit fix ([22773](https://github.com/civicrm/civicrm-core/pull/22773))** + Updates the Drupal Views integration to recognize that CiviGrant is now an + extension. -- **SearchKit - Customizable "No Results" text ([22770](https://github.com/civicrm/civicrm-core/pull/22770))** +### CiviMail -- **Deprecate civicrm_contribution_recur.trxn_id ([21539](https://github.com/civicrm/civicrm-core/pull/21539))** +- **Move check for mailing workflow permisisons to BAO layer + ([22766](https://github.com/civicrm/civicrm-core/pull/22766))** -- **Clean return values for dummy payment processor ([22679](https://github.com/civicrm/civicrm-core/pull/22679))** +- **BAO_Mailing::create - stop passing by reference + ([22753](https://github.com/civicrm/civicrm-core/pull/22753))** -- **[REF] Simplification in Contact::getValues ([22765](https://github.com/civicrm/civicrm-core/pull/22765))** +- **add checkPerm + ([22818](https://github.com/civicrm/civicrm-core/pull/22818))** -- **SearchKit - Fix support for non-DAO entities ([22764](https://github.com/civicrm/civicrm-core/pull/22764))** + Adds checkPerm to crmMailingSimpleDirective, enables ability of permission + checking in composer mail. -- **Some more notice fixes in smarty ([22745](https://github.com/civicrm/civicrm-core/pull/22745))** +- **A/B testing report should show unique opens, not total opens + ([dev/core#2100](https://lab.civicrm.org/dev/core/-/issues/2100): + [20093](https://github.com/civicrm/civicrm-core/pull/20093))** -- **Adjust css class for payment processor to use `-` ([22763](https://github.com/civicrm/civicrm-core/pull/22763))** +- **Mailing Report: do not recalculate the recipients when the count is zero + ([22800](https://github.com/civicrm/civicrm-core/pull/22800))** -- **Cleanup around taxTerm assignment ([22422](https://github.com/civicrm/civicrm-core/pull/22422))** +### CiviMember -- **[REF] Simplify Location::getValues ([22757](https://github.com/civicrm/civicrm-core/pull/22757))** +- **Fixes for smarty grumpy mode with membership + ([22752](https://github.com/civicrm/civicrm-core/pull/22752))** -- **Remove unused parameter, pass-by-ref ([22756](https://github.com/civicrm/civicrm-core/pull/22756))** +- **Cleanup on Offline Membership Receipts (ensures variables present across + flows) ([22736](https://github.com/civicrm/civicrm-core/pull/22736))** -- **[REF] Fix issue where spaces in payment_processor_type.name field cau… ([22760](https://github.com/civicrm/civicrm-core/pull/22760))** +## Miscellany -- **Bump karma from 6.3.4 to 6.3.14 ([22758](https://github.com/civicrm/civicrm-core/pull/22758))** +- **Move acl check for contributionView to the extension + ([22684](https://github.com/civicrm/civicrm-core/pull/22684))** -- **Bump ajv from 6.6.1 to 6.12.6 ([22761](https://github.com/civicrm/civicrm-core/pull/22761))** +- **Move financial acls for membership to extension + ([22677](https://github.com/civicrm/civicrm-core/pull/22677))** -- **[REF] Cleanup billingBlock.js ([22713](https://github.com/civicrm/civicrm-core/pull/22713))** +- **APIv4 - remove unnecessary field from System::check + ([22748](https://github.com/civicrm/civicrm-core/pull/22748))** -- **Format money in custom fields once, on the tpl layer ([22728](https://github.com/civicrm/civicrm-core/pull/22728))** +- **APIv4 - Add fixme about filtering custom fields by sub-type + ([22827](https://github.com/civicrm/civicrm-core/pull/22827))** -- **5.47 ([22743](https://github.com/civicrm/civicrm-core/pull/22743))** +- **Cleanup around taxTerm assignment + ([22422](https://github.com/civicrm/civicrm-core/pull/22422))** -- **Bypass grumpy mode for contribution search totals & criteria ([22744](https://github.com/civicrm/civicrm-core/pull/22744))** +- **RecurForms test fixes + ([22784](https://github.com/civicrm/civicrm-core/pull/22784))** -- **Move acl check for contributionView to the extension ([22684](https://github.com/civicrm/civicrm-core/pull/22684))** +- **Update unit test to use exception + ([22787](https://github.com/civicrm/civicrm-core/pull/22787))** -- **Fix deprecated warnings, smary grumpy-mode issues in legacy searches ([22742](https://github.com/civicrm/civicrm-core/pull/22742))** +- **Added Cancel Recur Subscription test & setter for `supports` on Dummy + processor ([21895](https://github.com/civicrm/civicrm-core/pull/21895))** -- **5.47 ([22738](https://github.com/civicrm/civicrm-core/pull/22738))** +- **Move HookInterface to \Civi\Core namespace + ([22834](https://github.com/civicrm/civicrm-core/pull/22834))** -- **5.47 ([22735](https://github.com/civicrm/civicrm-core/pull/22735))** +- **Cody tidy in CRM_Core_State + ([22841](https://github.com/civicrm/civicrm-core/pull/22841))** -- **Add civicrm_admin_ui extension ([22628](https://github.com/civicrm/civicrm-core/pull/22628))** +- **Remove reference to undefined variable + ([22839](https://github.com/civicrm/civicrm-core/pull/22839))** -- **APIv4 - Fix setting/getting a multi-record customfield with date+time ([22731](https://github.com/civicrm/civicrm-core/pull/22731))** +- **added as a contributor + ([22876](https://github.com/civicrm/civicrm-core/pull/22876))** -- **Move financial acls for membership to extension ([22677](https://github.com/civicrm/civicrm-core/pull/22677))** +- **Remove unused parameter, pass-by-ref + ([22756](https://github.com/civicrm/civicrm-core/pull/22756))** -- **APIv4 Explorer - Add REST syntax ([22722](https://github.com/civicrm/civicrm-core/pull/22722))** +- **Bump karma from 6.3.14 to 6.3.16 + ([22875](https://github.com/civicrm/civicrm-core/pull/22875))** -- **Show customised fields on load, if customised option selected. ([22380](https://github.com/civicrm/civicrm-core/pull/22380))** +- **Bump karma from 6.3.4 to 6.3.14 + ([22758](https://github.com/civicrm/civicrm-core/pull/22758))** -- **[NFC] Batch entry - Avoid warnings when performing math on empty string. ([22715](https://github.com/civicrm/civicrm-core/pull/22715))** +- **Bump ajv from 6.6.1 to 6.12.6 + ([22761](https://github.com/civicrm/civicrm-core/pull/22761))** -- **5.47 ([22723](https://github.com/civicrm/civicrm-core/pull/22723))** +- **Remove unit tests based on older framework + ([71](https://github.com/civicrm/civicrm-drupal-8/pull/71))** -- **dev/core#3057 - follow-up to fix civigrant info.xml version number in master ([22721](https://github.com/civicrm/civicrm-core/pull/22721))** +- **REF - Use function to get component name from permission + ([22688](https://github.com/civicrm/civicrm-core/pull/22688))** -- **5.47 ([22718](https://github.com/civicrm/civicrm-core/pull/22718))** +- **[REF] Simplify Location::getValues + ([22757](https://github.com/civicrm/civicrm-core/pull/22757))** -- **SearchKit - Improve import UI to handle update & preview the import ([22699](https://github.com/civicrm/civicrm-core/pull/22699))** +- **[REF] Fix issue where spaces in payment_processor_type.name field cau… + ([22760](https://github.com/civicrm/civicrm-core/pull/22760))** -- **Switch extension downloader and extensions feed to use Guzzle HTTP library ([21097](https://github.com/civicrm/civicrm-core/pull/21097))** +- **[REF] Cleanup billingBlock.js + ([22713](https://github.com/civicrm/civicrm-core/pull/22713))** -- **REF - Use function to get component name from permission ([22688](https://github.com/civicrm/civicrm-core/pull/22688))** +- **[REF] Results of running npm audit fix + ([22773](https://github.com/civicrm/civicrm-core/pull/22773))** -- **Use valid syntax for self-closing br elements ([22711](https://github.com/civicrm/civicrm-core/pull/22711))** +- **[REF] - Deprecate & delegate BAO::retrieve functions + ([22543](https://github.com/civicrm/civicrm-core/pull/22543))** -- **Add basic contribution example base for contribution workflows ([22636](https://github.com/civicrm/civicrm-core/pull/22636))** +- **REF Deprecate API3 _ipn_process_transaction() + ([22488](https://github.com/civicrm/civicrm-core/pull/22488))** -- **Notice fixes ([22706](https://github.com/civicrm/civicrm-core/pull/22706))** +- **(REF) CRM_Queue_Queue_* - Retain a copy of `$queueSpec` + ([22797](https://github.com/civicrm/civicrm-core/pull/22797))** -- **Enotice fix ([22707](https://github.com/civicrm/civicrm-core/pull/22707))** +- **(REF) CRM_Queue_Task - Tighter signature + ([22794](https://github.com/civicrm/civicrm-core/pull/22794))** -- **civicrm_handler_filter_pseudo_constant - Guard against old or inactive pseudoconstants ([656](https://github.com/civicrm/civicrm-drupal/pull/656))** +- **[REF] Remove old require_once statements made obsolete by autoloader + ([22792](https://github.com/civicrm/civicrm-core/pull/22792))** -- **Views - CiviGrant is now an extension ([654](https://github.com/civicrm/civicrm-drupal/pull/654))** +- **[REF] Simplification in Contact::getValues + ([22765](https://github.com/civicrm/civicrm-core/pull/22765))** -- **Remove unit tests based on older framework ([71](https://github.com/civicrm/civicrm-drupal-8/pull/71))** +- **[REF] Fix css code style issues + ([22807](https://github.com/civicrm/civicrm-core/pull/22807))** -- **Fixes fatal error - function doesn't exist ([275](https://github.com/civicrm/civicrm-wordpress/pull/275))** +- **[REF] Remove unused api v2 function + ([22819](https://github.com/civicrm/civicrm-core/pull/22819))** -- **5.47 ([274](https://github.com/civicrm/civicrm-wordpress/pull/274))** +- **[REF] Update Guzzlehttp/psr7 version to be 1.8.5 + ([22998](https://github.com/civicrm/civicrm-core/pull/22998))** -## Miscellany +- **[REF] Rename SoftDeleteEntity -> SoftDeleteActionTrait + ([22944](https://github.com/civicrm/civicrm-core/pull/22944))** + +- **[REF] APIv4 - use entityTypes event to load custom records + ([22824](https://github.com/civicrm/civicrm-core/pull/22824))** + +- **[REF] Cleanup docblocks & unused vars in Membership BAO + ([22665](https://github.com/civicrm/civicrm-core/pull/22665))** + +- **(NFC) tests/phpunit/CRM/Queue - Add common `@group` + ([22795](https://github.com/civicrm/civicrm-core/pull/22795))** + +- **[NFC] Rename RecurForms test class + ([22820](https://github.com/civicrm/civicrm-core/pull/22820))** + +- **[NFC] Batch entry - Avoid warnings when performing math on empty string. + ([22715](https://github.com/civicrm/civicrm-core/pull/22715))** + +- **(NFC) contributor-key.yml - Fix syntax error + ([22921](https://github.com/civicrm/civicrm-core/pull/22921))** + +- **(NFC) LoggingDetailTest - Improve reliability of test + ([22867](https://github.com/civicrm/civicrm-core/pull/22867))** + +- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day + ([22860](https://github.com/civicrm/civicrm-core/pull/22860))** + +- **[NFC] Basic case create test with org + ([22846](https://github.com/civicrm/civicrm-core/pull/22846))** ## Credits This release was developed by the following code authors: -AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; dependabot[bot]; Fuzion - Luke Stewart; Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Registered Nurses' Association of Ontario - Ian Wilson; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green +AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley +Taylor;Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman +Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Luke Stewart; +Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee; +John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon +Goldberg; MJW Consulting - Matthew Wire; Registered Nurses' Association of +Ontario - Ian Wilson; Tadpole Collective - Kevin Cristiano; Wikimedia +Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Bluehorn Digital - Matt Glaman; BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Luke Stewart; Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green +Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan +Dixon; Bluehorn Digital - Matt Glaman; CiviCoop - Jaap Jansma; CiviDesk - +Yashodha Chaku; Progressive Technology Project - Jamie McClelland; Semper IT - +Karin Gerritsen; Skvare - Mark Hanna ## Feedback -- 2.25.1