5.17.0 release notes: first pass at sorting and annotating
[civicrm-core.git] / release-notes / 5.17.0.md
index 6c4f8d357c722448d14b8fe8b09601da73532bf2..90668908eabda99a67cb336121fa14c3f1640b25 100644 (file)
@@ -14,515 +14,994 @@ Released September 4, 2019
 | *Does this version...?*                                         |         |
 |:--------------------------------------------------------------- |:-------:|
 | Fix security vulnerabilities?                                   |         |
-| Change the database schema?                                     |         |
-| Alter the API?                                                  |         |
+| Change the database schema?                                     | **yes** |
+| Alter the API?                                                  | **yes** |
 | Require attention to configuration options?                     |         |
-| Fix problems installing or upgrading to a previous version?     |         |
-| Introduce features?                                             |         |
-| Fix bugs?                                                       |         |
+| Fix problems installing or upgrading to a previous version?     | **yes** |
+| Introduce features?                                             | **yes** |
+| Fix bugs?                                                       | **yes** |
 
 ## <a name="features"></a>Features
 
 ### Core CiviCRM
 
-- **CRM-20455 Missing Summary ([259](https://github.com/civicrm/civicrm-packages/pull/259))**
+- **Add unique names and unique title for recurrings.
+  ([14820](https://github.com/civicrm/civicrm-core/pull/14820))**
 
-- **CRM-20445 Missing Summary ([180](https://github.com/civicrm/civicrm-packages/pull/180))**
+  Adds the key `unique_title` to the entity definition schema for situations where
+  multiple entities may be involved (e.g advanced search) and disambiguation is
+  needed
 
-## <a name="bugs"></a>Bugs resolved
+- **Add query dispatcher to allow query modification
+  ([CRM-20445](https://issues.civicrm.org/jira/browse/CRM-20445):
+  [259](https://github.com/civicrm/civicrm-packages/pull/259) and
+  [180](https://github.com/civicrm/civicrm-packages/pull/180))**
 
-### Core CiviCRM
+  Allows a query to be modified from an extension, for example by prepending
+  data like '/* Query run by user 45*/'.
 
-- **(dev/drupal#79) CRM_Upgrade_Form - Raise MINIMUM_PHP_VERSION from 5.6 to 7.0 ([15082](https://github.com/civicrm/civicrm-core/pull/15082))**
+- **Add support for bulkcreates
+  ([dev/core#1093](https://lab.civicrm.org/dev/core/issues/1093):
+  [14829](https://github.com/civicrm/civicrm-core/pull/14829) and
+  [14694](https://github.com/civicrm/civicrm-core/pull/14694))**
 
-- **Remove "Copy Case custom data" code (circa 2013) ([15051](https://github.com/civicrm/civicrm-core/pull/15051))**
+  Adds a bulkCreate function for CustomField so that one can create multiple
+  custom fields at the same time. This sets the stage for a new protocol
+  for how bulk create actions could look from a code point of view.
 
-- **Fix unreleased regression on import ([15048](https://github.com/civicrm/civicrm-core/pull/15048))**
+- **Make admin panels hookable
+  ([dev/core#1104](https://lab.civicrm.org/dev/core/issues/1104):
+  [14734](https://github.com/civicrm/civicrm-core/pull/14734))**
 
-- **dev/core#1186 add in unit test to lock in fix from dmeritcowboy in #1… ([15058](https://github.com/civicrm/civicrm-core/pull/15058))**
+  Adds the hook `alterAdminPanel` to allow extension developers to hide and show
+  elements on the admin screen.
 
-- **dev/core#1186 - ignore exception if no description field ([15055](https://github.com/civicrm/civicrm-core/pull/15055))**
+- **[EXPORT] add getPreview function
+  ([14782](https://github.com/civicrm/civicrm-core/pull/14782))**
 
-- **dev/core#1190 Add pptx to safe file types ([15047](https://github.com/civicrm/civicrm-core/pull/15047))**
+  Adds a function to allow preview of export results.
 
-- **Add release-notes/5.16.2.md ([15041](https://github.com/civicrm/civicrm-core/pull/15041))**
+- **Export help info does not match code
+  ([dev/core#1120](https://lab.civicrm.org/dev/core/issues/1120):
+  [14830](https://github.com/civicrm/civicrm-core/pull/14830))**
 
-- **dev/financial#65 - Revert recent changes that cause financial account edit form to be blank ([15037](https://github.com/civicrm/civicrm-core/pull/15037))**
+  Improves the export UI when one selects "Merge All Contacts with the Same
+  Address" so that the field "Postal Greeting (merging > 2 contacts)" reads
+  "Postal Greeting (when merging contacts)" and the field "Addressee (merging >
+  2 contacts)" reads "Addressee (when merging contacts)" and the code behind
+  these fields so that merging greater than 2 contacts or less than 2 contacts
+  functions the same.
 
-- **5.16.1 release notes ([15025](https://github.com/civicrm/civicrm-core/pull/15025))**
+- **Can't show contact subtype in search views
+  ([core#1130](https://lab.civicrm.org/dev/core/issues/1130):
+  [14840](https://github.com/civicrm/civicrm-core/pull/14840))**
 
-- **core#1182 - revert crm.menubar.js changes ([15021](https://github.com/civicrm/civicrm-core/pull/15021))**
+  This change ensures that one can use Contact Subtype as a result column in
+  Search Views.
 
-- **core#1175 - fix custom searches ([15007](https://github.com/civicrm/civicrm-core/pull/15007))**
+- **[REPORT] Allow extensions to join address, email and phone tables without
+  limiting to primary fields
+  ([14941](https://github.com/civicrm/civicrm-core/pull/14941))**
 
-- **Revert #14222 on RC branch ([14996](https://github.com/civicrm/civicrm-core/pull/14996))**
+  Allows reports to join the address email and phone tables without limiting to
+  just primary fields and add a test to ensure this functionality stays in
+  place.
 
-- **Further e-notice regression fix ([14991](https://github.com/civicrm/civicrm-core/pull/14991))**
+- **Use metadata for getOptions abbreviation & include currency symbol
+  ([14969](https://github.com/civicrm/civicrm-core/pull/14969))**
 
-- **Error log improvements: Provide severity level and use Civi::log() ([14222](https://github.com/civicrm/civicrm-core/pull/14222))**
+  Refactors the "abbreviation" mode in getOptions to be more consistently
+  metadata-driven, and adds the currency symbol as an abbreviation to fetch.
 
-- **Issue 1170 ([14985](https://github.com/civicrm/civicrm-core/pull/14985))**
+- **Error log improvements: Provide severity level and use Civi::log()
+  ([14222](https://github.com/civicrm/civicrm-core/pull/14222))**
 
-- **dev/core#1109 - Fix merge not updating ContactReference fields ([14983](https://github.com/civicrm/civicrm-core/pull/14983))**
+  Improves the Error Logging functionality ` CRM_Core_Error::debug_var` by
+  adding an optional severity level parameter and using `Civi::log()`.
 
-- ** Fix (unreleased regression) e-notices on import form ([14978](https://github.com/civicrm/civicrm-core/pull/14978))**
+- **Move the code to add employer from relationship backoffice form to BAO
+  ([14950](https://github.com/civicrm/civicrm-core/pull/14950))**
 
-- **5.16 to master ([14987](https://github.com/civicrm/civicrm-core/pull/14987))**
+  Makes it so one can add the employer contact after a current 'Employee of'
+  relationship is created and adds an optional relationship.create API parameter
+  `is_current_employer`.
 
-- **dev/drupal#72 Ensure front end profile title is used in event confirmation emails ([14960](https://github.com/civicrm/civicrm-core/pull/14960))**
+- **[METADATA] Add titles to Mapping xml & DAOs
+  ([14867](https://github.com/civicrm/civicrm-core/pull/14867) and
+  [14975](https://github.com/civicrm/civicrm-core/pull/14975))**
 
-- **[REF] [Import] extract function that sets field metadata ([14979](https://github.com/civicrm/civicrm-core/pull/14979))**
+  Adds some missing metadata to the Mapping & MappingField entities.
 
-- **[REF][Import]   very minor cleanup - 3 lines of code to one ([14976](https://github.com/civicrm/civicrm-core/pull/14976))**
+- **Fix support for relative dates in urls
+  ([14893](https://github.com/civicrm/civicrm-core/pull/14893))**
 
-- **[Test] Add test cover for Member_BAO_Query auto_renew field ([14956](https://github.com/civicrm/civicrm-core/pull/14956))**
+  Improves url support for relative dates for fields that have been converted to
+  use datepicker.
 
-- **Add pseudoconstant metadata to mapping_field.location_type_id ([14975](https://github.com/civicrm/civicrm-core/pull/14975))**
+- **Add default location for API v3 creates of Address, IM, OpenID and Phone
+  ([14885](https://github.com/civicrm/civicrm-core/pull/14885))**
 
-- **[NFC] code formatting only ([14977](https://github.com/civicrm/civicrm-core/pull/14977))**
+- **EntityPageTrait: Set logged in contact ID as default if one is not
+  specified, this allows permission checks etc. to work properly.
+  ([14620](https://github.com/civicrm/civicrm-core/pull/14620))**
 
-- **Use metadata for getOptions abbreviation & include currency symbol ([14969](https://github.com/civicrm/civicrm-core/pull/14969))**
+  Currently the `entitypagetrait` is only in use by
+  CRM_Contact_Page_View_Relationship. However the plan is to extend it to other
+  pages too, this PR updates it to get the logged in contact ID if none is
+  passed in - so it can be used on non-contact forms (eg. event lists).
 
-- **[REF] Update selfService in updateBilling to use shared function ([14965](https://github.com/civicrm/civicrm-core/pull/14965))**
+- **Move log and compilation dirs from "Runtime" to "Paths"
+  ([14718](https://github.com/civicrm/civicrm-core/pull/14718))**
 
-- **dev/core#1061 Ensure that custom data is not loaded on update subscription form when in self service mode and re-use shared function ([14964](https://github.com/civicrm/civicrm-core/pull/14964))**
+  This is an update to the path-handling convention for data folders that allows
+  more intuitive management of file-paths.
 
-- **Translation 'ts' usage fixes. ([14971](https://github.com/civicrm/civicrm-core/pull/14971))**
+- **Use select2 to display field mappings
+  ([14794](https://github.com/civicrm/civicrm-core/pull/14794))**
 
-- **5.16.0 to master ([14974](https://github.com/civicrm/civicrm-core/pull/14974))**
+  On the "Export Options" Screen for the "Use Saved Field Mapping" select field
+  adds the Description for the option (if one exists).
 
-- **Minor cleanup around invoicing on event code ([14959](https://github.com/civicrm/civicrm-core/pull/14959))**
+- **expose smarty's compile_check to be overridden in civicrm.settings.php
+  ([14706](https://github.com/civicrm/civicrm-core/pull/14706))**
 
-- **[NFC] minor cleanup ([14957](https://github.com/civicrm/civicrm-core/pull/14957))**
+  Exposes the Smarty variable `compile_force` so that it can be overridden from
+  civicrm.settings.php because having `compile_force` set to FALSE in some
+  environments has a positive impact on page rendering performance.
 
-- **[NFC] dev/core#1116 - seek and document where activityTypeName is name and where it's label ([14970](https://github.com/civicrm/civicrm-core/pull/14970))**
+- **[dev/core#538](https://lab.civicrm.org/dev/core/issues/538) Activity search
+  (advanced search) by subject - is exact match only
+  ([14703](https://github.com/civicrm/civicrm-core/pull/14703))**
 
-- **[REF] minor code cleanup on import mapping ([14962](https://github.com/civicrm/civicrm-core/pull/14962))**
+  Makes searching on some fields (including but not limited to invoice_number,
+  activity details, activity subject and activity location) do a "Like" search
+  as opposed to a strict match search consistently whether using the advanced
+  search or a component specific search.
 
-- **Fix removeNullContactTokens compatibility with custom tokens ([14943](https://github.com/civicrm/civicrm-core/pull/14943))**
+- **Unable to use url search arguments in 'Advanced Search' using force=1
+  ([Core/dev#692](https://lab.civicrm.org/dev/core/issues/692):
+  [14921](https://github.com/civicrm/civicrm-core/pull/14921))**
 
-- **dev/core#1135 Participants having multiple roles affects maximum event registration count ([14844](https://github.com/civicrm/civicrm-core/pull/14844))**
+  Adds support for the url search arguments 'contact_tags' and 'email' for the
+  'Advanced Search' form.
 
-- **dev/core#470: Current employer disapears when disabling expired relationships ([14951](https://github.com/civicrm/civicrm-core/pull/14951))**
+### CiviContribute
 
-- **[REF] Move Self service handlng to shared function to allow for use i… ([14963](https://github.com/civicrm/civicrm-core/pull/14963))**
+- **Extend contribute search url parsing to advanced search
+  ([14939](https://github.com/civicrm/civicrm-core/pull/14939))**
 
-- **[REF] simple extraction of function to check required fields are present ([14961](https://github.com/civicrm/civicrm-core/pull/14961))**
+  This change extends the url parameters accepted by the Advanced Search form to
+  include the search url parameters accepted by the Contribution Search form.
 
-- **Core/dev#692 support for some additional url params ([14921](https://github.com/civicrm/civicrm-core/pull/14921))**
+- **Improve performance on getSoftContribution details - only run one query
+  instead of one per contribution
+  ([14747](https://github.com/civicrm/civicrm-core/pull/14747))**
 
-- **Add serialization metadata for MembershipType api ([14954](https://github.com/civicrm/civicrm-core/pull/14954))**
+  Improves performance when retrieving bulk contributions.
 
-- **Add missing is_public flags to public paths ([14945](https://github.com/civicrm/civicrm-core/pull/14945))**
+- **Switch priceset selector to addField method
+  ([14843](https://github.com/civicrm/civicrm-core/pull/14843))**
 
-- **[TEST] [REF] [Export] Convert a couple more tests ([14953](https://github.com/civicrm/civicrm-core/pull/14953))**
+  Switches to adding price set fields using schema metadata instead of hard
+  coded metadata.
 
-- **Move the code to add employer from relationship backoffice form to BAO ([14950](https://github.com/civicrm/civicrm-core/pull/14950))**
+- **Set title using standard form method and use for success message on
+  contributionpage
+  ([14615](https://github.com/civicrm/civicrm-core/pull/14615))**
 
-- **dev/core#439 [Export] [Ref] Convert custom data export test to use newer function. ([14937](https://github.com/civicrm/civicrm-core/pull/14937))**
+  Switches to using a standard form method for assigning title on the Manage
+  Contribution page screen so the title can be accessed during postprocess.
 
-- **[REF] [Test] [Export] Convert some more tests to use the newer function ([14933](https://github.com/civicrm/civicrm-core/pull/14933))**
+### CiviEvent
 
-- **core#1130 - allow search views to show contact subtype ([14840](https://github.com/civicrm/civicrm-core/pull/14840))**
+- **Improve handling of 'Manage Event' title
+  ([14614](https://github.com/civicrm/civicrm-core/pull/14614))**
 
-- **[NFC] dev/core#1116 - document where activityTypeName is name and where it's label ([14952](https://github.com/civicrm/civicrm-core/pull/14952))**
+  Switches to using a standard form method for assigning title on the Manage
+  Event screen so the title can be accessed during postprocess.
 
-- **Add test for failed payment ([14946](https://github.com/civicrm/civicrm-core/pull/14946))**
+### CiviMail
 
-- **[NFC] Formatting in BAO_Relationship class ([14949](https://github.com/civicrm/civicrm-core/pull/14949))**
+- **Changed the title and description of profile_add_to_group_double_optin
+  ([14852](https://github.com/civicrm/civicrm-core/pull/14852))**
 
-- **dev/core#1162 [TEST] [Mailing] add in unit test checking that no bulk email flag is re… ([14947](https://github.com/civicrm/civicrm-core/pull/14947))**
+  Improves help text by updating the profile_add_to_group_double_optin and
+  profile_double_optin to have different titles and descriptions.
 
-- **5.16 to master ([14948](https://github.com/civicrm/civicrm-core/pull/14948))**
+### CiviMembership
 
-- **dev/core#961 - Contribution page including 2 email fields does not re… ([14252](https://github.com/civicrm/civicrm-core/pull/14252))**
+- **Add serialization metadata for MembershipType api
+  ([14954](https://github.com/civicrm/civicrm-core/pull/14954))**
 
-- **Catch Payment Processor Exception if thrown when registering via bac… ([14930](https://github.com/civicrm/civicrm-core/pull/14930))**
+  Adds metadata for serializing the membership_type fields
+  'relationship_type_id' and 'relationship_direction'.
 
-- **Fix mishandling of renamed membership status labels on membership import ([14940](https://github.com/civicrm/civicrm-core/pull/14940))**
+- **Switch create MembershipPayment to use API
+  ([14886](https://github.com/civicrm/civicrm-core/pull/14886))**
 
-- **[REPORT] Allow extensions to join address, email and phone tables without limi… ([14941](https://github.com/civicrm/civicrm-core/pull/14941))**
+  Simplifies and standardizes the creation of a MembershipPayment when using a
+  "live" payment method.
 
-- **[Report] Fix handling of location type in Reports ([14942](https://github.com/civicrm/civicrm-core/pull/14942))**
+## <a name="bugs"></a>Bugs resolved
 
-- **(dev/core#1104) make admin panels hookable ([14734](https://github.com/civicrm/civicrm-core/pull/14734))**
+### Core CiviCRM
 
-- **dev/core#987 Reporthook ([14320](https://github.com/civicrm/civicrm-core/pull/14320))**
+- **Does CiviCRM make it possible to specify which directories are private and
+  which are public-accessible?
+  ([dev/cloud-native#3](https://lab.civicrm.org/dev/cloud-native/issues/3):
+  [14778](https://github.com/civicrm/civicrm-core/pull/14778))**
 
-- **Extend contribute search url parsing to advanced search ([14939](https://github.com/civicrm/civicrm-core/pull/14939))**
+  This deprecates a function which was enabling/complicit in problematic
+  file-construction logic.
 
-- **5.16 ([14934](https://github.com/civicrm/civicrm-core/pull/14934))**
+- **Postal Code Suffix returns Postal Code value
+  ([dev/report#17](https://lab.civicrm.org/dev/report/issues/17):
+  [14744](https://github.com/civicrm/civicrm-core/pull/14744))**
 
-- **[REF] [Export] Move writeToTable fn to exportProcessor ([14932](https://github.com/civicrm/civicrm-core/pull/14932))**
+  Ensures when the postal code suffix column is displayed it returns the suffix,
+  before this change the postal code value was displayed.
 
-- **[REF][Event]  Extract calculation of 'zero-ness' in form rule ([14917](https://github.com/civicrm/civicrm-core/pull/14917))**
+- **Contact Reference Field Cutoff on Export
+  ([dev/core#439](https://lab.civicrm.org/dev/core/issues/439):
+  [14937](https://github.com/civicrm/civicrm-core/pull/14937))**
 
-- **dev/financial#36 [IMPORT] fix & test mishandling on payment_instrument labels ([14881](https://github.com/civicrm/civicrm-core/pull/14881))**
+  Fixes the handling of custom country fields longer than 16 characters when
+  exporting and improves test coverage.
 
-- **dev/core#1141 remove unused deprecated sql_calc_rows ([14877](https://github.com/civicrm/civicrm-core/pull/14877))**
+- **Issue with alterReportVars hook invoke
+  ([dev/core#987](https://lab.civicrm.org/dev/core/issues/987):
+  [14320](https://github.com/civicrm/civicrm-core/pull/14320))**
 
-- **[Export] Convert testGender Export to new test format. ([14914](https://github.com/civicrm/civicrm-core/pull/14914))**
+  Switches to invoking alterReportVars hook before grand total and section total
+  calculations instead of after so that when alterReportVars hook is used to
+  alter values in report rows those changes are taken into account when
+  totaling.
 
-- **[REF] [Export] Stop passing header rows around ([14913](https://github.com/civicrm/civicrm-core/pull/14913))**
+- **Delete repeating activities not working as intended
+  ([dev/core#1050](https://lab.civicrm.org/dev/core/issues/1050):
+  [14784](https://github.com/civicrm/civicrm-core/pull/14784))**
 
-- **5.16 ([14925](https://github.com/civicrm/civicrm-core/pull/14925))**
+  Ensures that when the user opts to delete multiple repeat activities, the
+  specified activities are actually deleted.
 
-- **5.16 to master ([14922](https://github.com/civicrm/civicrm-core/pull/14922))**
+- **Bad popup on update recurring screen
+  ([dev/core#1061](https://lab.civicrm.org/dev/core/issues/1061):
+  [14964](https://github.com/civicrm/civicrm-core/pull/14964))**
 
-- **[REF] Add in cleanup function to prevnext service and utilise in clea… ([14911](https://github.com/civicrm/civicrm-core/pull/14911))**
+  Ensures that custom data is not loaded on the update subscription form when it
+  is in self service mode.
 
-- **[REF] [Export] [Test] Update 2 more tests to use new helper ([14915](https://github.com/civicrm/civicrm-core/pull/14915))**
+- **Count on Groups tab changes when tab is loaded
+  ([dev/core#1097](https://lab.civicrm.org/dev/core/issues/1097):
+  [14721](https://github.com/civicrm/civicrm-core/pull/14721))**
 
-- **[REF] [Export] Remove now redundant param ([14912](https://github.com/civicrm/civicrm-core/pull/14912))**
+  Fixes a bug where if a contact had been explicitly added to any Smart Groups,
+  then the number on their Groups tab would not include these Smart Groups until
+  the tab was loaded.
 
-- **dev/core#1050 - Delete repeat activities that are selected for deletion ([14784](https://github.com/civicrm/civicrm-core/pull/14784))**
+- **Contact Reference fields are not updated when merging contacts
+  ([dev/core#1109](https://lab.civicrm.org/dev/core/issues/1109):
+  [14983](https://github.com/civicrm/civicrm-core/pull/14983))**
 
-- **[REF] remove never-set, mispelt parameter ([14907](https://github.com/civicrm/civicrm-core/pull/14907))**
+  Ensures when duplicates are merged, custom fields and other records pointing
+  to the duplicate contact are updated to point to the surviving contact.
 
-- **Further deprecate use of $ids array in membership functions ([14887](https://github.com/civicrm/civicrm-core/pull/14887))**
+- **Regression: Custom searches no longer work
+  (dev/[core#1175](https://lab.civicrm.org/dev/core/issues/1175):
+  [15007](https://github.com/civicrm/civicrm-core/pull/15007))**
 
-- **Improve performance on getSoftContribution details - only run one query instead of one per contribution ([14747](https://github.com/civicrm/civicrm-core/pull/14747))**
+  Fixes a regression that broke custom searches in 5.16.
 
-- **Add unit test for net_amount when fee_amount is set ([14909](https://github.com/civicrm/civicrm-core/pull/14909))**
+- **Datatables error when viewing contact multiple record custom field tab
+  containing a file field
+  ([dev/core#1186](https://lab.civicrm.org/dev/core/issues/1186):
+  [15058](https://github.com/civicrm/civicrm-core/pull/15058) and
+  [15055](https://github.com/civicrm/civicrm-core/pull/15055))**
 
-- **[REF] [Export] Move fetch Relationship details to processor ([14898](https://github.com/civicrm/civicrm-core/pull/14898))**
+  Fixes a Datatables error when viewing a contact's multiple record custom field
+  tab containing a file field because of an uncaught exception and adds a unit
+  test.
 
-- **Remove unused standalone-mode code ([14910](https://github.com/civicrm/civicrm-core/pull/14910))**
+- **Add pptx to safe file types
+  ([dev/core#1190](https://lab.civicrm.org/dev/core/issues/1190):
+  [15047](https://github.com/civicrm/civicrm-core/pull/15047))**
 
-- **[NFC] comment fixes, function mis-casing fix ([14906](https://github.com/civicrm/civicrm-core/pull/14906))**
+  Ensures the file type 'pptx' is included as an uploadable file type.
 
-- **dev/core#1149 - Make it clearer which record the logging report is displaying ([14889](https://github.com/civicrm/civicrm-core/pull/14889))**
+- **[Report] Fix handling of location type in Reports
+  ([14942](https://github.com/civicrm/civicrm-core/pull/14942))**
 
-- **Fix membership end date on confirming a pending contribution ([14902](https://github.com/civicrm/civicrm-core/pull/14902))**
+  Fixes a bug in the processing of the `location_type_id` field for addresses in
+  reports. Before this change the array key's name was "is_primary" which led to
+  showing the location type as either blank or Home which is generally the label
+  for location type id 1.
 
-- **5.16 ([14908](https://github.com/civicrm/civicrm-core/pull/14908))**
+- **[Export] Convert testGender Export to new test format.
+  ([14914](https://github.com/civicrm/civicrm-core/pull/14914))**
 
-- **[Test] [Import] Add test to demonstrate bug that turns out not to exist ([14880](https://github.com/civicrm/civicrm-core/pull/14880))**
+  This change ensures that gender labels longer than 16 characters are supported
+  when exporting.
 
-- **[NFC] reformat class ([14899](https://github.com/civicrm/civicrm-core/pull/14899))**
+- **[EXPORT] Minor fixes to the export form
+  ([14785](https://github.com/civicrm/civicrm-core/pull/14785))**
 
-- **Fixed event type id fetch ([14534](https://github.com/civicrm/civicrm-core/pull/14534))**
+  This improves the export form by only showing enabled contact types and
+  only showing relevant relationship types for a given contact type.
 
-- **[IMPORT] [code-quality] Remove instances of CRM_Core_Error::fatal from first import form ([14870](https://github.com/civicrm/civicrm-core/pull/14870))**
+- **[IMPORT] [code-quality] Remove instances of CRM_Core_Error::fatal from first
+  import form ([14870](https://github.com/civicrm/civicrm-core/pull/14870))**
 
-- **Fix support for relative dates in urls ([14893](https://github.com/civicrm/civicrm-core/pull/14893))**
+  Code cleanup towards removing `CRM_Core_Error::fatal` and using
+  `CRM_Core_Exception` instead.
 
-- **Add default location for API v3 creates of Address, IM, OpenID and Phone ([14885](https://github.com/civicrm/civicrm-core/pull/14885))**
+- **Translation 'ts' usage fixes.
+  ([14971](https://github.com/civicrm/civicrm-core/pull/14971))**
 
-- **dev/core#1108 [REF] use CRM_Core_DAO::executeQuery instead of ->query() ([14760](https://github.com/civicrm/civicrm-core/pull/14760))**
+  Fixes how the gettext 'ts' translation function is called reducing the
+  number of warnings from the string extraction script.
 
-- **Switch create MembershipPayment to use API ([14886](https://github.com/civicrm/civicrm-core/pull/14886))**
+- **Fix removeNullContactTokens compatibility with custom tokens
+  ([14943](https://github.com/civicrm/civicrm-core/pull/14943))**
 
-- **EntityPageTrait: Set logged in contact ID as default if one is not specified - this allows permission checks etc. to work properly. ([14620](https://github.com/civicrm/civicrm-core/pull/14620))**
+   Fixes notices and warnings with custom tokens when updating a contact record.
 
-- **Fix php7.x warning on count ([14896](https://github.com/civicrm/civicrm-core/pull/14896))**
+- **Do not launch raw js alert jqueryValidation fails
+  ([14854](https://github.com/civicrm/civicrm-core/pull/14854))**
 
-- **[REf] [Export] Remove deprecated componentPaymentFields function ([14874](https://github.com/civicrm/civicrm-core/pull/14874))**
+  For sites with Jquery validation turned on disables js alerts.
 
-- **[Ref] [Export] Remove exportComponent function - it's not adding much here ([14875](https://github.com/civicrm/civicrm-core/pull/14875))**
+- **Invalidate smart group cache for group following deletion of group_contact
+  row ([14672](https://github.com/civicrm/civicrm-core/pull/14672))**
 
-- **Do not launch raw js alert  jqueryValidation fails ([14854](https://github.com/civicrm/civicrm-core/pull/14854))**
+  Ensures that when a contact is removed from a smart group they are removed
+  from the cache instantly.
 
-- **Don't let optiongroup check crash ([14895](https://github.com/civicrm/civicrm-core/pull/14895))**
+- **Ensure that if present the HTTP_X_FORWARDED_FOR IP address is used instead
+  of the SERVER_ADDR when logging items from the IDS
+  ([14833](https://github.com/civicrm/civicrm-core/pull/14833))**
 
-- **[REF] [Test] Add test to cover handling of 'gender_id' on import, remove unused code. ([14879](https://github.com/civicrm/civicrm-core/pull/14879))**
+  Ensures the `SERVER_ADDR` is only used if `HTTP_X_FORWARDED_FOR` cannot be.
 
-- **dev/event#6 Follow the 'same email' participants config setting for backend participants ([14884](https://github.com/civicrm/civicrm-core/pull/14884))**
+- **Set profile greeting fields based on actual contact type
+  ([14845](https://github.com/civicrm/civicrm-core/pull/14845))**
 
-- **Invalidate smart group cache for group following deletion of group_c… ([14672](https://github.com/civicrm/civicrm-core/pull/14672))**
+   Sets greeting options in a profile based on the actual contact type being
+   edited instead of based off the profile type.
 
-- **[test] Catch A.net exception & ignore ([14861](https://github.com/civicrm/civicrm-core/pull/14861))**
+- **Menubar - Improve flexibility & remove hardcoded values
+  ([14839](https://github.com/civicrm/civicrm-core/pull/14839))**
 
-- **Ensure that if present the HTTP_X_FORWARDED_FOR IP address is used in… ([14833](https://github.com/civicrm/civicrm-core/pull/14833))**
+  Minor tweak to crm.menubar.js to make it less reliant on the presence of a
+  `<div id="crm-container">` which may not be present on non-civicrm pages. Also
+  tweaks the js to remove hardcoded pixel values to work better with theme
+  overrides.
 
-- **5.16 to master ([14878](https://github.com/civicrm/civicrm-core/pull/14878))**
+- **Use singleton to get session instead of relying on ->_session being set
+  elsewhere ([14832](https://github.com/civicrm/civicrm-core/pull/14832))**
 
-- **Move log and compilation dirs from "Runtime" to "Paths" ([14718](https://github.com/civicrm/civicrm-core/pull/14718))**
+  Calls CRM_Core_Session::singleton() on the `CRM_Profile_Form` instead of
+  relying on $this->_session being set.
 
-- **[REF] extract loadSavedMapping ([14873](https://github.com/civicrm/civicrm-core/pull/14873))**
+- **Remove the only two defined fonts from selectors
+  ([14815](https://github.com/civicrm/civicrm-core/pull/14815))**
 
-- **dev/event#9 Event Templates: do not set the Start/End dates ([14862](https://github.com/civicrm/civicrm-core/pull/14862))**
+  Before this change CiviCRM was setting h3 tags on front end forms to have the
+  font arial. After this change h3 tags on front end forms inherit their fonts
+  from the theme (like the rest of the h tags).
 
-- **[IMPORT] [code quality] [REF] Improve readability of variable assignment ([14871](https://github.com/civicrm/civicrm-core/pull/14871))**
+- **GenCode, Cache::cleanKey() - Fix deploop during clean initialization
+  ([14777](https://github.com/civicrm/civicrm-core/pull/14777))**
 
-- **[IMPORT] [code-quality] Remove usage of nullArray ([14869](https://github.com/civicrm/civicrm-core/pull/14869))**
+  Fixes a bug when running `xml/GenCode.php` with a clean codebase with no DAO
+  files.
 
-- **[IMPORT] reduce php4 support, don't pass by ref when not required ([14872](https://github.com/civicrm/civicrm-core/pull/14872))**
+- **e-notice fix & unit test
+  ([14729](https://github.com/civicrm/civicrm-core/pull/14729))**
 
-- **[EXPORT] Fix unreleased regression where postal addresses are not suppressed when empty ([14846](https://github.com/civicrm/civicrm-core/pull/14846))**
+  Fixes an e-notice when a table has been excluded from triggers by a hook.
 
-- **[METADATA] Add titles to Mapping xml & DAOs ([14867](https://github.com/civicrm/civicrm-core/pull/14867))**
+- **Fatal db error in Activity Summary report when Sorting uses Section Header
+  (without ONLY_FULL_GROUP_BY)
+  ([dev/core/issues/577](https://lab.civicrm.org/dev/core/issues/577):
+  [13540](https://github.com/civicrm/civicrm-core/pull/13540) and
+  [dev/core#578](https://lab.civicrm.org/dev/core/issues/578):
+  [14745](https://github.com/civicrm/civicrm-core/pull/14745))**
 
-- **5.16 to master ([14868](https://github.com/civicrm/civicrm-core/pull/14868))**
+- **With logging turned on editing an activity displays as a deletion
+  ([dev/core#1149](https://lab.civicrm.org/dev/core/issues/1149):
+  [14889](https://github.com/civicrm/civicrm-core/pull/14889))**
 
-- **[REF] [EXPORT] Use columns from processor instead of passing them ([14860](https://github.com/civicrm/civicrm-core/pull/14860))**
+- **Regression: Can't use CiviCRM menu on 5.16.0
+  ([dev/core#1182](https://lab.civicrm.org/dev/core/issues/1182):
+  [15021](https://github.com/civicrm/civicrm-core/pull/15021))**
 
-- **NFC Update node module versions based on npm audit fix ([14859](https://github.com/civicrm/civicrm-core/pull/14859))**
+- **Add missing is_public flags to public paths
+ ([14945](https://github.com/civicrm/civicrm-core/pull/14945))**
 
-- **Add in Atomfeeds deprecation now that the extension has a new release… ([14856](https://github.com/civicrm/civicrm-core/pull/14856))**
+- **Fix php7.x warning on count
+  ([14896](https://github.com/civicrm/civicrm-core/pull/14896))**
 
-- **Autoformat /tests directory with php short array syntax ([14857](https://github.com/civicrm/civicrm-core/pull/14857))**
+- **Don't let optiongroup check crash
+  ([14895](https://github.com/civicrm/civicrm-core/pull/14895))**
 
-- **(NFC) Fixing documentation links in readme. ([14855](https://github.com/civicrm/civicrm-core/pull/14855))**
+- **Fix enotice on formatting credit card details
+  ([14750](https://github.com/civicrm/civicrm-core/pull/14750))**
 
-- **Multilingual test fix and cleanup ([14639](https://github.com/civicrm/civicrm-core/pull/14639))**
+- **Fix obscure bug on updating custom fields (not necessarily hittable via UI)
+  ([14754](https://github.com/civicrm/civicrm-core/pull/14754))**
 
-- **Add unit test demonstrating attaching a listener to queries ([14716](https://github.com/civicrm/civicrm-core/pull/14716))**
+- **MagicMerge - Fix ephemeral overrides for aliased properties
+  ([14818](https://github.com/civicrm/civicrm-core/pull/14818))**
 
-- **[REF] [Export] Move temp table creation function to the processor ([14851](https://github.com/civicrm/civicrm-core/pull/14851))**
+- **Current employer disappears when disabling expired relationships
+  ([dev/core#470](https://lab.civicrm.org/dev/core/issues/470):
+  [14951](https://github.com/civicrm/civicrm-core/pull/14951))**
 
-- **[NFC] code reformatting ([14853](https://github.com/civicrm/civicrm-core/pull/14853))**
+### CiviCase
 
-- **dev/core#538 fix advanced search on activity subject, detail to use wildcards like activity search does ([14703](https://github.com/civicrm/civicrm-core/pull/14703))**
+- **Case summary report filters incorrectly for case type
+  ([dev/core#1118](https://lab.civicrm.org/dev/core/issues/1118):
+  [14827](https://github.com/civicrm/civicrm-core/pull/14827))**
 
-- **mail#46 - show label, not value, on contribution custom field tokens ([14658](https://github.com/civicrm/civicrm-core/pull/14658))**
+  Fixes a bug where applying the case type filter in the case summary report
+  resulted in two case types being reported where only one is selected in the
+  case type filter.
 
-- **Remove use of deprecated path in function `CRM_Event_BAO_Event::checkPermission()` ([14735](https://github.com/civicrm/civicrm-core/pull/14735))**
+- **CiviCase singleton activity warning has wrong url
+  ([dev/core#1115](https://lab.civicrm.org/dev/core/issues/1115):
+  [14824](https://github.com/civicrm/civicrm-core/pull/14824))**
 
-- **Switch priceset selector to addField method ([14843](https://github.com/civicrm/civicrm-core/pull/14843))**
+  Fixes a bug where if a case type has an activity type (other than open case)
+  with max_instances set to 1 and a user attempted to create a second activity
+  of that type for that case type the warning presented to the user would
+  contain a broken link to edit the existing activity of that type so that the
+  link works as expected.
 
-- **Changed the title and description of profile_add_to_group_double_optin ([14852](https://github.com/civicrm/civicrm-core/pull/14852))**
+### CiviContribute
 
-- **dev/core#1118 correct filteration by case type, re-use parent where() ([14827](https://github.com/civicrm/civicrm-core/pull/14827))**
+- **[dev/core#1133](https://lab.civicrm.org/dev/core/issues/1133) Payment method
+  name is displayed instead of label in payment block for Manual payment
+  ([14841](https://github.com/civicrm/civicrm-core/pull/14841))**
 
-- **Set profile greeting fields based on actual contact type ([14845](https://github.com/civicrm/civicrm-core/pull/14845))**
+  Ensures the Payment method name is displayed instead of label in payment block
+  for Manual payment.
 
-- **[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests ([14848](https://github.com/civicrm/civicrm-core/pull/14848))**
+- **Bug, cannot import Contributions because the import requires the payment
+  method, payment instrument ID, not the payment instrument label
+  ([dev/financial#36](https://lab.civicrm.org/dev/financial/issues/36):
+  [14881](https://github.com/civicrm/civicrm-core/pull/14881))**
 
-- **[NFC] [TEST] code formatting in test class ([14849](https://github.com/civicrm/civicrm-core/pull/14849))**
+- **Editing a financial account pops up a blank new form
+  ([dev/financial#65](https://lab.civicrm.org/dev/financial/issues/65):
+  [15037](https://github.com/civicrm/civicrm-core/pull/15037))**
 
-- **[REF] [TEST] cleanup on export activity test ([14850](https://github.com/civicrm/civicrm-core/pull/14850))**
+- **Contribution page including 2 email fields does not respect dedupe rule.
+  ([dev/core#961](https://lab.civicrm.org/dev/core/issues/961):
+  [14252](https://github.com/civicrm/civicrm-core/pull/14252))**
 
-- **[REF] [Export] Stop passing exportParams & sqlColumns around ([14838](https://github.com/civicrm/civicrm-core/pull/14838))**
+- **Catch Payment Processor Exception if thrown when registering via back office
+  participant registration
+  ([14930](https://github.com/civicrm/civicrm-core/pull/14930))**
 
-- **[REF] Down with php4 compatibility ([14847](https://github.com/civicrm/civicrm-core/pull/14847))**
+- **Fix creation of additional zero value line item when changing fee selection
+  in edge case ([14589](https://github.com/civicrm/civicrm-core/pull/14589))**
 
-- **dev/core#1133 Payment method name is displayed instead of label in payment block for Manual payment ([14841](https://github.com/civicrm/civicrm-core/pull/14841))**
+### CiviEvent
 
-- **Menubar - Improve flexibility & remove hardcoded values ([14839](https://github.com/civicrm/civicrm-core/pull/14839))**
+- **Fixed event type id fetch
+  ([14534](https://github.com/civicrm/civicrm-core/pull/14534))**
 
-- **[REF] [Export] Simplify setting of address strings ([14835](https://github.com/civicrm/civicrm-core/pull/14835))**
+  Fixes a bug where when using the query search the event type id was being
+  returned as the option_value.id instead option_value.value.
 
-- **dev/core#1056 Remove unneded schema file ([14834](https://github.com/civicrm/civicrm-core/pull/14834))**
+- **Participants having multiple roles affects maximum event registration count
+  ([dev/core#1135](https://lab.civicrm.org/dev/core/issues/1135):
+  [14844](https://github.com/civicrm/civicrm-core/pull/14844))**
 
-- **dev/core#1120 remove multiple export handling ([14830](https://github.com/civicrm/civicrm-core/pull/14830))**
+  Ensures that Participants having multiple roles does not affect the maximum
+  event registration count.
 
-- **[NFC] [TEST] Reformat arrays in test classes ([14831](https://github.com/civicrm/civicrm-core/pull/14831))**
+- **Allow duplicate backend registration when event has "allow same participant
+  emails" ([dev/event#6](https://lab.civicrm.org/dev/event/issues/6):
+  [14884](https://github.com/civicrm/civicrm-core/pull/14884))**
 
-- **Use singleton to get session instead of relying on ->_session being set elsewhere ([14832](https://github.com/civicrm/civicrm-core/pull/14832))**
+- **Event Cart: does not save participant custom fields on checkout
+  ([dev/event#8](https://lab.civicrm.org/dev/event/issues/8):
+  [14816](https://github.com/civicrm/civicrm-core/pull/14816))**
 
-- **Add in Deprecation warnings on Cache functons ([14828](https://github.com/civicrm/civicrm-core/pull/14828))**
+- **Event Templates: do not auto-populate the Start Date / End Date
+  ([dev/event#9](https://lab.civicrm.org/dev/event/issues/9):
+  [14862](https://github.com/civicrm/civicrm-core/pull/14862))**
 
-- **dev/core#1093 Make bulkSave defaults optional and ensure correct post hook is called ([14829](https://github.com/civicrm/civicrm-core/pull/14829))**
+### CiviMail
 
-- **[REF] Convert contribution_recur dates to datepicker from jcalendar ([14737](https://github.com/civicrm/civicrm-core/pull/14737))**
+- **Unsubscribe broken if mailing sent to previous mailing recipients with an
+  excluded group (Work towards
+  [dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108):
+  [14760](https://github.com/civicrm/civicrm-core/pull/14760) and
+  [14761](https://github.com/civicrm/civicrm-core/pull/14761))**
 
-- **dev/core#1115 - fix invalid url in singleton/max_instances warning in civicase ([14824](https://github.com/civicrm/civicrm-core/pull/14824))**
+  These changes clean up code to set the stage to fix a bug where the
+  unsubscribe link does not work if a mailing is sent to a list of previous
+  mailing recipients and excludes a group.
 
-- **[REF] [Export] remove another confusing parameter ([14822](https://github.com/civicrm/civicrm-core/pull/14822))**
+- **Contribution tokens with option values display values, not label
+  ([dev/mail#46](https://lab.civicrm.org/dev/mail/issues/46):
+  [14658](https://github.com/civicrm/civicrm-core/pull/14658))**
 
-- **[REF] Cleanup up handling of dates for Recurring & Contribution date fields in query class ([14825](https://github.com/civicrm/civicrm-core/pull/14825))**
+### CiviMembership
 
-- **Remove additional custom fields deletegroup functions ([14823](https://github.com/civicrm/civicrm-core/pull/14823))**
+- **Scheduled Reminders for Membership not being sent
+  ([dev/core#285](https://lab.civicrm.org/dev/core/issues/285):
+  [13487](https://github.com/civicrm/civicrm-core/pull/13487) and
+  [14810](https://github.com/civicrm/civicrm-core/pull/14810))**
 
-- **Convert the contact fields cache group to standard cache backend ([14583](https://github.com/civicrm/civicrm-core/pull/14583))**
+  Fixes a bug where If you setup a scheduled reminder for memberships based on
+  the end date, the first reminder would send as expected but if the user
+  renewed their membership it wouldn't send out another reminder when the
+  condition became true for the new end date.
 
-- **Add unique names and unique title for recurrings. ([14820](https://github.com/civicrm/civicrm-core/pull/14820))**
+- **Fix mishandling of renamed membership status labels on membership import
+  ([14940](https://github.com/civicrm/civicrm-core/pull/14940))**
 
-- **Convert Custom Data cache group to be using standard cache backend ([14582](https://github.com/civicrm/civicrm-core/pull/14582))**
+  Fixes a bug that especially affects multilingual sites where the 'Membership
+  Status' is compared against the 'name' field but not the 'label'.
 
-- **5.16 to master ([14821](https://github.com/civicrm/civicrm-core/pull/14821))**
+- **Fix membership end date on confirming a pending contribution
+ ([14902](https://github.com/civicrm/civicrm-core/pull/14902))**
 
-- **[REF] [Export] Stop passing export params to the merge function ([14819](https://github.com/civicrm/civicrm-core/pull/14819))**
+  Fixes a bug where if a user created a Membership with a contribution status of
+  pending for 2 or more terms, recording a payment for that Contribution would
+  lead to the membership end_date being set incorrectly.
 
-- **dev/event#8 Event Cart: save Participant custom field data ([14816](https://github.com/civicrm/civicrm-core/pull/14816))**
+### Backdrop Integration
 
-- **Remove the only two defined fonts from selectors ([14815](https://github.com/civicrm/civicrm-core/pull/14815))**
+- **Fix getLoginURL() for Backdrop
+  ([dev/core#1170](https://lab.civicrm.org/dev/core/issues/1170):
+  [14985](https://github.com/civicrm/civicrm-core/pull/14985))**
 
-- **[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprec… ([14675](https://github.com/civicrm/civicrm-core/pull/14675))**
+  Fixes the redirect when an anonymous user goes to `/user` to point to
+  `/user/login` instead of `/user?destination...`.
 
-- **Convert Navigation cache group to current cache defition system ([14581](https://github.com/civicrm/civicrm-core/pull/14581))**
+### Drupal Integration
 
-- **[TEST] export - add unit test covering merge to same address addressee handling ([14817](https://github.com/civicrm/civicrm-core/pull/14817))**
+- **confirmation screen shows internal profile name not public title (reg screen
+  shows public title)
+  ([dev/drupal#72](https://lab.civicrm.org/dev/drupal/issues/72):
+  [14960](https://github.com/civicrm/civicrm-core/pull/14960))**
 
-- **MagicMerge - Fix ephemeral overrides for aliased properties ([14818](https://github.com/civicrm/civicrm-core/pull/14818))**
+  Fixes a bug whereby the front end profile title was not being used in event
+  confirm & thank you screens & confirmation emails.
 
-- **[EXPORT] add getPreview function ([14782](https://github.com/civicrm/civicrm-core/pull/14782))**
+- **[regression] `cv` fails on CiviCRM 5.15.0
+  ([dev/drupal#75](https://lab.civicrm.org/dev/drupal/issues/75):
+  [14772](https://github.com/civicrm/civicrm-core/pull/14772))**
 
-- **[REF] [Export] clean up incorporation of order by & group by into ExportProcessor ([14811](https://github.com/civicrm/civicrm-core/pull/14811))**
+  Fixes a call to `languageNegotiationURL` that was causing cv to fail on Drupal
+  8 sites.
 
-- **[REF] [Export] More export Structure arrays to processor ([14812](https://github.com/civicrm/civicrm-core/pull/14812))**
+- **Error when upgrading to 5.16.0
+  ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79):
+  [15082](https://github.com/civicrm/civicrm-core/pull/15082))**
 
-- **[REF] [TEST] [Export] Update export tests to reflect new format ([14813](https://github.com/civicrm/civicrm-core/pull/14813))**
+  Raises the `MINIMUM_PHP_VERSION` from 5.6 to 7.0 in the metadata because when
+  upgrading via drush or Drupal web UI to Civi 5.16+ on PHP 5.6, the Civi
+  class-loader fails to initialize.
 
-- **Fix upgrade for membership second reminder ([14810](https://github.com/civicrm/civicrm-core/pull/14810))**
+- **Migrate CivicrmHelper::parseUrl() to CRM_Utils_System_Drupal8::parseUrl().
+  ([14696](https://github.com/civicrm/civicrm-core/pull/14696))**
 
-- **[REF] [Export] Further  cleanup - construct  sql more concisely ([14808](https://github.com/civicrm/civicrm-core/pull/14808))**
+  Fixes a bug when installing Drupal8 thru the command line.
 
-- **[REF] [Export] move mergeSameAddress to processor class ([14809](https://github.com/civicrm/civicrm-core/pull/14809))**
+- **Fix path for civicrm.settings.php when installed in profiles/
+  ([552](https://github.com/civicrm/civicrm-drupal/pull/552))**
 
-- **[TEST][EXPORT] Improve unit test on export. ([14793](https://github.com/civicrm/civicrm-core/pull/14793))**
+  Ensures that when CiviCRM is installed in a Drupal distribution profile under
+  `profiles/<profile_name>/modules/[contrib]`, the function `civicrm_conf_init()`
+  returns the proper path for file civicrm.settings.php before this change
+  calling an API using REST would result in a "Could not load the settings
+  file..." error.
 
-- **5.16 to master ([14807](https://github.com/civicrm/civicrm-core/pull/14807))**
+## <a name="misc"></a>Miscellany
 
-- **[REF] [Export] further code cleanup ([14806](https://github.com/civicrm/civicrm-core/pull/14806))**
+- **Changing a civicase activity's label breaks the max_instances check (Begins
+  work towards [dev/core#1116](https://lab.civicrm.org/dev/core/issues/1116):
+  [14952](https://github.com/civicrm/civicrm-core/pull/14952) and
+  [14970](https://github.com/civicrm/civicrm-core/pull/14970))**
 
-- **[REF] final cleanup - call bulkCreate from migrate_utils ([14728](https://github.com/civicrm/civicrm-core/pull/14728))**
+- **Update civicrmtheme module to use new isFrontEndPage function on user System
+  ([581](https://github.com/civicrm/civicrm-drupal/pull/581))**
 
-- **[REF] [EXPORT] Alter CRM_Export_BAO_Export::exportComponents ([14800](https://github.com/civicrm/civicrm-core/pull/14800))**
+- **Removed hardcoded activity status and used Activity create
+  ([14720](https://github.com/civicrm/civicrm-core/pull/14720))**
 
-- **(dev/core#285) Fixed second membership reminder ([13487](https://github.com/civicrm/civicrm-core/pull/13487))**
+- **Extract field wrangling to determineReturnProperties
+  ([14756](https://github.com/civicrm/civicrm-core/pull/14756))**
 
-- **[REF] [Export] move build master copy array to ExportProcessor ([14803](https://github.com/civicrm/civicrm-core/pull/14803))**
+- **Finish removing references to Config.IDS.ini
+  ([14770](https://github.com/civicrm/civicrm-core/pull/14770))**
 
-- **[REF] [Export] Remove code that seems unused ([14804](https://github.com/civicrm/civicrm-core/pull/14804))**
+- **Convert Navigation cache group to current cache definition system
+  ([14581](https://github.com/civicrm/civicrm-core/pull/14581))**
 
-- **[REF] [Export] Move setting of household properties to processor ([14802](https://github.com/civicrm/civicrm-core/pull/14802))**
+- **Convert the contact fields cache group to standard cache backend
+  ([14583](https://github.com/civicrm/civicrm-core/pull/14583) and
+  [14582](https://github.com/civicrm/civicrm-core/pull/14582))**
 
-- **5.16 to master ([14805](https://github.com/civicrm/civicrm-core/pull/14805))**
+- **Remove additional custom fields deletegroup functions
+  ([14823](https://github.com/civicrm/civicrm-core/pull/14823))**
 
-- **[REF] [Export] Minor code relocation ([14801](https://github.com/civicrm/civicrm-core/pull/14801))**
+- **Add in Deprecation warnings on Cache functons
+  ([14828](https://github.com/civicrm/civicrm-core/pull/14828))**
 
-- **[REF] [Export] Move replace merge tokens to processor class ([14799](https://github.com/civicrm/civicrm-core/pull/14799))**
+- **Autoformat /tests directory with php short array syntax
+  ([14857](https://github.com/civicrm/civicrm-core/pull/14857))**
 
-- **[REF] [EXPORT] Stop passing return Properties ([14795](https://github.com/civicrm/civicrm-core/pull/14795))**
+- **Remove use of deprecated path in function
+  `CRM_Event_BAO_Event::checkPermission()`
+  ([14735](https://github.com/civicrm/civicrm-core/pull/14735))**
 
-- **[REF] [Export] Move function that parses tokens to address processor ([14797](https://github.com/civicrm/civicrm-core/pull/14797))**
+- **Add in Atomfeeds deprecation now that the extension has a new release with
+  converted cache mechanism
+  ([14856](https://github.com/civicrm/civicrm-core/pull/14856))**
 
-- **[REF] [EXPORT] Minor consolidation of weird mergeSameAddreess nightmare code ([14796](https://github.com/civicrm/civicrm-core/pull/14796))**
+- **Further deprecate use of $ids array in membership functions
+  ([14887](https://github.com/civicrm/civicrm-core/pull/14887))**
 
-- **dev/core#1093 add a bulkCreate action for many customFields in one go ([14694](https://github.com/civicrm/civicrm-core/pull/14694))**
+- **[IMPORT] reduce php4 support, don't pass by ref when not required
+  ([14872](https://github.com/civicrm/civicrm-core/pull/14872))**
 
-- **Use select2 to display field mappings ([14794](https://github.com/civicrm/civicrm-core/pull/14794))**
+- **[IMPORT] [code-quality] Remove usage of nullArray
+  ([14869](https://github.com/civicrm/civicrm-core/pull/14869))**
 
-- **[REF] [EXPORT] cleanup setting of additional postal fields ([14790](https://github.com/civicrm/civicrm-core/pull/14790))**
+- **[IMPORT] [code quality] [REF] Improve readability of variable assignment
+  ([14871](https://github.com/civicrm/civicrm-core/pull/14871))**
 
-- **[REF] [EXPORT] [TLA] Update handling of input fields so that the mapping format is accepted. ([14792](https://github.com/civicrm/civicrm-core/pull/14792))**
+- **Remove "Copy Case custom data" code (circa 2013)
+  ([15051](https://github.com/civicrm/civicrm-core/pull/15051))**
 
-- **[REF][Export] Minor cleanup on household merge properties ([14787](https://github.com/civicrm/civicrm-core/pull/14787))**
+- **People tagged with “No Bulk Email (User Opt Out)” seem to be receiving bulk
+  email (Adds test for
+  [dev/core#1162](https://lab.civicrm.org/dev/core/issues/1162):
+  [14947](https://github.com/civicrm/civicrm-core/pull/14947))**
 
-- **[NFC] [REF] [TEST] [EXPORT] Update various export tests to test csv output with new functions ([14780](https://github.com/civicrm/civicrm-core/pull/14780))**
+- **Remove deprecated SQL_CALC_FOUND_ROWS
+  ([dev/core#1141](https://lab.civicrm.org/dev/core/issues/1141):
+  [14877](https://github.com/civicrm/civicrm-core/pull/14877))**
 
-- **[REF] [EXPORT] partial cleanup on adding fields to returnProperties based on usage ([14788](https://github.com/civicrm/civicrm-core/pull/14788))**
+- **Remove unused xml/schema/Event/EventPage.xml
+  ([dev/core#1056](https://lab.civicrm.org/dev/core/issues/1056):
+  [14834](https://github.com/civicrm/civicrm-core/pull/14834))**
 
-- **[EXPORT] Minor fixes to the export form ([14785](https://github.com/civicrm/civicrm-core/pull/14785))**
+- **Errors exporting contributions on 5.13.2 (unit test for
+  [dev/core#1015](https://lab.civicrm.org/dev/core/issues/1015):
+  [14514](https://github.com/civicrm/civicrm-core/pull/14514))**
 
-- **5.16 to master ([14786](https://github.com/civicrm/civicrm-core/pull/14786))**
+- **Minor cleanup around invoicing on event code
+  ([14959](https://github.com/civicrm/civicrm-core/pull/14959))**
 
-- ** [REF] [export] remove chunk of non-functional code ([14773](https://github.com/civicrm/civicrm-core/pull/14773))**
+- **Multilingual test fix and cleanup
+  ([14639](https://github.com/civicrm/civicrm-core/pull/14639))**
 
-- **[REF] [export] Cleaner handling of additional return properties ([14774](https://github.com/civicrm/civicrm-core/pull/14774))**
+- **Updated Circle-Interactive developers info
+  ([14736](https://github.com/civicrm/civicrm-core/pull/14736))**
 
-- **dev/core#1108 Use api call to retrieve mailing_id ([14761](https://github.com/civicrm/civicrm-core/pull/14761))**
+- **Remove unused standalone-mode code
+  ([14910](https://github.com/civicrm/civicrm-core/pull/14910))**
 
-- **[REF] initial extraction of loading saved mapping to qf format ([14767](https://github.com/civicrm/civicrm-core/pull/14767))**
+- **[TEST] [REF] [Export] Convert a couple more tests
+  ([14953](https://github.com/civicrm/civicrm-core/pull/14953))**
 
-- **[REF] simplify & add tests on getMappingParams ([14769](https://github.com/civicrm/civicrm-core/pull/14769))**
+- **[REF] [Test] [Export] Convert some more tests to use the newer function
+  ([14933](https://github.com/civicrm/civicrm-core/pull/14933))**
 
-- **5.16 to master ([14781](https://github.com/civicrm/civicrm-core/pull/14781))**
+- **[REF] [Export] [Test] Update 2 more tests to use new helper
+  ([14915](https://github.com/civicrm/civicrm-core/pull/14915))**
 
-- **[ref] [export] [test] Improve csv test to test final output rather than the csv ([14779](https://github.com/civicrm/civicrm-core/pull/14779))**
+- **[REF][TEST][EXPORT] minor test cleanup & minor cleanup of code it tests
+  ([14848](https://github.com/civicrm/civicrm-core/pull/14848))**
 
-- **Fix enotice on formatting credit card details ([14750](https://github.com/civicrm/civicrm-core/pull/14750))**
+- **[REF] [TEST] [Export] Update export tests to reflect new format
+  ([14813](https://github.com/civicrm/civicrm-core/pull/14813))**
 
-- **Finish removing references to Config.IDS.ini ([14770](https://github.com/civicrm/civicrm-core/pull/14770))**
+- **[REF] [EXPORT] [TLA] Update handling of input fields so that the mapping
+  format is accepted.
+  ([14792](https://github.com/civicrm/civicrm-core/pull/14792))**
 
-- **Migrate CivicrmHelper::parseUrl() to CRM_Utils_System_Drupal8::parseUrl(). ([14696](https://github.com/civicrm/civicrm-core/pull/14696))**
+- **[NFC] [REF] [TEST] [EXPORT] Update various export tests to test csv output
+  with new functions
+  ([14780](https://github.com/civicrm/civicrm-core/pull/14780))**
 
-- **GenCode, Cache::cleanKey() - Fix deploop during clean initialization ([14777](https://github.com/civicrm/civicrm-core/pull/14777))**
+- **[REf] [Export] Remove deprecated componentPaymentFields function
+  ([14874](https://github.com/civicrm/civicrm-core/pull/14874))**
 
-- **(dev/cloud-native#3) CRM_Utils_File - Deprecate baseFilePath() et al ([14778](https://github.com/civicrm/civicrm-core/pull/14778))**
+- **[Ref] [Export] Remove exportComponent function - it's not adding much here
+  ([14875](https://github.com/civicrm/civicrm-core/pull/14875))**
 
-- **dev/drupal#75 Drupal8: fix call to languageNegotiationURL() when called from cv ([14772](https://github.com/civicrm/civicrm-core/pull/14772))**
+- **[REF] [Export] Move writeToTable fn to exportProcessor
+  ([14932](https://github.com/civicrm/civicrm-core/pull/14932))**
 
-- **[REF] [export] . Move greeting params retrieval to the place in the code where it is used ([14768](https://github.com/civicrm/civicrm-core/pull/14768))**
+- **[REF] [Export] Stop passing header rows around
+  ([14913](https://github.com/civicrm/civicrm-core/pull/14913))**
 
-- **[REF] Update export test to new function ([14765](https://github.com/civicrm/civicrm-core/pull/14765))**
+- **[REF] [Export] Remove now redundant param
+  ([14912](https://github.com/civicrm/civicrm-core/pull/14912))**
 
-- **dev/core#578 follow up fix on activity summary report ([14745](https://github.com/civicrm/civicrm-core/pull/14745))**
+- **[REF] [EXPORT] Use columns from processor instead of passing them
+  ([14860](https://github.com/civicrm/civicrm-core/pull/14860))**
 
-- **Set title using standard form method and use for success message on contributionpage ([14615](https://github.com/civicrm/civicrm-core/pull/14615))**
+- **[REF] [Export] Move temp table creation function to the processor
+  ([14851](https://github.com/civicrm/civicrm-core/pull/14851))**
 
-- **[REF] Extract mapping converter function, kinda brutally ([14762](https://github.com/civicrm/civicrm-core/pull/14762))**
+- **[REF] [Export] Stop passing exportParams & sqlColumns around
+  ([14838](https://github.com/civicrm/civicrm-core/pull/14838))**
 
-- **expose smarty's compile_check to be overridden in civicrm.settings.php ([14706](https://github.com/civicrm/civicrm-core/pull/14706))**
+- **[REF] [Export] remove another confusing parameter
+  ([14822](https://github.com/civicrm/civicrm-core/pull/14822))**
 
-- **[REF] export code simplification ([14758](https://github.com/civicrm/civicrm-core/pull/14758))**
+- **[REF] [Export] Stop passing export params to the merge function
+  ([14819](https://github.com/civicrm/civicrm-core/pull/14819))**
 
-- **[REF] Extract saveMapping Field ([14757](https://github.com/civicrm/civicrm-core/pull/14757))**
+- **[REF] [Export] Simplify setting of address strings
+  ([14835](https://github.com/civicrm/civicrm-core/pull/14835))**
 
-- **e-notice fix & unit test ([14729](https://github.com/civicrm/civicrm-core/pull/14729))**
+- **[REF] [Export] clean up incorporation of order by & group by into
+  ExportProcessor
+  ([14811](https://github.com/civicrm/civicrm-core/pull/14811))**
 
-- **Extract field wrangling to determineReturnProperties ([14756](https://github.com/civicrm/civicrm-core/pull/14756))**
+- **[REF] [Export] More export Structure arrays to processor
+  ([14812](https://github.com/civicrm/civicrm-core/pull/14812))**
 
-- **Fix obscure bug on updating custom fields (not necessarily hittable via UI) ([14754](https://github.com/civicrm/civicrm-core/pull/14754))**
+- **[REF] [Export] Further  cleanup - construct  sql more concisely
+  ([14808](https://github.com/civicrm/civicrm-core/pull/14808))**
 
-- **[REF] Remove call to getMappingFields in favour of api call. ([14755](https://github.com/civicrm/civicrm-core/pull/14755))**
+- **[REF] [Export] move mergeSameAddress to processor class
+  ([14809](https://github.com/civicrm/civicrm-core/pull/14809))**
 
-- **[REF] un-extract createProportionalFinancialEntities ([14742](https://github.com/civicrm/civicrm-core/pull/14742))**
+- **[REF] [Export] further code cleanup
+  ([14806](https://github.com/civicrm/civicrm-core/pull/14806))**
 
-- **[REF] Move function onto the processor class ([14752](https://github.com/civicrm/civicrm-core/pull/14752))**
+- **[REF] [EXPORT] Alter CRM_Export_BAO_Export::exportComponents
+  ([14800](https://github.com/civicrm/civicrm-core/pull/14800))**
 
-- **dev/core#1015 Unit test for fix regression on exporting soft credits  ([14514](https://github.com/civicrm/civicrm-core/pull/14514))**
+- **[REF] [Export] move build master copy array to ExportProcessor
+  ([14803](https://github.com/civicrm/civicrm-core/pull/14803))**
 
-- **[REF] Extract CRM_Core_BAO_Mapping::addComponentFields ([14751](https://github.com/civicrm/civicrm-core/pull/14751))**
+- **[REF] [Export] Remove code that seems unused
+  ([14804](https://github.com/civicrm/civicrm-core/pull/14804))**
 
-- **dev/report#17 fix postal_code_suffix col ([14744](https://github.com/civicrm/civicrm-core/pull/14744))**
+- **[REF] [Export] Move setting of household properties to processor
+  ([14802](https://github.com/civicrm/civicrm-core/pull/14802))**
 
-- **REF Simple cleanup of tabset code for contributionpages ([14616](https://github.com/civicrm/civicrm-core/pull/14616))**
+- **[REF] [Export] Minor code relocation
+  ([14801](https://github.com/civicrm/civicrm-core/pull/14801))**
 
-- **Removed hardcoded activity status and used Activity create ([14720](https://github.com/civicrm/civicrm-core/pull/14720))**
+- **[REF] [Export] Move replace merge tokens to processor class
+  ([14799](https://github.com/civicrm/civicrm-core/pull/14799))**
 
-- **5.16 to master ([14749](https://github.com/civicrm/civicrm-core/pull/14749))**
+- **[REF] [EXPORT] Stop passing return Properties
+  ([14795](https://github.com/civicrm/civicrm-core/pull/14795))**
 
-- **dev/core/issues/577: Activity Summary report fix for db column count error with section header (without ONLY_FULL_GROUP_BY) ([13540](https://github.com/civicrm/civicrm-core/pull/13540))**
+- **[REF] [Export] Move function that parses tokens to address processor
+  ([14797](https://github.com/civicrm/civicrm-core/pull/14797))**
 
-- **[REF] Further cleanup & extraction in getMappingFieds ([14743](https://github.com/civicrm/civicrm-core/pull/14743))**
+- **[REF] [EXPORT] Minor consolidation of weird mergeSameAddreess nightmare code
+  ([14796](https://github.com/civicrm/civicrm-core/pull/14796))**
 
-- **[REF] Simple function extraction for buildMappingForm ([14741](https://github.com/civicrm/civicrm-core/pull/14741))**
+- **[REF] [EXPORT] cleanup setting of additional postal fields
+  ([14790](https://github.com/civicrm/civicrm-core/pull/14790))**
 
-- **[REF] simple extraction of getFieldAlterSQL ([14727](https://github.com/civicrm/civicrm-core/pull/14727))**
+- **[REF][Export] Minor cleanup on household merge properties
+  ([14787](https://github.com/civicrm/civicrm-core/pull/14787))**
 
-- ** Fix creation of additional zero value line item when changing fee selection in edge case ([14589](https://github.com/civicrm/civicrm-core/pull/14589))**
+- **[REF] [EXPORT] partial cleanup on adding fields to returnProperties based on
+  usage ([14788](https://github.com/civicrm/civicrm-core/pull/14788))**
 
-- **[REF] extract portion that creates the custom field record ([14725](https://github.com/civicrm/civicrm-core/pull/14725))**
+- **[REF] [export] remove chunk of non-functional code
+  ([14773](https://github.com/civicrm/civicrm-core/pull/14773))**
 
-- **5.16 to master ([14738](https://github.com/civicrm/civicrm-core/pull/14738))**
+- **[REF] [export] Cleaner handling of additional return properties
+  ([14774](https://github.com/civicrm/civicrm-core/pull/14774))**
 
-- **Improve handling of 'Manage Event' title ([14614](https://github.com/civicrm/civicrm-core/pull/14614))**
+- **[ref] [export] [test] Improve csv test to test final output rather than the
+  csv ([14779](https://github.com/civicrm/civicrm-core/pull/14779))**
 
-- **[REF] Cleanup fixSchemaDifferencesFor() ([14697](https://github.com/civicrm/civicrm-core/pull/14697))**
+- **[REF] [export] . Move greeting params retrieval to the place in the code
+  where it is used
+  ([14768](https://github.com/civicrm/civicrm-core/pull/14768))**
 
-- **[REF] clarify  variable (very minor change with good test cover) ([14724](https://github.com/civicrm/civicrm-core/pull/14724))**
+- **[REF] [Export] Move fetch Relationship details to processor
+  ([14898](https://github.com/civicrm/civicrm-core/pull/14898))**
 
-- **Fix some test leakage ([14731](https://github.com/civicrm/civicrm-core/pull/14731))**
+- **[REF] [Import] extract function that sets field metadata
+  ([14979](https://github.com/civicrm/civicrm-core/pull/14979))**
 
-- **Updated Circle-Interactive developers info ([14736](https://github.com/civicrm/civicrm-core/pull/14736))**
+- **[REF][Import]   very minor cleanup - 3 lines of code to one
+  ([14976](https://github.com/civicrm/civicrm-core/pull/14976))**
 
-- **Activity search - convert priority_id to a metadata field and add location as a searchable field ([14701](https://github.com/civicrm/civicrm-core/pull/14701))**
+- **[REF][Event]  Extract calculation of 'zero-ness' in form rule
+  ([14917](https://github.com/civicrm/civicrm-core/pull/14917))**
 
-- **[REF] simple extraction of prepareCreateParams ([14726](https://github.com/civicrm/civicrm-core/pull/14726))**
+- **[REF] extract loadSavedMapping
+  ([14873](https://github.com/civicrm/civicrm-core/pull/14873))**
 
-- **dev/core#1097 - Ensure consistent count on Groups tab ([14721](https://github.com/civicrm/civicrm-core/pull/14721))**
+- **[REF] Add in cleanup function to prevnext service and utilise in clea…
+  ([14911](https://github.com/civicrm/civicrm-core/pull/14911))**
 
-- **Fix path for civicrm.settings.php when installed in profiles/ ([552](https://github.com/civicrm/civicrm-drupal/pull/552))**
+- **[REF] Update selfService in updateBilling to use shared function
+  ([14965](https://github.com/civicrm/civicrm-core/pull/14965))**
 
-- **Update civicrmtheme module to use new isFrontEndPage function on user… ([581](https://github.com/civicrm/civicrm-drupal/pull/581))**
+- **[REF] remove never-set, mispelt parameter
+  ([14907](https://github.com/civicrm/civicrm-core/pull/14907))**
 
-- **(NFC) VERSIONS.php - Add discussion about how to migrate to composer ([261](https://github.com/civicrm/civicrm-packages/pull/261))**
+- **[REF] minor code cleanup on import mapping
+  ([14962](https://github.com/civicrm/civicrm-core/pull/14962))**
 
-## <a name="misc"></a>Miscellany
+- **[REF] Move Self service handlng to shared function to allow for use i…
+  ([14963](https://github.com/civicrm/civicrm-core/pull/14963))**
+
+- **[REF] simple extraction of function to check required fields are present
+  ([14961](https://github.com/civicrm/civicrm-core/pull/14961))**
+
+- **[REF] Down with php4 compatibility
+  ([14847](https://github.com/civicrm/civicrm-core/pull/14847))**
+
+- **[REF] Convert contribution_recur dates to datepicker from jcalendar
+  ([14737](https://github.com/civicrm/civicrm-core/pull/14737))**
+
+- **[REF] initial extraction of loading saved mapping to qf format
+  ([14767](https://github.com/civicrm/civicrm-core/pull/14767))**
+
+- **[REF] simplify & add tests on getMappingParams
+  ([14769](https://github.com/civicrm/civicrm-core/pull/14769))**
+
+- **[REF] Update export test to new function
+  ([14765](https://github.com/civicrm/civicrm-core/pull/14765))**
+
+- **[REF] Extract mapping converter function, kinda brutally
+  ([14762](https://github.com/civicrm/civicrm-core/pull/14762))**
+
+- **[REF] export code simplification
+  ([14758](https://github.com/civicrm/civicrm-core/pull/14758))**
+
+- **[REF] Extract saveMapping Field
+  ([14757](https://github.com/civicrm/civicrm-core/pull/14757))**
+
+- **[REF] Remove call to getMappingFields in favour of api call.
+  ([14755](https://github.com/civicrm/civicrm-core/pull/14755))**
+
+- **[REF] un-extract createProportionalFinancialEntities
+  ([14742](https://github.com/civicrm/civicrm-core/pull/14742))**
+
+- **[REF] Move function onto the processor class
+  ([14752](https://github.com/civicrm/civicrm-core/pull/14752))**
+
+- **[REF] Further cleanup & extraction in getMappingFieds
+  ([14743](https://github.com/civicrm/civicrm-core/pull/14743))**
+
+- **[REF] Simple function extraction for buildMappingForm
+  ([14741](https://github.com/civicrm/civicrm-core/pull/14741))**
+
+- **[REF] simple extraction of getFieldAlterSQL
+  ([14727](https://github.com/civicrm/civicrm-core/pull/14727))**
+
+- **[REF] extract portion that creates the custom field record
+  ([14725](https://github.com/civicrm/civicrm-core/pull/14725))**
+
+- **[REF] simple extraction of prepareCreateParams
+  ([14726](https://github.com/civicrm/civicrm-core/pull/14726))**
+
+- **[REF] Cleanup fixSchemaDifferencesFor()
+  ([14697](https://github.com/civicrm/civicrm-core/pull/14697))**
+
+- **[REF] clarify  variable (very minor change with good test cover)
+  ([14724](https://github.com/civicrm/civicrm-core/pull/14724))**
+
+- **[REF] Extract CRM_Core_BAO_Mapping::addComponentFields
+  ([14751](https://github.com/civicrm/civicrm-core/pull/14751))**
+
+- **REF Simple cleanup of tabset code for contributionpages
+  ([14616](https://github.com/civicrm/civicrm-core/pull/14616))**
+
+- **[REF] final cleanup - call bulkCreate from migrate_utils
+  ([14728](https://github.com/civicrm/civicrm-core/pull/14728))**
+
+- **[REF] Cleanup up handling of dates for Recurring & Contribution date fields
+  in query class ([14825](https://github.com/civicrm/civicrm-core/pull/14825))**
+
+- **[REF] Cleanup usage of CRM_Core_BAO_PrevNextCache::setItem and deprec…
+  ([14675](https://github.com/civicrm/civicrm-core/pull/14675))**
+
+- **[REF] [Test] Add test to cover handling of 'gender_id' on import, remove
+  unused code. ([14879](https://github.com/civicrm/civicrm-core/pull/14879))**
+
+- **[REF] [TEST] cleanup on export activity test
+  ([14850](https://github.com/civicrm/civicrm-core/pull/14850))**
+
+- **[test] Catch A.net exception & ignore
+  ([14861](https://github.com/civicrm/civicrm-core/pull/14861))**
+
+- **[Test] [Import] Add test to demonstrate bug that turns out not to exist
+  ([14880](https://github.com/civicrm/civicrm-core/pull/14880))**
+
+- **Add test for failed payment
+  ([14946](https://github.com/civicrm/civicrm-core/pull/14946))**
+
+- **Add unit test demonstrating attaching a listener to queries
+  ([14716](https://github.com/civicrm/civicrm-core/pull/14716))**
+
+- **[Test] Add test cover for Member_BAO_Query auto_renew field
+  ([14956](https://github.com/civicrm/civicrm-core/pull/14956))**
+
+- **Add unit test for net_amount when fee_amount is set
+  ([14909](https://github.com/civicrm/civicrm-core/pull/14909))**
+
+- **Fix some test leakage
+  ([14731](https://github.com/civicrm/civicrm-core/pull/14731))**
+
+- **[TEST] export - add unit test covering merge to same address addressee
+  handling ([14817](https://github.com/civicrm/civicrm-core/pull/14817))**
+
+- **[TEST][EXPORT] Improve unit test on export.
+  ([14793](https://github.com/civicrm/civicrm-core/pull/14793))**
+
+- **[NFC] [TEST] Reformat arrays in test classes
+  ([14831](https://github.com/civicrm/civicrm-core/pull/14831))**
+
+- **[NFC] [TEST] code formatting in test class
+  ([14849](https://github.com/civicrm/civicrm-core/pull/14849))**
+
+- **[NFC] reformat class
+  ([14899](https://github.com/civicrm/civicrm-core/pull/14899))**
+
+- **[NFC] Formatting in BAO_Relationship class
+  ([14949](https://github.com/civicrm/civicrm-core/pull/14949))**
+
+- **[NFC] code formatting only
+  ([14977](https://github.com/civicrm/civicrm-core/pull/14977))**
+
+- **[NFC] minor cleanup
+  ([14957](https://github.com/civicrm/civicrm-core/pull/14957))**
+
+- **NFC Update node module versions based on npm audit fix
+  ([14859](https://github.com/civicrm/civicrm-core/pull/14859))**
+
+- **(NFC) Fixing documentation links in readme.
+  ([14855](https://github.com/civicrm/civicrm-core/pull/14855))**
+
+- **[NFC] code reformatting
+  ([14853](https://github.com/civicrm/civicrm-core/pull/14853))**
+
+- **(NFC) VERSIONS.php - Add discussion about how to migrate to composer
+  ([261](https://github.com/civicrm/civicrm-packages/pull/261))**
+
+- **[NFC] comment fixes, function mis-casing fix
+  ([14906](https://github.com/civicrm/civicrm-core/pull/14906))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-AGH Strategies - Andrew Hunt, Eli Lisseck; Agileware - Alok Patel, Justin Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk Jackson, Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dawnthorn; Deepak Srivastava; Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace CEE - Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Squiffle Consulting - Aidan Saunders; sushantpaste; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Andrew Hunt, Eli Lisseck; Agileware - Alok Patel, Justin
+Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk
+Jackson, Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha
+Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Deepak Srivastava; Electronic
+Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool;
+Fuzion - Jitendra Purohit; Giant Rabbit - Peter Haight; Greenpeace CEE - Patrick
+Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth;
+Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology
+Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJCO - Mikey
+O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; OSSeed Technologies
+LLP - Sushant Paste; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation -
+Eileen McNaughton
 
 Most authors also reviewed code for this release; in addition, the following
 reviewers contributed their comments:
 
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Australian Greens - Seamus Lee; Circle Interactive - Dave Jenkins, Kirk Jackson, Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Alessandro Verdura; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dawnthorn; Deepak Srivastava; Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Luke Stewart; Greenpeace CEE - Patrick Figel; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; John Kingsnorth; Joseph Lacey; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Richard van Oosterhout; ryanlrobinson; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; sushantpaste; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin; Agileware - Justin Freeman; CiviCoop - Jaap
+Jansma; CiviDesk - Nicolas Ganivet; CompuCorp - Alessandro Verdura; Fuzion -
+Luke Stewart; Joseph Lacey; Richard van Oosterhout; Ryan L. Robinson; Skvare -
+Mark Hanna; Tadpole Collective - Kevin Cristiano;
 
 ## <a name="feedback"></a>Feedback