release-notes 5.26: annotating release notes
authorAlice Frumin <alifrumin@yahoo.com>
Tue, 2 Jun 2020 02:16:34 +0000 (22:16 -0400)
committerAlice Frumin <alice@aghstrategies.com>
Tue, 2 Jun 2020 21:26:56 +0000 (17:26 -0400)
contributor-key.yml
release-notes/5.26.0.md

index fbfaba907c6b6940f62c030e17c7a11e7a4e8f63..9a1c6a6e9669d62015178281de5f171194eda8c6 100644 (file)
@@ -75,6 +75,9 @@
   organization: AGH Strategies
   jira        : alifrumin
 
+- github      : andyburnsco
+  name        : Andy Burns
+
 - github      : amsharma9
   name        : Amal Sharma
   organization: Abhikalak Consultants
   organization: CompuCorp
   jira        : guanhuan
 
+- github      : GuillaumeSorel
+  name        : Guillaume Sorel
+  organization: All In Appli.com
+
 - github      : guyiac
   name        : Guy Iaccarino
   organization: Greenleaf Advancement
   name        : Matthijs Keijser
   organization: CiviCoop
 
+- github      : ivan-compucorp
+  name        : Ivan
+  organization: CompuCorp
+
 - github      : jaapjansma
   name        : Jaap Jansma
   organization: CiviCoop
index b49dc57a5c51b050b34975e1b1e4239b954dc286..334c10338b7514a36520dd2c83c52fc40fc70ce3 100644 (file)
@@ -9,448 +9,759 @@ Released June 3, 2020
 - **[Credits](#credits)**
 - **[Feedback](#feedback)**
 
-## <a name="features"></a>Features
+## <a name="synopsis"></a>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** |
 
-## <a name="bugs"></a>Bugs resolved
+## <a name="features"></a>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))**
+## <a name="bugs"></a>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))**
+## <a name="misc"></a>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))**
 
-## <a name="misc"></a>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))**
 
 ## <a name="credits"></a>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;
 
 ## <a name="feedback"></a>Feedback