Set version to 5.53.0
[civicrm-core.git] / release-notes / 5.28.0.md
index dbc38c42fb3081dbe3ffb23d3cf178dab7b1ff24..c37f48360ae28bf08463ddff41e8a41a223bbd67 100644 (file)
@@ -16,7 +16,7 @@ Released August 5, 2020
 | Fix security vulnerabilities?                                   |   no    |
 | **Change the database schema?**                                 | **yes** |
 | **Alter the API?**                                              | **yes** |
-| Require attention to configuration options?                     |   no    |
+| **Require attention to configuration options?**                 | **yes** |
 | **Fix problems installing or upgrading to a previous version?** | **yes** |
 | **Introduce features?**                                         | **yes** |
 | **Fix bugs?**                                                   | **yes** |
@@ -25,13 +25,26 @@ Released August 5, 2020
 
 ### CiviCRM Core
 
-- **Feature Request: Ability to enable SSL for database connection. (Work
-  Towards [dev/core#1137](https://lab.civicrm.org/dev/core/-/issues/1137):
+- **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))**
+
+  Block sites from upgrading if on a MySQL version less than 5.6.5.
+
+- **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))**
 
-  Makes ssl database connections without client certificates work in php7.
+  Makes SSL database connections without client certificates work in PHP 7.
 
