5.28 release notes: first pass
authorAlice Frumin <alice@aghstrategies.com>
Tue, 14 Jul 2020 21:15:53 +0000 (17:15 -0400)
committerAlice Frumin <alice@aghstrategies.com>
Wed, 15 Jul 2020 21:52:43 +0000 (17:52 -0400)
contributor-key.yml
release-notes/5.28.0.md

index f2d7cf3f87153de9d8597268bffcd64ac8d4cdbd..bfe4470c6f2a9389ffe8ab4c988c953ec1b3d253 100644 (file)
 
 - github      : don-alejandro-z
 
+- github      : Erioldoesdesign
+  organization: Third Sector Design
+  name        : Eriol Fox;
+
 - github      : jmdh
   name        : Dominic Hargreaves
 
   organization: MJW Consulting
   jira        : mattwire
 
+- github      : marcineqpol
+  name        : Marcin Lewandowski
+
 - github      : martinh-pw
   name        : Martin Hansen
   organization: PeaceWorks Technology Solutions
   name        : Sean Madsen
   organization: Left Join Labs
   jira        : seanmadsen
-  
+
 - github      : semseysandor
   name        : Sandor Semsey
   organization: ES-Progress
   organization: Registered Nurses' Association of Ontario
   jira        : tom.m
 
-
 - name        : Torrance Hodgson
   jira        : torrance123
 
   organization: CompuCorp
   jira        : tunbola@compucorp.co.uk
 
+- github      : twocs
+  name        : Tom Anderson
+  organization: Flinders University of South Australia
+
 - github      : twomice
   name        : Allen Shaw
   organization: Joinery
index 1b72e3780e79b877dc5267328eeb390fc23b338f..dbc38c42fb3081dbe3ffb23d3cf178dab7b1ff24 100644 (file)
@@ -13,408 +13,682 @@ Released August 5, 2020
 
 | *Does this version...?*                                         |         |
 |:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities?                                   |         |
-| Change the database schema?                                     |         |
-| Alter the API?                                                  |         |
-| Require attention to configuration options?                     |         |
-| Fix problems installing or upgrading to a previous version?     |         |
-| Introduce features?                                             |         |
-| Fix bugs?                                                       |         |
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| Require attention to configuration options?                     |   no    |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
 ## <a name="features"></a>Features
 
-## <a name="bugs"></a>Bugs resolved
+### CiviCRM Core
 
