5.18.0 release notes: some final edits
authorAndrew Hunt <andrew@aghstrategies.com>
Tue, 1 Oct 2019 17:27:26 +0000 (13:27 -0400)
committerAndrew Hunt <andrew@aghstrategies.com>
Tue, 1 Oct 2019 17:27:26 +0000 (13:27 -0400)
release-notes/5.18.0.md

index c4d156e0804373577ec96ffd09668eadd4a10a67..734278b3c65896389d929888cdfeb8e0d12d0e1b 100644 (file)
@@ -28,14 +28,23 @@ Released October 2, 2019
 - **Enable view/revert delete action for detail logging
   ([15045](https://github.com/civicrm/civicrm-core/pull/15045))**
 
-  Allows users to view/revert deleted information from the change log.
+  If detailed logging is enabled, you can now view and revert deleted
+  information.
+
+- **Download Bower dependencies using Composer
+  ([dev/drupal#8](https://lab.civicrm.org/dev/drupal/issues/8):
+  [15044](https://github.com/civicrm/civicrm-core/pull/15044))**
+
+  This improves performance and caching by downloading Javascript libraries
+  using Composer with `composer-downloads-plugin` and specified zip files rather
+  than Bower.
 
 - **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))**
 
   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
+  has been edited with the usual `hook_civicrm_pre` and `hook_civicrm_post`
   callbacks.
 
 - **Api support for deduping
@@ -49,8 +58,8 @@ Released October 2, 2019
   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.
+  Dedupe.getstatistics requires "Access CiviCRM" and adds a check for 'force
+  merge duplicate contacts' if mode is aggressive.
 
 - **Add cid parameter in custom group form url & set it for Activity form
   ([dev/core#752](https://lab.civicrm.org/dev/core/issues/752):
@@ -63,31 +72,34 @@ Released October 2, 2019
   ([dev/core#1077](https://lab.civicrm.org/dev/core/issues/1077):
   [15074](https://github.com/civicrm/civicrm-core/pull/15074))**
 
-  Makes the actions list on the Report listing screen accessible to developers
-  by a hook.
+  The actions list on the report listing screen can now be altered by developers
+  using `hook_civicrm_links`.
 
 - **Fixes inconsistency between constituency summary and constituency detail
   ([15222](https://github.com/civicrm/civicrm-core/pull/15222))**
 
-  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.
+  This improves the consistency of how the "Print Report" action link functions
+  on the reports listing. Before this change, some "Print Report" links would
+  take the user to the report in print view, and some would trigger a print
+  pop-up.
 
 - **Add index to civicrm_contact.created_date & modified_date
   ([15203](https://github.com/civicrm/civicrm-core/pull/15203))**
 
-  Adds an index to `civicrm_contact.created_date` &
-  `civicrm_contact.modified_date`.
+  This adds an index to the `created_date` and `modified_date` columns in the
+  `civicrm_contact` table.
 
 - **Added field title for Cache table
   ([15204](https://github.com/civicrm/civicrm-core/pull/15204))**
 
-  Adds title for fields to the Cache table.
+  The Data Access Object for the `civicrm_cache` table now stores titles for
+  each field.
 
 - **Allow Manual Geo Code flag to be exported
   ([14998](https://github.com/civicrm/civicrm-core/pull/14998))**
 
-  Makes it possible for users to export the Manual Geo Code flag.
+  The field denoting that an address has been manually geocoded can now be
+  exported.
 
 - **Use merge duplicate contacts as api permission for merging
   ([15155](https://github.com/civicrm/civicrm-core/pull/15155))**
@@ -98,16 +110,15 @@ Released October 2, 2019
 - **Adjust permissions on dedupe exception api to 'merge duplicate contacts'
   ([15157](https://github.com/civicrm/civicrm-core/pull/15157))**
 
-  Moves the CRUD API for managing dedupe exceptions to require the permission
-  'merge duplicate contacts' before this change it required 'Administer
-  CiviCRM'.
+  The API for managing dedupe exceptions now requires the permission "merge
+  duplicate contacts" instead of "Administer CiviCRM".
 
 - **Open up permissions on Dedupe.getduplicates
   ([15152](https://github.com/civicrm/civicrm-core/pull/15152))**
 
   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'.
+  "Administer CiviCRM" to "Access CiviCRM".
 
 - **Fix inconsistencies in duplicate retrieval
   ([15160](https://github.com/civicrm/civicrm-core/pull/15160))**
@@ -118,7 +129,7 @@ Released October 2, 2019
 - **Error log improvements: Provide priority level
   ([14995](https://github.com/civicrm/civicrm-core/pull/14995))**
 
-  Improves Error Logging by adding the ability to pass a priority level argument
+  Improves error logging by adding the ability to pass a priority level argument
   to `CRM_Core_Error::debug_var()`.
 
 - **Improve deadlock error handling
@@ -127,19 +138,16 @@ Released October 2, 2019
   Improves deadlock error handling by capturing the error when the deadlock is
   first hit so the backtrace is retained.
 
-- **Manage Group search message fix
-  ([15052](https://github.com/civicrm/civicrm-core/pull/15052))**
-
-  Improves the help text when one searches for groups and no groups are found.
+- **Better error handling in CRM_Utils_JS::decode
+  ([15145](https://github.com/civicrm/civicrm-core/pull/15145))**
 
-### CiviContribute
+  Improves handling of malformed Javascript so as to reduce PHP notices.
 
-- **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))**
+- **Replace some calls to CRM_Core_Error::fatal with exceptions
+  ([15156](https://github.com/civicrm/civicrm-core/pull/15156))**
 
-  Ensures Price sets `pre` and `post` hooks get invoked when adding price sets
-  and price options etc.
+  Instead of exiting with a fatal error, certain dedupe error situations now
+  throw an exception.
 
 ### CiviEvent
 
@@ -147,20 +155,30 @@ Released October 2, 2019
   ([dev/event#14](https://lab.civicrm.org/dev/event/issues/14):
   [15140](https://github.com/civicrm/civicrm-core/pull/15140))**
 
-  Improves performance by not clearing caches every time an event is created.
+  This change improves performance by not clearing caches every time an event is
+  created.
 
 ### CiviMembership
 
-- **Update XML files for membership fields to support date picker conversion
-  ([15186](https://github.com/civicrm/civicrm-core/pull/15186))**
+- **Convert jcalendar date fields to date picker for membership fields to
+  support date picker conversion
+  ([15177](https://github.com/civicrm/civicrm-core/pull/15177),
+  [15186](https://github.com/civicrm/civicrm-core/pull/15186),
+  [15198](https://github.com/civicrm/civicrm-core/pull/15198) and
+  [15200](https://github.com/civicrm/civicrm-core/pull/15200))**
 
-  Updates the XML and associated files to support the change to date picker
-  format for Membership date fields.
+  Date fields on membership search screens now use datepicker rather than
+  jCalendar.
+
+  The `join_date` column on the `civicrm_membership` table is now keyed as
+  `membership_join_date` within the DAO in order to support the change to date
+  picker format for Membership date fields.
 
 - **Add default domain to membershiptype API
   ([15120](https://github.com/civicrm/civicrm-core/pull/15120))**
 
-  Adds a default domain to the membershiptype API to improve usability.
+  The domain ID now defaults to the current domain when using the membership
+  type API.
 
 - **Fix readability & caching on
   CRM_Contact_BAO_Relationship::isInheritedMembershipInvalidated
@@ -181,7 +199,7 @@ Released October 2, 2019
 - **Fail more gracefully when upgrading on PHP5.x
   ([98](https://github.com/civicrm/civicrm-backdrop/pull/98))**
 
-  Provides a clearer error whens omeone tries to upgrade with PHP 5.x
+  Provides a clearer error when someone tries to upgrade with PHP 5.x.
 
 ### Drupal Integration
 
@@ -196,13 +214,7 @@ Released October 2, 2019
   ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79):
   [583](https://github.com/civicrm/civicrm-drupal/pull/583))**
 
-  Throws a clearer error when someone tries to upgrade with PHP 5.x.
-
-- **(dev/drupal#8) Migrate bower.json into composer.json via
-  composer-downloads-plugin
-  ([15044](https://github.com/civicrm/civicrm-core/pull/15044))**
-
-  Improves performance and caching by using `composer` to install `bower`.
+  Provides a clearer error when someone tries to upgrade with PHP 5.x.
 
 ## <a name="bugs"></a>Bugs resolved
 
@@ -212,9 +224,9 @@ Released October 2, 2019
   (Work Towards [dev/core#772](https://lab.civicrm.org/dev/core/issues/772):
   [262](https://github.com/civicrm/civicrm-packages/pull/262))**
 
-  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'.
+  This fixes a PHP warning on PHP 7.2 using hierarchical select fields, such as
+  selecting the matching fields for import columns.  Some fields have no fields
+  nested below them, and those would trigger an error on the `count()` function.
 
 - **Warnings on CRM_Contribute_Import_Parser re countable
   ([dev/core#1001](https://lab.civicrm.org/dev/core/issues/1001):
@@ -228,9 +240,6 @@ Released October 2, 2019
   [15240](https://github.com/civicrm/civicrm-core/pull/15240) and
   [15147](https://github.com/civicrm/civicrm-core/pull/15147))**
 
-  Fixes a bug that allowed users without Edit permissions to edit inbound emails
-  if they changed the activity type label.
-
 - **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
@@ -263,39 +272,30 @@ Released October 2, 2019
   results ([dev/core#1192](https://lab.civicrm.org/dev/core/issues/1192):
   [15079](https://github.com/civicrm/civicrm-core/pull/15079))**
 
-  Fixes an E_NOTICE when using the "Add Activity" action from the contact search
-  results list.
+  Fixes a PHP notice when using the "Add Activity" action from the contact
+  search results list.
 
 - **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))**
 
   For sites with multisite enabled ensures that the CiviCRM Dashboard respects
-  multiple domains and shows unique dashlets (depending on what domain you are
-  using).
+  multiple domains and shows unique dashlets depending on what domain you are
+  using.
 
 - **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))**
 
   Ensures the static cache is cleared whenever updating or deleting a DAO
-  object.  
-
-- **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))**
-
-  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.
+  object.
 
 - **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))**
 
-  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.
+  This fixes a problem where attempting to search on email on the Advanced
+  search form resulted in a warning and no results.
 
 - **Trim form values when adding LIKE operator
   ([15275](https://github.com/civicrm/civicrm-core/pull/15275))**
@@ -312,14 +312,14 @@ Released October 2, 2019
 - **Fix fatal when saving import mapping with a relationship but 'Primary'
   location type ([15115](https://github.com/civicrm/civicrm-core/pull/15115))**
 
-  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
+  When an import column was mapped to a field with the "Primary" location type
+  that was on a related contact, it would result in a fatal error.
 
 - **Fix export header for 'Contact ID'
   ([15118](https://github.com/civicrm/civicrm-core/pull/15118))**
 
-  Ensures when exporting a contact id column the header is 'Contact ID' not
-  'contact_id'
+  This ensures when exporting a contact id column the header is "Contact ID" not
+  "contact_id".
 
 - **Changed ClassName for ACL cache
   ([15193](https://github.com/civicrm/civicrm-core/pull/15193))**
@@ -334,54 +334,24 @@ Released October 2, 2019
 - **Incorporate searchLimit in dedupe cacheKey
   ([15185](https://github.com/civicrm/civicrm-core/pull/15185))**
 
-  Fixes a bug where changing the search limit after a search has been performed
-  does not result in a new search.
-
-- **Fix PayPalImpl Contribution Status PseudoConstant for non-English
-  ([15164](https://github.com/civicrm/civicrm-core/pull/15164))**
-
-  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.
+  When you change the search limit after a duplicate search has been performed,
+  this ensures that a new search is run.
 
 - **Allow for the deselection of sorting filters
   ([15029](https://github.com/civicrm/civicrm-core/pull/15029))**
 
   Fixes a bug where removing sorting filters on reports and refreshing the
-  results would retain the sorting filters regardless.
-
-- **Better error handling in CRM_Utils_JS::decode
-  ([15145](https://github.com/civicrm/civicrm-core/pull/15145))**
-
-  Improves handling of malformed Javascript so as to reduce PHP notices.
+  results would nevertheless retain the sorting filters.
 
 - **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))**
 
-- **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 an HTML error in Calculate.tpl
-  ([15102](https://github.com/civicrm/civicrm-core/pull/15102))**
-
-- **Replace some calls to CRM_Core_Error::fatal with exceptions
-  ([15156](https://github.com/civicrm/civicrm-core/pull/15156))**
-
-- **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))**
-
-- **Re-remove pledge & member fields from the legacy date list
-  ([15200](https://github.com/civicrm/civicrm-core/pull/15200))**
-
-- **Use api to create activity and removed hardcoded status id
-  ([14621](https://github.com/civicrm/civicrm-core/pull/14621))**
-
 - **Add ts() to deceased string
   ([15211](https://github.com/civicrm/civicrm-core/pull/15211))**
 
+  The word "deceased" when appended to a contact's name is now translatable.
+
 - **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))**
@@ -389,15 +359,27 @@ Released October 2, 2019
 - **Do not show Activity Separation on when viewing an Activity
   ([15046](https://github.com/civicrm/civicrm-core/pull/15046))**
 
-- **Display only own assignees contact(s) on batch activity form
-  ([15035](https://github.com/civicrm/civicrm-core/pull/15035))**
+  The option to create separate activities for each contact, only applicable
+  when creating a new activity, would erroneously appear when viewing an
+  activity.
 
-- **Swap CRM_Utils_Array::value for empty() in conditionals
-  ([15005](https://github.com/civicrm/civicrm-core/pull/15005))**
+- **Activity profile on Update multiple activities action displays duplicate
+  assignees ([dev/core#1185](https://lab.civicrm.org/dev/core/issues/1185):
+  [15035](https://github.com/civicrm/civicrm-core/pull/15035))**
+
+  The list of assignees would display all of the assignees for each previous row
+  in addition to the assignee(s) for that activity.
 
 - **Ensure that civicrm_dashboard has a foreign key to civicrm_domain
   ([15119](https://github.com/civicrm/civicrm-core/pull/15119))**
 
+- **Manage Group search message fix
+  ([15052](https://github.com/civicrm/civicrm-core/pull/15052))**
+
+  When no the group listing is filtered and no groups match the criteria, the
+  message says that more clearly rather than stating there are no groups on the
+  site.
+
 ### CiviCampaign
 
 - **Actions in campaign dashboard not working with pop-up disabled
@@ -451,6 +433,41 @@ Released October 2, 2019
   changed and moves from searching based on regex on the `fee_amount` column to
   searching based on the `price_field_value` id.
 
+- **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))**
+
+  The `hook_civicrm_pre` and `hook_civicrm_post` hooks get invoked when adding
+  price sets, fields, and options.
+
+- **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))**
+
+  Fixes a bug where saving the "amounts" tab of either an event or contribution
+  page (when using that form to enter options, rather than a price set) results in the
+  duplication of the amount options listed.
+
+- **Fix PayPalImpl Contribution Status PseudoConstant for non-English
+  ([15164](https://github.com/civicrm/civicrm-core/pull/15164))**
+
+  Ensures contribution 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.
+
+- **Fix an HTML error in Calculate.tpl
+  ([15102](https://github.com/civicrm/civicrm-core/pull/15102))**
+
+  This resolves a `<span>` that was not closed correctly on the calculation of a
+  price set's total amount due.
+
+- **Use api to create activity and removed hardcoded status id
+  ([14621](https://github.com/civicrm/civicrm-core/pull/14621))**
+
+  When exporting an accounting batch, the activity that is created is now done
+  so using the API, and it uses the status name `Completed` rather than a
+  hard-coded status ID `2`.
+
 - **Fix wrong variable in check for profiles on contributionpage
   ([15093](https://github.com/civicrm/civicrm-core/pull/15093))**
 
@@ -471,13 +488,13 @@ Released October 2, 2019
   [15060](https://github.com/civicrm/civicrm-core/pull/15060))**
 
   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.
+  profile which contains a note field.  If the note was left blank, then the
+  confirmation/notification emails would contain the most recent note in the
+  contact's record, potentially exposing confidential information.
 
-- **Custom field value for a new Event based on an Event Template are not
+- **Custom field values 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):
+  save ([dev/core#1241](https://lab.civicrm.org/dev/core/issues/1241):
   [15296](https://github.com/civicrm/civicrm-core/pull/15296))**
 
 ### CiviGrant
@@ -487,20 +504,19 @@ Released October 2, 2019
   [15238](https://github.com/civicrm/civicrm-core/pull/15238) and
   [15209](https://github.com/civicrm/civicrm-core/pull/15209))**
 
-  Ensures that the associated contact is shown on Grants in edit mode.
+  Ensures that the associated contact field is shown when editing a grant.
 
 - **Fixes for taking dynamic form name in grant search
   ([15075](https://github.com/civicrm/civicrm-core/pull/15075))**
 
-  Ensures Overridden search form will work well with all select actions.
+  This removes the hard-coded form name when retrieving the search results in
+  preparation for a search action.
 
 ### CiviMail
 
-- **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))**
+- **SMTP help text is misleading - references the wrong admin screen
+  ([dev/core#879](https://lab.civicrm.org/dev/core/issues/879):
+  [15165](https://github.com/civicrm/civicrm-core/pull/15165))**
 
   Fixes up the help text displayed when testing the SMTP configuration fails.
 
@@ -516,6 +532,10 @@ Released October 2, 2019
   following columns: `member_is_override`, `membership_recur_id` and
   `max_related`.
 
+- **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))**
+
 - **[regression] Recurring contributions no longer properly update memberships
   (on PayPal Pro, maybe others)
   ([dev/membership#13](https://lab.civicrm.org/dev/membership/issues/13):
@@ -524,6 +544,9 @@ Released October 2, 2019
 - **Make sure inherited memberships are not themselves inherited
   ([15114](https://github.com/civicrm/civicrm-core/pull/15114))**
 
+  This prevents contacts from inheriting memberships that were inherited from
+  them.
+
 - **{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))**
@@ -557,6 +580,9 @@ Released October 2, 2019
 
 ## <a name="misc"></a>Miscellany
 
+- **Swap CRM_Utils_Array::value for empty() in conditionals
+  ([15005](https://github.com/civicrm/civicrm-core/pull/15005))**
+
 - **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))**
@@ -742,9 +768,6 @@ Released October 2, 2019
 - **[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))**