-- **Investigate php currency library
+- **Create new customPre hook
+  ([dev/core#1716](https://lab.civicrm.org/dev/core/-/issues/1716):
+  [17144](https://github.com/civicrm/civicrm-core/pull/17144))**
+
+   Creates a new hook customPre which makes it so one can impact or observe
+   custom data before it is saved.
+
+- **Investigate PHP currency library
   ([dev/translation#48](https://lab.civicrm.org/dev/translation/-/issues/48):
   [17608](https://github.com/civicrm/civicrm-core/pull/17608))**
 
@@ -51,44 +64,31 @@ Released August 5, 2020
 
   Work towards throwing exceptions instead of fatal errors.
 
-- **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))**
-
-  Block sites from upgrading if on a MySQL version less than 5.6.5.
+- **APIv4 - Activity 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))**
 
-- **Create new customPre hook
-  ([dev/core#1716](https://lab.civicrm.org/dev/core/-/issues/1716):
-  [17144](https://github.com/civicrm/civicrm-core/pull/17144))**
+  Sets the default for `activity_date_time` and `created_date` as the current
+  date when using the APIv4 Activity.
 
-   Creates a new hook customPre which makes it so one can impact or observe
-   custom data before it is saved.
+- **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))**
 
- - **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))**
+  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
 
-   Sets the default for `activity_date_time` and `created_date` as the current
-   date when using the APIv4 Activity.
+- **APIv4 - Improve row_count to work with HAVING, GROUP BY, and SELECT
+  ([17704](https://github.com/civicrm/civicrm-core/pull/17704))**
 
- - **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))**
+  This changes the meaning of $result->count(), to give a total count of
+  filtered items, ignoring limit and offset.
 
-   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
+- **APIv4 - Add more SQL functions
+  ([17692](https://github.com/civicrm/civicrm-core/pull/17692))**
 
- - **APIv4 - Improve row_count to work with HAVING, GROUP BY, and SELECT
-   ([17704](https://github.com/civicrm/civicrm-core/pull/17704))**
-
-   This changes the meaning of $result->count(), to give a total count of
-   filtered items, ignoring limit and offset.
-
- - **APIv4 - Add more SQL functions
-   ([17692](https://github.com/civicrm/civicrm-core/pull/17692))**
-
-   Adds support for additional SQL functions in APIv4. Also categorizes them and
-   adds translated titles for the new Search Builder.
+  Adds support for additional SQL functions in APIv4. Also categorizes them and
+  adds translated titles for the new Search Builder.
 
 - **APIv4 - Add titles and icons to entities
   ([17527](https://github.com/civicrm/civicrm-core/pull/17527) and
@@ -116,7 +116,8 @@ Released August 5, 2020
 - **Connect to database using SET NAMES utf8mb4
   ([17716](https://github.com/civicrm/civicrm-core/pull/17716))**
 
-  Makes it so one can use utf8mb4 characters.
+  This change makes it so one can use utf8mb4 characters.  However, databases
+  that do not support utf8mb4 will not be affected.
 
 - **Remove slow join from activity search
   ([17250](https://github.com/civicrm/civicrm-core/pull/17250))**
@@ -126,12 +127,14 @@ Released August 5, 2020
 - **Add icons to standalone contact tasks
   ([17667](https://github.com/civicrm/civicrm-core/pull/17667))**
 
-  Adds icon data to contact tasks.
+  This adds icon data to contact tasks that appear in the new search builder
+  extension.
 
 - **Add icons to multi-valued custom groups and display on contact tab
   ([17531](https://github.com/civicrm/civicrm-core/pull/17531))**
 
-  Adds icons to multi-valued custom groups to improve user experience.
+  Custom data sets that appear as tabs can now have configurable icons to
+  display on the tab.
 
 - **Add serialize metadata to domain.locales field
   ([17651](https://github.com/civicrm/civicrm-core/pull/17651))**
@@ -139,11 +142,11 @@ Released August 5, 2020
   Adds metadata to help APIv4 serialize/unserialize the domain.locales
   field correctly.
 
-- **Add smarty error event
+- **Add Smarty error event
   ([16918](https://github.com/civicrm/civicrm-core/pull/16918) and
   [292](https://github.com/civicrm/civicrm-packages/pull/292))**
 
-  Improves debugging errors in smarty templates.
+  Improves debugging errors in Smarty templates.
 
 - **Allow HEAD requests to generate a form key
   ([17321](https://github.com/civicrm/civicrm-core/pull/17321))**
@@ -154,7 +157,7 @@ Released August 5, 2020
   process in parallel
   ([15422](https://github.com/civicrm/civicrm-core/pull/15422))**
 
-  Adds a new Sql queue type which will allow multiple runners to fetch the next
+  Adds a new SQL queue type which will allow multiple runners to fetch the next
   available job from a queue and run in parallel.
 
 - **Allow adding datepicker to metadata based settings pages
@@ -163,19 +166,13 @@ Released August 5, 2020
   Makes it so that datepicker can be added to metadata based settings pages by
   specifying html_Type='datepicker' in settings metadata.
 
-- **Price Field Form: save the fid for the postProcess hook
-  ([17639](https://github.com/civicrm/civicrm-core/pull/17639))**
-
-  Improves `postProcess` hook for Price Field Form by making the field id
-  available.
-
 ### CiviContribute
 
 - **Add payment processor to details on list of recurring contributions
   ([17179](https://github.com/civicrm/civicrm-core/pull/17179))**
 
-  Improves the Recurring Contributions UI by adding a column for Payment
-  Processor.
+  The list of recurring contributions now has a column showing the payment
+  processor.
 
 - **Fix all core processors to throw exceptions and not rely on the
   CRM_Core_Payment to convert errors to exceptions
@@ -184,11 +181,12 @@ Released August 5, 2020
   [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),
+  [17500](https://github.com/civicrm/civicrm-core/pull/17500),
   [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))**
 
-  Makes it so that core payment processors fail elegantly more often.
+  Makes it so that core payment processors fail gracefully more often.
 
 - **Add selfService flag to cancelSubscription getText so we can display
   different text for each case
@@ -197,6 +195,18 @@ Released August 5, 2020
   Makes it so payment processor developers can identify the different contexts
   someone may be canceling from and display appropriate messaging.
 
+- **Price Field Form - Save the fid for the postProcess hook
+  ([17639](https://github.com/civicrm/civicrm-core/pull/17639))**
+
+  Improves `postProcess` hook for Price Field Form by making the field id
+  available.
+
+- **Improve error handling on IPN
+  ([18062](https://github.com/civicrm/civicrm-core/pull/18062))**
+
+  The error message and backtrace from a failed PayPal Website Payments Standard
+  instant payment notification (IPN) are now logged.
+
 ### CiviMember
 
 - **Display start/end adjustment on membership status page.
@@ -206,17 +216,37 @@ Released August 5, 2020
   Improves the Membership Status administration page by adding columns for the
   start/end adjustment.
 
+### WordPress Integration
+
+- **Provide concrete details about civicrm.files
+  ([18011](https://github.com/civicrm/civicrm-core/pull/18011) follows on
+  [dev/wordpress#66](https://lab.civicrm.org/dev/wordpress/-/issues/66), see
+  also [17868](https://github.com/civicrm/civicrm-core/pull/17868))**
+
+  A message will appear after an upgrade to 5.28.0 or later specifying the
+  calculated and expected file upload locations.
+
+  Changes appearing in 5.27 have been reverted but will be reapplied in 5.29
+  after more notice is provided.
+
 ## <a name="bugs"></a>Bugs resolved
 
 ### Core CiviCRM
 
+- **Contact image is broken
+  ([dev/wordpress#62](https://lab.civicrm.org/dev/wordpress/-/issues/62):
+  [17853](https://github.com/civicrm/civicrm-core/pull/17853))**
+
+  This resolves a problem on sites managed with Git where the `db.json` file
+  would be missed.
+
 - **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))**
 
   Remove database index on `medium_id` from `civicrm_activity`.
 
-- **[Activity] Default priority value when add Activity
+- **Activity - Default priority value when adding an activity
   ([dev/core#1801](https://lab.civicrm.org/dev/core/-/issues/1801):
   [17557](https://github.com/civicrm/civicrm-core/pull/17557))**
 
@@ -234,20 +264,26 @@ Released August 5, 2020
 - **APIv4 - Skip empty leaves in WHERE clause
   ([17576](https://github.com/civicrm/civicrm-core/pull/17576))**
 
-  Fixes a big in search builder where APIv4 gives a sql error
-  while building your where clause.
+  Fixes a bug in search builder where APIv4 gives a SQL error while building
+  your where clause.
+
+- **Offset is not respected in Date Preferences
+  ([dev/core#1847](https://lab.civicrm.org/dev/core/-/issues/1847) and
+  [dev/core#1874](https://lab.civicrm.org/dev/core/-/issues/1874):
+  [17762](https://github.com/civicrm/civicrm-core/pull/17762) and
+  [17836](https://github.com/civicrm/civicrm-core/pull/17836))**
 
 - **Fix CRM_Utils_JS::dedupeClosures to ignore comments
   ([17717](https://github.com/civicrm/civicrm-core/pull/17717))**
 
   Ensures comments do not interfere with deduping.
 
-- **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))**
-
-  Updates php unit tests to use PHPUnit7 when the PHP Unit version is 7.1 or
-  greater.
+- **Use PHPUnit7 as the primary test runner
+  ([17615](https://github.com/civicrm/civicrm-core/pull/17615),
+  [17661](https://github.com/civicrm/civicrm-core/pull/17661),
+  [120](https://github.com/civicrm/civicrm-backdrop/pull/120),
+  [605](https://github.com/civicrm/civicrm-drupal/pull/605),
+  [206](https://github.com/civicrm/civicrm-wordpress/pull/206))**
 
 - **Fix isMultilingual to use static caching and respect current domain
   ([17646](https://github.com/civicrm/civicrm-core/pull/17646))**
@@ -261,21 +297,14 @@ Released August 5, 2020
   This field was incorrectly marked as a boolean; it's actually an int with an
   option list.
 
-- **Payment Propertybag remove warning
+- **Civi\Payment\PropertyBag - Remove warning
   ([17506](https://github.com/civicrm/civicrm-core/pull/17506))**
 
-  Do not trigger warning every time the function is called.
-
 - **Fix duplicate upgrade function
   ([17582](https://github.com/civicrm/civicrm-core/pull/17582))**
 
   Fixes a fatal error on upgrade caused by a merge conflict.
 
-- **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))**
-
 - **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),
@@ -290,7 +319,7 @@ Released August 5, 2020
   ([dev/core#1749](https://lab.civicrm.org/dev/core/-/issues/1749):
   [17440](https://github.com/civicrm/civicrm-core/pull/17440))**
 
-- **Regression : File fields export results in DB error
+- **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))**
 
@@ -307,17 +336,12 @@ Released August 5, 2020
   ([dev/core#1829](https://lab.civicrm.org/dev/core/-/issues/1829):
   [17664](https://github.com/civicrm/civicrm-core/pull/17664))**
 
-- **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))**
-
 - **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))**
 
- - **APIv4 - filter getActions results based on user permissions
-   ([17540](https://github.com/civicrm/civicrm-core/pull/17540))**
+- **APIv4 - Filter getActions results based on user permissions
+  ([17540](https://github.com/civicrm/civicrm-core/pull/17540))**
 
 - **Pre-upgrade message for php-intl shows twice
   ([17748](https://github.com/civicrm/civicrm-core/pull/17748))**
@@ -325,15 +349,11 @@ Released August 5, 2020
 - **Fix saving of State/Province Multi-select values
   ([17737](https://github.com/civicrm/civicrm-core/pull/17737))**
 
-- **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))**
-
 - **[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))**
 
-- **Use psr-4 instead of psr-0 in Civi directory
+- **Use PSR-4 instead of PSR-0 in Civi directory
   ([17690](https://github.com/civicrm/civicrm-core/pull/17690))**
 
 - **Sort options without relying on unavailable buildOptions param
@@ -342,27 +362,25 @@ Released August 5, 2020
 - **Throw exception if id not passed into discard
   ([17666](https://github.com/civicrm/civicrm-core/pull/17666))**
 
-- **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))**
-
 - **Fix validation of select2 fields in "On behalf of Organisation" block
   ([17672](https://github.com/civicrm/civicrm-core/pull/17672))**
 
 - **Pass required attribute for quickform fields through to form
-  ([16488](https://github.com/civicrm/civicrm-core/pull/16488))**
+  ([16488](https://github.com/civicrm/civicrm-core/pull/16488) and
+  [17929](https://github.com/civicrm/civicrm-core/pull/17929) related to
+  [dev/core#1903](https://lab.civicrm.org/dev/core/-/issues/1903))**
 
 - **CRM_Core_I18n::setLocale() - Fix bug with repeated usage
   ([17374](https://github.com/civicrm/civicrm-core/pull/17374))**
 
-- **Bug in Grant statistics report
-  ([17640](https://github.com/civicrm/civicrm-core/pull/17640))**
-
 - **Fix retrieving MySQL version for checking as part of install requirements
   ([17593](https://github.com/civicrm/civicrm-core/pull/17593))**
 
 - **Set ContactType.name as required in the schema.
-  ([17548](https://github.com/civicrm/civicrm-core/pull/17548))**
+  ([17548](https://github.com/civicrm/civicrm-core/pull/17548),
+  [17570](https://github.com/civicrm/civicrm-core/pull/17570), and
+  [18070](https://github.com/civicrm/civicrm-core/pull/18070) related to
+  [dev/core#1927](https://lab.civicrm.org/dev/core/-/issues/1927))**
 
 - **Fix "Undefined variable: entryFound" notice on Bookkeeping report
   ([17554](https://github.com/civicrm/civicrm-core/pull/17554))**
@@ -370,9 +388,28 @@ Released August 5, 2020
 - **Zip code range search only supports numeric zip codes
   ([17523](https://github.com/civicrm/civicrm-core/pull/17523))**
 
+  Rather than causing a database error, this displays an error message when
+  attempting to search a postal code range using non-numeric postal codes.
+
 - **Remove isThrowException from CRM_Utils_Type::validate() signature
    ([17546](https://github.com/civicrm/civicrm-core/pull/17546))**
 
+- **`codeVersion` not displayed in system status check error message about db
+  version vs codeversion
+  ([dev/core#1882](https://lab.civicrm.org/dev/core/-/issues/1882):
+  [17854](https://github.com/civicrm/civicrm-core/pull/17854))**
+
+- **"Merge" form moves unchecked related entities (intra-RC regression)
+  ([dev/core#1930](https://lab.civicrm.org/dev/core/-/issues/1930):
+  [18079](https://github.com/civicrm/civicrm-core/pull/18079))**
+
+### CiviCase
+
+- **Non-compliant 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))**
+
 ### CiviContribute
 
 - **Payment instrument ID is not required at processorform level
@@ -395,18 +432,51 @@ Released August 5, 2020
   ([16514](https://github.com/civicrm/civicrm-core/pull/16514) and
   [17584](https://github.com/civicrm/civicrm-core/pull/17584))**
 
+- **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))**
+
+- **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))**
+
+- **"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))**
+
+  Ensures that the financial account is set correctly even when the name does
+  not match the label.
+
 ### CiviEvent
 
 - **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))**
 
+- **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))**
+
+### CiviGrant
+
+- **Bug in Grant statistics report
+  ([17640](https://github.com/civicrm/civicrm-core/pull/17640))**
+
 ### CiviSMS
 
 - **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))**
 
+### Drupal Integration
+
+- **Error: Class 'CRM_Upgrade_Incremental_General' not found in
+  Civi\Install\Requirements->checkMysqlVersion()
+  ([dev/drupal#131](https://lab.civicrm.org/dev/drupal/-/issues/131):
+  [18066](https://github.com/civicrm/civicrm-core/pull/18066))**
+
 ### Joomla Integration
 
 - **Ensure that when normal routing trackable urls and opens in Joomla go to the
@@ -428,23 +498,24 @@ Released August 5, 2020
   Ensures that the CiviCRM base page is correctly identified when it does not
   reside in the theme root directory.
 
-- **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))**
-
-  Ensures that the financial account is set correctly even when the name does
-  not match the label.
+- **Prevent session from starting during WordPress pseudo cron procedures
+  ([dev/core#1889](https://lab.civicrm.org/dev/core/-/issues/1889):
+  [17890](https://github.com/civicrm/civicrm-core/pull/17890) and
+  [210](https://github.com/civicrm/civicrm-wordpress/pull/210))**
 
 ## <a name="misc"></a>Miscellany
 
+- **Ship Flexmailer extension with civicrm-core
+  ([17669](https://github.com/civicrm/civicrm-core/pull/17669),
+  ([17768](https://github.com/civicrm/civicrm-core/pull/17768))**
+
 - **Support passing old method name into deprecatedFunctionWarning
   ([17552](https://github.com/civicrm/civicrm-core/pull/17552))**
 
 - **Add CRM_Core_Form::isFormInViewMode and CRM_Core_Form::isFormInEditMode
   ([17637](https://github.com/civicrm/civicrm-core/pull/17637))**
 
-- **CRM_Utils_JS - also dedupe 'use strict' directive when deduping closures
+- **CRM_Utils_JS - Dedupe 'use strict' directive
   ([17711](https://github.com/civicrm/civicrm-core/pull/17711))**
 
 - **Add isBackOffice, isPayLater, getPaymentMode helpers to
@@ -481,7 +552,7 @@ Released August 5, 2020
 - **EventInfo template cleanup
   ([17581](https://github.com/civicrm/civicrm-core/pull/17581))**
 
-- **Misspelled word
+- **[NFC] Misspelled word
   ([17652](https://github.com/civicrm/civicrm-core/pull/17652))**
 
 - **Remove a usage of deprecated funtion get_magic_quotes_gpc and also switch out
@@ -494,68 +565,59 @@ Released August 5, 2020
 - **Remove obsolete function formatWikiURL
   ([17726](https://github.com/civicrm/civicrm-core/pull/17726))**
 
-- **[REF] Ship Flexmailer extension with Core
-  ([17669](https://github.com/civicrm/civicrm-core/pull/17669))**
-
-- **[Ref] Simplify the replacing of the email with the email from the url
+- **[REF] Simplify the replacing of the email with the email from the url
   ([17491](https://github.com/civicrm/civicrm-core/pull/17491))**
 
 - **[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))**
 
-- **[Ref] Convert Authorize.net to use Guzzle for update subscription class, add
+- **[REF] Convert Authorize.net to use Guzzle for update subscription class, add
   test ([17585](https://github.com/civicrm/civicrm-core/pull/17585))**
 
 - **[REF] Using {} to access string or array offsets has been deprecated in
   PHP7.4 ([17574](https://github.com/civicrm/civicrm-core/pull/17574))**
 
-- **[Ref] Mark unused date functions as deprecated
+- **[REF] Mark unused date functions as deprecated
   ([17487](https://github.com/civicrm/civicrm-core/pull/17487))**
 
 - **[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] Add in upgrade step to populate missing contact_type.name field
-  ([17570](https://github.com/civicrm/civicrm-core/pull/17570))**
-
-- **[Ref] Convert Authorize.net doDirectPayment to use guzzle & add test
+- **[REF] Convert Authorize.net doDirectPayment to use guzzle & add test
   ([17501](https://github.com/civicrm/civicrm-core/pull/17501))**
 
 - **[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))**
 
-- **[Ref] Remove never reachable lines.
+- **[REF] Remove never reachable lines.
   ([17556](https://github.com/civicrm/civicrm-core/pull/17556))**
 
-- **[Ref] Remove another instance of fatal()
+- **[REF] Remove another instance of fatal()
   ([17549](https://github.com/civicrm/civicrm-core/pull/17549))**
 
-- **[Ref] Readability extraction in Dummy class
+- **[REF] Readability extraction in Dummy class
   ([17543](https://github.com/civicrm/civicrm-core/pull/17543))**
 
-- **[Ref] Throw exceptions from Authorize.net rather than return errors
-  ([17500](https://github.com/civicrm/civicrm-core/pull/17500))**
-
 - **[REF] Replace some instances of fatal with thrown exceptions.
   ([17533](https://github.com/civicrm/civicrm-core/pull/17533))**
 
-- **[Ref] Remove calls to, and deprecate, unhandled function
+- **[REF] Remove calls to, and deprecate, unhandled function
   ([17499](https://github.com/civicrm/civicrm-core/pull/17499))**
 
 - **[REF] Remove handling for 2 fields not on the form
   ([17504](https://github.com/civicrm/civicrm-core/pull/17504))**
 
-- **[Ref] Remove some instances of fatal in BAO classes
+- **[REF] Remove some instances of fatal in BAO classes
   ([17536](https://github.com/civicrm/civicrm-core/pull/17536))**
 
-- **REF Access the method not the property directly to check if a payment
+- **[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))**
 
-- **[REF] Ensure that our custom error handler is called when jquery validates
+- **[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))**
@@ -566,10 +628,10 @@ Released August 5, 2020
 - **[REF] Cleanup function for retrieving contact types.
   ([17676](https://github.com/civicrm/civicrm-core/pull/17676))**
 
-- **[REF] Fix javascript syntax error
+- **[REF] Fix Javascript syntax error
   ([17678](https://github.com/civicrm/civicrm-core/pull/17678))**
 
-- **[REF] Fix jquery error message display on select2 field validation
+- **[REF] Fix jQuery error message display on select2 field validation
   ([17671](https://github.com/civicrm/civicrm-core/pull/17671))**
 
 - **[REF] Fix allowing users to clear values for raido custom fields when not
@@ -578,8 +640,8 @@ Released August 5, 2020
 - **[REF] Extract getTestTrxnID
   ([17642](https://github.com/civicrm/civicrm-core/pull/17642))**
 
-- **[REF] Fix Compatability issue with flexmailer caused by the PHP7.4 fix
-  ([17660](https://github.com/civicrm/civicrm-core/pull/17660))**
+- **Update Flexmailer to be PHP7.4 compatible
+  ([17779](https://github.com/civicrm/civicrm-core/pull/17779), [17660](https://github.com/civicrm/civicrm-core/pull/17660))**
 
 - **[REF] Ensure that the Manual Payment Processor sets the _paymentProcessor
   variable like other Processors to fix issues in PHP7.4 and UnitTests
@@ -610,8 +672,8 @@ Released August 5, 2020
   checked is an object
   ([17601](https://github.com/civicrm/civicrm-core/pull/17601))**
 
-- **[REF] Remove deprecated methods of booting drupal container and getting
-  drupal timezone information
+- **[REF] Remove deprecated methods of booting Drupal container and getting
+  Drupal timezone information
   ([17522](https://github.com/civicrm/civicrm-core/pull/17522))**
 
 - **[REF] Fix some additional issues where curly braces were being used to
@@ -621,30 +683,18 @@ Released August 5, 2020
 - **[NFC] Update existing APIv3 MembershipType Tests to also test against APIv4
   as appropriate ([17528](https://github.com/civicrm/civicrm-core/pull/17528))**
 
-- **NFC cleanup docblocks in CRM_Utils_JS
+- **[NFC] cleanup docblocks in CRM_Utils_JS
   ([17714](https://github.com/civicrm/civicrm-core/pull/17714))**
 
-- **[NFC] Update flexmailer to be PHP7.4 compatible
-  ([17779](https://github.com/civicrm/civicrm-core/pull/17779))**
-
-- **[NFC] Include flexmailer in distmaker
-  ([17768](https://github.com/civicrm/civicrm-core/pull/17768))**
-
 - **[NFC] Fix some outdated wiki links
   ([17739](https://github.com/civicrm/civicrm-core/pull/17739))**
 
 - **[NFC] Fix contributor key for Lighthouse Consulting and Design
   ([17727](https://github.com/civicrm/civicrm-core/pull/17727))**
 
-- **[NFC] Update PHPUnit Configuration file to be compatible with PHPUnit7
-  ([605](https://github.com/civicrm/civicrm-drupal/pull/605))**
-
-- **[NFC] Fix Unit test failure on MySQL 8 due to mysql ordering issue
+- **[NFC] Fix unit test failure on MySQL 8 due to 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))**
 
@@ -654,23 +704,27 @@ Released August 5, 2020
 - **[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
+- **[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))**
+- **MembershipRenewalTest - Fix failure
+  ([17830](https://github.com/civicrm/civicrm-core/pull/17830))**
+
+- **[REF] Fix regression where adding any date based field onto a profile
+  triggers an error date preferences not configured when previewing the profile
+  ([17973](https://github.com/civicrm/civicrm-core/pull/17973))**
 
-- **[NFC] Update PHPUnit configuration to be compatible with PHPUnit7
-  ([206](https://github.com/civicrm/civicrm-wordpress/pull/206))**
+- **[NFC] Port some recent test fixes from master to 5.28
+  ([18053](https://github.com/civicrm/civicrm-core/pull/18053))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-AGH Strategies - Alice Frumin, Andrew Hunt; British Humanist Association -
+AGH Strategies - Alice Frumin, Andie 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 -
@@ -688,10 +742,10 @@ 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;
+Eriol Fox; Timbsoft Technologies - Tunbola Ogunwande
 
 ## <a name="feedback"></a>Feedback
 
-These release notes are edited by Alice Frumin and Andrew Hunt.  If you'd like
+These release notes are edited by Alice Frumin and Andie Hunt.  If you'd like
 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
 and contact `@agh1`.