| *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