From: Alice Frumin Date: Mon, 9 Nov 2020 20:34:58 +0000 (-0600) Subject: 5.32 release notes X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=7745068d27d5f5d31300f8df2a5f56ba14689b72;p=civicrm-core.git 5.32 release notes --- diff --git a/contributor-key.yml b/contributor-key.yml index 48a2c548d2..980c98f3ee 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -819,6 +819,8 @@ name : Justin Freeman organization: Agileware +- github : jvos + - github : kainuk name : Klaas Eikelboom organization: CiviCoop @@ -983,6 +985,10 @@ organization: Circle Interactive jira : marshCircle +- github : masetto + organization: PERORA SRL + name : Samuele Masetto + - github : mathavanveda name : Mathavan Veeramuthu organization: Veda Consulting @@ -1003,6 +1009,10 @@ name : Martin Hansen organization: PeaceWorks Technology Solutions +- github : maxtsero + name : Max Tsero + organization: Atomic Development + - github : mc0e name : Andrew McNaughton jira : mc0e @@ -1028,6 +1038,10 @@ organization: Electronic Frontier Foundation jira : mfb +- github : mglaman + name : Matt Glaman + organization: Centarro + - github : mgribaudo name : Marcello Gribaudo jira : mgribaudo diff --git a/release-notes/5.32.0.md b/release-notes/5.32.0.md index 2acf7169d2..c78fa24d18 100644 --- a/release-notes/5.32.0.md +++ b/release-notes/5.32.0.md @@ -13,354 +13,579 @@ Released December 2, 2020 | *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?** | **yes** | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features ### Core CiviCRM -- **crm- Missing Summary ([18913](https://github.com/civicrm/civicrm-core/pull/18913))** +- **Display public title and description on profiles and unsubscribe/subscribe + forms as appropriate if set + ([18645](https://github.com/civicrm/civicrm-core/pull/18645))** -- **CRM-5048 Missing Summary ([18859](https://github.com/civicrm/civicrm-core/pull/18859))** + Starts to make use of the new front end title and description fields on + unsubscribe, subscribe and user dashboard pages. -- **CRM-9362 Missing Summary ([18411](https://github.com/civicrm/civicrm-core/pull/18411))** +- **Allow custom fields of type Autocomplete-Select to be multivalued + ([18449](https://github.com/civicrm/civicrm-core/pull/18449))** -- **CRM- Missing Summary ([115](https://github.com/civicrm/civicrm-backdrop/pull/115))** + Adds support for multi-select for auto-complete custom fields. -## Bugs resolved - -### Core CiviCRM +- **Add more columns for Activity Report (Work towards + [dev/core#2104](https://lab.civicrm.org/dev/core/-/issues/2104): + [18827](https://github.com/civicrm/civicrm-core/pull/18827) and + [18840](https://github.com/civicrm/civicrm-core/pull/18840))** -- **get log date from tables available in query with data instead of last table ([18868](https://github.com/civicrm/civicrm-core/pull/18868))** + Improves the Activity Report by adding columns for: + - Birth Date of the target contact + - Gender of the target contact -- **Adds performance improvement when browsing the report logs ([18851](https://github.com/civicrm/civicrm-core/pull/18851))** +- **More accurate language around social media sharing + ([18743](https://github.com/civicrm/civicrm-core/pull/18743))** -- **Schema handler fixes ([18932](https://github.com/civicrm/civicrm-core/pull/18932))** + Improves user experience by clarifying language around social media sharing. -- **5.31.0 - Set version. Update notes. ([18933](https://github.com/civicrm/civicrm-core/pull/18933))** +- **Adds performance improvement when browsing the report logs + ([18851](https://github.com/civicrm/civicrm-core/pull/18851))** -- **5.31 ([18931](https://github.com/civicrm/civicrm-core/pull/18931))** + Improves performance when browsing the logs. -- **closes financial/#156: Set contribution status to refunded even if cancelled_payment_id is set ([18930](https://github.com/civicrm/civicrm-core/pull/18930))** +- **Clean up search actions in core to make them available from search builder + (Work Towards [dev/core#2066](https://lab.civicrm.org/dev/core/-/issues/2066): + [18773](https://github.com/civicrm/civicrm-core/pull/18773), + [18783](https://github.com/civicrm/civicrm-core/pull/18783), + [18768](https://github.com/civicrm/civicrm-core/pull/18768) and + [18767](https://github.com/civicrm/civicrm-core/pull/18767))** -- **dev/core#2166 - E_NOTICE when deleting mail account ([18927](https://github.com/civicrm/civicrm-core/pull/18927))** + Preliminary cleanup of code to move towards making search actions available + from search builder. -- **dev/mail#2141 - MailSettings - Add button+API for testing a connection ([18911](https://github.com/civicrm/civicrm-core/pull/18911))** +- **Lotsa new features for the Search Kit extension + ([18876](https://github.com/civicrm/civicrm-core/pull/18876))** -- **5.31 to master ([18923](https://github.com/civicrm/civicrm-core/pull/18923))** + Integrates Search Kit/Afform. Adds a standalone page for viewing search kit + displays. Adds first search kit display type "table". Adds search kit display + entity and UI. Adds CRUD form for managing saved search kit searches. -- **Add UI metadata for payment_processor_id on financialTrxn ([18917](https://github.com/civicrm/civicrm-core/pull/18917))** +- **Search ext: Add links to search admin and improve links in displays + ([18909](https://github.com/civicrm/civicrm-core/pull/18909))** -- **dev/core#2139 fix defaulting for multi-select custom fields ([18907](https://github.com/civicrm/civicrm-core/pull/18907))** + Improves links in search kit results. -- **Search ext: Fix validation and saving on search admin screen ([18919](https://github.com/civicrm/civicrm-core/pull/18919))** +- **SavedSearch - Add name and label columns + ([18809](https://github.com/civicrm/civicrm-core/pull/18809))** -- **dev/core#2141 - Add "oauth-client" extension (hidden) ([18914](https://github.com/civicrm/civicrm-core/pull/18914))** + Adds 2 database columns: `name` and `label` for the SavedSearch entity. This + is needed by the new Search Kit extension. -- **dev/core#2148 - Incorrect use of ts, quotes, escape in log call ([18864](https://github.com/civicrm/civicrm-core/pull/18864))** +- **Add entity paths to schema & APIv4 + ([18887](https://github.com/civicrm/civicrm-core/pull/18887))** -- **Use standard names for entity paths and add a few more paths ([18915](https://github.com/civicrm/civicrm-core/pull/18915))** + Adds metadata to some entities (hopefully more will be added in the + future) for the paths at which they can be created/updated/viewed/deleted. The + metadata is accessed via the DAO, and exposed to APIv4. -- **CRM_Core_Error::formatFooException - Don't bomb on 'Error' ([18910](https://github.com/civicrm/civicrm-core/pull/18910))** +- **Use standard names for entity paths and add a few more paths + ([18915](https://github.com/civicrm/civicrm-core/pull/18915))** -- **Search ext: Add links to search admin and improve links in displays ([18909](https://github.com/civicrm/civicrm-core/pull/18909))** + Standardizes entity paths. -- **dev/core#2141 - composer.json - Require league/oauth2-{client,google} ([18908](https://github.com/civicrm/civicrm-core/pull/18908))** +- **APIv4 - Add `$result->single()` helper + ([18871](https://github.com/civicrm/civicrm-core/pull/18871))** -- **5.31 ([18904](https://github.com/civicrm/civicrm-core/pull/18904))** + Improves developer-experience when using APIv4 by adding a helper function to + retrieve just one result. -- **dev/core#2043 Remove instance of pass-by-ref ([18802](https://github.com/civicrm/civicrm-core/pull/18802))** +- **Update CRM_Utils_Constant::value to support env variables + ([18806](https://github.com/civicrm/civicrm-core/pull/18806))** -- **Move call to update related pledges on contribution cancel to extension ([18894](https://github.com/civicrm/civicrm-core/pull/18894))** + Extends the ability to set a variable using env to any variable accessed via + CRM_Utils_Constant::value. -- **Remove IPN reference to _relatedObjects, deprecate property ([18895](https://github.com/civicrm/civicrm-core/pull/18895))** +- **Angular Loader: Allow modules to specify permissions to add client-side + ([18754](https://github.com/civicrm/civicrm-core/pull/18754))** -- **[Ref] Simplify params ([18896](https://github.com/civicrm/civicrm-core/pull/18896))** + Makes it possible for angular modules to define permissions. -- **[REF] Simplify use of shared code. ([18900](https://github.com/civicrm/civicrm-core/pull/18900))** +- **AngularLoader: Support 'settingsFactory' callbacks in angular modules. + ([18731](https://github.com/civicrm/civicrm-core/pull/18731))** -- **Remove deprecated code ([18903](https://github.com/civicrm/civicrm-core/pull/18903))** + Allows Angular modules with complex/expensive data to provide it with a + callback, which will only be invoked if the module is actively loaded on the + page. -- **Add postProcess hook to MessageTemplates ([18807](https://github.com/civicrm/civicrm-core/pull/18807))** +### CiviContribute -- **[REF] Remove silly if ([18897](https://github.com/civicrm/civicrm-core/pull/18897))** +- **Use of tags for labels on Contribution Amounts tab gives them unique + styling + ([dev/user-interface#34](https://lab.civicrm.org/dev/user-interface/-/issues/34): + [18850](https://github.com/civicrm/civicrm-core/pull/18850))** -- **dev/core#2141 - Add hook_civicrm_alterMailStore ([18902](https://github.com/civicrm/civicrm-core/pull/18902))** + Makes the look and feel when configuring Contribution Forms more consistent. -- **[Ref] Move sending the email back out of the recur function ([18852](https://github.com/civicrm/civicrm-core/pull/18852))** +- **[Meta] Does CiviCRM have a single defined application HTTP entry point which + routes all requests? + (Work Towards [dev/cloud-native#16](https://lab.civicrm.org/dev/cloud-native/-/issues/16): + [17969](https://github.com/civicrm/civicrm-core/pull/17969))** -- **5.31 to master ([18893](https://github.com/civicrm/civicrm-core/pull/18893))** + Migrates the Contribution Page widget extern url to use the normal CMS routing + mechanism. -- **dev/core#927 Move handling of participant.cancel from BaseIPN to contributioncancelactions ([18881](https://github.com/civicrm/civicrm-core/pull/18881))** +- **Add UI metadata for payment_processor_id on financialTrxn + ([18917](https://github.com/civicrm/civicrm-core/pull/18917))** -- **[Ref] Use direct version of participant id ([18882](https://github.com/civicrm/civicrm-core/pull/18882))** + Improve metadata for `financialTrxn`. -- **Hack away at false negative test fails ([18892](https://github.com/civicrm/civicrm-core/pull/18892))** +### CiviMail -- **5.31 ([18891](https://github.com/civicrm/civicrm-core/pull/18891))** +- **OAuth2 administration (email focus) (Work Towards + [dev/core#2141](https://lab.civicrm.org/dev/core/-/issues/2141): + [18902](https://github.com/civicrm/civicrm-core/pull/18902), + [18914](https://github.com/civicrm/civicrm-core/pull/18914), + [18885](https://github.com/civicrm/civicrm-core/pull/18885) and + [18908](https://github.com/civicrm/civicrm-core/pull/18908))** -- **Add entity paths to schema & APIv4 ([18887](https://github.com/civicrm/civicrm-core/pull/18887))** + Adds a new hook `hook_civicrm_alterMailStore` which can be used to add or + modify a driver. Adds a hidden `oauth-client` extension for connecting to + OAuth2-based-web-services. Adds a UI to "Add Mail Account". Adds two + libraries: "league/oauth2-client" and "league/oauth2-google". -- **Lotsa new features for the Search Kit extension ([18876](https://github.com/civicrm/civicrm-core/pull/18876))** +- **MailSettings - Add button+API for testing a connection + ([18911](https://github.com/civicrm/civicrm-core/pull/18911))** -- **Deprecate hook_civicrm_crudLink ([18888](https://github.com/civicrm/civicrm-core/pull/18888))** + Adds a button (and API action) to the Edit Mail Account form to test the + connection. -- **dev/core#2141 - "Add Mail Account" - Allow hookable listing of setup links ([18885](https://github.com/civicrm/civicrm-core/pull/18885))** +- **Add postProcess hook to MessageTemplates + ([18807](https://github.com/civicrm/civicrm-core/pull/18807))** -- **(NFC) Fix typo in Money valueFormat depretation warning ([18886](https://github.com/civicrm/civicrm-core/pull/18886))** + Makes it so extension developers can use the 'postProcess' hook to access + 'MessageTemplates'. -- **/dev/core#2152: Merge contacts keep case roles ([18884](https://github.com/civicrm/civicrm-core/pull/18884))** +### WordPress Integration -- **Remove always-true & otherwise silly if ([18883](https://github.com/civicrm/civicrm-core/pull/18883))** +- **MySQL socket while using CiviCRM installer + ([dev/wordpress#35](https://lab.civicrm.org/dev/wordpress/-/issues/35): + [18913](https://github.com/civicrm/civicrm-core/pull/18913))** -- **Fix extension generated DAO files to pass civilint ([18879](https://github.com/civicrm/civicrm-core/pull/18879))** + Ensures `civicrm-setup` can handle database connections with unix sockets. -- **Merge branch 5.31 into master ([18875](https://github.com/civicrm/civicrm-core/pull/18875))** +## Bugs resolved -- **Participant Calculate/Fees: fix ts usage, simplify wording ([18874](https://github.com/civicrm/civicrm-core/pull/18874))** +### Core CiviCRM -- **dev/core#1879 Fix inconsistent ability to view event information ([18712](https://github.com/civicrm/civicrm-core/pull/18712))** +- **Fix main contact uf url on merge screen + ([18742](https://github.com/civicrm/civicrm-core/pull/18742))** -- **Show only Active SMS provider List on Mass SMS form ([18867](https://github.com/civicrm/civicrm-core/pull/18867))** + Ensures the UF url of the main contact on the merge screen points to the + correct user. -- **dev/core#2150 Re-enact the recapture validation by validating the res… ([18872](https://github.com/civicrm/civicrm-core/pull/18872))** +- **Fix sendconfirmation api to override receipt params + ([18789](https://github.com/civicrm/civicrm-core/pull/18789))** -- **APIv4 - Add `$result->single()` helper ([18871](https://github.com/civicrm/civicrm-core/pull/18871))** + Ensures params in `sendconfirmation` API take precedence over receipt params. -- **ClassLoader - Fix autoloading of `API_Exception` ([18870](https://github.com/civicrm/civicrm-core/pull/18870))** +- **"Non-static method CRM_Contact_Page_AJAX::pdfFormat() should not be called + statically" when changing the page format on print/merge document + ([dev/core#2110](https://lab.civicrm.org/dev/core/-/issues/2110): + [18726](https://github.com/civicrm/civicrm-core/pull/18726))** -- **Refactor entityParams in Order.Create API so it is easier to understand/modify ([18306](https://github.com/civicrm/civicrm-core/pull/18306))** + Fixes notices when generating PDFs. -- **(core/dev#2104) Add gender column for target contact to activity report ([18840](https://github.com/civicrm/civicrm-core/pull/18840))** +- **updated italian provinces + ([18859](https://github.com/civicrm/civicrm-core/pull/18859))** -- **dev/core#927 Move cancelling of related memberships to extension from BaseIPN ([18853](https://github.com/civicrm/civicrm-core/pull/18853))** + Ensures that the right abbreviations are used for Italian provinces. -- **Move filtering of unpermitted options for reports/ search select to financialacl extension ([18849](https://github.com/civicrm/civicrm-core/pull/18849))** +- **APIv4 Activity::update() causes target contacts and assignees to be deleted + ([dev/core#1428](https://lab.civicrm.org/dev/core/-/issues/1428): + [18720](https://github.com/civicrm/civicrm-core/pull/18720))** -- **dev/core#2146 - Long unicode contact names get truncated badly causing a crash ([18862](https://github.com/civicrm/civicrm-core/pull/18862))** + Adds a test. -- **APIv4 - Fix type coersion of non-string input ([18860](https://github.com/civicrm/civicrm-core/pull/18860))** +- **APIv4 - Fix type coersion of non-string input + ([18860](https://github.com/civicrm/civicrm-core/pull/18860))** -- **Remove meaningless legacy code ([18856](https://github.com/civicrm/civicrm-core/pull/18856))** + Fixes APIv4 to not accidentally change non-string input to string. -- **5.31 ([18861](https://github.com/civicrm/civicrm-core/pull/18861))** +- **Participant Calculate/Fees: fix ts usage, simplify wording + ([18874](https://github.com/civicrm/civicrm-core/pull/18874))** -- **Fix campaign_id handling for batch entry ([18792](https://github.com/civicrm/civicrm-core/pull/18792))** + Fixes an incorrect use of ts, which assumes how strings can be concatenated. + It also makes it difficult to use Word Replacements. -- **Set id after save for the mailing component in the postProcess ([18808](https://github.com/civicrm/civicrm-core/pull/18808))** +- **Cancel first contribution associated to membership, cancels the membership + ([dev/core#927](https://lab.civicrm.org/dev/core/-/issues/927): + [18814](https://github.com/civicrm/civicrm-core/pull/18814), + [18812](https://github.com/civicrm/civicrm-core/pull/18812), + [18853](https://github.com/civicrm/civicrm-core/pull/18853), + [18786](https://github.com/civicrm/civicrm-core/pull/18786), + [18881](https://github.com/civicrm/civicrm-core/pull/18881), + [18813](https://github.com/civicrm/civicrm-core/pull/18813) and + [18784](https://github.com/civicrm/civicrm-core/pull/18784))** -- **Move CRM_Member_BAO_MembershipType::getPermissionedMembershipTypes to financial acl extension ([18848](https://github.com/civicrm/civicrm-core/pull/18848))** +- **When default changed for an alphanumeric multi-select custom field + defaulting breaks for that field on backend + forms.([dev/core#2139](https://lab.civicrm.org/dev/core/-/issues/2139): + [18907](https://github.com/civicrm/civicrm-core/pull/18907))** -- **backdrop#116 Override sessionStart function and use backdrop function… ([18745](https://github.com/civicrm/civicrm-core/pull/18745))** +- **Long cyrillic names give error Data too long for column sort_name when + saving a contact + ([dev/core#2146](https://lab.civicrm.org/dev/core/-/issues/2146): + [18862](https://github.com/civicrm/civicrm-core/pull/18862))** -- **Get phone_type by name. dev/core#2138 ([18842](https://github.com/civicrm/civicrm-core/pull/18842))** +- **Incorrect use of quotes and escape and ts in CRM_Core_DAO::copyValues + ([dev/core#2148](https://lab.civicrm.org/dev/core/-/issues/2148): + [18864](https://github.com/civicrm/civicrm-core/pull/18864))** -- **dev/user-interface#34 Replace with on ContributionPage configuration Amount tab ([18850](https://github.com/civicrm/civicrm-core/pull/18850))** +- **CiviCRM reCAPTCHA Util not validating user tokens on form submission + ([dev/core#2150](https://lab.civicrm.org/dev/core/-/issues/2150): + [18872](https://github.com/civicrm/civicrm-core/pull/18872) and + [311](https://github.com/civicrm/civicrm-packages/pull/311))** -- **dev/financial#152 [REF] Clean up interaction with contribution recur object ([18835](https://github.com/civicrm/civicrm-core/pull/18835))** +- **Fix the Test Result (1 failure / -190) + E2E.Core.PrevNextTest.testDeleteByCacheKey recurring test issue + ([dev/core#2029](https://lab.civicrm.org/dev/core/-/issues/2029): + [18846](https://github.com/civicrm/civicrm-core/pull/18846))** -- **dev/core#927 preliminary cleanup ([18813](https://github.com/civicrm/civicrm-core/pull/18813))** +- **Merge - ensure location entities remaining on deleted contacts have + is_primary integrity + ([dev/core#2047](https://lab.civicrm.org/dev/core/-/issues/2047): + [18555](https://github.com/civicrm/civicrm-core/pull/18555))** -- **dev/core#2029 exclude ornery test ([18846](https://github.com/civicrm/civicrm-core/pull/18846))** +- **Eliminate unused query on CRM_Core_BAO_CustomQuery::_construct + ([dev/core#2079](https://lab.civicrm.org/dev/core/-/issues/2079): + [18668](https://github.com/civicrm/civicrm-core/pull/18668))** -- **[REF] Determine values where they are needed rather than passing them around (in tested function) ([18837](https://github.com/civicrm/civicrm-core/pull/18837))** +- **get log date from tables available in query with data instead of last table + ([18868](https://github.com/civicrm/civicrm-core/pull/18868))** -- **5.31 to master ([18847](https://github.com/civicrm/civicrm-core/pull/18847))** +- **Search ext: Fix validation and saving on search admin screen + ([18919](https://github.com/civicrm/civicrm-core/pull/18919))** -- **dev/core#2140 Fix site path for Drupal 8 and 9 ([18843](https://github.com/civicrm/civicrm-core/pull/18843))** +- **CRM_Core_Error::formatFooException - Don't bomb on 'Error' + ([18910](https://github.com/civicrm/civicrm-core/pull/18910))** -- **5.31 ([18839](https://github.com/civicrm/civicrm-core/pull/18839))** +- **ClassLoader - Fix autoloading of `API_Exception` + ([18870](https://github.com/civicrm/civicrm-core/pull/18870))** -- **5.31 ([18836](https://github.com/civicrm/civicrm-core/pull/18836))** +- **SavedSearch: add UI_name index to upgrade script + ([18811](https://github.com/civicrm/civicrm-core/pull/18811))** -- **[REF] Minor extraction ([18829](https://github.com/civicrm/civicrm-core/pull/18829))** +- **Fix pluralize function for words like 'display' + ([18778](https://github.com/civicrm/civicrm-core/pull/18778))** -- **Remove a few lines of deprecated code ([18826](https://github.com/civicrm/civicrm-core/pull/18826))** +- **class.api.php: In remote api calls, allow referer and useragent to be set. + ([18400](https://github.com/civicrm/civicrm-core/pull/18400))** -- **(core/dev#2104) Add birth date column for target contact to activity … ([18827](https://github.com/civicrm/civicrm-core/pull/18827))** +- **Typo in call to fixSchemaDifferencesForAll + ([18762](https://github.com/civicrm/civicrm-core/pull/18762))** -- **[REF] Include contributioncancelactions extension in dismaker and reg… ([18825](https://github.com/civicrm/civicrm-core/pull/18825))** +- **Rationalise date formatting + ([18805](https://github.com/civicrm/civicrm-core/pull/18805))** -- **dev/core#927 Remove code to update recur on cancel & fail where there is no recur ([18814](https://github.com/civicrm/civicrm-core/pull/18814))** +### CiviCampaign -- **[REF] Extract handling for loading contribution recur object. ([18746](https://github.com/civicrm/civicrm-core/pull/18746))** +- **Fix campaign_id handling for batch entry + ([18792](https://github.com/civicrm/civicrm-core/pull/18792))** -- **5.31 ([18818](https://github.com/civicrm/civicrm-core/pull/18818))** + Fixes a bug whereby `campaign_id` is not updated on batch entry if it has been + added to the profile. -- **(NFC) dev/core#2029 - Make assertions in PrevNextTest more skimmable ([18822](https://github.com/civicrm/civicrm-core/pull/18822))** +### CiviCase -- **dev/core#2115 Move some more financialacl code to a hook within the extension ([18740](https://github.com/civicrm/civicrm-core/pull/18740))** +- **Merging contacts removes case roles + ([dev/core#2152](https://lab.civicrm.org/dev/core/-/issues/2152): + [18884](https://github.com/civicrm/civicrm-core/pull/18884))** -- **dev/financial#152 move code only relevant to repeattransaction into that function ([18815](https://github.com/civicrm/civicrm-core/pull/18815))** +### CiviContribute -- **dev/core#927 Enable contribution cancel actions extension ([18812](https://github.com/civicrm/civicrm-core/pull/18812))** +- **finish 'this round' of completeOrder cleanup + ([dev/financial#152](https://lab.civicrm.org/dev/financial/-/issues/152): + [18631](https://github.com/civicrm/civicrm-core/pull/18631), + [18734](https://github.com/civicrm/civicrm-core/pull/18734), + [18732](https://github.com/civicrm/civicrm-core/pull/18732), + [18733](https://github.com/civicrm/civicrm-core/pull/18733), + [18728](https://github.com/civicrm/civicrm-core/pull/18728), + [18629](https://github.com/civicrm/civicrm-core/pull/18629), + [18835](https://github.com/civicrm/civicrm-core/pull/18835), + [18730](https://github.com/civicrm/civicrm-core/pull/18730), + [18729](https://github.com/civicrm/civicrm-core/pull/18729). + [18737](https://github.com/civicrm/civicrm-core/pull/18737), + [18735](https://github.com/civicrm/civicrm-core/pull/18735), + [18744](https://github.com/civicrm/civicrm-core/pull/18744), + [18736](https://github.com/civicrm/civicrm-core/pull/18736) and + [18815](https://github.com/civicrm/civicrm-core/pull/18815))** -- **Rationalise date formatting ([18805](https://github.com/civicrm/civicrm-core/pull/18805))** + Cleans up how `completeOrder` deals with `payment_processor_id` (solely as an + input param). -- **SavedSearch: add UI_name index to upgrade script ([18811](https://github.com/civicrm/civicrm-core/pull/18811))** +- **Thank-you letter incorrect contribution currency + ([dev/financial#111](https://lab.civicrm.org/dev/financial/-/issues/111): + [18714](https://github.com/civicrm/civicrm-core/pull/18714) and + [18715](https://github.com/civicrm/civicrm-core/pull/18715))** -- **dev/core#927 add first test on cancel ([18786](https://github.com/civicrm/civicrm-core/pull/18786))** + Ensures that when a contribution is made using a currency other than the + default currency, the contribution tokens: {contribution.total_amount} + {contribution.fee_amount} {contribution.net_amount} correctly display the + currency. -- **Update CRM_Utils_Constant::value to support env variables ([18806](https://github.com/civicrm/civicrm-core/pull/18806))** +- **PayPal payment processor uses deprecated methods, breaking functionality + (Work Towards [dev/core#2034](https://lab.civicrm.org/dev/core/-/issues/2034): + [18540](https://github.com/civicrm/civicrm-core/pull/18540))** -- **Declare support for cancelRecurring in manual processor ([18804](https://github.com/civicrm/civicrm-core/pull/18804))** + Fixes the PayPal standard cancel url. -- **Remove always-true IF ([18803](https://github.com/civicrm/civicrm-core/pull/18803))** +- **Declare support for cancelRecurring in manual processor + ([18804](https://github.com/civicrm/civicrm-core/pull/18804))** -- **dev/core#927 Add shell extension to move contribution cancel actions into ([18784](https://github.com/civicrm/civicrm-core/pull/18784))** + Ensure that when no processor id is present the cancel form is loaded (as + opposed to the enable-disable form). -- **SavedSearch - Add name and label columns ([18809](https://github.com/civicrm/civicrm-core/pull/18809))** +- **Refund status not set correctly when cancelled_payment_id is set + ([dev/financial#156](https://lab.civicrm.org/dev/financial/-/issues/156): + [18930](https://github.com/civicrm/civicrm-core/pull/18930))** -- **Display public title and description on profiles and unsubscribe/subs… ([18645](https://github.com/civicrm/civicrm-core/pull/18645))** +- **Contribution confirmation page should not display the name of payment + processor type ([17568](https://github.com/civicrm/civicrm-core/pull/17568))** -- **Remove always true if ([18801](https://github.com/civicrm/civicrm-core/pull/18801))** +- **PCP 'Your Message' should use WYSIWYG + ([18411](https://github.com/civicrm/civicrm-core/pull/18411))** -- **Add test for recurring links and clean up method of retrieving recurring ([18790](https://github.com/civicrm/civicrm-core/pull/18790))** +### CiviEvent -- **Replace BAO calls with api calls in test class ([18798](https://github.com/civicrm/civicrm-core/pull/18798))** +- **.ical files not populating correctly for sites with ACL's configured for + events ([dev/core#1879](https://lab.civicrm.org/dev/core/-/issues/1879): + [18712](https://github.com/civicrm/civicrm-core/pull/18712))** -- **Switch to calling api ([18797](https://github.com/civicrm/civicrm-core/pull/18797))** +### CiviMail -- **Switch to calling the api ([18796](https://github.com/civicrm/civicrm-core/pull/18796))** +- **Set id after save for the mailing component in the postProcess + ([18808](https://github.com/civicrm/civicrm-core/pull/18808))** -- **unit test for #18306 - order create api test for contribution ([18785](https://github.com/civicrm/civicrm-core/pull/18785))** +- **"Notice: Undefined index: domain" when deleting a mail account + ([dev/core#2166](https://lab.civicrm.org/dev/core/-/issues/2166): + [18927](https://github.com/civicrm/civicrm-core/pull/18927))** -- **Fix sendconfirmation api to override receipt params ([18789](https://github.com/civicrm/civicrm-core/pull/18789))** +- **crmMailing - Only load Angular settings if they're needed + ([18749](https://github.com/civicrm/civicrm-core/pull/18749))** -- **[Test] - Fix some tests to call API not BAO ([18795](https://github.com/civicrm/civicrm-core/pull/18795))** +### CiviSMS -- **Remove instances of variable variables ([18791](https://github.com/civicrm/civicrm-core/pull/18791))** +- **Error in the selected phone to send an SMS when the Mobile type label is + modified ([dev/core#2138](https://lab.civicrm.org/dev/core/-/issues/2138): + [18842](https://github.com/civicrm/civicrm-core/pull/18842))** -- **[Ref] Minor code extraction ([18739](https://github.com/civicrm/civicrm-core/pull/18739))** +- **Show only Active SMS provider List on Mass SMS form + ([18867](https://github.com/civicrm/civicrm-core/pull/18867))** -- **5.31 ([18788](https://github.com/civicrm/civicrm-core/pull/18788))** +### Backdrop Integration -- **dev/core#2034 Fix paypal standard cancel url ([18540](https://github.com/civicrm/civicrm-core/pull/18540))** +- **Override sessionStart function and use backdrop functions as appropriate + (related to + [backdrop#116](https://github.com/civicrm/civicrm-backdrop/issues/116): + [18745](https://github.com/civicrm/civicrm-core/pull/18745))** -- **dev/core#2066 Use shared function to set the next url ([18773](https://github.com/civicrm/civicrm-core/pull/18773))** + Overrides the backdrop Session start function in DrupalBase.php to use the + backdrop specific functions -- **dev/core#2066 Further cleanup on search actions ([18783](https://github.com/civicrm/civicrm-core/pull/18783))** +- **Resolve #110 Sync repo with CiviCRM-Drupal repo + ([115](https://github.com/civicrm/civicrm-backdrop/pull/115))** -- **Contribution confirmation page should not display the name of payment processor type ([17568](https://github.com/civicrm/civicrm-core/pull/17568))** +### Drupal Integration -- **Fix pluralize function for words like 'display' ([18778](https://github.com/civicrm/civicrm-core/pull/18778))** +- **Do not manually construct the site path during Drupal8+ setup + ([dev/core#2140](https://lab.civicrm.org/dev/core/-/issues/2140): + [18843](https://github.com/civicrm/civicrm-core/pull/18843))** -- **5.31 ([18777](https://github.com/civicrm/civicrm-core/pull/18777))** +- **D8 Install checks run via Drupal Status Report - gives misleading warnings. + ([dev/drupal#137](https://lab.civicrm.org/dev/drupal/-/issues/137): + [18581](https://github.com/civicrm/civicrm-core/pull/18581))** -- **[REF] Search ext: Reorganize code into modules ([18775](https://github.com/civicrm/civicrm-core/pull/18775))** +### Joomla Integration -- **class.api.php: In remote api calls, allow referer and useragent to be set. ([18400](https://github.com/civicrm/civicrm-core/pull/18400))** +- **[Joomla 4.0] CiviCRM cannot be installed on Joomla 4.0 alpha + ([dev/joomla#14](https://lab.civicrm.org/dev/joomla/-/issues/14): + [52](https://github.com/civicrm/civicrm-joomla/pull/52))** -- **5.31 to master ([18774](https://github.com/civicrm/civicrm-core/pull/18774))** +### Wordpress Integration -- **Test for event#43 ([18761](https://github.com/civicrm/civicrm-core/pull/18761))** +- **Protect against undefined index query in heartbeat callback + ([220](https://github.com/civicrm/civicrm-wordpress/pull/220))** -- **5.31 ([18770](https://github.com/civicrm/civicrm-core/pull/18770))** +## Miscellany -- **dev/core#2066 Extract getSelectedIDs ([18768](https://github.com/civicrm/civicrm-core/pull/18768))** +- **Schema handler fixes + ([18932](https://github.com/civicrm/civicrm-core/pull/18932))** -- **dev/core#2066 Use shared function to set the next url ([18767](https://github.com/civicrm/civicrm-core/pull/18767))** +- **[cq] Do not pass by reference where avoidable + ([dev/core#2043](https://lab.civicrm.org/dev/core/-/issues/2043): + [18802](https://github.com/civicrm/civicrm-core/pull/18802))** -- **Allow custom fields of type Autocomplete-Select to be multivalued ([18449](https://github.com/civicrm/civicrm-core/pull/18449))** +- **Move financialACLs to a core extension (Work Towards + [dev/core#2115](https://lab.civicrm.org/dev/core/-/issues/2115): + [18738](https://github.com/civicrm/civicrm-core/pull/18738) and + [18740](https://github.com/civicrm/civicrm-core/pull/18740))** -- **5.31 ([18764](https://github.com/civicrm/civicrm-core/pull/18764))** +- **Move call to update related pledges on contribution cancel to extension + ([18894](https://github.com/civicrm/civicrm-core/pull/18894))** -- **dev/drupal#137 - Alternate PR - On drupal status report need different check when civi is already installed ([18581](https://github.com/civicrm/civicrm-core/pull/18581))** +- **Move filtering of unpermitted options for reports/ search select to + financialacl extension + ([18849](https://github.com/civicrm/civicrm-core/pull/18849))** -- **Typo in call to fixSchemaDifferencesForAll ([18762](https://github.com/civicrm/civicrm-core/pull/18762))** +- **Move CRM_Member_BAO_MembershipType::getPermissionedMembershipTypes to + financial acl extension + ([18848](https://github.com/civicrm/civicrm-core/pull/18848))** -- **5.31 ([18757](https://github.com/civicrm/civicrm-core/pull/18757))** +- **Replace BAO calls with api calls in test class + ([18798](https://github.com/civicrm/civicrm-core/pull/18798))** -- **Angular Loader: Allow modules to specify permissions to add client-side ([18754](https://github.com/civicrm/civicrm-core/pull/18754))** +- **Switch to calling api + ([18797](https://github.com/civicrm/civicrm-core/pull/18797))** -- **5.31 to master ([18756](https://github.com/civicrm/civicrm-core/pull/18756))** +- **Switch to calling the api + ([18796](https://github.com/civicrm/civicrm-core/pull/18796))** -- **Extract setNextUrl ([18750](https://github.com/civicrm/civicrm-core/pull/18750))** +- **Extract setNextUrl + ([18750](https://github.com/civicrm/civicrm-core/pull/18750))** -- **crmMailing - Only load Angular settings if they're needed ([18749](https://github.com/civicrm/civicrm-core/pull/18749))** +- **Deprecate hook_civicrm_crudLink + ([18888](https://github.com/civicrm/civicrm-core/pull/18888))** -- **AngularLoader: Support 'settingsFactory' callbacks in angular modules. ([18731](https://github.com/civicrm/civicrm-core/pull/18731))** +- **Fix extension generated DAO files to pass civilint + ([18879](https://github.com/civicrm/civicrm-core/pull/18879))** -- **[REF] Replace long if block with early return ([18747](https://github.com/civicrm/civicrm-core/pull/18747))** +- **Hack away at false negative test fails + ([18892](https://github.com/civicrm/civicrm-core/pull/18892))** -- **dev/financial#152 simplify passed parameters ([18744](https://github.com/civicrm/civicrm-core/pull/18744))** +- **Remove always-true IF + ([18803](https://github.com/civicrm/civicrm-core/pull/18803))** -- **More accurate language around social media sharing ([18743](https://github.com/civicrm/civicrm-core/pull/18743))** +- **Remove always true if + ([18801](https://github.com/civicrm/civicrm-core/pull/18801))** -- **Fix main contact uf url on merge screen ([18742](https://github.com/civicrm/civicrm-core/pull/18742))** +- **Remove always-true & otherwise silly if + ([18883](https://github.com/civicrm/civicrm-core/pull/18883))** -- **dev/core#2115 remove reference to financialACLs in bounce ([18738](https://github.com/civicrm/civicrm-core/pull/18738))** +- **Remove IPN reference to _relatedObjects, deprecate property + ([18895](https://github.com/civicrm/civicrm-core/pull/18895))** -- **dev/financial#152 simplify interaction with membership, deprecate function ([18735](https://github.com/civicrm/civicrm-core/pull/18735))** +- **Remove deprecated code + ([18903](https://github.com/civicrm/civicrm-core/pull/18903))** -- **dev/financial#152 simplify passed parameters ([18736](https://github.com/civicrm/civicrm-core/pull/18736))** +- **Remove a few lines of deprecated code + ([18826](https://github.com/civicrm/civicrm-core/pull/18826))** -- **dev/core#2079 Eliminate unused query on CRM_Core_BAO_CustomQuery::_construct ([18668](https://github.com/civicrm/civicrm-core/pull/18668))** +- **Remove instances of variable variables + ([18791](https://github.com/civicrm/civicrm-core/pull/18791))** -- **[REF] Separate export form classes out & simplify task handling ([18589](https://github.com/civicrm/civicrm-core/pull/18589))** +- **Remove meaningless legacy code + ([18856](https://github.com/civicrm/civicrm-core/pull/18856))** -- **dev/core#2047 Fix merge code so that deleted contacts are not left without a primary address ([18555](https://github.com/civicrm/civicrm-core/pull/18555))** +- **Refactor entityParams in Order.Create API so it is easier to + understand/modify + ([18306](https://github.com/civicrm/civicrm-core/pull/18306))** -- **dev/financial#152 remove unused parameter ([18737](https://github.com/civicrm/civicrm-core/pull/18737))** +- **[REF] Minor simplification - don't use a variable for table name + ([18651](https://github.com/civicrm/civicrm-core/pull/18651))** -- **[REF] Minor simplification - don't use a variable for table name ([18651](https://github.com/civicrm/civicrm-core/pull/18651))** +- **[REF] Remove silly if + ([18897](https://github.com/civicrm/civicrm-core/pull/18897))** -- **dev/financial#152 Pass contribution directly to completeOrder ([18728](https://github.com/civicrm/civicrm-core/pull/18728))** +- **[Ref] Move sending the email back out of the recur function + ([18852](https://github.com/civicrm/civicrm-core/pull/18852))** -- **dev/financial#152 [REF] Extract getMembershipID ([18733](https://github.com/civicrm/civicrm-core/pull/18733))** +- **[Ref] Use direct version of participant id + ([18882](https://github.com/civicrm/civicrm-core/pull/18882))** -- **dev/financial#152 Remove unreachable code ([18734](https://github.com/civicrm/civicrm-core/pull/18734))** +- **[Ref] Simplify params + ([18896](https://github.com/civicrm/civicrm-core/pull/18896))** -- **[Test] Ensure all APIv4 entities have basic info ([18727](https://github.com/civicrm/civicrm-core/pull/18727))** +- **[REF] Simplify use of shared code. + ([18900](https://github.com/civicrm/civicrm-core/pull/18900))** -- **dev/financial#152 Remove unused parameters from BaseIPN->failed signature ([18732](https://github.com/civicrm/civicrm-core/pull/18732))** +- **[REF] Minor extraction + ([18829](https://github.com/civicrm/civicrm-core/pull/18829))** -- **dev/financial#152 Remove unused parameters from BaseIPN->cancelled signature ([18730](https://github.com/civicrm/civicrm-core/pull/18730))** +- **[REF] Determine values where they are needed rather than passing them + around (in tested function) + ([18837](https://github.com/civicrm/civicrm-core/pull/18837))** -- **dev/financial#152 Clean up & test contributionPageID handling ([18729](https://github.com/civicrm/civicrm-core/pull/18729))** +- **[REF] Include contributioncancelactions extension in dismaker and reg… + ([18825](https://github.com/civicrm/civicrm-core/pull/18825))** -- **dev/core#2110 - Warning "Non-static method CRM_Contact_Page_AJAX::pdfFormat() should not be called statically" when changing the page format on print/merge document ([18726](https://github.com/civicrm/civicrm-core/pull/18726))** +- **[REF] Extract handling for loading contribution recur object. + ([18746](https://github.com/civicrm/civicrm-core/pull/18746))** -- **dev/financial#152 [REF] Parse ids before sending to single function (minor simplification) ([18631](https://github.com/civicrm/civicrm-core/pull/18631))** +- **[REF] Replace long if block with early return + ([18747](https://github.com/civicrm/civicrm-core/pull/18747))** -- **dev/financial#152 [REF] Parse ids before sending to recur function (minor simplification) ([18629](https://github.com/civicrm/civicrm-core/pull/18629))** +- **[REF] Upgrade DomPDF to v0.8.6 + ([18688](https://github.com/civicrm/civicrm-core/pull/18688))** -- **dev/cloud-native#16 Migrate Contribution Page widget extern url to us… ([17969](https://github.com/civicrm/civicrm-core/pull/17969))** +- **[REF] Separate export form classes out & simplify task handling + ([18589](https://github.com/civicrm/civicrm-core/pull/18589))** -- **5.31 ([18725](https://github.com/civicrm/civicrm-core/pull/18725))** +- **[REF] Search ext: Reorganize code into modules + ([18775](https://github.com/civicrm/civicrm-core/pull/18775))** -- **dev/core#1428 Add test for Activity::update() ([18720](https://github.com/civicrm/civicrm-core/pull/18720))** +- **[Ref] Minor code extraction + ([18739](https://github.com/civicrm/civicrm-core/pull/18739))** -- **dev/financial#11 Expand unit test to ensure that the correct currency… ([18715](https://github.com/civicrm/civicrm-core/pull/18715))** +- **[Test] - Fix some tests to call API not BAO + ([18795](https://github.com/civicrm/civicrm-core/pull/18795))** -- **Financial#111: Contribution tokens always display amount with default… ([18714](https://github.com/civicrm/civicrm-core/pull/18714))** +- **[Test] Ensure all APIv4 entities have basic info + ([18727](https://github.com/civicrm/civicrm-core/pull/18727))** -- **[REF] Upgrade DomPDF to v0.8.6 ([18688](https://github.com/civicrm/civicrm-core/pull/18688))** +- **Test for event#43 + ([18761](https://github.com/civicrm/civicrm-core/pull/18761))** -- **Protect against undefined index query in heartbeat callback ([220](https://github.com/civicrm/civicrm-wordpress/pull/220))** +- **Add test for recurring links and clean up method of retrieving recurring + ([18790](https://github.com/civicrm/civicrm-core/pull/18790))** -- **(dev/joomla#14) Joomla 4.0 compatibility fixes ([52](https://github.com/civicrm/civicrm-joomla/pull/52))** +- **unit test for #18306 - order create api test for contribution + ([18785](https://github.com/civicrm/civicrm-core/pull/18785))** -- **dev/core#2150 Update checking of response function to work with v2 api ([311](https://github.com/civicrm/civicrm-packages/pull/311))** +- **(NFC) Fix typo in Money valueFormat depretation warning + ([18886](https://github.com/civicrm/civicrm-core/pull/18886))** -## Miscellany +- **(NFC) Make assertions in PrevNextTest more skimmable + ([dev/core#2029](https://lab.civicrm.org/dev/core/-/issues/2029): + [18822](https://github.com/civicrm/civicrm-core/pull/18822))** ## Credits This release was developed by the following code authors: -AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman, Pengyi Zhang; Andrew Thompson; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CiviFirst - John Kirk; CompuCorp - Debarshi Bhaumik; Coop SymbioTIC - Mathieu Lutfy; Dave D; Diego Muñio; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel, Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; masetto; Megaphone Technology Consulting - Jon Goldberg; mglaman; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin +Freeman, Pengyi Zhang; Andrew Thompson; Christian Wach; Circle Interactive - +Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; +CiviDesk - Sunil Pawar, Yashodha Chaku; CiviFirst - John Kirk; CompuCorp - +Debarshi Bhaumik; Coop SymbioTIC - Mathieu Lutfy; Dave D; Diego Muñio; Freeform +Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Luciano +Spiegel, Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; John +Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; mglaman; MJW +Consulting - Matthew Wire; Nicol Wistreich; PERORA SRL- Samuele Masetto; +Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; +Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -AGH Strategies - Alice Frumin; Agileware - Justin Freeman; Andrew Thompson; Artful Robot - Rich Lott; Australian Greens - John Twyman; Circle Interactive - Pradeep Nayak; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Diego Muñio; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Luke Stewart; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; jvos; Lighthouse Consulting and Design - Brian Shaughnessy; masetto; maxtsero; Megaphone Technology Consulting - Jon Goldberg; mglaman; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton +Artful Robot - Rich Lott; Atomic Development - Max Tsero; Australian Greens - +John Twyman; Centarro - Matt Glaman; Fuzion - Luke Stewart; Greenpeace Central +and Eastern Europe - Patrick Figel; JMA Consulting - Joe Murray; jvos; +Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology +Consulting - Jon Goldberg; MJCO - Mikey O'Toole; Semper IT - Karin Gerritsen; +Tadpole Collective - Kevin Cristiano; ## Feedback