-### Core CiviCRM
+- **Feature Request: Ability to enable SSL for database connection. (Work
+  Towards [dev/core#1137](https://lab.civicrm.org/dev/core/-/issues/1137):
+  [298](https://github.com/civicrm/civicrm-packages/pull/298))**
 
-- **[NFC] Update flexmailer to be PHP7.4 compatible ([17779](https://github.com/civicrm/civicrm-core/pull/17779))**
+  Makes ssl database connections without client certificates work in php7.
 
-- **dev/core#1860 Fix installing on PHP7.3 Ubuntu 20.04 and MariaDB 10.3 ([17772](https://github.com/civicrm/civicrm-core/pull/17772))**
+- **Investigate php currency library
+  ([dev/translation#48](https://lab.civicrm.org/dev/translation/-/issues/48):
+  [17608](https://github.com/civicrm/civicrm-core/pull/17608))**
 
-- **Ensure that when normal routing trackable urls and opens in Joomla go… ([17760](https://github.com/civicrm/civicrm-core/pull/17760))**
+  Implements the PHP library [brick/money](https://github.com/brick/money) to
+  better handle currency amounts.
 
-- **[NFC] Include flexmailer in distmaker ([17768](https://github.com/civicrm/civicrm-core/pull/17768))**
+- **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
+  (Work Towards [dev/core#560](https://lab.civicrm.org/dev/core/-/issues/560):
+  [17555](https://github.com/civicrm/civicrm-core/pull/17555),
+  [295](https://github.com/civicrm/civicrm-packages/pull/295),
+  [602](https://github.com/civicrm/civicrm-drupal/pull/602),
+  [17550](https://github.com/civicrm/civicrm-core/pull/17550),
+  [17534](https://github.com/civicrm/civicrm-core/pull/17534),
+  [17541](https://github.com/civicrm/civicrm-core/pull/17541),
+  [17545](https://github.com/civicrm/civicrm-core/pull/17545) and
+  [17539](https://github.com/civicrm/civicrm-core/pull/17539))**
 
-- **Pre-upgrade message for php-intl shows twice ([17748](https://github.com/civicrm/civicrm-core/pull/17748))**
+  Work towards throwing exceptions instead of fatal errors.
 
-- **Set locales for all domains when enabling multilingual ([17733](https://github.com/civicrm/civicrm-core/pull/17733))**
+- **End of life planning for MySQL server 5.0 - 5.6 (Work Towards
+  [dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681):
+  [17558](https://github.com/civicrm/civicrm-core/pull/17558))**
 
-- **Add permission metadata to contact is_deleted field ([17721](https://github.com/civicrm/civicrm-core/pull/17721))**
+  Block sites from upgrading if on a MySQL version less than 5.6.5.
 
-- **dev/core#1852 Ensure all domains have the same value for locales ([17738](https://github.com/civicrm/civicrm-core/pull/17738))**
+- **Create new customPre hook
+  ([dev/core#1716](https://lab.civicrm.org/dev/core/-/issues/1716):
+  [17144](https://github.com/civicrm/civicrm-core/pull/17144))**
 
-- **[NFC] Fix some outdated wiki links ([17739](https://github.com/civicrm/civicrm-core/pull/17739))**
+   Creates a new hook customPre which makes it so one can impact or observe
+   custom data before it is saved.
 
-- **Fix saving of State/Province Multi-select values ([17737](https://github.com/civicrm/civicrm-core/pull/17737))**
+ - **V4 activity api has no default for activity_date_time
+   ([dev/core#1782](https://lab.civicrm.org/dev/core/-/issues/1782):
+   [17450](https://github.com/civicrm/civicrm-core/pull/17450))**
 
-- **5.27 ([17736](https://github.com/civicrm/civicrm-core/pull/17736))**
+   Sets the default for `activity_date_time` and `created_date` as the current
+   date when using the APIv4 Activity.
 
-- **API/DAO Metadata - Retain versioning metadata for possible usage in runtime+tooling ([17735](https://github.com/civicrm/civicrm-core/pull/17735))**
+ - **Update guzzle to d8 latest
+   ([dev/core#1803](https://lab.civicrm.org/dev/core/-/issues/1803):
+   [17551](https://github.com/civicrm/civicrm-core/pull/17551))**
 
-- **5.27 ([17732](https://github.com/civicrm/civicrm-core/pull/17732))**
+   This updates guzzle to version 6.5.4, civicrm/civicrm-cxn-rpc to "version"
+   "v0.19.01.00", guzzlehttp/psr7 to version 1.6.1 and  psr/log to version 1.1.3
 
-- **[REF] Ship Flexmailer extension with Core ([17669](https://github.com/civicrm/civicrm-core/pull/17669))**
+ - **APIv4 - Improve row_count to work with HAVING, GROUP BY, and SELECT
+   ([17704](https://github.com/civicrm/civicrm-core/pull/17704))**
 
-- **[NFC] Fix contributor key for Lighthouse Consulting and Design ([17727](https://github.com/civicrm/civicrm-core/pull/17727))**
+   This changes the meaning of $result->count(), to give a total count of
+   filtered items, ignoring limit and offset.
 
-- **Remove obsolete function formatWikiURL ([17726](https://github.com/civicrm/civicrm-core/pull/17726))**
+ - **APIv4 - Add more SQL functions
+   ([17692](https://github.com/civicrm/civicrm-core/pull/17692))**
 
-- **dev/wordpress#61 - Financial Account by Relationship lookup is incorrectly using label not name ([17701](https://github.com/civicrm/civicrm-core/pull/17701))**
+   Adds support for additional SQL functions in APIv4. Also categorizes them and
+   adds translated titles for the new Search Builder.
 
-- **REF Access the method not the property directly to check if a payment processor supports recurring ([17602](https://github.com/civicrm/civicrm-core/pull/17602))**
+- **APIv4 - Add titles and icons to entities
+  ([17527](https://github.com/civicrm/civicrm-core/pull/17527) and
+  [17685](https://github.com/civicrm/civicrm-core/pull/17685))**
 
-- **5.27 ([17719](https://github.com/civicrm/civicrm-core/pull/17719))**
+  Adds titles and icons to DAO entities and expose them to APIv4 Entity::get and
+  adds meta-metadata.
 
-- **Connect to database using SET NAMES utf8mb4 ([17716](https://github.com/civicrm/civicrm-core/pull/17716))**
+- **APIv4 Explorer - UI support for join ON clause
+  ([17682](https://github.com/civicrm/civicrm-core/pull/17682))**
 
-- **Fix CRM_Utils_JS::dedupeClosures to ignore comments ([17717](https://github.com/civicrm/civicrm-core/pull/17717))**
+  Improves the APIv4 explorer to give selectable clauses when adding a JOIN.
 
-- **NFC cleanup docblocks in CRM_Utils_JS ([17714](https://github.com/civicrm/civicrm-core/pull/17714))**
+- **Add permission metadata to contact is_deleted field
+  ([17721](https://github.com/civicrm/civicrm-core/pull/17721))**
 
-- **5.27 ([17715](https://github.com/civicrm/civicrm-core/pull/17715))**
+  Improves the contact schema metadata.
 
-- **5.27 ([17712](https://github.com/civicrm/civicrm-core/pull/17712))**
+- **API/DAO Metadata - Retain versioning metadata for possible usage in
+  runtime+tooling
+  ([17735](https://github.com/civicrm/civicrm-core/pull/17735))**
 
-- **CRM_Utils_JS - also dedupe 'use strict' directive when deduping closures ([17711](https://github.com/civicrm/civicrm-core/pull/17711))**
+  Adds metadata to indicate when fields are created.
 
-- **[REF] Cleanup function for retrieving contact types. ([17676](https://github.com/civicrm/civicrm-core/pull/17676))**
+- **Connect to database using SET NAMES utf8mb4
+  ([17716](https://github.com/civicrm/civicrm-core/pull/17716))**
 
-- **Remove slow join from activity search ([17250](https://github.com/civicrm/civicrm-core/pull/17250))**
+  Makes it so one can use utf8mb4 characters.
 
-- **dev/core#1844 - Temporary workaround to avoid all PR's failing tests ([17708](https://github.com/civicrm/civicrm-core/pull/17708))**
+- **Remove slow join from activity search
+  ([17250](https://github.com/civicrm/civicrm-core/pull/17250))**
 
-- **dev/core#1833 Change default value of participant_listing_id to NULL … ([17677](https://github.com/civicrm/civicrm-core/pull/17677))**
+  Improves performance of the activity search.
 
-- **APIv4 - Improve row_count to work with HAVING, GROUP BY, and SELECT ([17704](https://github.com/civicrm/civicrm-core/pull/17704))**
+- **Add icons to standalone contact tasks
+  ([17667](https://github.com/civicrm/civicrm-core/pull/17667))**
 
-- **Remove summary row from charts, when rollup used ([17412](https://github.com/civicrm/civicrm-core/pull/17412))**
+  Adds icon data to contact tasks.
 
-- **Add selfService flag to cancelSubscription getText so we can display different text for each case ([17687](https://github.com/civicrm/civicrm-core/pull/17687))**
+- **Add icons to multi-valued custom groups and display on contact tab
+  ([17531](https://github.com/civicrm/civicrm-core/pull/17531))**
 
-- **dev/core#1776 Ensure that all fee financial item transaction date is … ([17389](https://github.com/civicrm/civicrm-core/pull/17389))**
+  Adds icons to multi-valued custom groups to improve user experience.
 
-- **dev/core#890 - Multiple line item shown on view contribution if parti… ([16956](https://github.com/civicrm/civicrm-core/pull/16956))**
+- **Add serialize metadata to domain.locales field
+  ([17651](https://github.com/civicrm/civicrm-core/pull/17651))**
 
-- **Multi record import screen fix ([17697](https://github.com/civicrm/civicrm-core/pull/17697))**
+  Adds metadata to help APIv4 serialize/unserialize the domain.locales
+  field correctly.
 
-- **Payment.create should not set contribution date to today ([17688](https://github.com/civicrm/civicrm-core/pull/17688))**
+- **Add smarty error event
+  ([16918](https://github.com/civicrm/civicrm-core/pull/16918) and
+  [292](https://github.com/civicrm/civicrm-packages/pull/292))**
 
-- **dev/core#1829 - Custom Date field with format=yy displays calendar ic… ([17664](https://github.com/civicrm/civicrm-core/pull/17664))**
+  Improves debugging errors in smarty templates.
 
-- **[Test framework] dev/wordpress#61 - Fix case-sensitive spelling in unit test ([17689](https://github.com/civicrm/civicrm-core/pull/17689))**
+- **Allow HEAD requests to generate a form key
+  ([17321](https://github.com/civicrm/civicrm-core/pull/17321))**
 
-- **core#1840 - Can't add/change recipient on non-bulk SMS ([17691](https://github.com/civicrm/civicrm-core/pull/17691))**
+  Avoids generating crashes (500 errors) when bots check links.
 
-- **Use psr-4 instead of psr-0 in Civi directory ([17690](https://github.com/civicrm/civicrm-core/pull/17690))**
+- **Include a new SqlParallel queue type that enables multiple queue runners to
+  process in parallel
+  ([15422](https://github.com/civicrm/civicrm-core/pull/15422))**
 
-- **APIv4 - Add more SQL functions ([17692](https://github.com/civicrm/civicrm-core/pull/17692))**
+  Adds a new Sql queue type which will allow multiple runners to fetch the next
+  available job from a queue and run in parallel.
 
-- **dev/core#1634 - Remove database index on medium_id from civicrm_activity ([17686](https://github.com/civicrm/civicrm-core/pull/17686))**
+- **Allow adding datepicker to metadata based settings pages
+  ([16610](https://github.com/civicrm/civicrm-core/pull/16610))**
 
-- **APIv4 - add meta-metadata to supplement #17527 ([17685](https://github.com/civicrm/civicrm-core/pull/17685))**
+  Makes it so that datepicker can be added to metadata based settings pages by
+  specifying html_Type='datepicker' in settings metadata.
 
-- **dev/core#1681 Block sites from upgrading if on a MySQL version less t… ([17558](https://github.com/civicrm/civicrm-core/pull/17558))**
+- **Price Field Form: save the fid for the postProcess hook
+  ([17639](https://github.com/civicrm/civicrm-core/pull/17639))**
 
-- **Revert "dev/core#1603 remove places where taxAmount is rounded" ([17680](https://github.com/civicrm/civicrm-core/pull/17680))**
+  Improves `postProcess` hook for Price Field Form by making the field id
+  available.
 
-- **Sort options without relying on unavailable buildOptions param ([17621](https://github.com/civicrm/civicrm-core/pull/17621))**
+### CiviContribute
 
-- **APIv4 Explorer - UI support for join ON clause ([17682](https://github.com/civicrm/civicrm-core/pull/17682))**
+- **Add payment processor to details on list of recurring contributions
+  ([17179](https://github.com/civicrm/civicrm-core/pull/17179))**
 
-- **dev/core#1817 - Editing a custom field option value from the custom field admin screen changes the name field ([17681](https://github.com/civicrm/civicrm-core/pull/17681))**
+  Improves the Recurring Contributions UI by adding a column for Payment
+  Processor.
 
-- **Add icons to standalone contact tasks ([17667](https://github.com/civicrm/civicrm-core/pull/17667))**
+- **Fix all core processors to throw exceptions and not rely on the
+  CRM_Core_Payment to convert errors to exceptions
+  ([dev/financial#131](https://lab.civicrm.org/dev/financial/-/issues/131):
+  [17565](https://github.com/civicrm/civicrm-core/pull/17565),
+  [17559](https://github.com/civicrm/civicrm-core/pull/17559),
+  [17542](https://github.com/civicrm/civicrm-core/pull/17542),
+  [17502](https://github.com/civicrm/civicrm-core/pull/17502),
+  [17597](https://github.com/civicrm/civicrm-core/pull/17597),
+  [17592](https://github.com/civicrm/civicrm-core/pull/17592) and
+  [17596](https://github.com/civicrm/civicrm-core/pull/17596))**
 
-- **Throw exception if id not passed into discard ([17666](https://github.com/civicrm/civicrm-core/pull/17666))**
+  Makes it so that core payment processors fail elegantly more often.
 
-- **5.27 ([17679](https://github.com/civicrm/civicrm-core/pull/17679))**
+- **Add selfService flag to cancelSubscription getText so we can display
+  different text for each case
+  ([17687](https://github.com/civicrm/civicrm-core/pull/17687))**
 
-- **[REF] Ensure that our custom error handler is called when jquery vali… ([17673](https://github.com/civicrm/civicrm-core/pull/17673))**
+  Makes it so payment processor developers can identify the different contexts
+  someone may be canceling from and display appropriate messaging.
 
-- **[REF] Fix javascript syntax error ([17678](https://github.com/civicrm/civicrm-core/pull/17678))**
+### CiviMember
 
-- **[NFC] Fix Unit test failure on MySQL 8 due to mysql ordering issue ([17674](https://github.com/civicrm/civicrm-core/pull/17674))**
+- **Display start/end adjustment on membership status page.
+  ([dev/core#1809](https://lab.civicrm.org/dev/core/-/issues/1809):
+  [17571](https://github.com/civicrm/civicrm-core/pull/17571))**
 
-- **Improve PropertyBag handling of offsetGet and custom properties; add … ([17588](https://github.com/civicrm/civicrm-core/pull/17588))**
+  Improves the Membership Status administration page by adding columns for the
+  start/end adjustment.
 
-- **Export fix ([17644](https://github.com/civicrm/civicrm-core/pull/17644))**
+## <a name="bugs"></a>Bugs resolved
 
-- **Fix validation of select2 fields in "On behalf of Organisation" block ([17672](https://github.com/civicrm/civicrm-core/pull/17672))**
+### Core CiviCRM
 
-- **[REF] Fix jquery error message display on select2 field validation ([17671](https://github.com/civicrm/civicrm-core/pull/17671))**
+- **Evaluate if any indexed fields are unused (Work Towards
+  [dev/core#1634](https://lab.civicrm.org/dev/core/-/issues/1634):
+  [17686](https://github.com/civicrm/civicrm-core/pull/17686))**
 
-- **[REF] Fix allowing users to clear values for raido custom fields when… ([17670](https://github.com/civicrm/civicrm-core/pull/17670))**
+  Remove database index on `medium_id` from `civicrm_activity`.
 
-- **Fix master regression on inactive contact types ([17665](https://github.com/civicrm/civicrm-core/pull/17665))**
+- **[Activity] Default priority value when add Activity
+  ([dev/core#1801](https://lab.civicrm.org/dev/core/-/issues/1801):
+  [17557](https://github.com/civicrm/civicrm-core/pull/17557))**
 
-- **Pass required attribute for quickform fields through to form ([16488](https://github.com/civicrm/civicrm-core/pull/16488))**
+  Ensures when creating a new activity the priority field defaults correctly for
+  sites not in english.
 
-- **Use PHPUnit7 as the primary test runner for PHP versions >= 7.1 when using the phpunit script ([17615](https://github.com/civicrm/civicrm-core/pull/17615))**
+- **The multi-lingual multi-domain problem
+  ([dev/core#1852](https://lab.civicrm.org/dev/core/-/issues/1852):
+  [17738](https://github.com/civicrm/civicrm-core/pull/17738) and
+  [17733](https://github.com/civicrm/civicrm-core/pull/17733))**
 
-- **[REF] Extract getTestTrxnID ([17642](https://github.com/civicrm/civicrm-core/pull/17642))**
+  Ensures that the list of languages civicrm_domain.locales is the same for all
+  domains in a multi-domain set up.
 
-- **Fix A.net to retrieve processor id from property bag ([17654](https://github.com/civicrm/civicrm-core/pull/17654))**
+- **APIv4 - Skip empty leaves in WHERE clause
+  ([17576](https://github.com/civicrm/civicrm-core/pull/17576))**
 
-- **[NFC] Fix tests in prepartion for phpunit7 ([17663](https://github.com/civicrm/civicrm-core/pull/17663))**
+  Fixes a big in search builder where APIv4 gives a sql error
+  while building your where clause.
 
-- **[REF] Fix Compatability issue with flexmailer caused by the PHP7.4 fix ([17660](https://github.com/civicrm/civicrm-core/pull/17660))**
+- **Fix CRM_Utils_JS::dedupeClosures to ignore comments
+  ([17717](https://github.com/civicrm/civicrm-core/pull/17717))**
 
-- **Revert "[NFC] Fix tests in prepartion for phpunit7" ([17662](https://github.com/civicrm/civicrm-core/pull/17662))**
+  Ensures comments do not interfere with deduping.
 
-- **[NFC] Fix tests in preparation for phpunit7 ([17661](https://github.com/civicrm/civicrm-core/pull/17661))**
+- **Use PHPUnit7 as the primary test runner for PHP versions >= 7.1 when using
+  the phpunit script
+  ([17615](https://github.com/civicrm/civicrm-core/pull/17615))**
 
-- **dev/translation#48 Implement Brick/Money to better handle money values ([17608](https://github.com/civicrm/civicrm-core/pull/17608))**
+  Updates php unit tests to use PHPUnit7 when the PHP Unit version is 7.1 or
+  greater.
 
-- **[NFC] Remove instances where html is passed to crmMoney ([17612](https://github.com/civicrm/civicrm-core/pull/17612))**
+- **Fix isMultilingual to use static caching and respect current domain
+  ([17646](https://github.com/civicrm/civicrm-core/pull/17646))**
 
-- **[REF] Consolidate code in processMembership ([17611](https://github.com/civicrm/civicrm-core/pull/17611))**
+  Improves the efficiency and accuracy of the `CRM_Core_I18n::isMultilingual`
+  function, preventing a large number of duplicate queries on every request.
 
-- **5.27 ([17656](https://github.com/civicrm/civicrm-core/pull/17656))**
+- **Update has_separator field in civicrm_navigation
+  ([17579](https://github.com/civicrm/civicrm-core/pull/17579))**
 
-- **dev/core#1566 Fix display value for money radio custom field ([17008](https://github.com/civicrm/civicrm-core/pull/17008))**
+  This field was incorrectly marked as a boolean; it's actually an int with an
+  option list.
 
-- **Misspelled word ([17652](https://github.com/civicrm/civicrm-core/pull/17652))**
+- **Payment Propertybag remove warning
+  ([17506](https://github.com/civicrm/civicrm-core/pull/17506))**
 
-- **Add serialize metadata to domain.locales field ([17651](https://github.com/civicrm/civicrm-core/pull/17651))**
+  Do not trigger warning every time the function is called.
 
-- **[REF] Ensure that the Manual Payment Processor sets the _paymentProc… ([17648](https://github.com/civicrm/civicrm-core/pull/17648))**
+- **Fix duplicate upgrade function
+  ([17582](https://github.com/civicrm/civicrm-core/pull/17582))**
 
-- **[REF] Fix PHP7.4 Test fails when we are accessing array keys when the… ([17649](https://github.com/civicrm/civicrm-core/pull/17649))**
+  Fixes a fatal error on upgrade caused by a merge conflict.
 
-- **[REF] Fix parts of code where curly brackets were being used for array or string access which is deprecated in PHP7.4 ([17647](https://github.com/civicrm/civicrm-core/pull/17647))**
+- **Multiple line item shown on view contribution if participant is transferred
+  to another contact.
+  ([dev/core#890](https://lab.civicrm.org/dev/core/-/issues/890):
+  [16956](https://github.com/civicrm/civicrm-core/pull/16956))**
 
-- **Fix isMultilingual to use static caching and respect current domain ([17646](https://github.com/civicrm/civicrm-core/pull/17646))**
+- **CRM_Case_XMLProcessor::allActivityTypes() doesn't do caching right
+  ([dev/core#1433](https://lab.civicrm.org/dev/core/-/issues/1433):
+  [17627](https://github.com/civicrm/civicrm-core/pull/17627),
+  [17616](https://github.com/civicrm/civicrm-core/pull/17616) and
+  [17614](https://github.com/civicrm/civicrm-core/pull/17614))**
 
-- **Add CRM_Core_Form::isFormInViewMode and CRM_Core_Form::isFormInEditMode ([17637](https://github.com/civicrm/civicrm-core/pull/17637))**
+- **CustomValue.GetTree API Does Not Return Display Value for Money Select/Radio
+  Custom field ([dev/core#1566](https://lab.civicrm.org/dev/core/-/issues/1566):
+  [17008](https://github.com/civicrm/civicrm-core/pull/17008))**
 
-- **Bug in Grant statistics report ([17640](https://github.com/civicrm/civicrm-core/pull/17640))**
+- **whom_url missing contact ID parameter in detailed logging report
+  ([dev/core#1749](https://lab.civicrm.org/dev/core/-/issues/1749):
+  [17440](https://github.com/civicrm/civicrm-core/pull/17440))**
 
-- **Price Field Form: save the fid for the postProcess hook ([17639](https://github.com/civicrm/civicrm-core/pull/17639))**
+- **Regression : File fields export results in DB error
+  ([dev/core#1787](https://lab.civicrm.org/dev/core/-/issues/1787):
+  [17578](https://github.com/civicrm/civicrm-core/pull/17578))**
 
-- **Add EntityFormTrait to pricefieldForm - stdised getEntityId() ([17516](https://github.com/civicrm/civicrm-core/pull/17516))**
+- **Relative date filter - End of yesterday not working properly
+  ([dev/core#1798](https://lab.civicrm.org/dev/core/-/issues/1798):
+  [17512](https://github.com/civicrm/civicrm-core/pull/17512))**
 
-- **5.27 ([17634](https://github.com/civicrm/civicrm-core/pull/17634))**
+- **Editing a custom field choice label changes the `name` if you do it from the
+  custom field admin screens
+  ([dev/core#1817](https://lab.civicrm.org/dev/core/-/issues/1817):
+  [17681](https://github.com/civicrm/civicrm-core/pull/17681))**
 
-- **5.27 ([17631](https://github.com/civicrm/civicrm-core/pull/17631))**
+- **Custom Date field with format=yy displays calendar icon that doesn't work
+  ([dev/core#1829](https://lab.civicrm.org/dev/core/-/issues/1829):
+  [17664](https://github.com/civicrm/civicrm-core/pull/17664))**
 
-- **dev/core#1433 - Add deprecation warning for CRM_Case_XMLProcessor::allActivityTypes ([17627](https://github.com/civicrm/civicrm-core/pull/17627))**
+- **Noncompliant query leads to (semi-)random sorting and failing unit test
+  CRM_Case_BAO_CaseTest::testSortByCaseContact
+  ([dev/core#1844](https://lab.civicrm.org/dev/core/-/issues/1844):
+  [17708](https://github.com/civicrm/civicrm-core/pull/17708))**
 
-- **dev/core#1433 - Replace last instances of calls to CRM_Case_XMLProcessor::allActivityTypes() ([17616](https://github.com/civicrm/civicrm-core/pull/17616))**
+- **Unable to install 5.28 on Maria DB 10.3 on Ubuntu
+  ([dev/core#1860](https://lab.civicrm.org/dev/core/-/issues/1860):
+  [17772](https://github.com/civicrm/civicrm-core/pull/17772))**
 
-- **dev/core#1603 remove places where taxAmount is rounded ([17610](https://github.com/civicrm/civicrm-core/pull/17610))**
+ - **APIv4 - filter getActions results based on user permissions
+   ([17540](https://github.com/civicrm/civicrm-core/pull/17540))**
 
-- **dev/core#1433 - Replace call to CRM_Case_XMLProcessor::allActivityTypes() that doesn't cache properly ([17614](https://github.com/civicrm/civicrm-core/pull/17614))**
+- **Pre-upgrade message for php-intl shows twice
+  ([17748](https://github.com/civicrm/civicrm-core/pull/17748))**
 
-- **5.27 to master ([17613](https://github.com/civicrm/civicrm-core/pull/17613))**
+- **Fix saving of State/Province Multi-select values
+  ([17737](https://github.com/civicrm/civicrm-core/pull/17737))**
 
-- **[REF] Fix issue with using array access tools on NULL values ([17600](https://github.com/civicrm/civicrm-core/pull/17600))**
+- **Graphs on Contribution Summary report replace final row with grand total
+  value ([dev/report#40](https://lab.civicrm.org/dev/report/-/issues/40):
+  [17412](https://github.com/civicrm/civicrm-core/pull/17412))**
 
-- **[REF] Replace incorrect usage of array_key_exists with property_exist… ([17604](https://github.com/civicrm/civicrm-core/pull/17604))**
+- **[regression] Attempting to access Multi-Record Custom Field import results
+  in crash ([dev/core#1841](https://lab.civicrm.org/dev/core/-/issues/1841):
+  [17697](https://github.com/civicrm/civicrm-core/pull/17697))**
 
-- **[NFC] Add assertions to existing test to lock in current behaviour ([17605](https://github.com/civicrm/civicrm-core/pull/17605))**
+- **Use psr-4 instead of psr-0 in Civi directory
+  ([17690](https://github.com/civicrm/civicrm-core/pull/17690))**
 
-- **[NFC] Update mocking to use getMockBuilder instead instead of createMock ([17606](https://github.com/civicrm/civicrm-core/pull/17606))**
+- **Sort options without relying on unavailable buildOptions param
+  ([17621](https://github.com/civicrm/civicrm-core/pull/17621))**
 
-- **dev/financial#131 Give deprecation notice if the payment processor returns an error ([17596](https://github.com/civicrm/civicrm-core/pull/17596))**
+- **Throw exception if id not passed into discard
+  ([17666](https://github.com/civicrm/civicrm-core/pull/17666))**
 
-- **dev/financial#131 Remove last places where Core Processors return error object ([17597](https://github.com/civicrm/civicrm-core/pull/17597))**
+- **Improve PropertyBag handling of offsetGet and custom properties; add more
+  tests ([17588](https://github.com/civicrm/civicrm-core/pull/17588) and
+  [17654](https://github.com/civicrm/civicrm-core/pull/17654))**
 
-- **[REF] Add test for renewing old expired membership via form ([17564](https://github.com/civicrm/civicrm-core/pull/17564))**
+- **Fix validation of select2 fields in "On behalf of Organisation" block
+  ([17672](https://github.com/civicrm/civicrm-core/pull/17672))**
 
-- **[REF] Update packages to work with PHP7.4 ([17598](https://github.com/civicrm/civicrm-core/pull/17598))**
+- **Pass required attribute for quickform fields through to form
+  ([16488](https://github.com/civicrm/civicrm-core/pull/16488))**
 
-- **[REF] Fix another couple of uses of array_key_exists when the variabl… ([17601](https://github.com/civicrm/civicrm-core/pull/17601))**
+- **CRM_Core_I18n::setLocale() - Fix bug with repeated usage
+  ([17374](https://github.com/civicrm/civicrm-core/pull/17374))**
 
-- **[REF] Fix some additional issues where curly braces were being used t… ([17599](https://github.com/civicrm/civicrm-core/pull/17599))**
+- **Bug in Grant statistics report
+  ([17640](https://github.com/civicrm/civicrm-core/pull/17640))**
 
-- **NFC Formatting cleanup on contribution/recur templates ([17603](https://github.com/civicrm/civicrm-core/pull/17603))**
+- **Fix retrieving MySQL version for checking as part of install requirements
+  ([17593](https://github.com/civicrm/civicrm-core/pull/17593))**
 
-- **Add smarty error event ([16918](https://github.com/civicrm/civicrm-core/pull/16918))**
+- **Set ContactType.name as required in the schema.
+  ([17548](https://github.com/civicrm/civicrm-core/pull/17548))**
 
-- **dev/core#1803 Update guzzlehttp, psr7, psrlog, cxn-pc ([17551](https://github.com/civicrm/civicrm-core/pull/17551))**
+- **Fix "Undefined variable: entryFound" notice on Bookkeeping report
+  ([17554](https://github.com/civicrm/civicrm-core/pull/17554))**
 
-- **[REF] Remove deprecated methods of booting drupal container and getti… ([17522](https://github.com/civicrm/civicrm-core/pull/17522))**
+- **Zip code range search only supports numeric zip codes
+  ([17523](https://github.com/civicrm/civicrm-core/pull/17523))**
 
-- **Fix retrieving MySQL version for checking as part of install requirem… ([17593](https://github.com/civicrm/civicrm-core/pull/17593))**
+- **Remove isThrowException from CRM_Utils_Type::validate() signature
+   ([17546](https://github.com/civicrm/civicrm-core/pull/17546))**
 
-- **dev/financial#131 Remove legacy error handling from Paypal code. ([17592](https://github.com/civicrm/civicrm-core/pull/17592))**
+### CiviContribute
 
-- **Update has_separator field in civicrm_navigation ([17579](https://github.com/civicrm/civicrm-core/pull/17579))**
+- **Payment instrument ID is not required at processorform level
+  ([17510](https://github.com/civicrm/civicrm-core/pull/17510))**
 
-- **[Ref] Convert Authorize.net to use Guzzle for update subscription class, add test ([17585](https://github.com/civicrm/civicrm-core/pull/17585))**
+  Do not throw warning if payment instrument is not sent.
 
-- **[Ref] Mark unused date functions as deprecated ([17487](https://github.com/civicrm/civicrm-core/pull/17487))**
+- **Bank fee has wrong date on import in civicrm_financial_item.transaction_date
+  incorrected uses import date rather than payment date on
+  ([dev/core#1776](https://lab.civicrm.org/dev/core/-/issues/1776):
+  [17389](https://github.com/civicrm/civicrm-core/pull/17389))**
 
-- **dev/core#1716 add customPre hook ([17144](https://github.com/civicrm/civicrm-core/pull/17144))**
+  Ensures the `civicrm_financial_item.transaction_date` gets recorded correctly
+  when importing a transaction with a bank fee.
 
-- **Remove unreachable lines ([17563](https://github.com/civicrm/civicrm-core/pull/17563))**
+- **Payment.create should not set contribution date to today
+  ([17688](https://github.com/civicrm/civicrm-core/pull/17688))**
 
-- **EventInfo template cleanup ([17581](https://github.com/civicrm/civicrm-core/pull/17581))**
+- **Fix PHP notice when we don't have credit card params
+  ([16514](https://github.com/civicrm/civicrm-core/pull/16514) and
+  [17584](https://github.com/civicrm/civicrm-core/pull/17584))**
 
-- **Allow HEAD requests to generate a form key ([17321](https://github.com/civicrm/civicrm-core/pull/17321))**
+### CiviEvent
 
-- **5.27 ([17587](https://github.com/civicrm/civicrm-core/pull/17587))**
+- **Event participant_listing_id field defaults to 0 instead of Null
+  ([dev/core#1833](https://lab.civicrm.org/dev/core/-/issues/1833):
+  [17677](https://github.com/civicrm/civicrm-core/pull/17677))**
 
-- **5.27 ([17583](https://github.com/civicrm/civicrm-core/pull/17583))**
+### CiviSMS
 
-- **Fix fatal error regression in master ([17584](https://github.com/civicrm/civicrm-core/pull/17584))**
+- **Can't change SMS recipient on non-bulk SMS
+  ([dev/core#1840](https://lab.civicrm.org/dev/core/-/issues/1840):
+  [17691](https://github.com/civicrm/civicrm-core/pull/17691))**
 
-- **Fix duplicate upgrade function ([17582](https://github.com/civicrm/civicrm-core/pull/17582))**
+### Joomla Integration
 
-- **dev/financial#131 Fix Elavon processor to throw exceptions ([17565](https://github.com/civicrm/civicrm-core/pull/17565))**
+- **Ensure that when normal routing trackable urls and opens in Joomla go to the
+  frontend not administrator site
+  ([17760](https://github.com/civicrm/civicrm-core/pull/17760))**
 
-- **Add icons to multi-valued custom groups and display on contact tab ([17531](https://github.com/civicrm/civicrm-core/pull/17531))**
+### WordPress Integration
 
-- **APIv4 - Skip empty leaves in WHERE clause ([17576](https://github.com/civicrm/civicrm-core/pull/17576))**
+- **Remove `/` from the beginning and end of query string
+  ([207](https://github.com/civicrm/civicrm-wordpress/pull/207))**
 
-- **(dev/core#1787) Regression : File fields export results in DB error ([17578](https://github.com/civicrm/civicrm-core/pull/17578))**
+  Fixes a 'You do not have permission to access this content.' error resulting
+  from an extra '/' in the `q=` string in the url.
 
-- **[REF] Replace incorrect usages of array_key_exists when the variable … ([17573](https://github.com/civicrm/civicrm-core/pull/17573))**
+- **Base page fails to recognise Page Templates in subdirectories.
+  ([dev/wordpress#58](https://lab.civicrm.org/dev/wordpress/-/issues/58):
+  [204](https://github.com/civicrm/civicrm-wordpress/pull/204))**
 
-- **dev/core#183 Use CRM_Utils_SQL_TempTable for generating temp table na… ([15796](https://github.com/civicrm/civicrm-core/pull/15796))**
+  Ensures that the CiviCRM base page is correctly identified when it does not
+  reside in the theme root directory.
 
-- **[REF] Using {} to access string or array offsets has been deprecated … ([17574](https://github.com/civicrm/civicrm-core/pull/17574))**
+- **undefined offset bug in BAO/FinancialAccount.php
+  ([dev/wordpress#61](https://lab.civicrm.org/dev/wordpress/-/issues/61):
+  [17701](https://github.com/civicrm/civicrm-core/pull/17701) and
+  [17689](https://github.com/civicrm/civicrm-core/pull/17689))**
 
-- **dev/core#1749 Fix missing parameter in link to logging detail ([17440](https://github.com/civicrm/civicrm-core/pull/17440))**
+  Ensures that the financial account is set correctly even when the name does
+  not match the label.
 
-- **Include a new SqlParallel queue type that enables multiple queue runners to process in parallel ([15422](https://github.com/civicrm/civicrm-core/pull/15422))**
+## <a name="misc"></a>Miscellany
+
+- **Support passing old method name into deprecatedFunctionWarning
+  ([17552](https://github.com/civicrm/civicrm-core/pull/17552))**
 
-- **[REF] Using ternary operation without nesting is deprecated and also … ([17575](https://github.com/civicrm/civicrm-core/pull/17575))**
+- **Add CRM_Core_Form::isFormInViewMode and CRM_Core_Form::isFormInEditMode
+  ([17637](https://github.com/civicrm/civicrm-core/pull/17637))**
 
-- **[REF] Add in upgrade step to populate missing contact_type.name field ([17570](https://github.com/civicrm/civicrm-core/pull/17570))**
+- **CRM_Utils_JS - also dedupe 'use strict' directive when deduping closures
+  ([17711](https://github.com/civicrm/civicrm-core/pull/17711))**
 
-- **dev/core#1809 - Add start/end adjustment columns to membership status… ([17571](https://github.com/civicrm/civicrm-core/pull/17571))**
+- **Add isBackOffice, isPayLater, getPaymentMode helpers to
+  frontendpaymentformtrait
+  ([17511](https://github.com/civicrm/civicrm-core/pull/17511))**
 
-- **Set ContactType.name as required in the schema. ([17548](https://github.com/civicrm/civicrm-core/pull/17548))**
+- **Fix issue $this
+  ([589](https://github.com/civicrm/civicrm-drupal/pull/589))**
 
-- **[NFC] Minor code cleanup ([17566](https://github.com/civicrm/civicrm-core/pull/17566))**
+- **Fix validateAll to no longer support unused abort param
+  ([17544](https://github.com/civicrm/civicrm-core/pull/17544))**
 
-- **Remove deprecated billingID from baseIPN ([17525](https://github.com/civicrm/civicrm-core/pull/17525))**
+- **Remove deprecated billingID from baseIPN
+  ([17525](https://github.com/civicrm/civicrm-core/pull/17525))**
 
-- **[Ref] Remove never reachable lines. ([17556](https://github.com/civicrm/civicrm-core/pull/17556))**
+- **Add EntityFormTrait to pricefieldForm - stdised getEntityId()
+  ([17516](https://github.com/civicrm/civicrm-core/pull/17516))**
 
-- **dev/financial#131 Fix Realex processor to correctly throw an exception ([17559](https://github.com/civicrm/civicrm-core/pull/17559))**
+- **Update contributor-key.yml
+  ([17553](https://github.com/civicrm/civicrm-core/pull/17553))**
 
-- **dev/core#1801 Fix hardcoded activity priority by label ([17557](https://github.com/civicrm/civicrm-core/pull/17557))**
+- **Export fix ([17644](https://github.com/civicrm/civicrm-core/pull/17644))**
 
-- **[REF] Replace the deprecated system_rebuild_module_data function with… ([17515](https://github.com/civicrm/civicrm-core/pull/17515))**
+- **Upgrade HTML Purifier to v4.12.0 to support for PHP7.4
+  ([297](https://github.com/civicrm/civicrm-packages/pull/297))**
 
-- **dev/core#560 Add in deprecated function warning now that fatal is dep… ([17555](https://github.com/civicrm/civicrm-core/pull/17555))**
+- **Temporary tables should follow consistent naming convention
+  ([dev/core#183](https://lab.civicrm.org/dev/core/-/issues/183):
+  [15796](https://github.com/civicrm/civicrm-core/pull/15796))**
 
-- **dev/core#1782 Set activity_date_time and created_date to default to current_timestamp ([17450](https://github.com/civicrm/civicrm-core/pull/17450))**
+- **Remove unreachable lines
+  ([17563](https://github.com/civicrm/civicrm-core/pull/17563))**
 
-- **[Ref] Convert Authorize.net doDirectPayment to use guzzle & add test ([17501](https://github.com/civicrm/civicrm-core/pull/17501))**
+- **EventInfo template cleanup
+  ([17581](https://github.com/civicrm/civicrm-core/pull/17581))**
 
-- **Fix "Undefined variable: entryFound" notice on Bookkeeping report ([17554](https://github.com/civicrm/civicrm-core/pull/17554))**
+- **Misspelled word
+  ([17652](https://github.com/civicrm/civicrm-core/pull/17652))**
 
-- **Payment Propertybag remove warning ([17506](https://github.com/civicrm/civicrm-core/pull/17506))**
+- **Remove a usage of deprecated funtion get_magic_quotes_gpc and also switch out
+  {} for [] whne acecssing string or array offsets
+  ([296](https://github.com/civicrm/civicrm-packages/pull/296))**
 
-- **Support passing old method name into deprecatedFunctionWarning ([17552](https://github.com/civicrm/civicrm-core/pull/17552))**
+- **Remove unused deprecated class
+  ([17535](https://github.com/civicrm/civicrm-core/pull/17535))**
 
-- **Update contributor-key.yml ([17553](https://github.com/civicrm/civicrm-core/pull/17553))**
+- **Remove obsolete function formatWikiURL
+  ([17726](https://github.com/civicrm/civicrm-core/pull/17726))**
 
-- **Remove last instance of CRM_Core_Error::fatal.... ([17550](https://github.com/civicrm/civicrm-core/pull/17550))**
+- **[REF] Ship Flexmailer extension with Core
+  ([17669](https://github.com/civicrm/civicrm-core/pull/17669))**
 
-- **Allow adding datepicker to metadata based settings pages ([16610](https://github.com/civicrm/civicrm-core/pull/16610))**
+- **[Ref] Simplify the replacing of the email with the email from the url
+  ([17491](https://github.com/civicrm/civicrm-core/pull/17491))**
 
-- **Fix PHP notice when we don't have credit card params ([16514](https://github.com/civicrm/civicrm-core/pull/16514))**
+- **[REF] Replace incorrect usages of array_key_exists when the variable is not
+  an array with property_exists and also fix the parameter order for an implode
+  statement ([17573](https://github.com/civicrm/civicrm-core/pull/17573))**
 
-- **CRM_Core_I18n::setLocale() - Fix bug with repeated usage ([17374](https://github.com/civicrm/civicrm-core/pull/17374))**
+- **[Ref] Convert Authorize.net to use Guzzle for update subscription class, add
+  test ([17585](https://github.com/civicrm/civicrm-core/pull/17585))**
 
-- **Add payment processor to details on list of recurring contributions ([17179](https://github.com/civicrm/civicrm-core/pull/17179))**
+- **[REF] Using {} to access string or array offsets has been deprecated in
+  PHP7.4 ([17574](https://github.com/civicrm/civicrm-core/pull/17574))**
 
-- **dev/core#1798 - "End of yesterday" Relative Date Filter ([17512](https://github.com/civicrm/civicrm-core/pull/17512))**
+- **[Ref] Mark unused date functions as deprecated
+  ([17487](https://github.com/civicrm/civicrm-core/pull/17487))**
 
-- **Zip code range search only supports numeric zip codes  ([17523](https://github.com/civicrm/civicrm-core/pull/17523))**
+- **[REF] Using ternary operation without nesting is deprecated and also using
+  methods and properly instanciate the CiviCase Info object in test
+  ([17575](https://github.com/civicrm/civicrm-core/pull/17575))**
 
-- **[Ref] Remove another instance of fatal() ([17549](https://github.com/civicrm/civicrm-core/pull/17549))**
+- **[REF] Add in upgrade step to populate missing contact_type.name field
+  ([17570](https://github.com/civicrm/civicrm-core/pull/17570))**
 
-- **[Ref] Readability extraction in Dummy class ([17543](https://github.com/civicrm/civicrm-core/pull/17543))**
+- **[Ref] Convert Authorize.net doDirectPayment to use guzzle & add test
+  ([17501](https://github.com/civicrm/civicrm-core/pull/17501))**
 
-- **Remove isThrowException from CRM_Utils_Type::validate() signature ([17546](https://github.com/civicrm/civicrm-core/pull/17546))**
+- **[REF] Replace the deprecated system_rebuild_module_data function with
+  equivilant extension.list.module service function calls to be Drupal 9
+  compatiable ([17515](https://github.com/civicrm/civicrm-core/pull/17515))**
 
-- **dev/core#560 Convert final CRM_Core_Error::fatal to statusBounces or … ([17545](https://github.com/civicrm/civicrm-core/pull/17545))**
+- **[Ref] Remove never reachable lines.
+  ([17556](https://github.com/civicrm/civicrm-core/pull/17556))**
 
-- **Fix validateAll to no longer support unused abort param ([17544](https://github.com/civicrm/civicrm-core/pull/17544))**
+- **[Ref] Remove another instance of fatal()
+  ([17549](https://github.com/civicrm/civicrm-core/pull/17549))**
 
-- **dev/financial#131 Fix Eway processor to throw exceptions rather than return errors ([17542](https://github.com/civicrm/civicrm-core/pull/17542))**
+- **[Ref] Readability extraction in Dummy class
+  ([17543](https://github.com/civicrm/civicrm-core/pull/17543))**
 
-- **[REF] Replace some instances of fatal with thrown exceptions. ([17533](https://github.com/civicrm/civicrm-core/pull/17533))**
+- **[Ref] Throw exceptions from Authorize.net rather than return errors
+  ([17500](https://github.com/civicrm/civicrm-core/pull/17500))**
 
-- **APIv4 - filter getActions results based on user permissions ([17540](https://github.com/civicrm/civicrm-core/pull/17540))**
+- **[REF] Replace some instances of fatal with thrown exceptions.
+  ([17533](https://github.com/civicrm/civicrm-core/pull/17533))**
 
-- **[Ref] Simplify the replacing of the email with the email from the url ([17491](https://github.com/civicrm/civicrm-core/pull/17491))**
+- **[Ref] Remove calls to, and deprecate, unhandled function
+  ([17499](https://github.com/civicrm/civicrm-core/pull/17499))**
 
-- **[Ref] Throw exceptions from Authorize.net rather than return errors ([17500](https://github.com/civicrm/civicrm-core/pull/17500))**
+- **[REF] Remove handling for 2 fields not on the form
+  ([17504](https://github.com/civicrm/civicrm-core/pull/17504))**
 
-- **[Ref] Remove calls to, and deprecate, unhandled function ([17499](https://github.com/civicrm/civicrm-core/pull/17499))**
+- **[Ref] Remove some instances of fatal in BAO classes
+  ([17536](https://github.com/civicrm/civicrm-core/pull/17536))**
 
-- **[REF] Remove handling for 2 fields not on the form ([17504](https://github.com/civicrm/civicrm-core/pull/17504))**
+- **REF Access the method not the property directly to check if a payment
+  processor supports recurring
+  ([17602](https://github.com/civicrm/civicrm-core/pull/17602))**
 
-- **Replace calls to fatal with statusBounces ([17539](https://github.com/civicrm/civicrm-core/pull/17539))**
+- **[REF] Ensure that our custom error handler is called when jquery validates
+  and expand any collapsed accordions that are hiding required fields that
+  haven't been filled in
+  ([17673](https://github.com/civicrm/civicrm-core/pull/17673))**
 
-- **dev/core#560 Replace deprecated CRM_Core_Erorr::fatal with Exceptions… ([17541](https://github.com/civicrm/civicrm-core/pull/17541))**
+- **[REF] Consolidate code in processMembership
+  ([17611](https://github.com/civicrm/civicrm-core/pull/17611))**
 
-- **Add isBackOffice, isPayLater, getPaymentMode helpers to frontendpaymentformtrait ([17511](https://github.com/civicrm/civicrm-core/pull/17511))**
+- **[REF] Cleanup function for retrieving contact types.
+  ([17676](https://github.com/civicrm/civicrm-core/pull/17676))**
 
-- **Remove instances of fatal from upgrade folder ([17534](https://github.com/civicrm/civicrm-core/pull/17534))**
+- **[REF] Fix javascript syntax error
+  ([17678](https://github.com/civicrm/civicrm-core/pull/17678))**
 
-- **Remove unused deprecated class ([17535](https://github.com/civicrm/civicrm-core/pull/17535))**
+- **[REF] Fix jquery error message display on select2 field validation
+  ([17671](https://github.com/civicrm/civicrm-core/pull/17671))**
 
-- **[NFC] Update existing APIv3 MembershipType Tests to also test against… ([17528](https://github.com/civicrm/civicrm-core/pull/17528))**
+- **[REF] Fix allowing users to clear values for raido custom fields when not
+  required ([17670](https://github.com/civicrm/civicrm-core/pull/17670))**
 
-- **[Ref] Remove some instances of fatal in BAO classes ([17536](https://github.com/civicrm/civicrm-core/pull/17536))**
+- **[REF] Extract getTestTrxnID
+  ([17642](https://github.com/civicrm/civicrm-core/pull/17642))**
 
-- **5.27 ([17538](https://github.com/civicrm/civicrm-core/pull/17538))**
+- **[REF] Fix Compatability issue with flexmailer caused by the PHP7.4 fix
+  ([17660](https://github.com/civicrm/civicrm-core/pull/17660))**
 
-- **Fix probably-unused core payment processors to throw extensions ([17502](https://github.com/civicrm/civicrm-core/pull/17502))**
+- **[REF] Ensure that the Manual Payment Processor sets the _paymentProcessor
+  variable like other Processors to fix issues in PHP7.4 and UnitTests
+  ([17648](https://github.com/civicrm/civicrm-core/pull/17648))**
 
-- **Payment instrument ID is not required at processorform level ([17510](https://github.com/civicrm/civicrm-core/pull/17510))**
+- **[REF] Fix PHP7.4 Test fails when we are accessing array keys when the value
+  is not an array
+  ([17649](https://github.com/civicrm/civicrm-core/pull/17649))**
 
-- **5.27 ([17530](https://github.com/civicrm/civicrm-core/pull/17530))**
+- **[REF] Fix parts of code where curly brackets were being used for array or
+  string access which is deprecated in PHP7.4
+  ([17647](https://github.com/civicrm/civicrm-core/pull/17647))**
 
-- **Add titles and icons to entities ([17527](https://github.com/civicrm/civicrm-core/pull/17527))**
+- **[REF] Fix issue with using array access tools on NULL values
+  ([17600](https://github.com/civicrm/civicrm-core/pull/17600))**
 
-- **[NFC] Update PHPUnit Configuration file to be compatible with PHPUnit7 ([605](https://github.com/civicrm/civicrm-drupal/pull/605))**
+- **[REF] Replace incorrect usage of array_key_exists with property_exists in
+  Group BAO Class
+  ([17604](https://github.com/civicrm/civicrm-core/pull/17604))**
 
-- **Fix issue $this ([589](https://github.com/civicrm/civicrm-drupal/pull/589))**
+- **[REF] Add test for renewing old expired membership via form
+  ([17564](https://github.com/civicrm/civicrm-core/pull/17564))**
 
-- **dev/core#560 Remove unnecessary CRM_Core_Error::fatal call ([602](https://github.com/civicrm/civicrm-drupal/pull/602))**
+- **[REF] Update packages to work with PHP7.4
+  ([17598](https://github.com/civicrm/civicrm-core/pull/17598))**
 
-- **Remove `/` from the beginning and end of query string\r
-\r
-Merging as per discussion with @kcristiano  ([207](https://github.com/civicrm/civicrm-wordpress/pull/207))**
+- **[REF] Fix another couple of uses of array_key_exists when the variable being
+  checked is an object
+  ([17601](https://github.com/civicrm/civicrm-core/pull/17601))**
 
-- **[NFC] Update PHPUnit configuration to be compatible with PHPUnit7 ([206](https://github.com/civicrm/civicrm-wordpress/pull/206))**
+- **[REF] Remove deprecated methods of booting drupal container and getting
+  drupal timezone information
+  ([17522](https://github.com/civicrm/civicrm-core/pull/17522))**
 
-- **Fix discovery of page templates in theme subdirectories ([204](https://github.com/civicrm/civicrm-wordpress/pull/204))**
+- **[REF] Fix some additional issues where curly braces were being used to
+  access string or array offsets
+  ([17599](https://github.com/civicrm/civicrm-core/pull/17599))**
 
-- **5.27 ([202](https://github.com/civicrm/civicrm-wordpress/pull/202))**
+- **[NFC] Update existing APIv3 MembershipType Tests to also test against APIv4
+  as appropriate ([17528](https://github.com/civicrm/civicrm-core/pull/17528))**
 
-- **[NFC] Update PHPUnit configuration to be compatible with PHPUnit7 ([120](https://github.com/civicrm/civicrm-backdrop/pull/120))**
+- **NFC cleanup docblocks in CRM_Utils_JS
+  ([17714](https://github.com/civicrm/civicrm-core/pull/17714))**
 
-- **dev/core#1137 - Make ssl database connections without client certificates work in php7 ([298](https://github.com/civicrm/civicrm-packages/pull/298))**
+- **[NFC] Update flexmailer to be PHP7.4 compatible
+  ([17779](https://github.com/civicrm/civicrm-core/pull/17779))**
 
-- **Upgrade HTML Purifier to v4.12.0 to support for PHP7.4 ([297](https://github.com/civicrm/civicrm-packages/pull/297))**
+- **[NFC] Include flexmailer in distmaker
+  ([17768](https://github.com/civicrm/civicrm-core/pull/17768))**
 
-- **Add trigger for smarty error event ([292](https://github.com/civicrm/civicrm-packages/pull/292))**
+- **[NFC] Fix some outdated wiki links
+  ([17739](https://github.com/civicrm/civicrm-core/pull/17739))**
 
-- **Remove a usage of deprecated funtion get_magic_quotes_gpc and also sw… ([296](https://github.com/civicrm/civicrm-packages/pull/296))**
+- **[NFC] Fix contributor key for Lighthouse Consulting and Design
+  ([17727](https://github.com/civicrm/civicrm-core/pull/17727))**
 
-- **dev/core#560 Replace Depreacted CRM_Core_Error::fatal with an Exception ([295](https://github.com/civicrm/civicrm-packages/pull/295))**
+- **[NFC] Update PHPUnit Configuration file to be compatible with PHPUnit7
+  ([605](https://github.com/civicrm/civicrm-drupal/pull/605))**
 
-## <a name="misc"></a>Miscellany
+- **[NFC] Fix Unit test failure on MySQL 8 due to mysql ordering issue
+  ([17674](https://github.com/civicrm/civicrm-core/pull/17674))**
+
+- **[NFC] Fix tests in preparation for phpunit7
+  ([17661](https://github.com/civicrm/civicrm-core/pull/17661))**
+
+- **[NFC] Remove instances where html is passed to crmMoney
+  ([17612](https://github.com/civicrm/civicrm-core/pull/17612))**
+
+- **[NFC] Add assertions to existing test to lock in current behaviour
+  ([17605](https://github.com/civicrm/civicrm-core/pull/17605))**
+
+- **[NFC] Update mocking to use getMockBuilder instead instead of createMock
+  ([17606](https://github.com/civicrm/civicrm-core/pull/17606))**
+
+- **NFC Formatting cleanup on contribution/recur templates
+  ([17603](https://github.com/civicrm/civicrm-core/pull/17603))**
+
+- **[NFC] Minor code cleanup
+  ([17566](https://github.com/civicrm/civicrm-core/pull/17566))**
+
+- **[NFC] Update PHPUnit configuration to be compatible with PHPUnit7
+  ([120](https://github.com/civicrm/civicrm-backdrop/pull/120))**
+
+- **[NFC] Update PHPUnit configuration to be compatible with PHPUnit7
+  ([206](https://github.com/civicrm/civicrm-wordpress/pull/206))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-AGH Strategies - Alice Frumin, Andrew Hunt; British Humanist Association - Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ivan; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Dietermartens; ES-Progress - Sandor Semsey; Fuzion - Jitendra Purohit; JMA Consulting - Seamus Lee; Lighthouse Consulting and Design - Brian Shaughnessy; marcineqpol; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Tadpole Collective - Kevin Cristiano; twocs; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andrew Hunt; British Humanist Association -
+Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM -
+Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ivan; Coop
+SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Dietermartens; ES-Progress -
+Sandor Semsey; Flinders University of South Australia - Tom Anderson; Fuzion -
+Jitendra Purohit; JMA Consulting - Seamus Lee; Lighthouse Consulting and
+Design- Brian Shaughnessy; Marcin Lewandowski; Megaphone Technology Consulting -
+Jon Goldberg; MJW Consulting - Matthew Wire; Tadpole Collective - Kevin
+Cristiano; 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; Agileware - Francis Whittle, Justin Freeman; Andrew Thompson; Artful Robot - Rich Lott; Betty Dolfing; Blackfly Solutions - Alan Dixon; British Humanist Association - Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ivan; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dietermartens; Erioldoesdesign; ES-Progress - Sandor Semsey; Fuzion - Jitendra Purohit, Luke Stewart, Peter Davis; JMA Consulting - Joe Murray, Seamus Lee; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
+a-n The Artists Information Company - William Mortada; Agileware - Francis
+Whittle, Justin Freeman; Andrew Thompson; Artful Robot - Rich Lott; Betty
+Dolfing; Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma; Fuzion - Luke
+Stewart, Peter Davis; JMA Consulting - Joe Murray; MJCO - Mikey O'Toole; Semper
+IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Third Sector Design:
+Eriol Fox; Timbsoft Technologies - Tunbola Ogunwande;
 
 ## <a name="feedback"></a>Feedback