Move remaining validation into the validation section
[civicrm-core.git] / release-notes / 5.21.0.md
index 6f322101e5303fbc3b238e693ddccced20d2b794..9ad9b7e53f723d59782b7f279954ea0bf483fa34 100644 (file)
 # CiviCRM 5.21.0
 
-Released January 8, 2020;
+Released January 1, 2020
 
+- **[Synopsis](#synopsis)**
 - **[Features](#features)**
 - **[Bugs resolved](#bugs)**
 - **[Miscellany](#misc)**
 - **[Credits](#credits)**
+- **[Feedback](#feedback)**
 
-## <a name="features"></a>Features
-
-## <a name="bugs"></a>Bugs resolved
+## <a name="synopsis"></a>Synopsis
 
-### Core CiviCRM
+| *Does this version...?*                                         |         |
+|:--------------------------------------------------------------- |:-------:|
+| 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?     |   no    |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
-- **5.20 ([16028](https://github.com/civicrm/civicrm-core/pull/16028))**
-
-- **[NFC] code cleanup in test class. ([16026](https://github.com/civicrm/civicrm-core/pull/16026))**
-
-- **Add Payment PropertyBag for payment processor method arguments ([15697](https://github.com/civicrm/civicrm-core/pull/15697))**
+## <a name="features"></a>Features
 
-- **Always display amount paid even if it is 0.00. Blank looks like it's missing data rather than nothing paid ([16021](https://github.com/civicrm/civicrm-core/pull/16021))**
+### Core CiviCRM
 
-- **allow PCP report to filter on contribution status ([16024](https://github.com/civicrm/civicrm-core/pull/16024))**
+- **Default to 'copy' for non-empty fields on merge screen
+  ([dev/core#1339](https://lab.civicrm.org/dev/core/issues/1339):
+  [15595](https://github.com/civicrm/civicrm-core/pull/15595))**
 
-- **[NFC] Fix camelCase variable name following fix for dev/core#1435 ([16023](https://github.com/civicrm/civicrm-core/pull/16023))**
+  This updates the contact merge screen to default to copying data for all
+  non-empty fields. This change makes it easier to keep too much data but harder
+  to lose some.
 
-- **Remove unused cancelledStatus assign on contributionView ([16019](https://github.com/civicrm/civicrm-core/pull/16019))**
+- **Performance issue when exporting to CSV from reports with custom fields
+  ([dev/report#19](https://lab.civicrm.org/dev/report/issues/19):
+  [15248](https://github.com/civicrm/civicrm-core/pull/15248))**
 
-- **5.20 ([16016](https://github.com/civicrm/civicrm-core/pull/16016))**
+  Performance improvements when exporting a report to CSV.
 
-- **dev/core#523 get the Lybunt charts working again ([15989](https://github.com/civicrm/civicrm-core/pull/15989))**
+- **Memory error on creating large pdfs
+  ([dev/core#574](https://lab.civicrm.org/dev/core/issues/574):
+  [13232](https://github.com/civicrm/civicrm-core/pull/13232))**
 
-- **[NFC] Remove dinosaur function ([16010](https://github.com/civicrm/civicrm-core/pull/16010))**
+  Improves performance when creating PDFs.
 
-- **PayPalImpl: Add SOLUTIONTYPE parameter that triggers allowing to pay without having to create a paypal account. ([15523](https://github.com/civicrm/civicrm-core/pull/15523))**
+- **Update Country list: change Macedonia, Republic of into North Macedonia
+  ([dev/core#1166](https://lab.civicrm.org/dev/core/issues/1166):
+  [15997](https://github.com/civicrm/civicrm-core/pull/15997))**
 
-- **dev/report#23 - Fix contact sub-type 'is not one of' filtering ([15971](https://github.com/civicrm/civicrm-core/pull/15971))**
+  Updates the name of "Macedonia, Republic of" to "North Macedonia" in
+  accordance with the iso 3166-1 list.
+
+- **Tagsets should display vertically in activity/new case forms
+  ([dev/core#1346](https://lab.civicrm.org/dev/core/issues/1346):
+  [15649](https://github.com/civicrm/civicrm-core/pull/15649))**
+
+  Improves the User interface of the "New Activity" and "New Case" forms by
+  displaying the tag fields vertically instead of horizontally.
 
-- **Make utf8mb4 status check language more for the general consumer ([15946](https://github.com/civicrm/civicrm-core/pull/15946))**
+- **Make utf8mb4 status check language more for the general consumer
+  ([15946](https://github.com/civicrm/civicrm-core/pull/15946))**
 
-- **Make else statement more legible ([15974](https://github.com/civicrm/civicrm-core/pull/15974))**
+  This alters the language on the utf8mb4 status check so that it is a bit more
+  general in nature and hopefully easier to digest for end users.
 
-- **[Test] fix test setup on ANet tests ([15908](https://github.com/civicrm/civicrm-core/pull/15908))**
+- **Include Metadata on advanced search form for membership, grant, pledge,
+  contribution, and case fields
+  ([15936](https://github.com/civicrm/civicrm-core/pull/15936),
+  [15785](https://github.com/civicrm/civicrm-core/pull/15785), and
+  [15928](https://github.com/civicrm/civicrm-core/pull/15928))**
 
-- **dev/core#1166 Update the name of Macedonia, Republic of to North Macedonia ([15997](https://github.com/civicrm/civicrm-core/pull/15997))**
+  You can now set URL parameters for additional fields like
+  `membership_join_date` and `pledge_payment_start_date` to pre-filter results
+  on the advanced search form.
 
-- **5.20 ([16008](https://github.com/civicrm/civicrm-core/pull/16008))**
+- **Fix activity search to work by url params
+  ([15990](https://github.com/civicrm/civicrm-core/pull/15990))**
 
-- **[REF] clean up merge array. ([15970](https://github.com/civicrm/civicrm-core/pull/15970))**
+  You can now set URL parameters like `activity_date_time_high` to pre-filter
+  results on the activity search form.
 
-- **Code style, remove typo, double ;; from code where it makes sense to do so ([16001](https://github.com/civicrm/civicrm-core/pull/16001))**
+- **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):
+  [15903](https://github.com/civicrm/civicrm-core/pull/15903),
+  [15770](https://github.com/civicrm/civicrm-core/pull/15770),
+  [15941](https://github.com/civicrm/civicrm-core/pull/15941),
+  [15775](https://github.com/civicrm/civicrm-core/pull/15775) and
+  [15822](https://github.com/civicrm/civicrm-core/pull/15822))**
 
-- **dev/core#1405 Strip any spaces from Option Group name parameter and r… ([15937](https://github.com/civicrm/civicrm-core/pull/15937))**
+  Work towards throwing exceptions instead of fatal errors.
 
-- **5.20 ([16004](https://github.com/civicrm/civicrm-core/pull/16004))**
+- **Remove background opacity in menus; improving accessibility/readability
+  ([15847](https://github.com/civicrm/civicrm-core/pull/15847))**
 
-- **dev/core#1434 Fix table alias used in select when ouputting as a chart ([16000](https://github.com/civicrm/civicrm-core/pull/16000))**
+  The CiviCRM menu is now opaque to improve readability.
 
-- **Add testing for various params that pass through Contact_BAO_Query::optionValueQuery ([15996](https://github.com/civicrm/civicrm-core/pull/15996))**
+- **Improve datePicker placeholder/icons
+  ([15848](https://github.com/civicrm/civicrm-core/pull/15848))**
 
-- **Remove calls to deprecated pseudoconstant activityType, test ([15995](https://github.com/civicrm/civicrm-core/pull/15995))**
+  Small tweaks to the datepicker widget to improve flexibility & consistency.
 
-- **[NFC] cleanup on QueryTest ([15994](https://github.com/civicrm/civicrm-core/pull/15994))**
+- **modified shared address note under contact dashboard
+  ([15666](https://github.com/civicrm/civicrm-core/pull/15666) and
+  [15769](https://github.com/civicrm/civicrm-core/pull/15769))**
 
-- **dev/core#874 [UI] Fix styling of the menubar colour picker in joomla ([15945](https://github.com/civicrm/civicrm-core/pull/15945))**
+  Improves the note below the Shared Address field to include a link to the
+  contact that the address lives on to make it easier for get to the shared
+  address to edit it.
 
-- **Fix activity search to work by url params ([15990](https://github.com/civicrm/civicrm-core/pull/15990))**
+- **Grant in Edit mode doesn't show the associated contact and standardize all
+  screens accordingly. (Work Towards
+  [dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065):
+  [15757](https://github.com/civicrm/civicrm-core/pull/15757),
+  [15833](https://github.com/civicrm/civicrm-core/pull/15833) and
+  [15840](https://github.com/civicrm/civicrm-core/pull/15840))**
 
-- **dev/core#1425 Replace deprecated setting function ([15981](https://github.com/civicrm/civicrm-core/pull/15981))**
+  This standardizes edit screens for participant, grant, and membership records
+  to ensure that a clickable link to the associated contact is included in a
+  consistent way.
 
-- **Add import & export metadata to activity.priority_id ([15993](https://github.com/civicrm/civicrm-core/pull/15993))**
+- **Temporary tables should follow consistent naming convention (Work Towards
+  [dev/core#183](https://lab.civicrm.org/dev/core/issues/183):
+  [15795](https://github.com/civicrm/civicrm-core/pull/15795),
+  [15798](https://github.com/civicrm/civicrm-core/pull/15798),
+  [15819](https://github.com/civicrm/civicrm-core/pull/15819),
+  [15793](https://github.com/civicrm/civicrm-core/pull/15793),
+  [15792](https://github.com/civicrm/civicrm-core/pull/15792),
+  [15874](https://github.com/civicrm/civicrm-core/pull/15874),
+  [15821](https://github.com/civicrm/civicrm-core/pull/15821),
+  [15823](https://github.com/civicrm/civicrm-core/pull/15823),
+  [15826](https://github.com/civicrm/civicrm-core/pull/15826),
+  [15820](https://github.com/civicrm/civicrm-core/pull/15820),
+  [15825](https://github.com/civicrm/civicrm-core/pull/15825),
+  [15876](https://github.com/civicrm/civicrm-core/pull/15876), and
+  [16155](https://github.com/civicrm/civicrm-core/pull/16155))**
 
-- **dev/core#1425 Remove misleading type hint for Setting value parameter ([15988](https://github.com/civicrm/civicrm-core/pull/15988))**
+  Begins work to enforce a common naming convention for temporary tables.
 
-- **[NFC] Cleanup comments, string comparison in grant search ([15983](https://github.com/civicrm/civicrm-core/pull/15983))**
+### CiviContribute
 
-- **Only add in the metadata for advanced search if use has access to the… ([15987](https://github.com/civicrm/civicrm-core/pull/15987))**
+- **Develop getter & setter structure for Payment classes (Work Towards
+  [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82):
+  [15697](https://github.com/civicrm/civicrm-core/pull/15697),
+  [16052](https://github.com/civicrm/civicrm-core/pull/16052),
+  [16060](https://github.com/civicrm/civicrm-core/pull/16060), and
+  [16081](https://github.com/civicrm/civicrm-core/pull/16081))**
 
-- **5.20 ([15986](https://github.com/civicrm/civicrm-core/pull/15986))**
+  This PR adds a new class, `Civi\Payment\PropertyBag` which is designed to
+  offer a consistent object for holding payment parameters as they are sent to
+  and from payment processors.  For now, the legacy array of parameters is still
+  valid, so this will not have much immediate impact, but it lays the groundwork
+  for future work.
 
-- **dev/core#1390 - Search builder error on Membership source field ([15845](https://github.com/civicrm/civicrm-core/pull/15845))**
+- **Always display amount paid even if it is 0.00. Blank looks like it's missing
+  data rather than nothing paid
+  ([16021](https://github.com/civicrm/civicrm-core/pull/16021))**
 
-- **5.20 port to master ([15985](https://github.com/civicrm/civicrm-core/pull/15985))**
+  This improves user experience by displaying contributions of 0 as 0 instead
+  of blank.
 
-- **[REF] Standardise the Grant Search form handling ([15931](https://github.com/civicrm/civicrm-core/pull/15931))**
+### CiviMail
 
-- **dev/core#1425 Replace deprecated settings fns in test suite ([15980](https://github.com/civicrm/civicrm-core/pull/15980))**
+- **CiviMail - Only display "Headers and Footers" if there are headers and
+  footers ([15326](https://github.com/civicrm/civicrm-core/pull/15326))**
 
-- **Remove CRM_Contact_Form_Search_Custom_Basic from searches added on install. ([15979](https://github.com/civicrm/civicrm-core/pull/15979))**
+  Makes it so when creating a CiviMail Mailing the "Headers and Footers" tab
+  only displays if there are Headers and/or Footers configured on the site.
 
-- **5.20 ([15982](https://github.com/civicrm/civicrm-core/pull/15982))**
+### Drupal Integration
 
-- **5.20 ([15978](https://github.com/civicrm/civicrm-core/pull/15978))**
+- **Add participant is_test field to views
+  ([590](https://github.com/civicrm/civicrm-drupal/pull/590))**
 
-- **[REF] further removal of unnecessary  params ([15901](https://github.com/civicrm/civicrm-core/pull/15901))**
+  Makes the Participant `is_test` field available in views.
 
-- **[TEST] dev/core#1366 Unit test for case audit ([15877](https://github.com/civicrm/civicrm-core/pull/15877))**
+### PayPal Implementation
 
-- **Fix api Payment.create to support overpayments ([15909](https://github.com/civicrm/civicrm-core/pull/15909))**
+- **PayPalImpl: Add SOLUTIONTYPE parameter that triggers allowing to pay without
+  having to create a paypal account.
+  ([15523](https://github.com/civicrm/civicrm-core/pull/15523))**
 
-- **CSV Export: Add deprecation warning ([15951](https://github.com/civicrm/civicrm-core/pull/15951))**
+  Adds a `SOLUTIONTYPE` parameter to the PayPal checkout values so that one can
+  make a contribution without having to create an account.
 
-- **dev/core1329 Reduce number of deceased contacts in the demo data from… ([15967](https://github.com/civicrm/civicrm-core/pull/15967))**
+## <a name="bugs"></a>Bugs resolved
 
-- **dev/core#1366 - Make case activity audit print report work again ([15882](https://github.com/civicrm/civicrm-core/pull/15882))**
+### Core CiviCRM
 
-- **Fix potential test glitch when repeatedly calling createLoggedInUser ([15965](https://github.com/civicrm/civicrm-core/pull/15965))**
+- **CiviCRM Option Group with a name containing spaces cannot have any options
+  added, error message is shown also impacts the in-place option editor
+  ([dev/core#1405](https://lab.civicrm.org/dev/core/issues/1405) and
+  [dev/core#1447](https://lab.civicrm.org/dev/core/issues/1447):
+  [15937](https://github.com/civicrm/civicrm-core/pull/15937) and
+  [16033](https://github.com/civicrm/civicrm-core/pull/16033))**
 
-- **[REF] Remove unused parameter ([15960](https://github.com/civicrm/civicrm-core/pull/15960))**
+  Option group names are no longer exposed for editing, as they are now
+  automatically generated from the title.  On upgrade, existing option group
+  names that contain spaces will be rewritten.  *Extensions that provide or rely
+  upon option group names that contain spaces will need to be rewritten.*
 
-- **5.20 ([15958](https://github.com/civicrm/civicrm-core/pull/15958))**
+  Upon upgrade, if rewriting an option group name will duplicate another option
+  group's name, that option group will be skipped and a post-upgrade message
+  will show the details.
 
-- **Remove unused parameter ([15953](https://github.com/civicrm/civicrm-core/pull/15953))**
+- **Quicksearch with phone filter doesn't work with non-numeric character
+  ([dev/core#1420](https://lab.civicrm.org/dev/core/issues/1420):
+  [15955](https://github.com/civicrm/civicrm-core/pull/15955))**
 
-- **Rename activity search field from status_id to activity_status_id ([15947](https://github.com/civicrm/civicrm-core/pull/15947))**
+- **Option to open navigation item in new window (if present)
+  ([dev/core#1398](https://lab.civicrm.org/dev/core/issues/1398):
+  [15861](https://github.com/civicrm/civicrm-core/pull/15861))**
 
-- **[REF] CSV Export: Remove impossible checks on  var ([15954](https://github.com/civicrm/civicrm-core/pull/15954))**
+  Ensures the target attribute is respected for menu items that are added using
+  the navigationMenu hook.
 
-- **core#1420 Quicksearch with phone filter doesn't work with non-numeric character ([15955](https://github.com/civicrm/civicrm-core/pull/15955))**
+- **CIVI-SA-2019-21 may lead to regressions when following typehints on
+  CRM_Core_BAO_Setting::setItem() (Work Towards
+  [dev/core#1425](https://lab.civicrm.org/dev/core/issues/1425):
+  [15981](https://github.com/civicrm/civicrm-core/pull/15981),
+  [15988](https://github.com/civicrm/civicrm-core/pull/15988) and
+  [15980](https://github.com/civicrm/civicrm-core/pull/15980))**
 
-- **Remove unused functions ([15956](https://github.com/civicrm/civicrm-core/pull/15956))**
+  Removes a misleading PHPDoc type hint for the `$value` parameter in
+  `CRM_Core_BAO_Setting::setItem()` and updates tests that use this function.
 
-- **core#1398: Option to open navigation item in new window (if present) ([15861](https://github.com/civicrm/civicrm-core/pull/15861))**
+- **Only add in the metadata for advanced search if user has access to the
+  relevant component
+  ([15987](https://github.com/civicrm/civicrm-core/pull/15987))**
 
-- **Remove join to civicrm_option_value in favour of using getLabel funct… ([15734](https://github.com/civicrm/civicrm-core/pull/15734))**
+  Ensures the user has access to the relevant component before adding metadata
+  for that component to the advanced search form.
 
-- **[REF] Further cleanup on address handling in merge code. ([15950](https://github.com/civicrm/civicrm-core/pull/15950))**
+- **Fix api explorer formatting IS NULL clauses
+  ([15817](https://github.com/civicrm/civicrm-core/pull/15817))**
 
-- **Enable Case search metadata on Advanced Search Form ([15928](https://github.com/civicrm/civicrm-core/pull/15928))**
+  Fixes a formatting issue in the api explorer output where IS NULL and IS NOT
+  NULL clauses would output invalid code due to the missing value piece of the
+  clause.
 
-- **dev/core#560 Replace instances of CRM_Core_Error::fatal with Exceptio… ([15941](https://github.com/civicrm/civicrm-core/pull/15941))**
+- **Add in translation function around newly converted statusBounce messages
+  ([15774](https://github.com/civicrm/civicrm-core/pull/15774))**
 
-- **[REF] Minor code cleanup on the setting of contact greetings. ([15949](https://github.com/civicrm/civicrm-core/pull/15949))**
+- **Fix cachekey string
+  ([15761](https://github.com/civicrm/civicrm-core/pull/15761))**
 
-- **Sort CMS Database Table list ([15944](https://github.com/civicrm/civicrm-core/pull/15944))**
+  Fixes an obscure bug where no custom fields were being returned when doing a
+  Contact.get api call with check_permissions=0.
 
-- **[UI] Ensure that when sorting on columns in the find activity search … ([15943](https://github.com/civicrm/civicrm-core/pull/15943))**
+- **Fix potential test glitch when repeatedly calling createLoggedInUser
+  ([15965](https://github.com/civicrm/civicrm-core/pull/15965))**
 
-- **[REF] Standardise form handling in the Find Pledges search form ([15930](https://github.com/civicrm/civicrm-core/pull/15930))**
+- **Ensure that when sorting on columns in the find activity search the arrow
+  shows which field is being sorted and direction
+  ([15943](https://github.com/civicrm/civicrm-core/pull/15943))**
 
-- **Include Metadata on advanced search form for membership, grant, pledg… ([15936](https://github.com/civicrm/civicrm-core/pull/15936))**
+- **translate strings
+  ([15858](https://github.com/civicrm/civicrm-core/pull/15858))**
 
-- **5.20 ([15938](https://github.com/civicrm/civicrm-core/pull/15938))**
+  Some text in the extension manager was not wrapped in a translation function.
 
-- **[REF] return determination of whether to show expired fields to the calling function ([15934](https://github.com/civicrm/civicrm-core/pull/15934))**
+- **Filter contact sub-type by "is not one of" fails
+  ([dev/report#23](https://lab.civicrm.org/dev/report/issues/23):
+  [15971](https://github.com/civicrm/civicrm-core/pull/15971))**
 
-- **5.20 ([15933](https://github.com/civicrm/civicrm-core/pull/15933))**
+- **Trying to edit the settings for a reserved option group gives a network
+  error can't connect to server
+  ([dev/core#1477](https://lab.civicrm.org/dev/core/issues/1477):
+  [16107](https://github.com/civicrm/civicrm-core/pull/16107))**
 
-- **Remove background opacity in menus; improving accessibility/readability ([15847](https://github.com/civicrm/civicrm-core/pull/15847))**
+### CiviCampaign
 
-- **[NFC] [Test] Minor test cleanup on CiviMailUtils ([15907](https://github.com/civicrm/civicrm-core/pull/15907))**
+- **Activities not visible if they have a campaign_id & contact does not have
+  'administer CiviCampaign'
+  ([dev/core#1444](https://lab.civicrm.org/dev/core/issues/1444):
+  [16057](https://github.com/civicrm/civicrm-core/pull/16057))**
 
-- **dev/core#1414 Fix E-notices on the lack of an html key in the psudo m… ([15924](https://github.com/civicrm/civicrm-core/pull/15924))**
+### CiviCase
 
-- **5.20 ([15921](https://github.com/civicrm/civicrm-core/pull/15921))**
+- **Case Activities Report includes core activities *always*
+  ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366):
+  [15882](https://github.com/civicrm/civicrm-core/pull/15882) and
+  [15877](https://github.com/civicrm/civicrm-core/pull/15877))**
 
-- **dev/core#1410 Fix E-notice when doin a force case search with a prede… ([15920](https://github.com/civicrm/civicrm-core/pull/15920))**
+- **Case search with force URL parameters gives php warning
+  ([dev/core#1410](https://lab.civicrm.org/dev/core/issues/1410) and
+  [dev/core#1414](https://lab.civicrm.org/dev/core/issues/1414):
+  [15920](https://github.com/civicrm/civicrm-core/pull/15920) and
+  [15924](https://github.com/civicrm/civicrm-core/pull/15924))**
 
-- **Fix CRM_Contribute_BAO_ContributionTest to no longer use unreliable legacy set up method ([15905](https://github.com/civicrm/civicrm-core/pull/15905))**
+- **CiviCase - Make static function `allActivityTypes()` static
+  ([15839](https://github.com/civicrm/civicrm-core/pull/15839))**
 
-- **5.20 to master ([15916](https://github.com/civicrm/civicrm-core/pull/15916))**
+### CiviContribute
 
-- **[Test] Remove hard coded it reference ([15906](https://github.com/civicrm/civicrm-core/pull/15906))**
+- **Membership form permits creating invalid transactions
+  ([dev/financial#100](https://lab.civicrm.org/dev/financial/issues/100):
+  [15771](https://github.com/civicrm/civicrm-core/pull/15771))**
 
-- **Move greeting handling up as it is not paymentValidation dependent ([15904](https://github.com/civicrm/civicrm-core/pull/15904))**
+  To avoid users accidentally setting invalid statuses, this removes the
+  statuses "Partially Paid", "Cancelled", and "Failed" from the `Payment Status`
+  field when recording a payment for a Contribution related to a Membership.
+  Additionally, removes the statuses "Partially Paid", "Overdue" and "In
+  Progress" from the `Payment Status` field when  recording a payment for a
+  Contribution related to an Event.
 
-- **dev/core#183 Event Price Set Custom Search to using CRM_Utils_SQL_Tem… ([15819](https://github.com/civicrm/civicrm-core/pull/15819))**
+- **hook_civicrm_post() implementation results in DB Error: already exists for
+  custom field values
+  ([dev/core#1443](https://lab.civicrm.org/dev/core/issues/1443):
+  [16061](https://github.com/civicrm/civicrm-core/pull/16061))**
 
-- **dev/core#183 Remove references to and noisly deprecated CRM_Core_DAO::createTempTableName ([15793](https://github.com/civicrm/civicrm-core/pull/15793))**
+  The post hook is invoked after storing custom values when adding contributions.
 
-- **dev/core#183 Use Standard CRM_Utils_SQL_TempTable builder to create temporary tabl… ([15792](https://github.com/civicrm/civicrm-core/pull/15792))**
+- **Lybunt report - remove broken chart functionality
+  ([dev/core#523](https://lab.civicrm.org/dev/core/issues/523):
+  [15989](https://github.com/civicrm/civicrm-core/pull/15989))**
 
-- **dev/core#183 Convert the generating of temporary tables within the ra… ([15876](https://github.com/civicrm/civicrm-core/pull/15876))**
+  Fixes the LYBUNT charts.
 
-- **Contribution url params - add contribution_page_id as a supported url parameter ([15785](https://github.com/civicrm/civicrm-core/pull/15785))**
+- **allow PCP report to filter on contribution status
+  ([16024](https://github.com/civicrm/civicrm-core/pull/16024))**
 
-- **[REF] remove another unnecessary pass-by-reference ([15902](https://github.com/civicrm/civicrm-core/pull/15902))**
+  The PCP report template lists all personal campaign pages with the total
+  number of contributions made against each PCP page and the total amount
+  raised. Before this change the report had no filter for Contribution Status,
+  so canceled contributions were showing and throwing off the totals.  There is
+  now a filter for contribution status allowing users to filter this list as
+  they wish.
 
-- **Convert a few fatals to exceptions. ([15903](https://github.com/civicrm/civicrm-core/pull/15903))**
+- **Fix api Payment.create to support overpayments
+  ([15909](https://github.com/civicrm/civicrm-core/pull/15909))**
 
-- **Remove unused variables in completeOrder() ([15841](https://github.com/civicrm/civicrm-core/pull/15841))**
+  Payments made to already paid-up contributions no longer result in an error.
+  The payment continues to be "Completed" and no related entities are updated.
 
-- **5.20 ([15890](https://github.com/civicrm/civicrm-core/pull/15890))**
+### CiviEvent
 
-- **(NFC) api_v3_ExtensionTest - Fix when executing on build with 25+ extensions ([15892](https://github.com/civicrm/civicrm-core/pull/15892))**
+- **Fix Participant Search in force mode to support query parameters in URL
+  ([15791](https://github.com/civicrm/civicrm-core/pull/15791) and
+  [15807](https://github.com/civicrm/civicrm-core/pull/15807))**
 
-- **CiviMail - Only display "Headers and Footers" if there are headers and footers ([15326](https://github.com/civicrm/civicrm-core/pull/15326))**
+- **Move greeting handling up as it is not paymentValidation dependent
+  ([15904](https://github.com/civicrm/civicrm-core/pull/15904))**
 
-- **[REF] Convert CRM_Core_Error::fatal to CRM_Core_Error::statusBounce i… ([15863](https://github.com/civicrm/civicrm-core/pull/15863))**
+  Validation of greetings on the frontend event registration form is no longer
+  conditional on processing a payment.
 
-- **dev/core#183 Convert Include group / exclude group and include tags /… ([15821](https://github.com/civicrm/civicrm-core/pull/15821))**
+- **Remove nbsp from UserDashboard Event section
+  ([15880](https://github.com/civicrm/civicrm-core/pull/15880))**
 
-- **[NFC] Update composer lockfile to remove warning ([15886](https://github.com/civicrm/civicrm-core/pull/15886))**
+### CiviMail
 
-- **Add string type declarations to global API functions. ([15864](https://github.com/civicrm/civicrm-core/pull/15864))**
+- **DB error in Mail Clickthroughs bar chart display
+  ([dev/core#1434](https://lab.civicrm.org/dev/core/issues/1434):
+  [16000](https://github.com/civicrm/civicrm-core/pull/16000))**
 
-- **Remove nbsp from UserDashboard Event section ([15880](https://github.com/civicrm/civicrm-core/pull/15880))**
+  Fixes the bar chart view on the Mail Clickthroughs report.
 
-- **Fix api explorer formatting IS NULL clauses ([15817](https://github.com/civicrm/civicrm-core/pull/15817))**
+- **Unsubscribe broken if mailing sent to previous mailing recipients with an
+  excluded group ([dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108):
+  [15815](https://github.com/civicrm/civicrm-core/pull/15815))**
 
-- **5.20 ([15881](https://github.com/civicrm/civicrm-core/pull/15881))**
+### CiviMember
 
-- **5.20 ([15878](https://github.com/civicrm/civicrm-core/pull/15878))**
+- **Search builder error on Membership source field.
+  ([dev/core#1390](https://lab.civicrm.org/dev/core/issues/1390):
+  [15845](https://github.com/civicrm/civicrm-core/pull/15845))**
 
-- **Remove unused  parameter recur from CompleteOrder signature ([15800](https://github.com/civicrm/civicrm-core/pull/15800))**
+  Fixes an error: "DB error: syntax error" when adding "Membership Source" on
+  the search builder screen.
 
-- **[REF] Move CRM_Event_Form_EventFees::buildQuickForm to Participant_Form class ([15871](https://github.com/civicrm/civicrm-core/pull/15871))**
+### Drupal Integration
 
-- **[NFC] [Test-only] Remove partially paid from statuses tested for RenewContribution ([15866](https://github.com/civicrm/civicrm-core/pull/15866))**
+- **Implement drupal_get_user_timezone()
+  ([15794](https://github.com/civicrm/civicrm-core/pull/15794))**
 
-- **[REF] Minor simplifcation on initSet ([15870](https://github.com/civicrm/civicrm-core/pull/15870))**
+  Ensures that the timezone is set using the drupal timezone on Contributions
+  made by anonymous users (Drupal 8).
 
-- **[NFC] Test fix - incorrect records created due to test set up using PartiallyPaid when no payment is made ([15854](https://github.com/civicrm/civicrm-core/pull/15854))**
+### Joomla Integration
 
-- **[REF] remove unused lines of code ([15869](https://github.com/civicrm/civicrm-core/pull/15869))**
+- **New Accessible Menu Color Picker display issue on Joomla
+  ([dev/core#874](https://lab.civicrm.org/dev/core/issues/874):
+  [15945](https://github.com/civicrm/civicrm-core/pull/15945))**
 
-- **dev/core#183 CRM/Dedupe/BAO/QueryBuilder/IndividualUnsupervised.php report to using CRM_Utils… ([15826](https://github.com/civicrm/civicrm-core/pull/15826))**
+  Fixes the display of the menubar color picker on Joomla so it looks more like
+  the other CMSes.
 
-- **[TEST] dev/core#1394 - Avoid duplicate activity types in tests that use CiviCaseTestCase ([15853](https://github.com/civicrm/civicrm-core/pull/15853))**
+## <a name="misc"></a>Miscellany
 
-- **[NFC] Add in unit test of code being altered by #15826 ([15849](https://github.com/civicrm/civicrm-core/pull/15849))**
+- **Field metadata cleanup: Contact & Activity & Custom
+  ([15818](https://github.com/civicrm/civicrm-core/pull/15818))**
 
-- **dev/core#183 Use standard temporary table name format when creating t… ([15874](https://github.com/civicrm/civicrm-core/pull/15874))**
+- **Create a GitLab general issue template
+  ([15665](https://github.com/civicrm/civicrm-core/pull/15665))**
 
-- **5.20 ([15875](https://github.com/civicrm/civicrm-core/pull/15875))**
+- **Don't pass \$input to completeOrder by reference - return values are never
+  used ([15699](https://github.com/civicrm/civicrm-core/pull/15699))**
 
-- **Fix incorrect reference on extracted function ([15865](https://github.com/civicrm/civicrm-core/pull/15865))**
+- **Fix incorrect reference on extracted function
+  ([15865](https://github.com/civicrm/civicrm-core/pull/15865))**
 
-- **[NFC] fix test to correctly set up partially paid contribution ([15867](https://github.com/civicrm/civicrm-core/pull/15867))**
+- **Add $params type declaration to global API functions.
+  ([15852](https://github.com/civicrm/civicrm-core/pull/15852))**
 
-- **dev/core#183 Finish converting contrib sybnt custom search to using t… ([15820](https://github.com/civicrm/civicrm-core/pull/15820))**
+- **Add string type declarations to global API functions.
+  ([15864](https://github.com/civicrm/civicrm-core/pull/15864))**
 
-- **Upgrade ui-sortable angular library to v0.19.0 ([15868](https://github.com/civicrm/civicrm-core/pull/15868))**
+- **Convert fee selection test to use Order api
+  ([15812](https://github.com/civicrm/civicrm-core/pull/15812))**
 
-- **dev/core#1108 Fix unsubscribe bug ([15815](https://github.com/civicrm/civicrm-core/pull/15815))**
+- **Fix CRM_Contribute_BAO_ContributionTest to no longer use unreliable legacy
+  set up method ([15905](https://github.com/civicrm/civicrm-core/pull/15905))**
 
-- **(dev/core#574) Prevent memory exhaustion when generating large PDFs ([13232](https://github.com/civicrm/civicrm-core/pull/13232))**
+- **Sort CMS Database Table list
+  ([15944](https://github.com/civicrm/civicrm-core/pull/15944))**
 
-- **Improve datePicker placeholder/icons ([15848](https://github.com/civicrm/civicrm-core/pull/15848))**
+- **Rename activity search field from status_id to activity_status_id
+  ([15947](https://github.com/civicrm/civicrm-core/pull/15947))**
 
-- **Field metadata cleanup: Contact & Activity & Custom ([15818](https://github.com/civicrm/civicrm-core/pull/15818))**
+- **CSV Export: Add deprecation warning
+  ([15951](https://github.com/civicrm/civicrm-core/pull/15951))**
 
-- **Implement drupal_get_user_timezone() ([15794](https://github.com/civicrm/civicrm-core/pull/15794))**
+- **Remove CRM_Contact_Form_Search_Custom_Basic from searches added on install.
+  ([15979](https://github.com/civicrm/civicrm-core/pull/15979))**
 
-- **(NFC) PULL_REQUEST_TEMPLATE.md - Improve suggestions for under-the-hood/non-UI changes ([15837](https://github.com/civicrm/civicrm-core/pull/15837))**
+- **Add import & export metadata to activity.priority_id
+  ([15993](https://github.com/civicrm/civicrm-core/pull/15993))**
 
-- **dev/core#1065 Change verbiage in accordance with context ([15840](https://github.com/civicrm/civicrm-core/pull/15840))**
+- **Too many dead people in sample data
+  ([dev/core#1329](https://lab.civicrm.org/dev/core/issues/1329):
+  [15967](https://github.com/civicrm/civicrm-core/pull/15967))**
 
-- **Add $params type declaration to global API functions. ([15852](https://github.com/civicrm/civicrm-core/pull/15852))**
+- **Update dompdf (0.8.0=>0.8.3) & dependencies
+  ([15739](https://github.com/civicrm/civicrm-core/pull/15739))**
 
-- **translate strings ([15858](https://github.com/civicrm/civicrm-core/pull/15858))**
+- **Upgrade ui-sortable angular library to v0.19.0
+  ([15868](https://github.com/civicrm/civicrm-core/pull/15868))**
 
-- **[REF] minor refactor - move handling of 'skipMerge' to the skipMerge function ([15828](https://github.com/civicrm/civicrm-core/pull/15828))**
+- **Remove unused parameter
+  ([15953](https://github.com/civicrm/civicrm-core/pull/15953))**
 
-- **Fix CRM/Event/BAO/AdditionalPaymentTest.php to use Order.create ([15813](https://github.com/civicrm/civicrm-core/pull/15813))**
+- **Remove unused variables in completeOrder()
+  ([15841](https://github.com/civicrm/civicrm-core/pull/15841))**
 
-- **[NFC] dev/core#1352 - Add comments why there's two custom blocks on new case form ([15851](https://github.com/civicrm/civicrm-core/pull/15851))**
+- **Make else statement more legible
+  ([15974](https://github.com/civicrm/civicrm-core/pull/15974))**
 
-- **[REF] refactor on nasty Dedupe function ([15830](https://github.com/civicrm/civicrm-core/pull/15830))**
+- **Code style, remove typo, double ;; from code where it makes sense to do so
+  ([16001](https://github.com/civicrm/civicrm-core/pull/16001))**
 
-- **[REF] calculate 'amount' on ContributionPage in a shared way in one scenario ([15810](https://github.com/civicrm/civicrm-core/pull/15810))**
+- **Remove obsolete warning
+  ([15786](https://github.com/civicrm/civicrm-core/pull/15786))**
 
-- **5.20 to master ([15850](https://github.com/civicrm/civicrm-core/pull/15850))**
+- **Remove calls to deprecated pseudoconstant activityType, test
+  ([15995](https://github.com/civicrm/civicrm-core/pull/15995))**
 
-- **[REF] XMLProcessor/Report - Extract method to make it more testable ([15838](https://github.com/civicrm/civicrm-core/pull/15838))**
+- **Remove unused cancelledStatus assign on contributionView
+  ([16019](https://github.com/civicrm/civicrm-core/pull/16019))**
 
-- **dev/core#183 Convert Logging report summary report to using CRM_Utils… ([15825](https://github.com/civicrm/civicrm-core/pull/15825))**
+- **Remove join to civicrm_option_value in favour of using getLabel funct…
+  ([15734](https://github.com/civicrm/civicrm-core/pull/15734))**
 
-- **core#1346: Tagsets should display vertically in activity/new case forms ([15649](https://github.com/civicrm/civicrm-core/pull/15649))**
+- **Remove unused functions
+  ([15956](https://github.com/civicrm/civicrm-core/pull/15956))**
 
-- **(NFC) (dev/core#878) Simplify standard header. Remove year+version. ([15843](https://github.com/civicrm/civicrm-core/pull/15843))**
+- **Remove unused  parameter recur from CompleteOrder signature
+  ([15800](https://github.com/civicrm/civicrm-core/pull/15800))**
 
-- **CiviCase - Make static function `allActivityTypes()` static ([15839](https://github.com/civicrm/civicrm-core/pull/15839))**
+- **[REF] minor refactor - move handling of 'skipMerge' to the skipMerge
+  function ([15828](https://github.com/civicrm/civicrm-core/pull/15828))**
 
-- **dev/financial#100 Remove 'partially paid' as a contribution status option for 'record p…ayment' ([15771](https://github.com/civicrm/civicrm-core/pull/15771))**
+- **[REF] refactor on nasty Dedupe function
+  ([15830](https://github.com/civicrm/civicrm-core/pull/15830))**
 
-- **(dev/core#1065) Contact missing in membership renewal form ([15833](https://github.com/civicrm/civicrm-core/pull/15833))**
+- **[REF] calculate 'amount' on ContributionPage in a shared way in one scenario
+  ([15810](https://github.com/civicrm/civicrm-core/pull/15810))**
 
-- **[NFC] Remove unused variable not used since v4.4 ([15835](https://github.com/civicrm/civicrm-core/pull/15835))**
+- **[REF] XMLProcessor/Report - Extract method to make it more testable
+  ([15838](https://github.com/civicrm/civicrm-core/pull/15838))**
 
-- **[REF] very minor tidy up ([15756](https://github.com/civicrm/civicrm-core/pull/15756))**
+- **[REF] very minor tidy up
+  ([15756](https://github.com/civicrm/civicrm-core/pull/15756))**
 
-- **[NFC] minimal test for Mailing.update_email_resetdate ([15832](https://github.com/civicrm/civicrm-core/pull/15832))**
+- **[REF] remove another unnecessary pass-by-reference
+  ([15902](https://github.com/civicrm/civicrm-core/pull/15902))**
 
-- **dev/core#183 Convert creating of temporary tables in CRM/Mailing file… ([15823](https://github.com/civicrm/civicrm-core/pull/15823))**
+- **[REF] Convert CRM_Core_Error::fatal to CRM_Core_Error::statusBounce i…
+  ([15863](https://github.com/civicrm/civicrm-core/pull/15863))**
 
-- **Fix LabelFormat class to throw exceptions rather than fatals ([15822](https://github.com/civicrm/civicrm-core/pull/15822))**
+- **[REF] CSV Export: Remove impossible checks on  var
+  ([15954](https://github.com/civicrm/civicrm-core/pull/15954))**
 
-- **Add unit test for searching by participant_status_id & switch to generic function ([15803](https://github.com/civicrm/civicrm-core/pull/15803))**
+- **[REF] Further cleanup on address handling in merge code.
+  ([15950](https://github.com/civicrm/civicrm-core/pull/15950))**
 
-- **Fix Participant Search in force mode to support query parameters in URL ([15791](https://github.com/civicrm/civicrm-core/pull/15791))**
+- **[REF] Move CRM_Event_Form_EventFees::buildQuickForm to Participant_Form
+  class ([15871](https://github.com/civicrm/civicrm-core/pull/15871))**
 
-- **Convert fee selection test to use Order api ([15812](https://github.com/civicrm/civicrm-core/pull/15812))**
+- **[REF] Minor simplifcation on initSet
+  ([15870](https://github.com/civicrm/civicrm-core/pull/15870))**
 
-- **[NFC] declare thrown exceptions ([15809](https://github.com/civicrm/civicrm-core/pull/15809))**
+- **[REF] remove unused lines of code
+  ([15869](https://github.com/civicrm/civicrm-core/pull/15869))**
 
-- **Don't pass \$input to completeOrder by reference - return values are never used ([15699](https://github.com/civicrm/civicrm-core/pull/15699))**
+- **[REF] Standardise the Grant Search form handling
+  ([15931](https://github.com/civicrm/civicrm-core/pull/15931))**
 
-- **Handling comma separated list of participant statuses in url ([15807](https://github.com/civicrm/civicrm-core/pull/15807))**
+- **[REF] further removal of unnecessary  params
+  ([15901](https://github.com/civicrm/civicrm-core/pull/15901))**
 
-- **[REF] Add setSearchMetadata to each of the classes that extend CRM_Core_Form_Search ([15806](https://github.com/civicrm/civicrm-core/pull/15806))**
+- **[REF] Remove unused parameter
+  ([15960](https://github.com/civicrm/civicrm-core/pull/15960))**
 
-- **[REF] extract setDeprecatedDefaults ([15805](https://github.com/civicrm/civicrm-core/pull/15805))**
+- **[REF] clean up merge array.
+  ([15970](https://github.com/civicrm/civicrm-core/pull/15970))**
 
-- **Test fixes - addresses more invalid setup data ([15802](https://github.com/civicrm/civicrm-core/pull/15802))**
+- **[REF] replace copy & paste with shared getSortID function.
+  ([15783](https://github.com/civicrm/civicrm-core/pull/15783))**
 
-- **FinancialTrxnTest - Fix unit test to  be 'legit' ([15799](https://github.com/civicrm/civicrm-core/pull/15799))**
+- **[REF] return determination of whether to show expired fields to the calling
+  function ([15934](https://github.com/civicrm/civicrm-core/pull/15934))**
 
-- **5.20 ([15808](https://github.com/civicrm/civicrm-core/pull/15808))**
+- **[REF] Minor code cleanup on the setting of contact greetings.
+  ([15949](https://github.com/civicrm/civicrm-core/pull/15949))**
 
-- **dev/core#183 Convert creating of temp table in mailing test to use st… ([15795](https://github.com/civicrm/civicrm-core/pull/15795))**
+- **[REF] Standardise form handling in the Find Pledges search form
+  ([15930](https://github.com/civicrm/civicrm-core/pull/15930))**
 
-- **[NFC] reformat CiviUnitTestCase.php ([15801](https://github.com/civicrm/civicrm-core/pull/15801))**
+- **[REF] Add setSearchMetadata to each of the classes that extend
+  CRM_Core_Form_Search
+  ([15806](https://github.com/civicrm/civicrm-core/pull/15806))**
 
-- **dev/core#183 Convert database testing to use CRM_Utils_SQL_TempTable … ([15798](https://github.com/civicrm/civicrm-core/pull/15798))**
+- **[REF] extract setDeprecatedDefaults
+  ([15805](https://github.com/civicrm/civicrm-core/pull/15805))**
 
-- **5.20 ([15790](https://github.com/civicrm/civicrm-core/pull/15790))**
+- **Add unit test for searching by participant_status_id & switch to generic
+  function ([15803](https://github.com/civicrm/civicrm-core/pull/15803))**
 
-- **Create a GitLab general issue template ([15665](https://github.com/civicrm/civicrm-core/pull/15665))**
+- **Add testing for various params that pass through
+  Contact_BAO_Query::optionValueQuery
+  ([15996](https://github.com/civicrm/civicrm-core/pull/15996))**
 
-- **[REF] replace copy & paste with shared getSortID function. ([15783](https://github.com/civicrm/civicrm-core/pull/15783))**
+- **Fix CRM/Event/BAO/AdditionalPaymentTest.php to use Order.create
+  ([15813](https://github.com/civicrm/civicrm-core/pull/15813))**
 
-- **Remove obsolete warning ([15786](https://github.com/civicrm/civicrm-core/pull/15786))**
+- **Test fixes - addresses more invalid setup data
+  ([15802](https://github.com/civicrm/civicrm-core/pull/15802))**
 
-- **5.20 ([15784](https://github.com/civicrm/civicrm-core/pull/15784))**
+- **FinancialTrxnTest - Fix unit test to  be 'legit'
+  ([15799](https://github.com/civicrm/civicrm-core/pull/15799))**
 
-- **[NFC] Reformat Contact_Form_Search_Advanced ([15777](https://github.com/civicrm/civicrm-core/pull/15777))**
+- **[Test] Remove hard coded it reference
+  ([15906](https://github.com/civicrm/civicrm-core/pull/15906))**
 
-- **5.20 ([15773](https://github.com/civicrm/civicrm-core/pull/15773))**
+- **[Test] fix test setup on ANet tests
+  ([15908](https://github.com/civicrm/civicrm-core/pull/15908))**
 
-- **Converts using deprecated fatal function for exception in CRM/Utils/Sys… ([15775](https://github.com/civicrm/civicrm-core/pull/15775))**
+- **CiviCaseTestCase setup() can make duplicate activity type option values
+  (Test for [dev/core#1394](https://lab.civicrm.org/dev/core/issues/1394):
+  [15853](https://github.com/civicrm/civicrm-core/pull/15853))**
 
-- **[NFC] comment fixes - exceptions & don't declare NULL ([15776](https://github.com/civicrm/civicrm-core/pull/15776))**
+- **[NFC] Add in unit test of code being altered by #15826
+  ([15849](https://github.com/civicrm/civicrm-core/pull/15849))**
 
-- **Add in translation function around newly converted statusBounce messages ([15774](https://github.com/civicrm/civicrm-core/pull/15774))**
+- **[NFC] [Test] Minor test cleanup on CiviMailUtils
+  ([15907](https://github.com/civicrm/civicrm-core/pull/15907))**
 
-- **Swap some fatals on form & page classes for statusBounces ([15770](https://github.com/civicrm/civicrm-core/pull/15770))**
+- **(NFC) api_v3_ExtensionTest - Fix when executing on build with 25+ extensions
+  ([15892](https://github.com/civicrm/civicrm-core/pull/15892))**
 
-- **(dev/core#1065) Contribution in Edit mode needs to be shown consistently ([15757](https://github.com/civicrm/civicrm-core/pull/15757))**
+- **[NFC] [Test-only] Remove partially paid from statuses tested for
+  RenewContribution
+  ([15866](https://github.com/civicrm/civicrm-core/pull/15866))**
 
-- **Improve link title in shared address as per Mathieu ([15769](https://github.com/civicrm/civicrm-core/pull/15769))**
+- **[NFC] Test fix - incorrect records created due to test set up using
+  PartiallyPaid when no payment is made
+  ([15854](https://github.com/civicrm/civicrm-core/pull/15854))**
 
-- **modified shared address note under contact dashboard ([15666](https://github.com/civicrm/civicrm-core/pull/15666))**
+- **[NFC] Update composer lockfile to remove warning
+  ([15886](https://github.com/civicrm/civicrm-core/pull/15886))**
 
-- **5.20 to master ([15768](https://github.com/civicrm/civicrm-core/pull/15768))**
+- **[NFC] Cleanup comments, string comparison in grant search
+  ([15983](https://github.com/civicrm/civicrm-core/pull/15983))**
 
-- **5.20 ([15764](https://github.com/civicrm/civicrm-core/pull/15764))**
+- **[NFC] cleanup on QueryTest
+  ([15994](https://github.com/civicrm/civicrm-core/pull/15994))**
 
-- **Fix cachekey string ([15761](https://github.com/civicrm/civicrm-core/pull/15761))**
+- **[NFC] reformat CiviUnitTestCase.php
+  ([15801](https://github.com/civicrm/civicrm-core/pull/15801))**
 
-- **reporting#19 - Performance improvements on report display/export ([15248](https://github.com/civicrm/civicrm-core/pull/15248))**
+- **[NFC] Reformat Contact_Form_Search_Advanced
+  ([15777](https://github.com/civicrm/civicrm-core/pull/15777))**
 
-- **add contributor name ([15758](https://github.com/civicrm/civicrm-core/pull/15758))**
+- **[NFC] comment fixes - exceptions & don't declare NULL
+  ([15776](https://github.com/civicrm/civicrm-core/pull/15776))**
 
-- **dev/core#1339 Dedupe screen check to carry across any data where the other contact has none by default. ([15595](https://github.com/civicrm/civicrm-core/pull/15595))**
+- **[NFC] Update copyright date for 2020
+  ([586](https://github.com/civicrm/civicrm-drupal/pull/586))**
 
-- **[NFC] Update copyright date for 2020 ([15755](https://github.com/civicrm/civicrm-core/pull/15755))**
+- **Remove copyright & years from all code, except LICENSE.md etc
+  ([dev/core#878](https://lab.civicrm.org/dev/core/issues/878):
+  [588](https://github.com/civicrm/civicrm-drupal/pull/588),
+  [169](https://github.com/civicrm/civicrm-wordpress/pull/169),
+  [15843](https://github.com/civicrm/civicrm-core/pull/15843),
+  [587](https://github.com/civicrm/civicrm-drupal/pull/587) and
+  [104](https://github.com/civicrm/civicrm-backdrop/pull/104))**
 
-- **Update dompdf (0.8.0=>0.8.3) & dependencies ([15739](https://github.com/civicrm/civicrm-core/pull/15739))**
+- **[NFC] Update copyright date for 2020
+  ([585](https://github.com/civicrm/civicrm-drupal/pull/585))**
 
-- **(NFC) (dev/core#878) Simplify copyright header ([588](https://github.com/civicrm/civicrm-drupal/pull/588))**
+- **[NFC] Update copyright date for 2020
+  ([270](https://github.com/civicrm/civicrm-packages/pull/270))**
 
-- **[NFC] Update copyright date for 2020 ([586](https://github.com/civicrm/civicrm-drupal/pull/586))**
+- **[NFC] Remove dinosaur function
+  ([16010](https://github.com/civicrm/civicrm-core/pull/16010))**
 
-- **Add participant is_test field to views ([590](https://github.com/civicrm/civicrm-drupal/pull/590))**
+- **[NFC] code cleanup in test class.
+  ([16026](https://github.com/civicrm/civicrm-core/pull/16026))**
 
-- **(NFC) (dev/core#878) Simplify copyright header (D7) ([587](https://github.com/civicrm/civicrm-drupal/pull/587))**
+- **Membership and Event Related Contributions - shows all contributions (Clean
+  up for [dev/core#1435](https://lab.civicrm.org/dev/core/issues/1435):
+  [16023](https://github.com/civicrm/civicrm-core/pull/16023))**
 
-- **[NFC] Update copyright date for 2020 ([585](https://github.com/civicrm/civicrm-drupal/pull/585))**
+- **[NFC] Remove unused variable not used since v4.4
+  ([15835](https://github.com/civicrm/civicrm-core/pull/15835))**
 
-- **5.20 ([172](https://github.com/civicrm/civicrm-wordpress/pull/172))**
+- **(NFC) PULL_REQUEST_TEMPLATE.md - Improve suggestions for
+  under-the-hood/non-UI changes
+  ([15837](https://github.com/civicrm/civicrm-core/pull/15837))**
 
-- **5.20 ([170](https://github.com/civicrm/civicrm-wordpress/pull/170))**
+- **Duplicate custom field blocks on open case (Add Code Comments for
+  [dev/core#1352](https://lab.civicrm.org/dev/core/issues/1352):
+  [15851](https://github.com/civicrm/civicrm-core/pull/15851))**
 
-- **(NFC) (dev/core#878) Simplify copyright header ([169](https://github.com/civicrm/civicrm-wordpress/pull/169))**
+- **[NFC] minimal test for Mailing.update_email_resetdate
+  ([15832](https://github.com/civicrm/civicrm-core/pull/15832))**
 
-- **[NFC] Update copyright date for 2020 ([167](https://github.com/civicrm/civicrm-wordpress/pull/167))**
+- **[NFC] declare thrown exceptions
+  ([15809](https://github.com/civicrm/civicrm-core/pull/15809))**
 
-- **[NFC] Update copyright date for 2020 ([54](https://github.com/civicrm/civicrm-joomla/pull/54))**
+- **[NFC] fix test to correctly set up partially paid contribution
+  ([15867](https://github.com/civicrm/civicrm-core/pull/15867))**
 
-- **1.x 5.20 ([107](https://github.com/civicrm/civicrm-backdrop/pull/107))**
+- **[NFC] Update copyright date for 2020
+  ([167](https://github.com/civicrm/civicrm-wordpress/pull/167))**
 
-- **(NFC) (dev/core#878) Simplify copyright header ([104](https://github.com/civicrm/civicrm-backdrop/pull/104))**
+- **[NFC] Update copyright date for 2020
+  ([54](https://github.com/civicrm/civicrm-joomla/pull/54))**
 
-- **Update copyright date for 2020 ([102](https://github.com/civicrm/civicrm-backdrop/pull/102))**
+- **[NFC] Update copyright date for 2020
+  ([15755](https://github.com/civicrm/civicrm-core/pull/15755))**
 
-- **[NFC] Update copyright date for 2020 ([270](https://github.com/civicrm/civicrm-packages/pull/270))**
+- **Update copyright date for 2020
+  ([102](https://github.com/civicrm/civicrm-backdrop/pull/102))**
 
-## <a name="misc"></a>Miscellany
+- **add contributor name
+  ([15758](https://github.com/civicrm/civicrm-core/pull/15758))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Australian Greens - Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Greenpeace CEE - Patrick Figel; jamie-tillman; Jens Schuppe; JMA Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Australian Greens -
+Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
+Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy;
+Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra
+Purohit; Greenpeace CEE - Patrick Figel; Jamie Tillman; Jens Schuppe; JMA
+Consulting - Monish Deb; Joost Fock; Megaphone Technology Consulting - Jon
+Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive
+Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin
+Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin
+Cristiano; Wikimedia Foundation - Eileen McNaughton
 
 Most authors also reviewed code for this release; in addition, the following
 reviewers contributed their comments:
 
-AGH Strategies - Alice Frumin; Agileware - Justin Freeman; Artful Robot - Rich Lott; Australian Greens - Seamus Lee; Chris Burgess; Christian Wach; Circle Interactive - Dave Jenkins; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; jamie-tillman; JMA Consulting - Monish Deb; John Kingsnorth; Joost Fock; lolaslade; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; revati90; Richard van Oosterhout; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
\ No newline at end of file
+AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Chris Burgess; Circle
+Interactive - Dave Jenkins; John Kingsnorth; Freeform Solutions - Lola Slade;
+OSSeed Technologies LLP - Revati Gawas
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Alice Frumin and Andrew Hunt.  If you'd like
+to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
+and contact `@agh1`.