From: Alice Frumin Date: Tue, 2 Jun 2020 02:16:34 +0000 (-0400) Subject: release-notes 5.26: annotating release notes X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=2419556369f3cd70db89b355d3e602228dca5f45;p=civicrm-core.git release-notes 5.26: annotating release notes --- diff --git a/contributor-key.yml b/contributor-key.yml index fbfaba907c..9a1c6a6e96 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -75,6 +75,9 @@ organization: AGH Strategies jira : alifrumin +- github : andyburnsco + name : Andy Burns + - github : amsharma9 name : Amal Sharma organization: Abhikalak Consultants @@ -574,6 +577,10 @@ organization: CompuCorp jira : guanhuan +- github : GuillaumeSorel + name : Guillaume Sorel + organization: All In Appli.com + - github : guyiac name : Guy Iaccarino organization: Greenleaf Advancement @@ -650,6 +657,10 @@ name : Matthijs Keijser organization: CiviCoop +- github : ivan-compucorp + name : Ivan + organization: CompuCorp + - github : jaapjansma name : Jaap Jansma organization: CiviCoop diff --git a/release-notes/5.26.0.md b/release-notes/5.26.0.md index b49dc57a5c..334c10338b 100644 --- a/release-notes/5.26.0.md +++ b/release-notes/5.26.0.md @@ -9,448 +9,759 @@ Released June 3, 2020 - **[Credits](#credits)** - **[Feedback](#feedback)** -## Features +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| Change the database schema? | **yes** | +| Alter the API? | **yes** | +| Require attention to configuration options? | **yes** | +| Fix problems installing or upgrading to a previous version? | **yes** | +| Introduce features? | **yes** | +| Fix bugs? | **yes** | -## Bugs resolved +## Features ### Core CiviCRM -- **dev/core#1784 fix regression on restore contacts button not working. ([17418](https://github.com/civicrm/civicrm-core/pull/17418))** +- **Create nl_BE translation + ([dev/translation#4](https://lab.civicrm.org/dev/translation/-/issues/4): + [17048](https://github.com/civicrm/civicrm-core/pull/17048), + [17027](https://github.com/civicrm/civicrm-core/pull/17027) and + [16966](https://github.com/civicrm/civicrm-core/pull/16966))** -- **Fixes a regression when cancelling a recurring with no processor_id ([17292](https://github.com/civicrm/civicrm-core/pull/17292))** + Adds a "Dutch (Belgium)" (shorthand: nl_BE) translation of CiviCRM which + heavily borrows from the existing "Dutch (Netherlands)" (nl_NL) translation + with a few changes. -- **Remove "page=CiviCRM" query string from WordPress front-end (5.26) ([17352](https://github.com/civicrm/civicrm-core/pull/17352))** +- **APIv4 - Allow field options to be returned in multiple formats + ([17167](https://github.com/civicrm/civicrm-core/pull/17167))** -- **Revert "[REF] Code readability changes on activity tokens." ([17365](https://github.com/civicrm/civicrm-core/pull/17365))** + Gives more flexibility about how options are returned from APIv4 and adds + visibility in the API explorer. -- **[REF] Fix install on Drupal 8 using new setup code ([17334](https://github.com/civicrm/civicrm-core/pull/17334))** +- **APIv4 - how do I interact with option values??? + ([dev/core#1705](https://lab.civicrm.org/dev/core/-/issues/1705): + [17158](https://github.com/civicrm/civicrm-core/pull/17158), + [17138](https://github.com/civicrm/civicrm-core/pull/17138) and + [17219](https://github.com/civicrm/civicrm-core/pull/17219))** -- **dev/core#1681 Add in deprecation notice for Systems using MySQL versions before 5.7 and require 5.5 for install ([17261](https://github.com/civicrm/civicrm-core/pull/17261))** + Adds support for pseudoconstants to APIv4. -- **[regression] Fix error on no MIME type ([17265](https://github.com/civicrm/civicrm-core/pull/17265))** +- **Add MessageTemplate api to v4 + ([17073](https://github.com/civicrm/civicrm-core/pull/17073))** -- **SyntaxConformanceTest::testSqlOperators - Fix failure on MySQL 8 ([17262](https://github.com/civicrm/civicrm-core/pull/17262))** + Adds new "MessageTemplate" entity to APIv4. -- **Add workflow_name column to civicrm_msg_template, deprecate workflow_id ([17227](https://github.com/civicrm/civicrm-core/pull/17227))** +- **APIv4 - Add support for HAVING clause + ([17015](https://github.com/civicrm/civicrm-core/pull/17015))** -- **[NFC/Test] - Fix typo in `if` statement that seems intended as a workaround ([17258](https://github.com/civicrm/civicrm-core/pull/17258))** + Adds support for using HAVING clauses in APIv4. -- **5.25 ([17252](https://github.com/civicrm/civicrm-core/pull/17252))** +- **APIv4 Query Improvements (Work Towards + [dev/report#31](https://lab.civicrm.org/dev/report/-/issues/31): + [17113](https://github.com/civicrm/civicrm-core/pull/17113) and + [17047](https://github.com/civicrm/civicrm-core/pull/17047))** -- **E2E_Core_HookTest - Fix test failure due to leak ([17251](https://github.com/civicrm/civicrm-core/pull/17251))** + Adds UI support for new APIv4 features specifically, SQL functions and aliases + are now available in the API explorer, as is the HAVING clause and GROUP BY + clause. -- **5.25 ([17248](https://github.com/civicrm/civicrm-core/pull/17248))** +- **End of life planning for MySQL server 5.0 - 5.6 (Work Towards + [dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681): + [17261](https://github.com/civicrm/civicrm-core/pull/17261))** -- **5.25 ([17243](https://github.com/civicrm/civicrm-core/pull/17243))** + Adds a deprecation notice for Systems using MySQL versions before 5.7 and + requires 5.5 to install. -- **dev/core#1739 Enable Longitude on Address editing by default (option 12) ([17238](https://github.com/civicrm/civicrm-core/pull/17238))** +- **allow inline help text title to be overriden + ([dev/core#1693](https://lab.civicrm.org/dev/core/-/issues/1693): + [16998](https://github.com/civicrm/civicrm-core/pull/16998))** -- **APIv4 - Fix schema map to use canonical field names ([17239](https://github.com/civicrm/civicrm-core/pull/17239))** + Makes it possible to override inline help text titles. -- **(REF) dev/core#1744 - Cleanup event naming ([17240](https://github.com/civicrm/civicrm-core/pull/17240))** +- **Update attachment message on mailing form. . + ([dev/core#1696](https://lab.civicrm.org/dev/core/-/issues/1696): + [17024](https://github.com/civicrm/civicrm-core/pull/17024))** -- **5.25 ([17236](https://github.com/civicrm/civicrm-core/pull/17236))** + Adds more help text to the attachment field on the mailing form. -- **dev/core#1742 Expose CiviCRM Database details for views configuration… ([17232](https://github.com/civicrm/civicrm-core/pull/17232))** +- **Allow override of inherited CMS language when in CiviCRM + ([17006](https://github.com/civicrm/civicrm-core/pull/17006))** -- **[REF] [Test] IDE cleanup on ReportTemplateTest ([17197](https://github.com/civicrm/civicrm-core/pull/17197))** + Makes it possible to override the CMS langhage when in CiviCRM. -- **Reporting #20 - correct stats when force=1 on Contribution Detail Report ([17234](https://github.com/civicrm/civicrm-core/pull/17234))** +- **Convert bcc field to use an entity reference. + ([17064](https://github.com/civicrm/civicrm-core/pull/17064))** -- **[REF] Simplify non-creditcard participant.create ([16584](https://github.com/civicrm/civicrm-core/pull/16584))** + Changes the bcc field on all email forms to use an entity reference + field. This simplifies the code and extends filtering on the field. -- **dev/core#57 On Behalf Of fails to populate in Email Receipt ([17026](https://github.com/civicrm/civicrm-core/pull/17026))** +- **Switch cc field on emailTrait to use entity reference + ([17129](https://github.com/civicrm/civicrm-core/pull/17129))** -- **APIv4 - Deprecate option_value joins and display notices in Explorer ([17235](https://github.com/civicrm/civicrm-core/pull/17235))** + Changes the cc field on all email forms to use an entity reference + field. This simplifies the code and extends filtering on the field. -- **(REF,NFC) TokenProcessor - Minor DX improvements ([17231](https://github.com/civicrm/civicrm-core/pull/17231))** +- **Introduce "civi.dao.preUpdate" and "civi.dao.preInsert" events + ([dev/core#1638](https://lab.civicrm.org/dev/core/-/issues/1638): + [16714](https://github.com/civicrm/civicrm-core/pull/16714))** -- **[REF] Permit domain tokens being used within Thank You letters ([17230](https://github.com/civicrm/civicrm-core/pull/17230))** + Makes it possible to use a hook to inspect the data of an Option Value prior + to it being created or updated. -- **Convert fatals to statusBounces in case forms ([17212](https://github.com/civicrm/civicrm-core/pull/17212))** +- **Add ID to custom group/field admin forms + ([17055](https://github.com/civicrm/civicrm-core/pull/17055))** -- **(REF) CRM_Utils_Hook - Remove deprecated formulations of `invoke(int,…)` ([17124](https://github.com/civicrm/civicrm-core/pull/17124))** + Exposes custom field/group IDs on admin forms. -- **dev/core#1460, dev/core#1713 - Categorical fix for upgrade<=>hook issues ([17126](https://github.com/civicrm/civicrm-core/pull/17126))** +- **Improve AngularJS performance with one-time binding for static strings + ([17050](https://github.com/civicrm/civicrm-core/pull/17050))** -- **Allow override of inherited CMS language when in CiviCRM ([17006](https://github.com/civicrm/civicrm-core/pull/17006))** + Improves performance of AngularJS forms. -- **dev/mail#62 - Mailing Error when civicrm_mailing_group has duplicate … ([17130](https://github.com/civicrm/civicrm-core/pull/17130))** +- **Allow setting metadata to use the `table` option. Update example setting + `default_invoice_page`. + ([16903](https://github.com/civicrm/civicrm-core/pull/16903))** -- **[REF] Switch CRM_Utils_Array::value to empty in conditionals ([17091](https://github.com/civicrm/civicrm-core/pull/17091))** + Adds a new option to setting metadata "table" and an example of how tot use + it. -- **Further removal of long-deprecated skipCleanMoney ([17175](https://github.com/civicrm/civicrm-core/pull/17175))** +- **Add / make fit for purpose email.getlist api call + ([16993](https://github.com/civicrm/civicrm-core/pull/16993))** -- **[REF] Minor code cleanup ([17225](https://github.com/civicrm/civicrm-core/pull/17225))** + Improves the `Email.getlist` API so that it is usable for entity reference + fields. -- **APIv4 - Deprecate old way of retrieving activityType/optionValue ids ([17219](https://github.com/civicrm/civicrm-core/pull/17219))** +### CiviCase -- **[REF] Minor code cleanup. ([17222](https://github.com/civicrm/civicrm-core/pull/17222))** +- **Add email link in case summary + ([16959](https://github.com/civicrm/civicrm-core/pull/16959))** -- **[NFC] Test cleanup ([17224](https://github.com/civicrm/civicrm-core/pull/17224))** + Adds an "Email" icon to the Case Summary page that when clicked opens a pop up + window to email the client. -- **Fix admin page url for "conference slots" option values ([17223](https://github.com/civicrm/civicrm-core/pull/17223))** +### CiviContribute -- **5.25 ([17221](https://github.com/civicrm/civicrm-core/pull/17221))** +- **Add contribution source to recurring contribution report + ([17187](https://github.com/civicrm/civicrm-core/pull/17187))** -- **dev/core#1460 - Small cleanups in CiviEventDispatcher{,Test} ([17216](https://github.com/civicrm/civicrm-core/pull/17216))** + Adds "Contribution Source" as a column on the Recurring Contribution Report. -- **5.25 ([17217](https://github.com/civicrm/civicrm-core/pull/17217))** +- **Show email receipt status on view recurring contribution + ([17177](https://github.com/civicrm/civicrm-core/pull/17177))** -- **[REF] Reduce boilerplate code in BAO add/create functions ([17172](https://github.com/civicrm/civicrm-core/pull/17172))** + When viewing a contribution this change exposes the value of + `is_email_receipt`. -- **[REF] Minor cleanup around action schedule code. ([17151](https://github.com/civicrm/civicrm-core/pull/17151))** +- **Add contributor email address to cancelSubscription form so it is clear who + will be notified + ([16716](https://github.com/civicrm/civicrm-core/pull/16716))** -- **[NFC][Test] Preliminary cleanup ([17213](https://github.com/civicrm/civicrm-core/pull/17213))** + Adds the contributor email to the Cancel Recurring Contribution form so it is + clear who will be notified. -- **Cleanup and throw exceptions in OpenCase form ([17184](https://github.com/civicrm/civicrm-core/pull/17184))** +- **add filter and sorting for receipt date in contribution report + ([17044](https://github.com/civicrm/civicrm-core/pull/17044) and + [16994](https://github.com/civicrm/civicrm-core/pull/16994))** -- **(NFC) Remove $Id$ artifacts from old SCM ([17211](https://github.com/civicrm/civicrm-core/pull/17211))** + Adds a filter and sorting for "receipt date" to Contribution Reports. -- **Cleanup core pseudoconstant buildOptions ([17122](https://github.com/civicrm/civicrm-core/pull/17122))** +- **Capitalise PAN truncation + ([16973](https://github.com/civicrm/civicrm-core/pull/16973) and + [16964](https://github.com/civicrm/civicrm-core/pull/16964))** -- **APIv4 - Allow field options to be returned in multiple formats ([17167](https://github.com/civicrm/civicrm-core/pull/17167))** + Capitilizes the "PAN" in "Pan Truncation" to improve user experience. PAN is + an acronym for Primary Account Number (credit card number). -- **[REF] Cleanup a few instances where we use old call to get loggedInUserID ([17196](https://github.com/civicrm/civicrm-core/pull/17196))** +### CiviMail -- **5.25 ([17209](https://github.com/civicrm/civicrm-core/pull/17209))** +- **Mailing Report: hide the HTML preview + ([16899](https://github.com/civicrm/civicrm-core/pull/16899))** -- **5.25 ([17207](https://github.com/civicrm/civicrm-core/pull/17207))** + Improves the Mailing report by hiding the HTML preview because it was too + short to be helpful to begin with. -- **5.25 ([17201](https://github.com/civicrm/civicrm-core/pull/17201))** +## Bugs resolved -- **Move batch-form support code back to the form ([17176](https://github.com/civicrm/civicrm-core/pull/17176))** +### Core CiviCRM -- **[REF] Simplify determination of enabled components ([17195](https://github.com/civicrm/civicrm-core/pull/17195))** +- **How best to handle Event Dispatchers during upgrade (Work Towards + [dev/core#1460](https://lab.civicrm.org/dev/core/-/issues/1460): + [17127](https://github.com/civicrm/civicrm-core/pull/17127) and + [17216](https://github.com/civicrm/civicrm-core/pull/17216))** -- **5.25 ([17199](https://github.com/civicrm/civicrm-core/pull/17199))** + This updates the `CiviEventDispatcher` with a method `setDispatchPolicy()` + that can be used to dynamically toggle support for specific events/hooks and + updates a related test. -- **[REF] stop overriding postProcess function in activity report detail ([17194](https://github.com/civicrm/civicrm-core/pull/17194))** +- **After core upgrade, extension routes unavailable + ([dev/core#1460](https://lab.civicrm.org/dev/core/-/issues/1460) and + [dev/core#1713](https://lab.civicrm.org/dev/core/-/issues/1713) + [17126](https://github.com/civicrm/civicrm-core/pull/17126))** -- **[REF] Reconcile CRM_Utils_System::getUrlPath and CRM_Utils_System::currentPath ([17068](https://github.com/civicrm/civicrm-core/pull/17068))** +- **Report Dev tab display SQL multiple times + ([dev/core#1673](https://lab.civicrm.org/dev/core/-/issues/1673): + [17001](https://github.com/civicrm/civicrm-core/pull/17001))** -- **Fix Dedupe entity_tag mangling bug ([17125](https://github.com/civicrm/civicrm-core/pull/17125))** +- **Namespaced classes cannot contain an underscore + ([dev/core#1684](https://lab.civicrm.org/dev/core/-/issues/1684): + [17105](https://github.com/civicrm/civicrm-core/pull/17105))** -- **Add contribution source to recurring contribution report ([17187](https://github.com/civicrm/civicrm-core/pull/17187))** + Allows underscores in class names. -- **Gitlab issue template - Ask for link to stackexchange or chat conversations ([17186](https://github.com/civicrm/civicrm-core/pull/17186))** +- **Search builder returns DB error on Group => Empty filter + ([dev/core#1685](https://lab.civicrm.org/dev/core/-/issues/1685): + [16953](https://github.com/civicrm/civicrm-core/pull/16953))** -- **Remove deprecated calls to optionValueQuery and no-longer-need param ([17182](https://github.com/civicrm/civicrm-core/pull/17182))** +- **Financial ACL Report check always fails + ([dev/core#1700](https://lab.civicrm.org/dev/core/-/issues/1700): + [17046](https://github.com/civicrm/civicrm-core/pull/17046))** -- **Show email receipt status on view recurring contribution ([17177](https://github.com/civicrm/civicrm-core/pull/17177))** + Ensures that if Finacial Type ACL's are enabled and the extension + `biz.jmaconsulting.financialaclreport` is installed the warning that you need + to install the extension is not displayed. -- **dev/core#1460 - CiviEventDispatcher - Add policy options ([17127](https://github.com/civicrm/civicrm-core/pull/17127))** +- **Longitude not checked out of box + ([dev/core#1739](https://lab.civicrm.org/dev/core/-/issues/1739): + [17238](https://github.com/civicrm/civicrm-core/pull/17238))** -- **Switch cc field on emailTrait to use entity reference ([17129](https://github.com/civicrm/civicrm-core/pull/17129))** + Enables the Longitude field on Address Editing by default for new installs. -- **show title on status message instead machine name ([17174](https://github.com/civicrm/civicrm-core/pull/17174))** +- **Contact restore from trash not working + ([dev/core#1784](https://lab.civicrm.org/dev/core/-/issues/1784): + [17418](https://github.com/civicrm/civicrm-core/pull/17418))** -- **dev/wp#46 - Remove styling that attempts to make inputs match select2 ([16882](https://github.com/civicrm/civicrm-core/pull/16882))** +- **[regression] Fix error on no MIME type + ([17265](https://github.com/civicrm/civicrm-core/pull/17265))** -- **Refactor api3 Payment.Get API to support options + most fields in civicrm_financial_trxn ([17071](https://github.com/civicrm/civicrm-core/pull/17071))** + Fixes `TypeError: Argument 1 passed to + MimeTyper\Repository\AbstractRepository::setFromMap() must be of the type + array, null given` error. -- **5.25 to master ([17173](https://github.com/civicrm/civicrm-core/pull/17173))** +- **SyntaxConformanceTest::testSqlOperators - Fix failure on MySQL 8 + ([17262](https://github.com/civicrm/civicrm-core/pull/17262))** -- **Remove unused parameter, immediately overwritten parameter ([17131](https://github.com/civicrm/civicrm-core/pull/17131))** +- **API explorer fatal joining to contribution from contact + ([dev/core#1563](https://lab.civicrm.org/dev/core/-/issues/1563): + [17239](https://github.com/civicrm/civicrm-core/pull/17239))** -- **Do not create smarty cached templates for processed greetings ([16733](https://github.com/civicrm/civicrm-core/pull/16733))** +- **APIv4 - Prevent field alias conflicts. + ([17109](https://github.com/civicrm/civicrm-core/pull/17109))** -- **5.25 ([17171](https://github.com/civicrm/civicrm-core/pull/17171))** +- **APIv4 - Fix setting offset with no limit + ([17063](https://github.com/civicrm/civicrm-core/pull/17063))** -- **OptionValue - Use DB defaults instead of setting them in BAO::add ([17170](https://github.com/civicrm/civicrm-core/pull/17170))** +- **Fix admin page url for "conference slots" option values + ([17223](https://github.com/civicrm/civicrm-core/pull/17223))** -- **[REF] APIv4 - Enforce contact field permissions via metadata ([17168](https://github.com/civicrm/civicrm-core/pull/17168))** +- **Fix Dedupe entity_tag mangling bug + ([17125](https://github.com/civicrm/civicrm-core/pull/17125))** -- **Add contribution id as activity source record when downloading or emailing invoice ([17165](https://github.com/civicrm/civicrm-core/pull/17165))** + Fixes a bug whereby the merge script alters non-contact entity tags, changing + the entity they are related to. -- **Correct option_group pseudoconstant and regenerate dao ([17166](https://github.com/civicrm/civicrm-core/pull/17166))** +- **show title on status message instead of machine name + ([17174](https://github.com/civicrm/civicrm-core/pull/17174))** -- **[REF] Code readability changes on activity tokens. ([17161](https://github.com/civicrm/civicrm-core/pull/17161))** +- **Do not create smarty cached templates for processed greetings + ([16733](https://github.com/civicrm/civicrm-core/pull/16733))** -- **Less svn ([17159](https://github.com/civicrm/civicrm-core/pull/17159))** +- **Add contribution id as activity source record when downloading or emailing + invoice ([17165](https://github.com/civicrm/civicrm-core/pull/17165))** -- **[REF] Minor extraction ([17160](https://github.com/civicrm/civicrm-core/pull/17160))** + Ensures that the Activity Source ID field is populated correctly for + Activities of the type "Emailed Invoice" and "Downloaded Invoice". -- **OptionValues - Munge custom value names and return names in validate context ([17158](https://github.com/civicrm/civicrm-core/pull/17158))** +- **Correct option_group pseudoconstant and regenerate dao + ([17166](https://github.com/civicrm/civicrm-core/pull/17166))** -- **[NFC] Superficial code clean up ([17155](https://github.com/civicrm/civicrm-core/pull/17155))** + Fixes metadata for option_group pseudoconstant list so that labels are visible + in the list. -- **[NFC] A bit less svn in our code ([17157](https://github.com/civicrm/civicrm-core/pull/17157))** +- **Update Colmbra state/province to Coimbra + ([17106](https://github.com/civicrm/civicrm-core/pull/17106) and + [17136](https://github.com/civicrm/civicrm-core/pull/17136))** -- **[REF] Consistently lookup dispatcher via `Civi::dispatcher()` ([17154](https://github.com/civicrm/civicrm-core/pull/17154))** + Fixes up some Portugal Province labels. -- **Convert test to use APIV4 in setup for cleaner code ([17153](https://github.com/civicrm/civicrm-core/pull/17153))** +- **Archive text ([17074](https://github.com/civicrm/civicrm-core/pull/17074))** -- **[NFC] [Test] minor code cleanup ([17152](https://github.com/civicrm/civicrm-core/pull/17152))** + Updates the intro text to archive contrib.txt in favor of recognizing + contributors via the release notes. -- **dev/core#1705 APIv4 - Support pseudoconstant lookups ([17138](https://github.com/civicrm/civicrm-core/pull/17138))** +- **Fix 'selectedChild' parameter for pages with tabs + ([17066](https://github.com/civicrm/civicrm-core/pull/17066))** -- **5.25 ([17150](https://github.com/civicrm/civicrm-core/pull/17150))** + Ensures that the tab set using the `selectedChild` URL parameter is respected. -- **[NFC] Cleanup CRM_Report_Form ([17141](https://github.com/civicrm/civicrm-core/pull/17141))** +- **Export: use X icon `fa-times` for closing things + ([17076](https://github.com/civicrm/civicrm-core/pull/17076))** -- **Update more Portugal provinces ([17136](https://github.com/civicrm/civicrm-core/pull/17136))** + Ensures that the X icon is always used for closing things. -- **5.25 ([17139](https://github.com/civicrm/civicrm-core/pull/17139))** +- **Dupe improve custom data handling + ([17060](https://github.com/civicrm/civicrm-core/pull/17060) and + [17077](https://github.com/civicrm/civicrm-core/pull/17077))** -- **(NFC) Comment clarification in test class ([17133](https://github.com/civicrm/civicrm-core/pull/17133))** + Reduces code complexity & locking queries when merging contacts. -- **dev/core#1684 - Use PSR-4 autoloader instead of PSR-0 for "Civi" namespace ([17105](https://github.com/civicrm/civicrm-core/pull/17105))** +- **fixed mapping when using custom field for contact sub type + ([16957](https://github.com/civicrm/civicrm-core/pull/16957))** -- **Add contributor email address to cancelSubscription form so it is cle… ([16716](https://github.com/civicrm/civicrm-core/pull/16716))** + Ensures import mappings populate contact sub-type custom fields. -- **dev/user-interface#19 - Remove leftover description text on contribution form mistakenly left in ([17135](https://github.com/civicrm/civicrm-core/pull/17135))** +- **set is_deceased to not null in schema and upgrade script + ([dev/core#1697](https://lab.civicrm.org/dev/core/-/issues/1697): + [17025](https://github.com/civicrm/civicrm-core/pull/17025))** -- **5.25 ([17123](https://github.com/civicrm/civicrm-core/pull/17123))** +- **Allow adding variables to CRM.vars in any region + ([16888](https://github.com/civicrm/civicrm-core/pull/16888))** -- **dev/core#1718 membership batch entry join date fix ([17099](https://github.com/civicrm/civicrm-core/pull/17099))** +- **Fix setting custom field TextArea attributes + ([16997](https://github.com/civicrm/civicrm-core/pull/16997))** -- **Convert bcc field to use an entity reference. ([17064](https://github.com/civicrm/civicrm-core/pull/17064))** + Ensures attributes for existing text area custom fields are not overwritten + during update operations. -- **[REF] Minor var simplification ([17121](https://github.com/civicrm/civicrm-core/pull/17121))** +- **Fix bug on handling 'is_required' + ([16901](https://github.com/civicrm/civicrm-core/pull/16901))** -- **Update Colmbra state/province to Coimbra ([17106](https://github.com/civicrm/civicrm-core/pull/17106))** + Ensures that there is a "none" option for select fields that are not + required and are created extensions using the generic form. -- **APIv4 - Prevent field alias conflicts. ([17109](https://github.com/civicrm/civicrm-core/pull/17109))** +- **Fix values passed to tokenValues hook + ([16623](https://github.com/civicrm/civicrm-core/pull/16623))** -- **Restore #16947 - APIv4 support for sql functions and grouping ([17113](https://github.com/civicrm/civicrm-core/pull/17113))** + Ensures that the `hook_civicrm_tokenValues` is passed the proper values. -- **5.25 ([17111](https://github.com/civicrm/civicrm-core/pull/17111))** +### CiviContribute -- **[NFC] Remove calculation of unused parameter ([17093](https://github.com/civicrm/civicrm-core/pull/17093))** +- **Contribution Detail Report gives incorrect results when `force=1` + ([dev/report#20](https://lab.civicrm.org/dev/report/-/issues/20): + [17234](https://github.com/civicrm/civicrm-core/pull/17234))** -- **[REF] Remove duplicate checks for an array key existing ([17069](https://github.com/civicrm/civicrm-core/pull/17069))** +- **On Behalf Of fails to populate in Email Receipt + ([dev/core#57](https://lab.civicrm.org/dev/core/-/issues/57): + [17026](https://github.com/civicrm/civicrm-core/pull/17026))** -- **[REF] Import - extract duplicate code to function ([17080](https://github.com/civicrm/civicrm-core/pull/17080))** + Fixes a bug where the On Behalf Of section was not being included in email + receipts. -- **(NFC) Gitlab Template - Request more detail about upgrade problems ([17101](https://github.com/civicrm/civicrm-core/pull/17101))** +- **Fixes a regression when cancelling a recurring with no processor_id + ([17292](https://github.com/civicrm/civicrm-core/pull/17292))** -- **Replace CaseType's own XML encoding function ([17100](https://github.com/civicrm/civicrm-core/pull/17100))** +- **Fix multiselect/checkbox custom field defaults on contribution online form + ([16991](https://github.com/civicrm/civicrm-core/pull/16991))** -- **Remove unused parameter from function ([17098](https://github.com/civicrm/civicrm-core/pull/17098))** +### CiviCase -- **Remove outputHeader as a param for writeCSVFile as it is always true ([17051](https://github.com/civicrm/civicrm-core/pull/17051))** +- **Invalid and patchy XML encoding causes Case crash if status is not valid XML + ([dev/core#1719](https://lab.civicrm.org/dev/core/-/issues/1719): + [17100](https://github.com/civicrm/civicrm-core/pull/17100))** -- **Remove var that is defined on parent ([17102](https://github.com/civicrm/civicrm-core/pull/17102))** + Fixes a bug where CiviCase would fail to fully create a CaseType if a Case + Status' name was invalid in an XML context. -- **[REF] Stop passing ids to membership::create from createRelatedMemberships ([17087](https://github.com/civicrm/civicrm-core/pull/17087))** +- **Case.get API returning Case Clients As Part of Related Contacts + ([dev/core#1659](https://lab.civicrm.org/dev/core/-/issues/1659): + [16837](https://github.com/civicrm/civicrm-core/pull/16837))** -- **Don't pass empty ids parameter, fix fatal ([17086](https://github.com/civicrm/civicrm-core/pull/17086))** +- **Convert fatals to statusBounces in case forms + ([17212](https://github.com/civicrm/civicrm-core/pull/17212))** -- **[REF] get rid of variable variable structure ([17089](https://github.com/civicrm/civicrm-core/pull/17089))** +- **Add missing translations to case activity revisions + ([16987](https://github.com/civicrm/civicrm-core/pull/16987))** -- **Introduce "civi.dao.preUpdate" and "civi.dao.preInsert" events ([16714](https://github.com/civicrm/civicrm-core/pull/16714))** +- **Case Details field is empty + ([16995](https://github.com/civicrm/civicrm-core/pull/16995))** -- **5.25 ([17095](https://github.com/civicrm/civicrm-core/pull/17095))** + Ensures that the details field value is saved when creating a new case from + the core form. -- **5.25 ([17092](https://github.com/civicrm/civicrm-core/pull/17092))** +### CiviEvent -- **[REF] SavedSearch - additional cleanup & bugfixes ([17090](https://github.com/civicrm/civicrm-core/pull/17090))** +- **Fix multiselect/checkbox custom field defaults on registration profile + ([16981](https://github.com/civicrm/civicrm-core/pull/16981))** -- **[NFC] Remove all the places where tests unnecessarily pass to Membership::create ([17088](https://github.com/civicrm/civicrm-core/pull/17088))** +### CiviMail -- **Add MessageTemplate api to v4 ([17073](https://github.com/civicrm/civicrm-core/pull/17073))** +- **Mailing Error when civicrm_mailing_group has duplicate entries of recipient + groups([dev/mail#62](https://lab.civicrm.org/dev/mail/-/issues/62): + [17130](https://github.com/civicrm/civicrm-core/pull/17130))** -- **Archive text ([17074](https://github.com/civicrm/civicrm-core/pull/17074))** +### CiviMember -- **[REF] APIv4 Explorer - improve performance ([17062](https://github.com/civicrm/civicrm-core/pull/17062))** +- **membership batch entry: fix join date population + ([dev/core#1718](https://lab.civicrm.org/dev/core/-/issues/1718): + [17099](https://github.com/civicrm/civicrm-core/pull/17099))** -- **5.25 ([17083](https://github.com/civicrm/civicrm-core/pull/17083))** + Ensures that when using the membership batch entry tool the "join date" is + populated with existing data. -- **Fix 'selectedChild' parameter for pages with tabs ([17066](https://github.com/civicrm/civicrm-core/pull/17066))** +- **Fix bug where tax_amount is miscalculated on membership renewals + ([16772](https://github.com/civicrm/civicrm-core/pull/16772))** -- **Add ID to custom group/field admin forms ([17055](https://github.com/civicrm/civicrm-core/pull/17055))** +### Drupal Integration -- **Export: use X icon `fa-times` for closing things ([17076](https://github.com/civicrm/civicrm-core/pull/17076))** +- **UF Settings page doesn't show CiviCRM database details for Drupal 8 Views + ([dev/core#1742](https://lab.civicrm.org/dev/core/-/issues/1742): + [17232](https://github.com/civicrm/civicrm-core/pull/17232))** -- **[NFC] Improve cleanup on membershipStatus to cope with undeleted memberships ([16756](https://github.com/civicrm/civicrm-core/pull/16756))** +### WordPress Integration -- **Follow up fix on change to merge sqls ([17077](https://github.com/civicrm/civicrm-core/pull/17077))** +- **Support Clean URLs when using Polylang + ([191](https://github.com/civicrm/civicrm-wordpress/pull/191), + [189](https://github.com/civicrm/civicrm-wordpress/pull/189) and + [176](https://github.com/civicrm/civicrm-wordpress/pull/176))** -- **dev/core#1693 inline text title override ([16998](https://github.com/civicrm/civicrm-core/pull/16998))** + Ensures clean URLs work in WordPress with Polylang. -- **[NFC] Remove a handful of legacy svn notations ([17070](https://github.com/civicrm/civicrm-core/pull/17070))** +- **Fix WordPress support for Get UF Locale + ([dev/core#1635](https://lab.civicrm.org/dev/core/-/issues/1635): + [16700](https://github.com/civicrm/civicrm-core/pull/16700))** -- **Dupe improve custom data handling ([17060](https://github.com/civicrm/civicrm-core/pull/17060))** + Ensures WordPress front end pages follow the CMS language set in CiviCRM + instead of using the default CiviCRM language. -- **APIv4 - Fix setting offset with no limit ([17063](https://github.com/civicrm/civicrm-core/pull/17063))** +- **Styling issues after upgrade to WordPress 5.3 + ([dev/wordpress#46](https://lab.civicrm.org/dev/wordpress/-/issues/46): + [16882](https://github.com/civicrm/civicrm-core/pull/16882))** -- **[REF] move all functions associated with the submit function onto the Trait ([17057](https://github.com/civicrm/civicrm-core/pull/17057))** + Ensures Select fields look like Select2 fields for WordPress users. -- **[NFC] Code cleanup around comments, strict comparison, formatting ([17058](https://github.com/civicrm/civicrm-core/pull/17058))** +- **CiviCRM front end pages broken on WP Latest (master) + ([dev/wordpress#49](https://lab.civicrm.org/dev/wordpress/-/issues/49): + [17352](https://github.com/civicrm/civicrm-core/pull/17352), + [199](https://github.com/civicrm/civicrm-wordpress/pull/199) and + [194](https://github.com/civicrm/civicrm-wordpress/pull/194))** -- **Improve AngularJS performance with one-time binding for static strings ([17050](https://github.com/civicrm/civicrm-core/pull/17050))** + `canonical_redirect()` will strip "page=CiviCRM" from front end pages. These + changes ensures that CiviCRM plays nicely with this WordPress change. -- **Duplicate EmailCommon::buildQuickForm onto the trait ([17052](https://github.com/civicrm/civicrm-core/pull/17052))** +- **Public mailing URL links are broken after merge of REST API wrapper code + ([dev/wordpress#52](https://lab.civicrm.org/dev/wordpress/-/issues/52): + [195](https://github.com/civicrm/civicrm-wordpress/pull/195))** -- **Make transaction param optional in completeOrder ([17053](https://github.com/civicrm/civicrm-core/pull/17053))** +- **CiviMail doesn't send to full recipient list with merge of REST API wrapper + code ([dev/wordpress#53](https://lab.civicrm.org/dev/wordpress/-/issues/53): + [196](https://github.com/civicrm/civicrm-wordpress/pull/196))** -- **[Test] Extend custom field test trait & some related tests ([17037](https://github.com/civicrm/civicrm-core/pull/17037))** +## Miscellany + +- **Use isSerialized function rather guessing from html_type + ([16979](https://github.com/civicrm/civicrm-core/pull/16979))** -- **fixed mapping when using custom field for contact sub type ([16957](https://github.com/civicrm/civicrm-core/pull/16957))** +- **Mitigate flaky test failure about + "CRM_Utils_Check_Component_Env->checkVersion()" + ([17038](https://github.com/civicrm/civicrm-core/pull/17038))** -- **[NFC] Fix use of pattern-hated-by-Coleman ([17049](https://github.com/civicrm/civicrm-core/pull/17049))** +- **Simplify groupContactCache - remove redundant query + ([17011](https://github.com/civicrm/civicrm-core/pull/17011))** -- **add filter for receipt date in contribution reports ([17044](https://github.com/civicrm/civicrm-core/pull/17044))** +- **Duplicate EmailCommon::buildQuickForm onto the trait + ([17052](https://github.com/civicrm/civicrm-core/pull/17052))** -- **dev/translation#4 - Refine upgrade steps for modifying nl_NL ([17048](https://github.com/civicrm/civicrm-core/pull/17048))** +- **Make transaction param optional in completeOrder + ([17053](https://github.com/civicrm/civicrm-core/pull/17053))** -- **Fix bug where tax_amount is miscalculated on membership renewals ([16772](https://github.com/civicrm/civicrm-core/pull/16772))** +- **Don't pass empty ids parameter, fix fatal + ([17086](https://github.com/civicrm/civicrm-core/pull/17086))** -- **dev/report#31 - Api4 Explorer: Support SQL functions and HAVING clause ([17047](https://github.com/civicrm/civicrm-core/pull/17047))** +- **Less svn ([17159](https://github.com/civicrm/civicrm-core/pull/17159))** -- **Update 5.24.2.md - Fix version number in title. ([17043](https://github.com/civicrm/civicrm-core/pull/17043))** +- **OptionValue - Use DB defaults instead of setting them in BAO::add + ([17170](https://github.com/civicrm/civicrm-core/pull/17170))** -- **core#1700 - Fix Financial ACL Report check ([17046](https://github.com/civicrm/civicrm-core/pull/17046))** +- **Move batch-form support code back to the form + ([17176](https://github.com/civicrm/civicrm-core/pull/17176))** -- **dev/translation#4 - Upgrade script for nl_BE ([17027](https://github.com/civicrm/civicrm-core/pull/17027))** +- **Start using apiv4 in test setup + ([17020](https://github.com/civicrm/civicrm-core/pull/17020))** -- **Simplify groupContactCache - remove redundant query ([17011](https://github.com/civicrm/civicrm-core/pull/17011))** +- **Further removal of long-deprecated skipCleanMoney + ([17175](https://github.com/civicrm/civicrm-core/pull/17175))** -- **Add missing translations to case activity revisions ([16987](https://github.com/civicrm/civicrm-core/pull/16987))** +- **Add workflow_name column to civicrm_msg_template, deprecate workflow_id + ([17227](https://github.com/civicrm/civicrm-core/pull/17227))** -- **dev/core#1696 - Update attachment message on mailing form. ([17024](https://github.com/civicrm/civicrm-core/pull/17024))** +- **Misplaced text in the Additional Details section on New Contribution + ([dev/user-interface#19](https://lab.civicrm.org/dev/user-interface/-/issues/19): + [17135](https://github.com/civicrm/civicrm-core/pull/17135))** -- **set is_deceased to not null in schema and upgrade script dev/core#1697 ([17025](https://github.com/civicrm/civicrm-core/pull/17025))** +- **Cleanup and throw exceptions in OpenCase form + ([17184](https://github.com/civicrm/civicrm-core/pull/17184))** -- **Mitigate flaky test failure about "CRM_Utils_Check_Component_Env->checkVersion()" ([17038](https://github.com/civicrm/civicrm-core/pull/17038))** +- **Cleanup core pseudoconstant buildOptions + ([17122](https://github.com/civicrm/civicrm-core/pull/17122))** -- **Allow adding variables to CRM.vars in any region ([16888](https://github.com/civicrm/civicrm-core/pull/16888))** +- **Gitlab issue template - Ask for link to stackexchange or chat conversations + ([17186](https://github.com/civicrm/civicrm-core/pull/17186))** -- **5.25 ([17042](https://github.com/civicrm/civicrm-core/pull/17042))** +- **Remove deprecated calls to optionValueQuery and no-longer-need param + ([17182](https://github.com/civicrm/civicrm-core/pull/17182))** -- **[REF] Extract transferParticipantRegistration function ([16976](https://github.com/civicrm/civicrm-core/pull/16976))** +- **Refactor api3 Payment.Get API to support options + most fields in + civicrm_financial_trxn + ([17071](https://github.com/civicrm/civicrm-core/pull/17071))** -- **Allow setting metadata to use the `table` option. Update example setting `default_invoice_page`. ([16903](https://github.com/civicrm/civicrm-core/pull/16903))** +- **Remove unused parameter, immediately overwritten parameter + ([17131](https://github.com/civicrm/civicrm-core/pull/17131))** -- **Add / make fit for purpose email.getlist api call ([16993](https://github.com/civicrm/civicrm-core/pull/16993))** +- **Remove unused parameter from function + ([17098](https://github.com/civicrm/civicrm-core/pull/17098))** -- **REF Remove redundant param from completeOrder ([17034](https://github.com/civicrm/civicrm-core/pull/17034))** +- **Remove outputHeader as a param for writeCSVFile as it is always true + ([17051](https://github.com/civicrm/civicrm-core/pull/17051))** -- **[REF] Update Contact email form to use the trait for EmailCommon functions ([17031](https://github.com/civicrm/civicrm-core/pull/17031))** +- **Remove var that is defined on parent + ([17102](https://github.com/civicrm/civicrm-core/pull/17102))** -- **5.25 ([17035](https://github.com/civicrm/civicrm-core/pull/17035))** +- **Convert test to use APIV4 in setup for cleaner code + ([17153](https://github.com/civicrm/civicrm-core/pull/17153))** -- **APIv4 - Add support for HAVING clause ([17015](https://github.com/civicrm/civicrm-core/pull/17015))** +- **[Test] Extend custom field test trait & some related tests + ([17037](https://github.com/civicrm/civicrm-core/pull/17037))** -- **[REF] Move generic instances of listTokens to trait ([17029](https://github.com/civicrm/civicrm-core/pull/17029))** +- **E2E_Core_HookTest - Fix test failure due to leak + ([17251](https://github.com/civicrm/civicrm-core/pull/17251))** -- **Add email link in case summary ([16959](https://github.com/civicrm/civicrm-core/pull/16959))** +- **[NFC][Test] cleanup on customDataTrait for tests + ([17022](https://github.com/civicrm/civicrm-core/pull/17022))** -- **Start using apiv4 in test setup ([17020](https://github.com/civicrm/civicrm-core/pull/17020))** +- **[NFC][Test] Minor cleanup in test class + ([17002](https://github.com/civicrm/civicrm-core/pull/17002))** -- **Mailing Report: hide the HTML preview ([16899](https://github.com/civicrm/civicrm-core/pull/16899))** +- **[NFC][Test] Preliminary cleanup + ([17213](https://github.com/civicrm/civicrm-core/pull/17213))** -- **[NFC][Test] cleanup on customDataTrait for tests ([17022](https://github.com/civicrm/civicrm-core/pull/17022))** +- **[NFC] [Test] minor code cleanup + ([17152](https://github.com/civicrm/civicrm-core/pull/17152))** -- **[REF] Move generic preProcess function to the trait ([16954](https://github.com/civicrm/civicrm-core/pull/16954))** +- **[NFC] Minor code cleanups + ([17019](https://github.com/civicrm/civicrm-core/pull/17019))** -- **5.25 to master ([17023](https://github.com/civicrm/civicrm-core/pull/17023))** +- **[NFC] Superficial code clean up + ([17155](https://github.com/civicrm/civicrm-core/pull/17155))** -- **[NFC] Minor code cleanups ([17019](https://github.com/civicrm/civicrm-core/pull/17019))** +- **(NFC) Remove $Id$ artifacts from old SCM + ([17211](https://github.com/civicrm/civicrm-core/pull/17211))** -- **dev/core#1659: Fix Case.get API returning Case Clients As Part of Related Contacts ([16837](https://github.com/civicrm/civicrm-core/pull/16837))** +- **[NFC] A bit less svn in our code + ([17157](https://github.com/civicrm/civicrm-core/pull/17157))** -- **5.25 ([17018](https://github.com/civicrm/civicrm-core/pull/17018))** +- **[NFC] Fix use of pattern-hated-by-Coleman + ([17049](https://github.com/civicrm/civicrm-core/pull/17049))** -- **[REF] Clarify variable & tighten use. ([17016](https://github.com/civicrm/civicrm-core/pull/17016))** +- **[NFC] Cleanup CRM_Report_Form + ([17141](https://github.com/civicrm/civicrm-core/pull/17141))** -- **[REF] Use bool instead of boolean ([17013](https://github.com/civicrm/civicrm-core/pull/17013))** +- **(NFC) Comment clarification in test class + ([17133](https://github.com/civicrm/civicrm-core/pull/17133))** -- **[REF] Formatting and use bool instead of boolean ([17012](https://github.com/civicrm/civicrm-core/pull/17012))** +- **[NFC] Improve cleanup on membershipStatus to cope with undeleted memberships + ([16756](https://github.com/civicrm/civicrm-core/pull/16756))** -- **[REF] CustomField code cleanup to use isSerialized method ([17009](https://github.com/civicrm/civicrm-core/pull/17009))** +- **[NFC] Remove calculation of unused parameter + ([17093](https://github.com/civicrm/civicrm-core/pull/17093))** -- **[REF] CustomField code cleanup ([16968](https://github.com/civicrm/civicrm-core/pull/16968))** +- **(NFC) Gitlab Template - Request more detail about upgrade problems + ([17101](https://github.com/civicrm/civicrm-core/pull/17101))** -- **[NFC][Test] Minor cleanup in test class ([17002](https://github.com/civicrm/civicrm-core/pull/17002))** +- **[NFC] Remove a handful of legacy svn notations + ([17070](https://github.com/civicrm/civicrm-core/pull/17070))** -- **[REF] Cleanup customField prepareCreate function ([16996](https://github.com/civicrm/civicrm-core/pull/16996))** +- **[NFC/Test] - Fix typo in `if` statement that seems intended as a workaround + ([17258](https://github.com/civicrm/civicrm-core/pull/17258))** -- **dev/core#1673 Ensure that SQL statements are not duplicated in the de… ([17001](https://github.com/civicrm/civicrm-core/pull/17001))** +- **[NFC] Add Comment to avoid someone removing field only used in CiviCase + extension ([17000](https://github.com/civicrm/civicrm-core/pull/17000))** -- **[NFC] Add Comment to avoid someone removing field only used in CiviCase extension ([17000](https://github.com/civicrm/civicrm-core/pull/17000))** +- **[NFC] Test cleanup + ([17224](https://github.com/civicrm/civicrm-core/pull/17224))** -- **[REF] Update custom data handing in contact import ([16986](https://github.com/civicrm/civicrm-core/pull/16986))** +- **[NFC] Code cleanup around comments, strict comparison, formatting + ([17058](https://github.com/civicrm/civicrm-core/pull/17058))** -- **Fix setting custom field TextArea attributes ([16997](https://github.com/civicrm/civicrm-core/pull/16997))** +- **[NFC] Remove all the places where tests unnecessarily pass to + Membership::create + ([17088](https://github.com/civicrm/civicrm-core/pull/17088))** -- **add filter and sorting for receipt date in contribution report ([16994](https://github.com/civicrm/civicrm-core/pull/16994))** +- **[REF] SavedSearch - additional cleanup & bugfixes + ([17090](https://github.com/civicrm/civicrm-core/pull/17090))** -- **Case Details field is empty ([16995](https://github.com/civicrm/civicrm-core/pull/16995))** +- **(REF) dev/core#1744 - Cleanup event naming + ([17240](https://github.com/civicrm/civicrm-core/pull/17240))** -- **Fix bug on handling 'is_required' ([16901](https://github.com/civicrm/civicrm-core/pull/16901))** +- **[REF] [Test] IDE cleanup on ReportTemplateTest + ([17197](https://github.com/civicrm/civicrm-core/pull/17197))** -- **dev/core#1685 - Search builder returns DB error on Group => Empty filter ([16953](https://github.com/civicrm/civicrm-core/pull/16953))** +- **[REF] Simplify non-creditcard participant.create + ([16584](https://github.com/civicrm/civicrm-core/pull/16584))** -- **Fix values passed to tokenValues hook ([16623](https://github.com/civicrm/civicrm-core/pull/16623))** +- **[REF] Fix install on Drupal 8 using new setup code + ([17334](https://github.com/civicrm/civicrm-core/pull/17334))** -- **[REF] Cleanup custom field handling... twice ([16989](https://github.com/civicrm/civicrm-core/pull/16989))** +- **[REF] Minor var simplification + ([17121](https://github.com/civicrm/civicrm-core/pull/17121))** -- **Cleanup custom field handling in ufGroup BAO ([16984](https://github.com/civicrm/civicrm-core/pull/16984))** +- **[REF] Consistently lookup dispatcher via `Civi::dispatcher()` + ([17154](https://github.com/civicrm/civicrm-core/pull/17154))** -- **[REF] Cleanup CustomField BAO to use its own isSerialized function ([16990](https://github.com/civicrm/civicrm-core/pull/16990))** +- **(REF,NFC) TokenProcessor - Minor DX improvements + ([17231](https://github.com/civicrm/civicrm-core/pull/17231))** -- **5.25 ([16988](https://github.com/civicrm/civicrm-core/pull/16988))** +- **[REF] Permit domain tokens being used within Thank You letters + ([17230](https://github.com/civicrm/civicrm-core/pull/17230))** -- **Fix multiselect/checkbox custom field defaults on contribution online form ([16991](https://github.com/civicrm/civicrm-core/pull/16991))** +- **(REF) CRM_Utils_Hook - Remove deprecated formulations of `invoke(int,…)` + ([17124](https://github.com/civicrm/civicrm-core/pull/17124))** -- **Fix multiselect/checkbox custom field defaults on registration profile ([16981](https://github.com/civicrm/civicrm-core/pull/16981))** +- **[REF] Switch CRM_Utils_Array::value to empty in conditionals + ([17091](https://github.com/civicrm/civicrm-core/pull/17091))** -- **[REF] Call makeCSVTable function directly from writeRows ([16980](https://github.com/civicrm/civicrm-core/pull/16980))** +- **[REF] Minor code cleanup + ([17225](https://github.com/civicrm/civicrm-core/pull/17225))** -- **Use isSerialized function rather guessing from html_type ([16979](https://github.com/civicrm/civicrm-core/pull/16979))** +- **[REF] Minor code cleanup. + ([17222](https://github.com/civicrm/civicrm-core/pull/17222))** -- **dev/translation#4 - Add nl_BE language ([16966](https://github.com/civicrm/civicrm-core/pull/16966))** +- **[REF] Reduce boilerplate code in BAO add/create functions + ([17172](https://github.com/civicrm/civicrm-core/pull/17172))** -- **[REF] CustomGroup - cleanup handling of serialized fields in old function ([16970](https://github.com/civicrm/civicrm-core/pull/16970))** +- **[REF] Minor cleanup around action schedule code. + ([17151](https://github.com/civicrm/civicrm-core/pull/17151))** -- **[REF] CustomField - Remove pointless caching and move form variable to form class ([16975](https://github.com/civicrm/civicrm-core/pull/16975))** +- **[REF] get rid of variable variable structure + ([17089](https://github.com/civicrm/civicrm-core/pull/17089))** -- **Capitalise PAN truncation ([16973](https://github.com/civicrm/civicrm-core/pull/16973))** +- **[REF] Remove duplicate checks for an array key existing + ([17069](https://github.com/civicrm/civicrm-core/pull/17069))** -- **5.25 ([16974](https://github.com/civicrm/civicrm-core/pull/16974))** +- **[REF] Import - extract duplicate code to function + ([17080](https://github.com/civicrm/civicrm-core/pull/17080))** -- **[REF] Update XML file to match updated title in DAO File ([16969](https://github.com/civicrm/civicrm-core/pull/16969))** +- **[REF] Cleanup a few instances where we use old call to get loggedInUserID + ([17196](https://github.com/civicrm/civicrm-core/pull/17196))** -- **Code cleanup - replace overcomplicated test for null with isset ([16965](https://github.com/civicrm/civicrm-core/pull/16965))** +- **[REF] Simplify determination of enabled components + ([17195](https://github.com/civicrm/civicrm-core/pull/17195))** -- **Update FinancialTrxn.php ([16964](https://github.com/civicrm/civicrm-core/pull/16964))** +- **[REF] stop overriding postProcess function in activity report detail + ([17194](https://github.com/civicrm/civicrm-core/pull/17194))** -- **5.25 ([16962](https://github.com/civicrm/civicrm-core/pull/16962))** +- **[REF] Reconcile CRM_Utils_System::getUrlPath and + CRM_Utils_System::currentPath + ([17068](https://github.com/civicrm/civicrm-core/pull/17068))** -- **Fix WordPress support for Get UF Locale ([16700](https://github.com/civicrm/civicrm-core/pull/16700))** +- **[REF] Stop passing ids to membership::create from createRelatedMemberships + ([17087](https://github.com/civicrm/civicrm-core/pull/17087))** -- **dev/wordpress#49 Prevent 301 redirects if 'page=CiviCRM' ([199](https://github.com/civicrm/civicrm-wordpress/pull/199))** +- **[REF] move all functions associated with the submit function onto the Trait + ([17057](https://github.com/civicrm/civicrm-core/pull/17057))** -- **dev/wordpress#52 Accept empty string as q|qid for the REST endpoint civicrm/v3/url ([195](https://github.com/civicrm/civicrm-wordpress/pull/195))** +- **[REF] APIv4 Explorer - improve performance + ([17062](https://github.com/civicrm/civicrm-core/pull/17062))** -- **dev/wordpress#53 Replace tracking URLs only if mail content is replaceable ([196](https://github.com/civicrm/civicrm-wordpress/pull/196))** +- **[REF] Clarify variable & tighten use. + ([17016](https://github.com/civicrm/civicrm-core/pull/17016))** -- **Remove "page=CiviCRM" query string from WordPress front-end (5.26) ([194](https://github.com/civicrm/civicrm-wordpress/pull/194))** +- **[REF] Use bool instead of boolean + ([17013](https://github.com/civicrm/civicrm-core/pull/17013))** -- **Support Clean URLs when using Polylang ([191](https://github.com/civicrm/civicrm-wordpress/pull/191))** +- **[REF] Formatting and use bool instead of boolean + ([17012](https://github.com/civicrm/civicrm-core/pull/17012))** -- **Revert "Support polylang language prefixes with clean URLs" ([189](https://github.com/civicrm/civicrm-wordpress/pull/189))** +- **[REF] Move generic preProcess function to the trait + ([16954](https://github.com/civicrm/civicrm-core/pull/16954))** -- **Support polylang language prefixes with clean URLs ([176](https://github.com/civicrm/civicrm-wordpress/pull/176))** +- **[REF] Extract transferParticipantRegistration function + ([16976](https://github.com/civicrm/civicrm-core/pull/16976))** -- **[REF] CRM_Utils_Array::value -> empty ([288](https://github.com/civicrm/civicrm-packages/pull/288))** +- **REF Remove redundant param from completeOrder + ([17034](https://github.com/civicrm/civicrm-core/pull/17034))** -- **5.25 ([290](https://github.com/civicrm/civicrm-packages/pull/290))** +- **[REF] Update Contact email form to use the trait for EmailCommon functions + ([17031](https://github.com/civicrm/civicrm-core/pull/17031))** -## Miscellany +- **[REF] Move generic instances of listTokens to trait + ([17029](https://github.com/civicrm/civicrm-core/pull/17029))** + +- **[REF] CustomField code cleanup to use isSerialized method + ([17009](https://github.com/civicrm/civicrm-core/pull/17009))** + +- **[REF] CustomField code cleanup + ([16968](https://github.com/civicrm/civicrm-core/pull/16968))** + +- **[REF] Cleanup customField prepareCreate function + ([16996](https://github.com/civicrm/civicrm-core/pull/16996))** + +- **[REF] Update custom data handing in contact import + ([16986](https://github.com/civicrm/civicrm-core/pull/16986))** + +- **[REF] CustomGroup - cleanup handling of serialized fields in old function + ([16970](https://github.com/civicrm/civicrm-core/pull/16970))** + +- **[REF] APIv4 - Enforce contact field permissions via metadata + ([17168](https://github.com/civicrm/civicrm-core/pull/17168))** + +- **[REF] Code readability changes on activity tokens. + ([17161](https://github.com/civicrm/civicrm-core/pull/17161))** + +- **[REF] Minor extraction + ([17160](https://github.com/civicrm/civicrm-core/pull/17160))** + +- **[REF] CustomField - Remove pointless caching and move form variable to form + class ([16975](https://github.com/civicrm/civicrm-core/pull/16975))** + +- **[REF] Call makeCSVTable function directly from writeRows + ([16980](https://github.com/civicrm/civicrm-core/pull/16980))** + +- **[REF] CRM_Utils_Array::value -> empty + ([288](https://github.com/civicrm/civicrm-packages/pull/288))** + +- **[REF] Update XML file to match updated title in DAO File + ([16969](https://github.com/civicrm/civicrm-core/pull/16969))** + +- **[REF] Cleanup custom field handling... twice + ([16989](https://github.com/civicrm/civicrm-core/pull/16989))** + +- **[REF] Cleanup CustomField BAO to use its own isSerialized function + ([16990](https://github.com/civicrm/civicrm-core/pull/16990))** + +- **Cleanup custom field handling in ufGroup BAO + ([16984](https://github.com/civicrm/civicrm-core/pull/16984))** + +- **Code cleanup - replace overcomplicated test for null with isset + ([16965](https://github.com/civicrm/civicrm-core/pull/16965))** + +- **Update 5.24.2.md - Fix version number in title. + ([17043](https://github.com/civicrm/civicrm-core/pull/17043))** ## Credits This release was developed by the following code authors: -a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Andrei Mondoc; Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; GuillaumeSorel; ivan-compucorp; JMA Consulting - Seamus Lee; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Ray Wright; Third Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton +a-n The Artists Information Company - William Mortada; AGH Strategies - Alice +Frumin, Andrew Hunt; Andrei Mondoc; Christian Wach; Circle Interactive - Dave +Jenkins, Pradeep Nayak; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; +CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - +Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; All In +Appli.com - Guillaume Sorel; CompuCorp - Ivan; JMA Consulting - Seamus Lee; +Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology +Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Ray Wright; Third +Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; +Wikimedia Foundation - Eileen McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Andrei Mondoc; Andrew Cormick-Dockery; andyburnsco; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; 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 - Jitendra Purohit, Peter Davis; GMCVO Databases - Jade Gaunt; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Ray Wright; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Team Expansion - Greg Harris; Third Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton +Andrew Cormick-Dockery; Andy Burns; Artful Robot - Rich Lott; Blackfly +Solutions - Alan Dixon; CiviCoop - Jaap Jansma; Fuzion - Peter Davis; GMCVO +Databases - Jade Gaunt; JMA Consulting - Monish Deb; MJCO - Mikey O'Toole; +Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; +Tadpole Collective - Kevin Cristiano; Team Expansion - Greg Harris; ## Feedback