Merge pull request #15348 from civicrm/5.18
authorSeamus Lee <seamuslee001@gmail.com>
Tue, 24 Sep 2019 00:14:10 +0000 (10:14 +1000)
committerGitHub <noreply@github.com>
Tue, 24 Sep 2019 00:14:10 +0000 (10:14 +1000)
5.18

CRM/Member/BAO/Membership.php
contributor-key.yml
release-notes/5.18.0.md

index 2e22a1d836380d137e3231697761c5ed157e9cca..bbd24740df693ddc6f4bb57e6afe13896b9b9b5c 100644 (file)
@@ -376,7 +376,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership {
 
     // This could happen if there is no contribution or we are in one of many
     // weird and wonderful flows. This is scary code. Keep adding tests.
-    if (!empty($params['line_item']) && empty($ids['contribution'])) {
+    if (!empty($params['line_item']) && empty($ids['contribution']) && empty($params['contribution_id'])) {
 
       foreach ($params['line_item'] as $priceSetId => $lineItems) {
         foreach ($lineItems as $lineIndex => $lineItem) {
index 98dc9e075e8f1631fe11ea6c6fdc22171cccc052..c0c8223f508a9c606e6ffdd23fa9a0887637b2a4 100644 (file)
 - github      : Dawnthorn
   name        : Peter Haight
   organization: Giant Rabbit
-  
+
 - github      : dlobo
   name        : Donald Lobo
   jira        : lobo
   organization: Jesper Angelo
   jira        : dkguru
 
+- github      : don-alejandro-z
+
 - name        : Samuel Haskell
   jira        : dotsam
 
   organization: Amnistía Internacional España
   jira        : Fernando
 
+- github      : fkohrt
+  name        : Florian Kohrt
+
 - github      : fliespl
   name        : Arkadiusz Rzadkowolski
   jira        : flies
 
 - github      : reecebenson
   name        : Reece Benson
-  organization: Circle Interactive
\ No newline at end of file
+  organization: Circle Interactive
index c0c77c0871d29096a01f1e1778644bf5faa556d7..ee2834c83f5fbe9269461d08a4ce106999ee840b 100644 (file)
@@ -15,444 +15,829 @@ Released October 2, 2019
 
 | *Does this version...?*                                         |         |
 |:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities?                                   |         |
-| Change the database schema?                                     |         |
-| Alter the API?                                                  |         |
-| Require attention to configuration options?                     |         |
-| Fix problems installing or upgrading to a previous version?     |         |
-| Introduce features?                                             |         |
-| Fix bugs?                                                       |         |
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| Require attention to configuration options?                     |   no    |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
 ## <a name="features"></a>Features
 
 ### Core CiviCRM
 
-- **crm- Missing Summary ([15149](https://github.com/civicrm/civicrm-core/pull/15149))**
+- **Enable view/revert delete action for detail logging
+  ([15045](https://github.com/civicrm/civicrm-core/pull/15045))**
 
-- **CRM-17182 Missing Summary ([15064](https://github.com/civicrm/civicrm-core/pull/15064))**
+  Allows users to view/revert deleted information from the change log.
 
-## <a name="bugs"></a>Bugs resolved
+- **Add `hook_civicrm_pre` and `hook_civicrm_post` to Domain create and edit
+  operations ([dev/core#1203](https://lab.civicrm.org/dev/core/issues/1203):
+  [15104](https://github.com/civicrm/civicrm-core/pull/15104))**
 
-### Core CiviCRM
+  Makes it so one can detect when a new Domain has been created or when a Domain
+  has been edited with the usual hook_civicrm_pre and hook_civicrm_post
+  callbacks.
 
-- **Add release-notes/5.17.4 ([15299](https://github.com/civicrm/civicrm-core/pull/15299))**
+- **Api support for deduping
+  (Work Towards [dev/core#1230](https://lab.civicrm.org/dev/core/issues/1230):
+  [15196](https://github.com/civicrm/civicrm-core/pull/15196),
+  [15188](https://github.com/civicrm/civicrm-core/pull/15188),
+  [15187](https://github.com/civicrm/civicrm-core/pull/15187),
+  [15227](https://github.com/civicrm/civicrm-core/pull/15227) and
+  [15154](https://github.com/civicrm/civicrm-core/pull/15154))**
 
-- **dev/core#1241 : Custom field value for a new Event based on an Event … ([15296](https://github.com/civicrm/civicrm-core/pull/15296))**
+  Work toward improving the new API support for deduping including: not
+  geocoding when merging for performance reasons, giving contacts with 'merge
+  duplicate contacts' permission to get dedupe rules, ensuring the API call
+  Dedupe.getstatistics requires "Access CiviCRM" and adds a check for 'force merge
+  duplicate contacts' if mode is aggressive.
 
-- **dev/core#1246 fix fatal error on search builder if a core contact type is disabled ([15289](https://github.com/civicrm/civicrm-core/pull/15289))**
+- **Add cid parameter in custom group form url & set it for Activity form
+  ([dev/core#752](https://lab.civicrm.org/dev/core/issues/752):
+  [15012](https://github.com/civicrm/civicrm-core/pull/15012))**
 
-- **Fix for core#1247 - export hook doesn't work ([15287](https://github.com/civicrm/civicrm-core/pull/15287))**
+  Adds a contact id parameter (cid=) when loading custom data via back end forms
+  so that hooks can modify behavior based on the `contact_id` being viewed.
 
-- **Add release notes for 5.17.3 ([15288](https://github.com/civicrm/civicrm-core/pull/15288))**
+- **Make report listing actions links hookable
+  ([dev/core#1077](https://lab.civicrm.org/dev/core/issues/1077):
+  [15074](https://github.com/civicrm/civicrm-core/pull/15074))**
 
-- **Trim form values when adding LIKE operator ([15275](https://github.com/civicrm/civicrm-core/pull/15275))**
+  Makes the actions list on the Report listing screen accessible to developers
+  by a hook.
 
-- **Ensure filtering on email via the api looks for an exact match ([15276](https://github.com/civicrm/civicrm-core/pull/15276))**
+- **Fixes inconsistency between constituency summary and constituency detail
+  ([15222](https://github.com/civicrm/civicrm-core/pull/15222))**
 
-- **Fix unreleased regression on batch merge through the UI ([15273](https://github.com/civicrm/civicrm-core/pull/15273))**
+  Improves consistency of how the Action link "Print Report" functions on the
+  Reports listing pages before this change some "Print Report" links would take
+  the user to the report in print view and some would trigger a print popup.
 
-- **dev/drupal#52 Partial fix for Deprecated q variable ([15268](https://github.com/civicrm/civicrm-core/pull/15268))**
+- **Add index to civicrm_contact.created_date & modified_date
+  ([15203](https://github.com/civicrm/civicrm-core/pull/15203))**
 
-- **Remove is_public flag from report paths ([15261](https://github.com/civicrm/civicrm-core/pull/15261))**
+  Adds an index to `civicrm_contact.created_date` &
+  `civicrm_contact.modified_date`.
 
-- **(NFC) 5 17 2 release notes ([15260](https://github.com/civicrm/civicrm-core/pull/15260))**
+- **Added field title for Cache table
+  ([15204](https://github.com/civicrm/civicrm-core/pull/15204))**
 
-- **dev/core#1244 Fix regression on searching by email in advanced search ([15255](https://github.com/civicrm/civicrm-core/pull/15255))**
+  Adds title for fields to the Cache table.
 
-- **Add in 5.17.1 Release notes and migrate .tpl file for 5.17.1 to 5.18 to support upgrade ([15253](https://github.com/civicrm/civicrm-core/pull/15253))**
+- **Allow Manual Geo Code flag to be exported
+  ([14998](https://github.com/civicrm/civicrm-core/pull/14998))**
 
-- **[NFC] Update Default report instances that filter on join date to be … ([15247](https://github.com/civicrm/civicrm-core/pull/15247))**
+  Makes it possible for users to export the Manual Geo Code flag.
 
-- **dev/core#1240 Ensure that Options are not duplicated when saving a co… ([15245](https://github.com/civicrm/civicrm-core/pull/15245))**
+- **Use merge duplicate contacts as api permission for merging
+  ([15155](https://github.com/civicrm/civicrm-core/pull/15155))**
 
-- **dev/core#1190 - typo in original version of upgrade function ([15239](https://github.com/civicrm/civicrm-core/pull/15239))**
+  Changes the API call `Contact.merge` to require 'merge duplicate contacts'
+  instead of 'Administer CiviCRM'.
 
-- **dev/core#1123 - avoid possible variable name clash ([15240](https://github.com/civicrm/civicrm-core/pull/15240))**
+- **Adjust permissions on dedupe exception api to 'merge duplicate contacts'
+  ([15157](https://github.com/civicrm/civicrm-core/pull/15157))**
 
-- **(dev/core#1065) fix condition so that the contact field appears for s… ([15238](https://github.com/civicrm/civicrm-core/pull/15238))**
+  Moves the CRUD API for managing dedupe exceptions to require the permission
+  'merge duplicate contacts' before this change it required 'Administer
+  CiviCRM'.
 
-- **dev/core#1236 fix miscasting on setContactSubType ([15236](https://github.com/civicrm/civicrm-core/pull/15236))**
+- **Open up permissions on Dedupe.getduplicates
+  ([15152](https://github.com/civicrm/civicrm-core/pull/15152))**
 
-- **SyntaxConformanceTest::testSqlOperators - Skip "Dedupe" entity on MySQL 5.5 ([15234](https://github.com/civicrm/civicrm-core/pull/15234))**
+  Less restrictive permissions on the `Dedupe.getduplicates` API (currently only
+  used from unit tests) specifically moves from requiring the permission
+  'Administer CiviCRM' to 'Access CiviCRM'.
 
-- **dev/core#1233 Fix deleting of campaigns and saving of custom data for campaign and … ([15233](https://github.com/civicrm/civicrm-core/pull/15233))**
+- **Fix inconsistencies in duplicate retrieval
+  ([15160](https://github.com/civicrm/civicrm-core/pull/15160))**
 
-- **dev/core#1230 Permission nuancing, fix another place where merge duplicate contacts should be enough ([15227](https://github.com/civicrm/civicrm-core/pull/15227))**
+  Ensures the API call `Dedupe.getduplicates` respects both 'limit' and
+  'search_limit' parameters.
 
-- **[Ref] [Import] Final round in the cleanup Load Mapping form epic ([15226](https://github.com/civicrm/civicrm-core/pull/15226))**
+- **Error log improvements: Provide priority level
+  ([14995](https://github.com/civicrm/civicrm-core/pull/14995))**
 
-- **Stop adding a refund payment from creating extraneous financial items ([15143](https://github.com/civicrm/civicrm-core/pull/15143))**
+  Improves Error Logging by adding the ability to pass a priority level argument
+  to `CRM_Core_Error::debug_var()`.
 
-- **dev/core#1222 Clear static DAO cache when writing to DAO ([15171](https://github.com/civicrm/civicrm-core/pull/15171))**
+- **Improve deadlock error handling
+  ([258](https://github.com/civicrm/civicrm-packages/pull/258))**
 
-- **Use metadata for dataPatterns ([15224](https://github.com/civicrm/civicrm-core/pull/15224))**
+  Improves deadlock error handling by capturing the error when the deadlock is
+  first hit so the backtrace is retained.
 
-- **dev/core#1230 [Dedupe] Do not geocode while merging, rely on existing values ([15154](https://github.com/civicrm/civicrm-core/pull/15154))**
+- **Manage Group search message fix
+  ([15052](https://github.com/civicrm/civicrm-core/pull/15052))**
 
-- **(dev/joomla#24) Stop CiviCRM's joomla.css from modifying Joomla 4 header background colour ([15137](https://github.com/civicrm/civicrm-core/pull/15137))**
+  Improves the help text when one searches for groups and no groups are found.
 
-- **[Import] [REF] code cleanup & test on the code to  'guess the intended  field  from the column name' ([15220](https://github.com/civicrm/civicrm-core/pull/15220))**
+### CiviContribute
 
-- **dev/core#1123 - Changing the label for Inbound Email bypasses edit permission ([15147](https://github.com/civicrm/civicrm-core/pull/15147))**
+- **Add pre/post hooks for price set / field/option
+  ([dev/core#870](https://lab.civicrm.org/dev/core/issues/870):
+  [15076](https://github.com/civicrm/civicrm-core/pull/15076))**
 
-- **[REF] extract send receipt in MembershipRenewal fn ([15117](https://github.com/civicrm/civicrm-core/pull/15117))**
+  Ensures Price sets `pre` and `post` hooks get invoked when adding price sets
+  and price options etc.
 
-- **[Ref] [Import] more code cleanup ([15219](https://github.com/civicrm/civicrm-core/pull/15219))**
+### CiviEvent
 
-- **dev/core#1230 Loosen permissions to Dedupe.getstatistics api ([15187](https://github.com/civicrm/civicrm-core/pull/15187))**
+- **Creating an event clears the cache
+  ([dev/event#14](https://lab.civicrm.org/dev/event/issues/14):
+  [15140](https://github.com/civicrm/civicrm-core/pull/15140))**
 
-- **dev/core#1230 Dedupe permissions - allow safe mode merging based on 'merge duplicate contacts' ([15188](https://github.com/civicrm/civicrm-core/pull/15188))**
+  Improves performance by not clearing caches every time an event is created.
 
-- **Fixes inconsitency between constituency summary and constituency detail ([15222](https://github.com/civicrm/civicrm-core/pull/15222))**
+### CiviMembership
 
-- **Fix fatal when saving import mapping with a relationship but 'Primary' location type ([15115](https://github.com/civicrm/civicrm-core/pull/15115))**
+- **Update XML files for membership fields to support date picker conversion
+  ([15186](https://github.com/civicrm/civicrm-core/pull/15186))**
 
-- **dev/core#1187 Fix bug where import will not do 2 phone types of the same location ([15190](https://github.com/civicrm/civicrm-core/pull/15190))**
+  Updates the XML and associated files to support the change to date picker
+  format for Membership date fields.
 
-- **(dev/joomla#10) Remove Joomla-specific error display and use native CiviCRM ([15159](https://github.com/civicrm/civicrm-core/pull/15159))**
+- **Add default domain to membershiptype API
+  ([15120](https://github.com/civicrm/civicrm-core/pull/15120))**
 
-- **Fix an HTML error in Calculate.tpl ([15102](https://github.com/civicrm/civicrm-core/pull/15102))**
+  Adds a default domain to the membershiptype API to improve usability.
 
-- **[TEST] Enable apiv4 testing for GroupNesting and GroupOrganization entities ([15217](https://github.com/civicrm/civicrm-core/pull/15217))**
+- **Fix readability & caching on
+  CRM_Contact_BAO_Relationship::isInheritedMembershipInvalidated
+  ([15061](https://github.com/civicrm/civicrm-core/pull/15061))**
 
-- **Fix export header for 'Contact ID' ([15118](https://github.com/civicrm/civicrm-core/pull/15118))**
+  Improves caching and performance when calculating inherited memberships.
 
-- **[REF] Move calculation of js for import fields WITH relationship keys to processor. ([15218](https://github.com/civicrm/civicrm-core/pull/15218))**
+### CiviPledge
 
-- **dev/core#938 - remove duplicate lines ([15216](https://github.com/civicrm/civicrm-core/pull/15216))**
+- **Update Pledge XML to support date picker conversion
+  ([15180](https://github.com/civicrm/civicrm-core/pull/15180))**
 
-- **[Datepicker][REF] Convert mailing date field on mailing search screen… ([15181](https://github.com/civicrm/civicrm-core/pull/15181))**
+  Updates the XML and associated files to support the change to date picker
+  format for Pledge date fields.
 
-- **dev/membership#13 Add handling for missing MembershipPayment record. ([15053](https://github.com/civicrm/civicrm-core/pull/15053))**
+### Backdrop Integration
 
-- **[Ref] Import use process for relationship defaults, add test ([15215](https://github.com/civicrm/civicrm-core/pull/15215))**
+- **Fail more gracefully when upgrading on PHP5.x
+  ([98](https://github.com/civicrm/civicrm-backdrop/pull/98))**
 
-- **Use api to create activity and removed hardcoded status id ([14621](https://github.com/civicrm/civicrm-core/pull/14621))**
+  Provides a clearer error whens omeone tries to upgrade with PHP 5.x
 
-- **Fix search for case tags that are part of tag sets ([15212](https://github.com/civicrm/civicrm-core/pull/15212))**
+### Drupal Integration
 
-- **5.17 ([15214](https://github.com/civicrm/civicrm-core/pull/15214))**
+- **Automatically tag the drupal-8 repository
+  (Work Towards [dev/release#9](https://lab.civicrm.org/dev/release/issues/9):
+  [15149](https://github.com/civicrm/civicrm-core/pull/15149))**
 
-- **[Import][ref] Minor code improvement -  move setDefaults to processor ([15189](https://github.com/civicrm/civicrm-core/pull/15189))**
+  Continues work to automatically tag a Drupal8 version when new CiviCRM
+  versions are released as is done for other CMS's.
 
-- **Add ts() to deceased string ([15211](https://github.com/civicrm/civicrm-core/pull/15211))**
+- **Error when upgrading to 5.16.0
+  ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79):
+  [583](https://github.com/civicrm/civicrm-drupal/pull/583))**
 
-- **(dev/core#1065) Grant in Edit mode doesn't show the associated contact ([15209](https://github.com/civicrm/civicrm-core/pull/15209))**
+  Throws a clearer error when someone tries to upgrade with PHP 5.x.
 
-- **5.17 to master ([15208](https://github.com/civicrm/civicrm-core/pull/15208))**
+- **(dev/drupal#8) Migrate bower.json into composer.json via
+  composer-downloads-plugin
+  ([15044](https://github.com/civicrm/civicrm-core/pull/15044))**
 
-- **Add index to civicrm_contact.created_date & modified_date ([15203](https://github.com/civicrm/civicrm-core/pull/15203))**
+  Improves performance and caching by using `composer` to install `bower`.
 
-- **SMTP help text and URL are misleading to Organization Address and Contact Info instead of leading to From Email Addresses; see also #14055 and #14329 ([15165](https://github.com/civicrm/civicrm-core/pull/15165))**
+## <a name="bugs"></a>Bugs resolved
 
-- **Changed ClassName for ACL cache ([15193](https://github.com/civicrm/civicrm-core/pull/15193))**
+### Core CiviCRM
 
-- **Set contact communication_style_id as importable ([15205](https://github.com/civicrm/civicrm-core/pull/15205))**
+- **Warnings on importing contacts - PHP 7.2
+  (Work Towards [dev/core#772](https://lab.civicrm.org/dev/core/issues/772):
+  [262](https://github.com/civicrm/civicrm-packages/pull/262))**
 
-- **Replace some calls to CRM_Core_Error::fatal with exceptions ([15156](https://github.com/civicrm/civicrm-core/pull/15156))**
+  Fixes a notice when importing with PHP 7.2 specifically with an import file
+  with the column 'Contact Source' among others & import set to use 'Column
+  Headers'.
 
-- **Added field title for Cache table ([15204](https://github.com/civicrm/civicrm-core/pull/15204))**
+- **Warnings on CRM_Contribute_Import_Parser re countable
+  ([dev/core#1001](https://lab.civicrm.org/dev/core/issues/1001):
+  [14989](https://github.com/civicrm/civicrm-core/pull/14989))**
 
-- **dev/core#1230 [Dedupe] Add new api option to getduplicates, permitting a new search to be forced. ([15196](https://github.com/civicrm/civicrm-core/pull/15196))**
+  Fixes a few PHP 7.2 count warnings when importing.
 
-- **Ensure all report templates switch the filter field_name from join_da… ([15198](https://github.com/civicrm/civicrm-core/pull/15198))**
+- **Changing the label for the Inbound Email activity type lets you edit/delete
+  them even if the permission disallows
+  ([dev/core#1123](https://lab.civicrm.org/dev/core/issues/1123):
+  [15240](https://github.com/civicrm/civicrm-core/pull/15240) and
+  [15147](https://github.com/civicrm/civicrm-core/pull/15147))**
 
-- **Re-remove pledge & member fields from the legacy date list ([15200](https://github.com/civicrm/civicrm-core/pull/15200))**
+  Fixes a bug that allowed users without Edit permissions to edit inbound emails
+  if they changed the activity type label.
 
-- **5.17 to master ([15199](https://github.com/civicrm/civicrm-core/pull/15199))**
+- **Regression: Can't use CiviCRM menu on 5.16.0
+  ([dev/core#1182](https://lab.civicrm.org/dev/core/issues/1182):
+  [15020](https://github.com/civicrm/civicrm-core/pull/15020) and
+  [15019](https://github.com/civicrm/civicrm-core/pull/15019))**
 
-- **[Date picker][REF] Convert jcalendar date fields to date picker on me… ([15177](https://github.com/civicrm/civicrm-core/pull/15177))**
+  Fixes a bug in CiviCRM 5.16.0 where a race condition was causing the CiviCRM
+  Admin Menu to break.
 
-- **Incorporate searchLimit in dedupe cacheKey ([15185](https://github.com/civicrm/civicrm-core/pull/15185))**
+- **csv import only import one phone number
+  ([dev/core#1187](https://lab.civicrm.org/dev/core/issues/1187):
+  [15190](https://github.com/civicrm/civicrm-core/pull/15190))**
 
-- **Fix  inconsistencies in duplicate retrieval ([15160](https://github.com/civicrm/civicrm-core/pull/15160))**
+  Fixes a bug whereby one phone number is not imported if 2 of the same location
+  type but different phone types are in an import.
 
-- **Use metadata for pledgeDateRange fields ([15191](https://github.com/civicrm/civicrm-core/pull/15191))**
+- **Fix Psalm issue Class or interface CiviCRM_API3_Exception does not exist
+  ([dev/core#1188](https://lab.civicrm.org/dev/core/issues/1188):
+  [15043](https://github.com/civicrm/civicrm-core/pull/15043))**
 
-- **dev/core#1046 - simplify logic ([15192](https://github.com/civicrm/civicrm-core/pull/15192))**
+  Ensures that the Psalm Autoloader can find `CiviCRM_API3_Exception`.
 
-- **Update XML files for membership fields to support date picker conversion ([15186](https://github.com/civicrm/civicrm-core/pull/15186))**
+- **File attachment uploads - pptx issue
+  ([dev/core#1190](https://lab.civicrm.org/dev/core/issues/1190):
+  [15239](https://github.com/civicrm/civicrm-core/pull/15239))**
 
-- **dev/core#1046 - allow for the real "name" to be specified in xml ([15182](https://github.com/civicrm/civicrm-core/pull/15182))**
+  Fixes the upgrade function for adding ".pptx" to the list of safe file types.
 
-- **[REF] Import - minor cleanup  - generate js on the processor class ([15183](https://github.com/civicrm/civicrm-core/pull/15183))**
+- **ENOTICE when creating activity from contact search results / aka Repeat
+  Activity accordion section missing when using Add Activity from contact search
+  results ([dev/core#1192](https://lab.civicrm.org/dev/core/issues/1192):
+  [15079](https://github.com/civicrm/civicrm-core/pull/15079))**
 
-- **Convert pledge date fields to use datepicker rather than jcalendar ([15170](https://github.com/civicrm/civicrm-core/pull/15170))**
+  Fixes an E_NOTICE when using the "Add Activity" action from the contact search
+  results list.
 
-- **Update Pledge XML to support date picker conversion ([15180](https://github.com/civicrm/civicrm-core/pull/15180))**
+- **CiviCRM Dashboard does not respect multiple domains
+  ([dev/core#1200](https://lab.civicrm.org/dev/core/issues/1200):
+  [15099](https://github.com/civicrm/civicrm-core/pull/15099))**
 
-- **Extend loadSavedMapping to check defaults ([15179](https://github.com/civicrm/civicrm-core/pull/15179))**
+  For sites with multisite enabled ensures that the CiviCRM Dashboard respects
+  multiple domains and shows unique dashlets (depending on what domain you are
+  using).
 
-- **5.17 ([15176](https://github.com/civicrm/civicrm-core/pull/15176))**
+- **Contact subtype is removed after being cached incorrectly
+  ([dev/core#1222](https://lab.civicrm.org/dev/core/issues/1222):
+  [15171](https://github.com/civicrm/civicrm-core/pull/15171))**
 
-- **Someimes ya just gotta say enough already ([15175](https://github.com/civicrm/civicrm-core/pull/15175))**
+  Ensures the static cache is cleared whenever updating or deleting a DAO
+  object.  
 
-- **[REF] Very minor code cleanup on import code with good test cover ([15173](https://github.com/civicrm/civicrm-core/pull/15173))**
+- **Event/Contribution amounts are duplicated when the form is saved
+  ([dev/core#1240](https://lab.civicrm.org/dev/core/issues/1240):
+  [15245](https://github.com/civicrm/civicrm-core/pull/15245))**
 
-- **[NFC] Remove redundant annotation ([15172](https://github.com/civicrm/civicrm-core/pull/15172))**
+  Fixes a bug where saving the "amounts" tab of either an event or contribution
+  page (when using that form to enter options NOT a price set) results in the
+  duplication of the amount options listed.
 
-- **[ref] [ import] Extend tests & simpler retrieval to relationship_type_id ([15130](https://github.com/civicrm/civicrm-core/pull/15130))**
+- **Regression: Searching on Email broken in advanced search
+  ([dev/core#1244](https://lab.civicrm.org/dev/core/issues/1244):
+  [15255](https://github.com/civicrm/civicrm-core/pull/15255))**
 
-- **[REF] Move clone template functionality from api to bao ([15163](https://github.com/civicrm/civicrm-core/pull/15163))**
+  Fixes a regression where attempting to search on Email on the Advanced search
+  form resulted in a warning and no results so that no warning is thrown and
+  results are shown based on search parameters entered.
 
-- **Add note about testRenewMembership failing on certain days ([15167](https://github.com/civicrm/civicrm-core/pull/15167))**
+- **Trim form values when adding LIKE operator
+  ([15275](https://github.com/civicrm/civicrm-core/pull/15275))**
 
-- **Ensure that civicrm_dashboard has a foreign key to civicrm_domain ([15119](https://github.com/civicrm/civicrm-core/pull/15119))**
+  Fixes a 5.17 regression whereby the email string is no longer being trimmed
+  when searching.
 
-- **Ensure Dashboard respects multiple Domains ([15099](https://github.com/civicrm/civicrm-core/pull/15099))**
+- **Ensure filtering on email via the api looks for an exact match
+  ([15276](https://github.com/civicrm/civicrm-core/pull/15276))**
 
-- **Use merge duplicate contacts as api permission for merging ([15155](https://github.com/civicrm/civicrm-core/pull/15155))**
+  Fixes a released regression whereby a wildcard was being added to API
+  Contact.get requests with the email parameter.
 
-- **Adjust permissions on dedupe exception api to 'merge duplicate contacts' ([15157](https://github.com/civicrm/civicrm-core/pull/15157))**
+- **Fix fatal when saving import mapping with a relationship but 'Primary'
+  location type ([15115](https://github.com/civicrm/civicrm-core/pull/15115))**
 
-- **Fix PayPalImpl Contribution Status PseudoConstant for non-English ([15164](https://github.com/civicrm/civicrm-core/pull/15164))**
+  Fixes a fatal error when saving an import mapping with a field mapped to (for
+  example) employer's phone with the location type set to primary
 
-- **dev/core#1218 Fix Word Replacements on manage case Roles ([15161](https://github.com/civicrm/civicrm-core/pull/15161))**
+- **Fix export header for 'Contact ID'
+  ([15118](https://github.com/civicrm/civicrm-core/pull/15118))**
 
-- **Make sure inherited memberships are not themselves inherited ([15114](https://github.com/civicrm/civicrm-core/pull/15114))**
+  Ensures when exporting a contact id column the header is 'Contact ID' not
+  'contact_id'
 
-- **Open up permissions on Dedupe.getduplicates ([15152](https://github.com/civicrm/civicrm-core/pull/15152))**
+- **Changed ClassName for ACL cache
+  ([15193](https://github.com/civicrm/civicrm-core/pull/15193))**
 
-- **Better error handling in CRM_Utils_JS::decode ([15145](https://github.com/civicrm/civicrm-core/pull/15145))**
+  Ensures `civicrm_acl_cache` and `civicrm_cache` use different entity names.
 
-- **[Test] Bring to life dormant test ([15150](https://github.com/civicrm/civicrm-core/pull/15150))**
+- **Set contact communication_style_id as importable
+  ([15205](https://github.com/civicrm/civicrm-core/pull/15205))**
 
-- **Switch recordAdditionalPayment fully over to api ([14408](https://github.com/civicrm/civicrm-core/pull/14408))**
+  Ensures the "Contact Communication Style" is visible in profile view mode.
 
-- **distmaker - Finish migrating bower.json => composer.json ([15148](https://github.com/civicrm/civicrm-core/pull/15148))**
+- **Incorporate searchLimit in dedupe cacheKey
+  ([15185](https://github.com/civicrm/civicrm-core/pull/15185))**
 
-- **Add minimal test for testExportFinancialBatch ([15136](https://github.com/civicrm/civicrm-core/pull/15136))**
+  Fixes a bug where changing the search limit after a search has been performed
+  does not result in a new search.
 
-- **Code cleanup in CRM_Core_Permission::check ([15141](https://github.com/civicrm/civicrm-core/pull/15141))**
+- **Fix PayPalImpl Contribution Status PseudoConstant for non-English
+  ([15164](https://github.com/civicrm/civicrm-core/pull/15164))**
 
-- **dev/event#14 Fix excessive cache clearing on creating an event ([15140](https://github.com/civicrm/civicrm-core/pull/15140))**
+  Ensures Contributions Statuses are set correctly for sites using PayPal
+  Express and a language other than English by switching to using the name
+  property instead of the label.
 
-- **dev/core/issues/860: discount not applied to line item: call buildAmount hook in CRM_Member_Form_Membership::submit(). ([15004](https://github.com/civicrm/civicrm-core/pull/15004))**
+- **Allow for the deselection of sorting filters
+  ([15029](https://github.com/civicrm/civicrm-core/pull/15029))**
 
-- **Extract cancelParticipant and cancelMembership functions in baseIPN ([15134](https://github.com/civicrm/civicrm-core/pull/15134))**
+  Fixes a bug where removing sorting filters on reports and refreshing the
+  results would retain the sorting filters regardless.
 
-- **[Ref] Extract addInheritedMembership ([15113](https://github.com/civicrm/civicrm-core/pull/15113))**
+- **Better error handling in CRM_Utils_JS::decode
+  ([15145](https://github.com/civicrm/civicrm-core/pull/15145))**
 
-- **Switch to relationship BAO when modifying relationships in change case status so we don't bypass hooks ([15030](https://github.com/civicrm/civicrm-core/pull/15030))**
+  Improves handling of malformed Javascript so as to reduce PHP notices.
 
-- **Extract function to create email activity when sending an email to contact ([15133](https://github.com/civicrm/civicrm-core/pull/15133))**
+- **CRM_Utils_Array::crmInArray() should recurse properly
+  ([dev/core#1196](https://lab.civicrm.org/dev/core/issues/1196):
+  [15092](https://github.com/civicrm/civicrm-core/pull/15092))**
 
-- **Initial refactor of BaseIPN ([15129](https://github.com/civicrm/civicrm-core/pull/15129))**
+- **Incorrect line item created for back-end membership sign-up using price set
+  and CiviDiscount ([dev/core#860](https://lab.civicrm.org/dev/core/issues/860):
+  [15004](https://github.com/civicrm/civicrm-core/pull/15004))**
 
-- **Fix hardcoded ID for Head of Household relationship ([15123](https://github.com/civicrm/civicrm-core/pull/15123))**
+- **Fix an HTML error in Calculate.tpl
+  ([15102](https://github.com/civicrm/civicrm-core/pull/15102))**
 
-- **Migrate bower.json into composer.json via composer-downloads-plugin ([15044](https://github.com/civicrm/civicrm-core/pull/15044))**
+- **Replace some calls to CRM_Core_Error::fatal with exceptions
+  ([15156](https://github.com/civicrm/civicrm-core/pull/15156))**
 
-- **(dev/core#927) (NFC) Add comments to relate to gitlab ticket ([15128](https://github.com/civicrm/civicrm-core/pull/15128))**
+- **Ensure all report templates switch the filter field_name from join_date to
+  be membership_join_date
+  ([15198](https://github.com/civicrm/civicrm-core/pull/15198))**
 
-- **Deprecate CRM_Core_Config::addressSequence() ([15126](https://github.com/civicrm/civicrm-core/pull/15126))**
+- **Re-remove pledge & member fields from the legacy date list
+  ([15200](https://github.com/civicrm/civicrm-core/pull/15200))**
 
-- **Deprecate CRM_Core_Config::defaultContactCountry and defaultContactCountryName ([15127](https://github.com/civicrm/civicrm-core/pull/15127))**
+- **Use api to create activity and removed hardcoded status id
+  ([14621](https://github.com/civicrm/civicrm-core/pull/14621))**
 
-- **Remove unused skipRedirect param ([15125](https://github.com/civicrm/civicrm-core/pull/15125))**
+- **Add ts() to deceased string
+  ([15211](https://github.com/civicrm/civicrm-core/pull/15211))**
 
-- **[Ref] [Import] Use processor to determine website type, location type, test ([15116](https://github.com/civicrm/civicrm-core/pull/15116))**
+- **Fatal Error in "Search Builder" if "Household" Contact type is disabled.
+  ([dev/core#1246](https://lab.civicrm.org/dev/core/issues/1246):
+  [15289](https://github.com/civicrm/civicrm-core/pull/15289))**
 
-- **Add default domain to membershiptype API ([15120](https://github.com/civicrm/civicrm-core/pull/15120))**
+- **Do not show Activity Separation on when viewing an Activity
+  ([15046](https://github.com/civicrm/civicrm-core/pull/15046))**
 
-- **financial#58: Don't crash the View Batches page after a failed batch … ([14367](https://github.com/civicrm/civicrm-core/pull/14367))**
+- **Display only own assignees contact(s) on batch activity form
+  ([15035](https://github.com/civicrm/civicrm-core/pull/15035))**
 
-- **Minor refactor of 'Pending' parameter for processMembership ([15124](https://github.com/civicrm/civicrm-core/pull/15124))**
+- **Swap CRM_Utils_Array::value for empty() in conditionals
+  ([15005](https://github.com/civicrm/civicrm-core/pull/15005))**
 
-- **[Test] Fix Last_name in CiviUnitTestCase::activityCreate ([15112](https://github.com/civicrm/civicrm-core/pull/15112))**
+- **Ensure that civicrm_dashboard has a foreign key to civicrm_domain
+  ([15119](https://github.com/civicrm/civicrm-core/pull/15119))**
 
-- **test for PR 15103 ([15121](https://github.com/civicrm/civicrm-core/pull/15121))**
+### CiviCampaign
 
-- **Refactor CRM_Contact_BAO_Relationship::add to autoload missing params from existing record ([15103](https://github.com/civicrm/civicrm-core/pull/15103))**
+- **Actions in campaign dashboard not working with pop-up disabled
+  ([dev/core#1233](https://lab.civicrm.org/dev/core/issues/1233):
+  [15233](https://github.com/civicrm/civicrm-core/pull/15233))**
 
-- **[Import] [ref] - minor cleanup to reduce code complexity ([15097](https://github.com/civicrm/civicrm-core/pull/15097))**
+  Ensures users with pop ups deactivated can edit and delete campaigns.
 
-- **5.17 ([15109](https://github.com/civicrm/civicrm-core/pull/15109))**
+### CiviCase
 
-- **Add `pre` and `post` hooks to Domain create and edit operations ([15104](https://github.com/civicrm/civicrm-core/pull/15104))**
+- **Proposal to fix longstanding name vs label problems for case roles (Work
+  Towards [dev/core#1046](https://lab.civicrm.org/dev/core/issues/1046):
+  [15192](https://github.com/civicrm/civicrm-core/pull/15192) and
+  [15182](https://github.com/civicrm/civicrm-core/pull/15182))**
 
-- **[Test] [NFC] upgrade remaining export tests ([15095](https://github.com/civicrm/civicrm-core/pull/15095))**
+  These changes work towards fixing the label being used as the name in some
+  places in CiviCase by allowing for an override tag in the xml to specify the
+  actual "name".
 
-- **5.17 ([15098](https://github.com/civicrm/civicrm-core/pull/15098))**
+- **Changing a civicase activity's label breaks the max_instances check
+  (Work Towards [dev/core#1116](https://lab.civicrm.org/dev/core/issues/1116):
+  [14999](https://github.com/civicrm/civicrm-core/pull/14999),
+  [15002](https://github.com/civicrm/civicrm-core/pull/15002),
+  [15000](https://github.com/civicrm/civicrm-core/pull/15000) and
+  [15032](https://github.com/civicrm/civicrm-core/pull/15032))**
 
-- **Fix readability & caching on CRM_Contact_BAO_Relationship::isInheritedMembershipInvalidated ([15061](https://github.com/civicrm/civicrm-core/pull/15061))**
+  Refactors and cleans up code in preparation for fixing a bug where CiviCase
+  activity's label breaks the max_instances check.
 
-- **[REF] minor code refactor on import - Pass ProcessorObject into loadSavedMapping & use it to load the formName ([15068](https://github.com/civicrm/civicrm-core/pull/15068))**
+- **Fix search for case tags that are part of tag sets
+  ([15212](https://github.com/civicrm/civicrm-core/pull/15212))**
 
-- **[NFC] Add ImportProcessor class & unit tests + extend existing cover ([15072](https://github.com/civicrm/civicrm-core/pull/15072))**
+  Fixes a DB Error when searching for tags that are a part of a tag set.
 
-- **Fix wrong variable in check for profiles on contributionpage ([15093](https://github.com/civicrm/civicrm-core/pull/15093))**
+- **Switch to relationship BAO when modifying relationships in change case
+  status so we don't bypass hooks
+  ([15030](https://github.com/civicrm/civicrm-core/pull/15030))**
 
-- **dev/core#1116 - refactor/rename activityTypeName ([15002](https://github.com/civicrm/civicrm-core/pull/15002))**
+- **Word Replacements not working on manage case Roles
+  ([dev/core#1218](https://lab.civicrm.org/dev/core/issues/1218):
+  [15161](https://github.com/civicrm/civicrm-core/pull/15161))**
 
-- ** dev/core#1001 Fix count notice warnings in php 7.2 [Import] ([14989](https://github.com/civicrm/civicrm-core/pull/14989))**
+### CiviContribute
 
-- **Fix recursion in crmInArray() ([15092](https://github.com/civicrm/civicrm-core/pull/15092))**
+- **Renaming a price option / fee level breaks event participant lists
+  ([CRM-17182](https://issues.civicrm.org/jira/browse/CRM-17182):
+  [15064](https://github.com/civicrm/civicrm-core/pull/15064))**
 
-- **Remove unused method CRM_Contact_BAO_Contact_Utils::maxLocations ([15091](https://github.com/civicrm/civicrm-core/pull/15091))**
+  Fixes a bug where the `fee_amount` was being changed whenever a label was
+  changed and moves from searching based on regex on the `fee_amount` column to
+  searching based on the `price_field_value` id.
 
-- **[Test] Tolerance parameter in attachmenttest needs to be one higher for integers ([15069](https://github.com/civicrm/civicrm-core/pull/15069))**
+- **Fix wrong variable in check for profiles on contributionpage
+  ([15093](https://github.com/civicrm/civicrm-core/pull/15093))**
 
-- **5.17 to master ([15088](https://github.com/civicrm/civicrm-core/pull/15088))**
+  Ensures the correct variable is being checked for pre profile types when
+  configuring a Contribution Page.
 
-- **[NFC] Update Examples ([15085](https://github.com/civicrm/civicrm-core/pull/15085))**
+- **Batch payment page breaks when an exported activity has no file to download
+  ([dev/financial#58](https://lab.civicrm.org/dev/financial/issues/58):
+  [14367](https://github.com/civicrm/civicrm-core/pull/14367))**
 
-- **Fix metadata on member export ([14916](https://github.com/civicrm/civicrm-core/pull/14916))**
+- **Stop adding a refund payment from creating extraneous financial items
+  ([15143](https://github.com/civicrm/civicrm-core/pull/15143))**
 
-- **Remove a few unused scripts from tools/bin/scripts ([15078](https://github.com/civicrm/civicrm-core/pull/15078))**
+### CiviEvent
 
-- **Remove deprecated unused function. ([15070](https://github.com/civicrm/civicrm-core/pull/15070))**
+- **Most recent contact note exposed in event confirmation emails
+  ([dev/event#10](https://lab.civicrm.org/dev/event/issues/10):
+  [15060](https://github.com/civicrm/civicrm-core/pull/15060))**
 
-- **5.17 ([15083](https://github.com/civicrm/civicrm-core/pull/15083))**
+  Fixes a bug where when submitting an event registration which contains a
+  profile which contains a note field, if the note is left blank, then the
+  confirmation/notification emails contain the most recent note in the contact's
+  record, potentially exposing confidential information.
 
-- **dev/core#1192 - E_NOTICE on using Add Activity action on contact search results ([15079](https://github.com/civicrm/civicrm-core/pull/15079))**
+- **Custom field value for a new Event based on an Event Template are not
+  checked causing false validation message and Event not to
+  save([dev/core#1241](https://lab.civicrm.org/dev/core/issues/1241):
+  [15296](https://github.com/civicrm/civicrm-core/pull/15296))**
 
-- **Manage Group search message fix ([15052](https://github.com/civicrm/civicrm-core/pull/15052))**
+### CiviGrant
 
-- **dev/core#870 priceset hook ([15076](https://github.com/civicrm/civicrm-core/pull/15076))**
+- **Grant in Edit mode doesn't show the associated contact
+  ([dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065):
+  [15238](https://github.com/civicrm/civicrm-core/pull/15238) and
+  [15209](https://github.com/civicrm/civicrm-core/pull/15209))**
 
-- **[NFC] Update the APIv3 documentation links. ([15077](https://github.com/civicrm/civicrm-core/pull/15077))**
+  Ensures that the associated contact is shown on Grants in edit mode.
 
-- **Fixes for taking dynamic form name in grant search ([15075](https://github.com/civicrm/civicrm-core/pull/15075))**
+- **Fixes for taking dynamic form name in grant search
+  ([15075](https://github.com/civicrm/civicrm-core/pull/15075))**
 
-- **dev/core#1077 Fixes making report listing actions links hookable ([15074](https://github.com/civicrm/civicrm-core/pull/15074))**
+  Ensures Overridden search form will work well with all select actions.
 
-- **Further work on payment.create consolidation - always handle financials from payment.create ([14673](https://github.com/civicrm/civicrm-core/pull/14673))**
+### CiviMail
 
-- **(NFC) GenericAssertionsTrait - Improve docblocks ([15071](https://github.com/civicrm/civicrm-core/pull/15071))**
+- **SMTP help text and URL are misleading to Organization Address and Contact
+  Info instead of leading to From Email Addresses; see also
+  [#14055](https://github.com/civicrm/civicrm-core/pull/14055) and
+  [#14329](https://github.com/civicrm/civicrm-core/pull/14329)
+  ([15165](https://github.com/civicrm/civicrm-core/pull/15165))**
 
-- **[Import] [Test] Initial test on loadSavedMapping function. ([15050](https://github.com/civicrm/civicrm-core/pull/15050))**
+  Fixes up the help text displayed when testing the SMTP configuration fails.
 
-- **Stabalize Attachment API Test ([15066](https://github.com/civicrm/civicrm-core/pull/15066))**
+- **Remove template field if using Mosaico in non shoreditch mode
+  ([14927](https://github.com/civicrm/civicrm-core/pull/14927))**
 
-- **[NFC] Fix test syntax ([15067](https://github.com/civicrm/civicrm-core/pull/15067))**
+### CiviMember
 
-- **[NFC] swap instances where double = is used but it should be triple =  ([15049](https://github.com/civicrm/civicrm-core/pull/15049))**
+- **Fix metadata on member export
+  ([14916](https://github.com/civicrm/civicrm-core/pull/14916))**
 
-- **5.17 ([15065](https://github.com/civicrm/civicrm-core/pull/15065))**
+  Ensures when exporting memberships headings are set appropriately for the
+  following columns: `member_is_override`, `membership_recur_id` and
+  `max_related`.
+  
+- **[regression] Recurring contributions no longer properly update memberships
+  (on PayPal Pro, maybe others)
+  ([dev/membership#13](https://lab.civicrm.org/dev/membership/issues/13):
+  [15053](https://github.com/civicrm/civicrm-core/pull/15053))**
 
-- **[Ref] [Import] move metadata calculations to a trait ([15018](https://github.com/civicrm/civicrm-core/pull/15018))**
+- **Make sure inherited memberships are not themselves inherited
+  ([15114](https://github.com/civicrm/civicrm-core/pull/15114))**
 
-- **dev/core#1188 Fix API v3  error Class or interface CiviCRM_API3_Exception does not exist  ([15043](https://github.com/civicrm/civicrm-core/pull/15043))**
+- **{Membership.Fee} appears on Membership Renewal Reminder emails with 9
+  decimal places ([dev/core#377](https://lab.civicrm.org/dev/core/issues/377):
+  [14992](https://github.com/civicrm/civicrm-core/pull/14992))**
 
-- **5.17 ([15059](https://github.com/civicrm/civicrm-core/pull/15059))**
+### Drupal Integration
 
-- **dev/event#10 - Prevent old notes from being exposed in event confirmation email ([15060](https://github.com/civicrm/civicrm-core/pull/15060))**
+- **Drupal8: getUrlPath: avoid relying on the deprecated 'q' variable
+  (Work Towards [dev/drupal#52](https://lab.civicrm.org/dev/drupal/issues/52):
+  [15268](https://github.com/civicrm/civicrm-core/pull/15268))**
 
-- **[NFC] Update Upgrade Template to use short array syntax ([15057](https://github.com/civicrm/civicrm-core/pull/15057))**
+  In Drupal8, the 'q' variable has been deprecated which has resulted in CiviCRM
+  throwing a bunch of PHP notices. This PR silences those notices while a more
+  long term fix is developed.
 
-- **Do not show Activity Separation on when viewing an Activity ([15046](https://github.com/civicrm/civicrm-core/pull/15046))**
+### Joomla Integration
 
-- **5.17 ([15056](https://github.com/civicrm/civicrm-core/pull/15056))**
+- **Some error messages render a chunk of markup as plain text
+  ([dev/joomla#10](https://lab.civicrm.org/dev/joomla/issues/10):
+  [15159](https://github.com/civicrm/civicrm-core/pull/15159))**
 
-- **Update select2 to latest 3.x + patches ([15054](https://github.com/civicrm/civicrm-core/pull/15054))**
+  Removes Joomla-specific error display and use native CiviCRM display to avoid
+  some error messages rendering as plain text.
 
-- **Allow for the deselection of sorting filters ([15029](https://github.com/civicrm/civicrm-core/pull/15029))**
+- **PHP 7.2 countable warning after installation
+  ([dev/joomla#15](https://lab.civicrm.org/dev/joomla/issues/15):
+  [53](https://github.com/civicrm/civicrm-joomla/pull/53))**
 
-- **[REF] [Import] Minor cleanup on status setting. ([15015](https://github.com/civicrm/civicrm-core/pull/15015))**
+- **[Joomla 4.0] CiviCRM's CSS interferes with Joomla's top header background
+  colour ([dev/joomla#24](https://lab.civicrm.org/dev/joomla/issues/24):
+  [15137](https://github.com/civicrm/civicrm-core/pull/15137))**
 
-- **[REF] [Import] extract saved mapping code to parent class ([15017](https://github.com/civicrm/civicrm-core/pull/15017))**
+## <a name="misc"></a>Miscellany
 
-- **[Import] [Cleanup] remove unused parameters ([14981](https://github.com/civicrm/civicrm-core/pull/14981))**
+- **Possible timing issue with test phpunit/api/v3/AttachmentTest::testCreate
+  ([dev/core#938](https://lab.civicrm.org/dev/core/issues/938):
+  [15216](https://github.com/civicrm/civicrm-core/pull/15216))**
 
-- **[Test] [Ref] [Import]Add wrapper class for importProcessor ([15028](https://github.com/civicrm/civicrm-core/pull/15028))**
+- **Change connection and results charsets to utf8mb4 on MySQL 5.5.3+
+  ([241](https://github.com/civicrm/civicrm-packages/pull/241))**
 
-- **dev/core#1116 - towards fixing activity type name vs label ([15032](https://github.com/civicrm/civicrm-core/pull/15032))**
+- **Fix upgrade version for #13487
+  ([15031](https://github.com/civicrm/civicrm-core/pull/15031))**
 
-- **Enable view/revert delete action for detail logging ([15045](https://github.com/civicrm/civicrm-core/pull/15045))**
+- **Update select2 to latest 3.x + patches
+  ([15054](https://github.com/civicrm/civicrm-core/pull/15054))**
 
-- **Display only own assignees contact(s) on batch activity form ([15035](https://github.com/civicrm/civicrm-core/pull/15035))**
+- **Further work on payment.create consolidation - always handle financials from
+  payment.create ([14673](https://github.com/civicrm/civicrm-core/pull/14673))**
 
-- **Membership fee token fix dev/core/#377 ([14992](https://github.com/civicrm/civicrm-core/pull/14992))**
+- **Extract function to create email activity when sending an email to contact
+  ([15133](https://github.com/civicrm/civicrm-core/pull/15133))**
 
-- **5.17 ([15042](https://github.com/civicrm/civicrm-core/pull/15042))**
+- **Extract cancelParticipant and cancelMembership functions in baseIPN
+  ([15134](https://github.com/civicrm/civicrm-core/pull/15134))**
 
-- **5.17 to master ([15038](https://github.com/civicrm/civicrm-core/pull/15038))**
+- **Rewrite subTypeInfo to use caching mechanism
+  ([14715](https://github.com/civicrm/civicrm-core/pull/14715))**
 
-- **Add myself to the contributor list ([15036](https://github.com/civicrm/civicrm-core/pull/15036))**
+- **providing clear indication that civicrm_engage module is deprecated.
+  ([582](https://github.com/civicrm/civicrm-drupal/pull/582))**
 
-- **Remove silly dumb unreachable lines ([15033](https://github.com/civicrm/civicrm-core/pull/15033))**
+- **distmaker - Finish migrating bower.json => composer.json
+  ([15148](https://github.com/civicrm/civicrm-core/pull/15148))**
 
-- **dev/core#1116 - rename local var activityName ([15000](https://github.com/civicrm/civicrm-core/pull/15000))**
+- **Switch recordAdditionalPayment fully over to api
+  ([14408](https://github.com/civicrm/civicrm-core/pull/14408))**
 
-- **Fix upgrade version for #13487 ([15031](https://github.com/civicrm/civicrm-core/pull/15031))**
+- **Add note about testRenewMembership failing on certain days
+  ([15167](https://github.com/civicrm/civicrm-core/pull/15167))**
 
-- **[Test] Demonstrate the truthiness of CRM_Utils_System::isNull ([15027](https://github.com/civicrm/civicrm-core/pull/15027))**
+- **Someimes ya just gotta say enough already
+  ([15175](https://github.com/civicrm/civicrm-core/pull/15175))**
 
-- **dev/core#752 Add cid parameter when loading custom data via backend f… ([15012](https://github.com/civicrm/civicrm-core/pull/15012))**
+- **Extend loadSavedMapping to check defaults
+  ([15179](https://github.com/civicrm/civicrm-core/pull/15179))**
 
-- **Unit test for custom date parsing ([14988](https://github.com/civicrm/civicrm-core/pull/14988))**
+- **Initial refactor of BaseIPN
+  ([15129](https://github.com/civicrm/civicrm-core/pull/15129))**
 
-- **dev/core#1116 - just rename local var activityTName ([14999](https://github.com/civicrm/civicrm-core/pull/14999))**
+- **Convert pledge date fields to use datepicker rather than jcalendar
+  ([15170](https://github.com/civicrm/civicrm-core/pull/15170))**
 
-- **5.17 to master ([15026](https://github.com/civicrm/civicrm-core/pull/15026))**
+- **Use metadata for pledgeDateRange fields
+  ([15191](https://github.com/civicrm/civicrm-core/pull/15191))**
 
-- **[NFC] [Test] dev/core#1098 Add unit test & code comments relating to the slow activity search ([15016](https://github.com/civicrm/civicrm-core/pull/15016))**
+- **Add minimal test for testExportFinancialBatch
+  ([15136](https://github.com/civicrm/civicrm-core/pull/15136))**
 
-- **5.17 ([15024](https://github.com/civicrm/civicrm-core/pull/15024))**
+- **Code cleanup in CRM_Core_Permission::check
+  ([15141](https://github.com/civicrm/civicrm-core/pull/15141))**
 
-- **Swap CRM_Utils_Array::value for empty() in conditionals ([15005](https://github.com/civicrm/civicrm-core/pull/15005))**
+- **Event confirm - (very) minor cleanup + test
+  ([15010](https://github.com/civicrm/civicrm-core/pull/15010))**
 
-- **core#1182 - revert crm.menubar.js changes ([15020](https://github.com/civicrm/civicrm-core/pull/15020))**
+- **Stabalize Attachment API Test
+  ([15066](https://github.com/civicrm/civicrm-core/pull/15066))**
 
-- **core#1182 - revert crm.menubar.js changes ([15019](https://github.com/civicrm/civicrm-core/pull/15019))**
+- **Remove ?last? instances of ->free()
+  ([dev/core#562](https://lab.civicrm.org/dev/core/issues/562):
+  [14990](https://github.com/civicrm/civicrm-core/pull/14990))**
 
-- **[Import] Minor cleanup on membership import ([15013](https://github.com/civicrm/civicrm-core/pull/15013))**
+- **Add myself to the contributor list
+  ([15036](https://github.com/civicrm/civicrm-core/pull/15036))**
 
-- **Event confirm - (very) minor cleanup + test ([15010](https://github.com/civicrm/civicrm-core/pull/15010))**
+- **Remove silly dumb unreachable lines
+  ([15033](https://github.com/civicrm/civicrm-core/pull/15033))**
 
-- **5.17 ([15008](https://github.com/civicrm/civicrm-core/pull/15008))**
+- **Deprecate CRM_Core_Config::addressSequence()
+  ([15126](https://github.com/civicrm/civicrm-core/pull/15126))**
 
-- **Error log improvements: Provide priority level ([14995](https://github.com/civicrm/civicrm-core/pull/14995))**
+- **Deprecate CRM_Core_Config::defaultContactCountry and
+  defaultContactCountryName
+  ([15127](https://github.com/civicrm/civicrm-core/pull/15127))**
 
-- **Rewrite subTypeInfo to use caching mechanism ([14715](https://github.com/civicrm/civicrm-core/pull/14715))**
+- **Use metadata for dataPatterns
+  ([15224](https://github.com/civicrm/civicrm-core/pull/15224))**
 
-- **Allow Manual Geo Code flag to be exported ([14998](https://github.com/civicrm/civicrm-core/pull/14998))**
+- **SyntaxConformanceTest::testSqlOperators - Skip "Dedupe" entity on MySQL 5.5
+  ([15234](https://github.com/civicrm/civicrm-core/pull/15234))**
 
-- **[REF] Extract chunk of code relating to whether to disabled an inherited relationship ([14955](https://github.com/civicrm/civicrm-core/pull/14955))**
+- **Add in 5.17.1 Release notes and migrate .tpl file for 5.17.1 to 5.18 to
+  support upgrade
+  ([15253](https://github.com/civicrm/civicrm-core/pull/15253))**
 
-- **[clean up][ export] Remove membership_auto_renew from defaultReturn properties ([14980](https://github.com/civicrm/civicrm-core/pull/14980))**
+- **(NFC) Add comments to relate to gitlab ticket
+  ([dev/core#927](https://lab.civicrm.org/dev/core/issues/927):
+  [15128](https://github.com/civicrm/civicrm-core/pull/15128))**
 
-- **5.17 to master ([14997](https://github.com/civicrm/civicrm-core/pull/14997))**
+- **Remove unused method CRM_Contact_BAO_Contact_Utils::maxLocations
+  ([15091](https://github.com/civicrm/civicrm-core/pull/15091))**
 
-- **Remove ?last? instances of ->free() dev/core#562 ([14990](https://github.com/civicrm/civicrm-core/pull/14990))**
+- **Remove unused Selenium binaries
+  ([263](https://github.com/civicrm/civicrm-packages/pull/263))**
 
-- **Remove template field if using Mosaico in non shoreditch mode ([14927](https://github.com/civicrm/civicrm-core/pull/14927))**
+- **Remove a few unused scripts from tools/bin/scripts
+  ([15078](https://github.com/civicrm/civicrm-core/pull/15078))**
 
-- **providing clear indication that civicrm_engage module is deprecated. ([582](https://github.com/civicrm/civicrm-drupal/pull/582))**
+- **Remove deprecated unused function.
+  ([15070](https://github.com/civicrm/civicrm-core/pull/15070))**
 
-- **(dev/drupal#79) Fail more gracefully when upgrading on PHP 5.x ([583](https://github.com/civicrm/civicrm-drupal/pull/583))**
+- **Remove unused skipRedirect param
+  ([15125](https://github.com/civicrm/civicrm-core/pull/15125))**
 
-- **(NFC) assertPhpSupport - Code cleanup ([164](https://github.com/civicrm/civicrm-wordpress/pull/164))**
+- **[clean up][ export] Remove membership_auto_renew from defaultReturn
+  properties ([14980](https://github.com/civicrm/civicrm-core/pull/14980))**
 
-- **Merge forward: 5.17 => master ([163](https://github.com/civicrm/civicrm-wordpress/pull/163))**
+- **[Ref] [Import] Use processor to determine website type, location type, test
+  ([15116](https://github.com/civicrm/civicrm-core/pull/15116))**
 
-- **(dev/Joomla#15) Fix PHP 7.2 warning after installation ([53](https://github.com/civicrm/civicrm-joomla/pull/53))**
+- **[Import] [ref] - minor cleanup to reduce code complexity
+  ([15097](https://github.com/civicrm/civicrm-core/pull/15097))**
 
-- **Fail more gracefully when upgrading on PHP5.x ([98](https://github.com/civicrm/civicrm-backdrop/pull/98))**
+- **[ref] [ import] Extend tests & simpler retrieval to relationship_type_id
+  ([15130](https://github.com/civicrm/civicrm-core/pull/15130))**
 
-- **(NFC) civicrm.drush.inc - Cleanup style ([99](https://github.com/civicrm/civicrm-backdrop/pull/99))**
+- **[REF] Import - minor cleanup  - generate js on the processor class
+  ([15183](https://github.com/civicrm/civicrm-core/pull/15183))**
 
-- **Remove unused Selenium binaries ([263](https://github.com/civicrm/civicrm-packages/pull/263))**
+- **[Import] Minor cleanup on membership import
+  ([15013](https://github.com/civicrm/civicrm-core/pull/15013))**
 
-- **dev/core#772 fix php7.2 warnings on import ([262](https://github.com/civicrm/civicrm-packages/pull/262))**
+- **[Import][ref] Minor code improvement -  move setDefaults to processor
+  ([15189](https://github.com/civicrm/civicrm-core/pull/15189))**
 
-- **Change connection and results charsets to utf8mb4 on MySQL 5.5.3+ ([241](https://github.com/civicrm/civicrm-packages/pull/241))**
+- **[Ref] [Import] more code cleanup
+  ([15219](https://github.com/civicrm/civicrm-core/pull/15219))**
 
-- **Improve deadlock error handling ([258](https://github.com/civicrm/civicrm-packages/pull/258))**
+- **[Ref] [Import] Final round in the cleanup Load Mapping form epic
+  ([15226](https://github.com/civicrm/civicrm-core/pull/15226))**
 
-## <a name="misc"></a>Miscellany
+- **[Import] [REF] code cleanup & test on the code to  'guess the intended
+  field  from the column name'
+  ([15220](https://github.com/civicrm/civicrm-core/pull/15220))**
+
+- **[REF] [Import] Minor cleanup on status setting.
+  ([15015](https://github.com/civicrm/civicrm-core/pull/15015))**
+
+- **[REF] [Import] extract saved mapping code to parent class
+  ([15017](https://github.com/civicrm/civicrm-core/pull/15017))**
+
+- **[Import] [Cleanup] remove unused parameters
+  ([14981](https://github.com/civicrm/civicrm-core/pull/14981))**
+
+- **[Ref] [Import] move metadata calculations to a trait
+  ([15018](https://github.com/civicrm/civicrm-core/pull/15018))**
+
+- **[Test] [Ref] [Import]Add wrapper class for importProcessor
+  ([15028](https://github.com/civicrm/civicrm-core/pull/15028))**
+
+- **Refactor CRM_Contact_BAO_Relationship::add to autoload missing params from
+  existing record ([15103](https://github.com/civicrm/civicrm-core/pull/15103)
+  and [15123](https://github.com/civicrm/civicrm-core/pull/15123))**
+
+- **[Ref] Extract addInheritedMembership
+  ([15113](https://github.com/civicrm/civicrm-core/pull/15113))**
+
+- **[REF] minor code refactor on import - Pass ProcessorObject into
+  loadSavedMapping & use it to load the formName
+  ([15068](https://github.com/civicrm/civicrm-core/pull/15068))**
+
+- **Minor refactor of 'Pending' parameter for processMembership
+  ([15124](https://github.com/civicrm/civicrm-core/pull/15124))**
+
+- **[REF] Very minor code cleanup on import code with good test cover
+  ([15173](https://github.com/civicrm/civicrm-core/pull/15173))**
+
+- **[REF] Move clone template functionality from api to bao
+  ([15163](https://github.com/civicrm/civicrm-core/pull/15163))**
+
+- **[REF] Extract chunk of code relating to whether to disabled an inherited
+  relationship ([14955](https://github.com/civicrm/civicrm-core/pull/14955))**
+
+- **[REF] Move calculation of js for import fields WITH relationship keys to
+  processor. ([15218](https://github.com/civicrm/civicrm-core/pull/15218))**
+
+- **[Datepicker][REF] Convert mailing date field on mailing search screen…
+  ([15181](https://github.com/civicrm/civicrm-core/pull/15181))**
+
+- **[Date picker][REF] Convert jcalendar date fields to date picker on me…
+  ([15177](https://github.com/civicrm/civicrm-core/pull/15177))**
+
+- **[Ref] Import use process for relationship defaults, add test
+  ([15215](https://github.com/civicrm/civicrm-core/pull/15215))**
+
+- **[REF] extract send receipt in MembershipRenewal fn
+  ([15117](https://github.com/civicrm/civicrm-core/pull/15117))**
+
+- **[NFC] Fix test syntax
+  ([15067](https://github.com/civicrm/civicrm-core/pull/15067))**
+
+- **[NFC] swap instances where double = is used but it should be triple =
+  ([15049](https://github.com/civicrm/civicrm-core/pull/15049))**
+
+- **[NFC] Update Upgrade Template to use short array syntax
+  ([15057](https://github.com/civicrm/civicrm-core/pull/15057))**
+
+- **[NFC] Remove redundant annotation
+  ([15172](https://github.com/civicrm/civicrm-core/pull/15172))**
+
+- **(NFC) assertPhpSupport - Code cleanup
+  ([164](https://github.com/civicrm/civicrm-wordpress/pull/164))**
+
+- **(NFC) civicrm.drush.inc - Cleanup style
+  ([99](https://github.com/civicrm/civicrm-backdrop/pull/99))**
+
+- **[NFC] Update Default report instances that filter on join date to be …
+  ([15247](https://github.com/civicrm/civicrm-core/pull/15247))**
+
+- **[NFC] Add ImportProcessor class & unit tests + extend existing cover
+  ([15072](https://github.com/civicrm/civicrm-core/pull/15072))**
+
+- **[NFC] Update the APIv3 documentation links.
+  ([15077](https://github.com/civicrm/civicrm-core/pull/15077))**
+
+- **(NFC) GenericAssertionsTrait - Improve docblocks
+  ([15071](https://github.com/civicrm/civicrm-core/pull/15071))**
+
+- **[NFC] Update Examples
+  ([15085](https://github.com/civicrm/civicrm-core/pull/15085))**
+
+- **[Test] [NFC] upgrade remaining export tests
+  ([15095](https://github.com/civicrm/civicrm-core/pull/15095))**
+
+- **[Test] Bring to life dormant test
+  ([15150](https://github.com/civicrm/civicrm-core/pull/15150))**
+
+- **[TEST] Enable apiv4 testing for GroupNesting and GroupOrganization entities
+  ([15217](https://github.com/civicrm/civicrm-core/pull/15217))**
+
+- **[Test] Demonstrate the truthiness of CRM_Utils_System::isNull
+  ([15027](https://github.com/civicrm/civicrm-core/pull/15027))**
+
+- **Unit test for custom date parsing
+  ([14988](https://github.com/civicrm/civicrm-core/pull/14988))**
+
+- **[NFC] [Test] dev/core#1098 Add unit test & code comments relating to the
+  slow activity search
+  ([15016](https://github.com/civicrm/civicrm-core/pull/15016))**
+
+- **[Import] [Test] Initial test on loadSavedMapping function.
+  ([15050](https://github.com/civicrm/civicrm-core/pull/15050))**
+
+- **[Test] Tolerance parameter in attachmenttest needs to be one higher for
+  integers ([15069](https://github.com/civicrm/civicrm-core/pull/15069))**
+
+- **[Test] Fix Last_name in CiviUnitTestCase::activityCreate
+  ([15112](https://github.com/civicrm/civicrm-core/pull/15112))**
+
+- **test for PR
+  ([15121](https://github.com/civicrm/civicrm-core/pull/15121))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-19ATF77; AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Andrew Thompson; Australian Greens - Seamus Lee; Caltha - Tomasz Pietrzkowski; Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak, Reece Benson; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; fkohrt; Greenpeace CEE - Patrick Figel; JMA Consulting - Monish Deb; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; mmyriam; Onyemenam Ndubuisi; Progressive Technology Project - Jamie McClelland; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+19ATF77; AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Andrew
+Thompson; Australian Greens - Seamus Lee; Caltha - Tomasz Pietrzkowski;
+Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak, Reece Benson;
+CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha
+Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation -
+Mark Burdett; Florian Kohrt; Greenpeace CEE - Patrick Figel; JMA Consulting -
+Monish Deb; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW
+Consulting - Matthew Wire; mmyriam; Onyemenam Ndubuisi; Progressive Technology
+Project - Jamie McClelland; Tadpole Collective - Kevin Cristiano; Wikimedia
+Foundation - Eileen McNaughton
 
 Most authors also reviewed code for this release; in addition, the following
 reviewers contributed their comments:
 
-19ATF77; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman; agileware-pengyi; Andrew Thompson; Australian Greens - Seamus Lee; Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak, Reece Benson; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; don-alejandro-z; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; JMA Consulting - Joe Murray, Monish Deb; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; mmyriam; Nicol Wistreich; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin; Agileware - Francis Whittle, Pengyi Zhang;
+don-alejandro-z; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; JMA
+Consulting - Joe Murray; Nicol Wistreich; Semper IT - Karin Gerritsen; Squiffle
+Consulting - Aidan Saunders;
 
 ## <a name="feedback"></a>Feedback