5.40.0 release notes: added late changes
[civicrm-core.git] / release-notes / 5.21.0.md
index 5db72c557174f583d1d9a045528a8cd9aee9aa7a..89f58a52ddd8f375b8547f0e72a422f5db8551df 100644 (file)
@@ -25,22 +25,13 @@ Released January 1, 2020
 
 ### Core CiviCRM
 
-- **Temporary tables should follow consistent naming convention (Work Towards
-  [dev/core#183](https://lab.civicrm.org/dev/core/issues/183):
-  [15795](https://github.com/civicrm/civicrm-core/pull/15795),
-  [15798](https://github.com/civicrm/civicrm-core/pull/15798),
-  [15819](https://github.com/civicrm/civicrm-core/pull/15819),
-  [15793](https://github.com/civicrm/civicrm-core/pull/15793),
-  [15792](https://github.com/civicrm/civicrm-core/pull/15792),
-  [15874](https://github.com/civicrm/civicrm-core/pull/15874),
-  [15821](https://github.com/civicrm/civicrm-core/pull/15821),
-  [15823](https://github.com/civicrm/civicrm-core/pull/15823),
-  [15826](https://github.com/civicrm/civicrm-core/pull/15826),
-  [15820](https://github.com/civicrm/civicrm-core/pull/15820),
-  [15825](https://github.com/civicrm/civicrm-core/pull/15825)
-  and [15876](https://github.com/civicrm/civicrm-core/pull/15876))**
+- **Default to 'copy' for non-empty fields on merge screen
+  ([dev/core#1339](https://lab.civicrm.org/dev/core/issues/1339):
+  [15595](https://github.com/civicrm/civicrm-core/pull/15595))**
 
-  Begins work to enforce a common naming convention for temporary tables.
+  This updates the contact merge screen to default to copying data for all
+  non-empty fields. This change makes it easier to keep too much data but harder
+  to lose some.
 
 - **Performance issue when exporting to CSV from reports with custom fields
   ([dev/report#19](https://lab.civicrm.org/dev/report/issues/19):
@@ -61,13 +52,6 @@ Released January 1, 2020
   Updates the name of "Macedonia, Republic of" to "North Macedonia" in
   accordance with the iso 3166-1 list.
 
-- **Default to 'copy' for non-empty fields on merge screen
-  ([dev/core#1339](https://lab.civicrm.org/dev/core/issues/1339):
-  [15595](https://github.com/civicrm/civicrm-core/pull/15595))**
-
-  Updates the Merge screen to default to copy for all non empty fields. This
-  change makes it easier to keep too much data but harder to lose some.
-
 - **Tagsets should display vertically in activity/new case forms
   ([dev/core#1346](https://lab.civicrm.org/dev/core/issues/1346):
   [15649](https://github.com/civicrm/civicrm-core/pull/15649))**
@@ -82,10 +66,20 @@ Released January 1, 2020
   general in nature and hopefully easier to digest for end users.
 
 - **Include Metadata on advanced search form for membership, grant, pledge,
-  fields ([15936](https://github.com/civicrm/civicrm-core/pull/15936))**
+  contribution, and case fields
+  ([15936](https://github.com/civicrm/civicrm-core/pull/15936),
+  [15785](https://github.com/civicrm/civicrm-core/pull/15785), and
+  [15928](https://github.com/civicrm/civicrm-core/pull/15928))**
+
+  You can now set URL parameters for additional fields like
+  `membership_join_date` and `pledge_payment_start_date` to pre-filter results
+  on the advanced search form.
+
+- **Fix activity search to work by url params
+  ([15990](https://github.com/civicrm/civicrm-core/pull/15990))**
 
-  Adds the ability filter on fields like  `membership_join_date` and
-  `pledge_payment_start_date` on the advanced search form via url parameters.
+  You can now set URL parameters like `activity_date_time_high` to pre-filter
+  results on the activity search form.
 
 - **Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception
   (Work towards [dev/core#560](https://lab.civicrm.org/dev/core/issues/560):
@@ -100,7 +94,7 @@ Released January 1, 2020
 - **Remove background opacity in menus; improving accessibility/readability
   ([15847](https://github.com/civicrm/civicrm-core/pull/15847))**
 
-  Makes the CiviCRM Menu opaque to improve readability.
+  The CiviCRM menu is now opaque to improve readability.
 
 - **Improve datePicker placeholder/icons
   ([15848](https://github.com/civicrm/civicrm-core/pull/15848))**
@@ -122,30 +116,42 @@ Released January 1, 2020
   [15833](https://github.com/civicrm/civicrm-core/pull/15833) and
   [15840](https://github.com/civicrm/civicrm-core/pull/15840))**
 
-  Work towards ensuring that a clickable link to the associated contact is
-  included on the Grant Form in edit mode and the Membership Renewal Form and
-  standardizes the display of associated contacts across edit forms.
+  This standardizes edit screens for participant, grant, and membership records
+  to ensure that a clickable link to the associated contact is included in a
+  consistent way.
 
-### CiviCase
-
-- **Enable Case search metadata on Advanced Search Form
-  ([15928](https://github.com/civicrm/civicrm-core/pull/15928))**
+- **Temporary tables should follow consistent naming convention (Work Towards
+  [dev/core#183](https://lab.civicrm.org/dev/core/issues/183):
+  [15795](https://github.com/civicrm/civicrm-core/pull/15795),
+  [15798](https://github.com/civicrm/civicrm-core/pull/15798),
+  [15819](https://github.com/civicrm/civicrm-core/pull/15819),
+  [15793](https://github.com/civicrm/civicrm-core/pull/15793),
+  [15792](https://github.com/civicrm/civicrm-core/pull/15792),
+  [15874](https://github.com/civicrm/civicrm-core/pull/15874),
+  [15821](https://github.com/civicrm/civicrm-core/pull/15821),
+  [15823](https://github.com/civicrm/civicrm-core/pull/15823),
+  [15826](https://github.com/civicrm/civicrm-core/pull/15826),
+  [15820](https://github.com/civicrm/civicrm-core/pull/15820),
+  [15825](https://github.com/civicrm/civicrm-core/pull/15825),
+  [15876](https://github.com/civicrm/civicrm-core/pull/15876), and
+  [16155](https://github.com/civicrm/civicrm-core/pull/16155))**
 
-  This change makes it so one can pass case search parameters using url
-  parameters on the Advanced Search Form.
+  Begins work to enforce a common naming convention for temporary tables.
 
 ### CiviContribute
 
 - **Develop getter & setter structure for Payment classes (Work Towards
   [dev/financial#82](https://lab.civicrm.org/dev/financial/issues/82):
-  [15697](https://github.com/civicrm/civicrm-core/pull/15697))**
+  [15697](https://github.com/civicrm/civicrm-core/pull/15697),
+  [16052](https://github.com/civicrm/civicrm-core/pull/16052),
+  [16060](https://github.com/civicrm/civicrm-core/pull/16060), and
+  [16081](https://github.com/civicrm/civicrm-core/pull/16081))**
 
-  This PR adds a new class, `Civi\Payment\PropertyBag` which will eventually
-  replace the wild `$params` array that gets thrown at payment processors, with
-  a standardized, at least minimally validated and type cast object. It uses the
-  new class in one very minimal way and adds some comments to outline future
-  work. This is a non functional change that lays the groundwork for future
-  work.
+  This PR adds a new class, `Civi\Payment\PropertyBag` which is designed to
+  offer a consistent object for holding payment parameters as they are sent to
+  and from payment processors.  For now, the legacy array of parameters is still
+  valid, so this will not have much immediate impact, but it lays the groundwork
+  for future work.
 
 - **Always display amount paid even if it is 0.00. Blank looks like it's missing
   data rather than nothing paid
@@ -154,12 +160,6 @@ Released January 1, 2020
   This improves user experience by displaying contributions of 0 as 0 instead
   of blank.
 
-- **Contribution url params - add contribution_page_id as a supported url
-  parameter ([15785](https://github.com/civicrm/civicrm-core/pull/15785))**
-
-  Adds `contribution_page_id` as a supported url parameter on the advanced
-  search form.
-
 ### CiviMail
 
 - **CiviMail - Only display "Headers and Footers" if there are headers and
@@ -188,25 +188,32 @@ Released January 1, 2020
 
 ### Core CiviCRM
 
-- **Lybunt report - remove broken chart functionality
-  ([dev/core#523](https://lab.civicrm.org/dev/core/issues/523):
-  [15989](https://github.com/civicrm/civicrm-core/pull/15989))**
+- **CiviCRM Option Group with a name containing spaces cannot have any options
+  added, error message is shown also impacts the in-place option editor
+  ([dev/core#1405](https://lab.civicrm.org/dev/core/issues/1405) and
+  [dev/core#1447](https://lab.civicrm.org/dev/core/issues/1447):
+  [15937](https://github.com/civicrm/civicrm-core/pull/15937) and
+  [16033](https://github.com/civicrm/civicrm-core/pull/16033))**
 
-  Fixes the LYBUNT charts.
+  Option group names are no longer exposed for editing, as they are now
+  automatically generated from the title.  On upgrade, existing option group
+  names that contain spaces will be rewritten.  *Extensions that provide or rely
+  upon option group names that contain spaces will need to be rewritten.*
 
-- **Search builder error on Membership source field.
-  ([dev/core#1390](https://lab.civicrm.org/dev/core/issues/1390):
-  [15845](https://github.com/civicrm/civicrm-core/pull/15845))**
+  Upon upgrade, if rewriting an option group name will duplicate another option
+  group's name, that option group will be skipped and a post-upgrade message
+  will show the details.
 
-  Fixes an error: "DB error: syntax error" when adding "Membership Source" on
-  the search builder screen.
+- **Quicksearch with phone filter doesn't work with non-numeric character
+  ([dev/core#1420](https://lab.civicrm.org/dev/core/issues/1420):
+  [15955](https://github.com/civicrm/civicrm-core/pull/15955))**
 
 - **Option to open navigation item in new window (if present)
   ([dev/core#1398](https://lab.civicrm.org/dev/core/issues/1398):
   [15861](https://github.com/civicrm/civicrm-core/pull/15861))**
 
-  Ensures the target attribute is respected for CiviCRM Navigation menu submenu
-  items.
+  Ensures the target attribute is respected for menu items that are added using
+  the navigationMenu hook.
 
 - **CIVI-SA-2019-21 may lead to regressions when following typehints on
   CRM_Core_BAO_Setting::setItem() (Work Towards
@@ -218,16 +225,6 @@ Released January 1, 2020
   Removes a misleading PHPDoc type hint for the `$value` parameter in
   `CRM_Core_BAO_Setting::setItem()` and updates tests that use this function.
 
-- **allow PCP report to filter on contribution status
-  ([16024](https://github.com/civicrm/civicrm-core/pull/16024))**
-
-  The PCP report template lists all PCP pages with total number of contributions
-  made against each PCP page and total amount raised. Before this change the
-  report had no filter for Contribution Status so Cancelled Contributions were
-  showing and throwing off the totals. With this change there is a filter for
-  contribution status allowing users to filter this list as they see fit for
-  their use case.
-
 - **Only add in the metadata for advanced search if user has access to the
   relevant component
   ([15987](https://github.com/civicrm/civicrm-core/pull/15987))**
@@ -254,34 +251,30 @@ Released January 1, 2020
 - **Fix potential test glitch when repeatedly calling createLoggedInUser
   ([15965](https://github.com/civicrm/civicrm-core/pull/15965))**
 
-- **[UI] Ensure that when sorting on columns in the find activity search the
-  arrow shows which field is being sorted and direction
+- **Ensure that when sorting on columns in the find activity search the arrow
+  shows which field is being sorted and direction
   ([15943](https://github.com/civicrm/civicrm-core/pull/15943))**
 
-- **Move greeting handling up as it is not paymentValidation dependent
-  ([15904](https://github.com/civicrm/civicrm-core/pull/15904))**
-
-- **Remove nbsp from UserDashboard Event section
-  ([15880](https://github.com/civicrm/civicrm-core/pull/15880))**
-
 - **translate strings
   ([15858](https://github.com/civicrm/civicrm-core/pull/15858))**
 
+  Some text in the extension manager was not wrapped in a translation function.
+
 - **Filter contact sub-type by "is not one of" fails
   ([dev/report#23](https://lab.civicrm.org/dev/report/issues/23):
   [15971](https://github.com/civicrm/civicrm-core/pull/15971))**
 
-- **Fix activity search to work by url params
-  ([15990](https://github.com/civicrm/civicrm-core/pull/15990))**
+- **Trying to edit the settings for a reserved option group gives a network
+  error can't connect to server
+  ([dev/core#1477](https://lab.civicrm.org/dev/core/issues/1477):
+  [16107](https://github.com/civicrm/civicrm-core/pull/16107))**
 
-- **CiviCRM Option Group with a name containing spaces cannot have any options
-  added, error message is shown also impacts the in-place option editor
-  ([dev/core#1405](https://lab.civicrm.org/dev/core/issues/1405):
-  [15937](https://github.com/civicrm/civicrm-core/pull/15937))**
+### CiviCampaign
 
-- **Quicksearch with phone filter doesn't work with non-numeric character
-  ([dev/core#1420](https://lab.civicrm.org/dev/core/issues/1420):
-  [15955](https://github.com/civicrm/civicrm-core/pull/15955))**
+- **Activities not visible if they have a campaign_id & contact does not have
+  'administer CiviCampaign'
+  ([dev/core#1444](https://lab.civicrm.org/dev/core/issues/1444):
+  [16057](https://github.com/civicrm/civicrm-core/pull/16057))**
 
 ### CiviCase
 
@@ -290,12 +283,10 @@ Released January 1, 2020
   [15882](https://github.com/civicrm/civicrm-core/pull/15882) and
   [15877](https://github.com/civicrm/civicrm-core/pull/15877))**
 
-- **civicrm/case/search?reset=1&force=1&case_subject=test gives php warning
-  ([dev/core#1410](https://lab.civicrm.org/dev/core/issues/1410):
-  [15920](https://github.com/civicrm/civicrm-core/pull/15920))**
-
-- **Url search with `civicrm/case/search?case_owner=2&force=1` gives an E_NOTICE
-  ([dev/core#1414](https://lab.civicrm.org/dev/core/issues/1414):
+- **Case search with force URL parameters gives php warning
+  ([dev/core#1410](https://lab.civicrm.org/dev/core/issues/1410) and
+  [dev/core#1414](https://lab.civicrm.org/dev/core/issues/1414):
+  [15920](https://github.com/civicrm/civicrm-core/pull/15920) and
   [15924](https://github.com/civicrm/civicrm-core/pull/15924))**
 
 - **CiviCase - Make static function `allActivityTypes()` static
@@ -307,23 +298,56 @@ Released January 1, 2020
   ([dev/financial#100](https://lab.civicrm.org/dev/financial/issues/100):
   [15771](https://github.com/civicrm/civicrm-core/pull/15771))**
 
-  To avoid users accidentally setting invalid statuses Removes the statuses
-  "Partially Paid", "Cancelled", and "Failed" from the `Payment Status` field
-  when recording a payment for a Contribution related to a Membership.
+  To avoid users accidentally setting invalid statuses, this removes the
+  statuses "Partially Paid", "Cancelled", and "Failed" from the `Payment Status`
+  field when recording a payment for a Contribution related to a Membership.
   Additionally, removes the statuses "Partially Paid", "Overdue" and "In
   Progress" from the `Payment Status` field when  recording a payment for a
   Contribution related to an Event.
 
+- **hook_civicrm_post() implementation results in DB Error: already exists for
+  custom field values
+  ([dev/core#1443](https://lab.civicrm.org/dev/core/issues/1443):
+  [16061](https://github.com/civicrm/civicrm-core/pull/16061))**
+
+  The post hook is invoked after storing custom values when adding contributions.
+
+- **Lybunt report - remove broken chart functionality
+  ([dev/core#523](https://lab.civicrm.org/dev/core/issues/523):
+  [15989](https://github.com/civicrm/civicrm-core/pull/15989))**
+
+  Fixes the LYBUNT charts.
+
+- **allow PCP report to filter on contribution status
+  ([16024](https://github.com/civicrm/civicrm-core/pull/16024))**
+
+  The PCP report template lists all personal campaign pages with the total
+  number of contributions made against each PCP page and the total amount
+  raised. Before this change the report had no filter for Contribution Status,
+  so canceled contributions were showing and throwing off the totals.  There is
+  now a filter for contribution status allowing users to filter this list as
+  they wish.
+
 - **Fix api Payment.create to support overpayments
   ([15909](https://github.com/civicrm/civicrm-core/pull/15909))**
 
+  Payments made to already paid-up contributions no longer result in an error.
+  The payment continues to be "Completed" and no related entities are updated.
+
 ### CiviEvent
 
 - **Fix Participant Search in force mode to support query parameters in URL
-  ([15791](https://github.com/civicrm/civicrm-core/pull/15791))**
+  ([15791](https://github.com/civicrm/civicrm-core/pull/15791) and
+  [15807](https://github.com/civicrm/civicrm-core/pull/15807))**
 
-- **Handling comma separated list of participant statuses in url
-  ([15807](https://github.com/civicrm/civicrm-core/pull/15807))**
+- **Move greeting handling up as it is not paymentValidation dependent
+  ([15904](https://github.com/civicrm/civicrm-core/pull/15904))**
+
+  Validation of greetings on the frontend event registration form is no longer
+  conditional on processing a payment.
+
+- **Remove nbsp from UserDashboard Event section
+  ([15880](https://github.com/civicrm/civicrm-core/pull/15880))**
 
 ### CiviMail
 
@@ -337,6 +361,15 @@ Released January 1, 2020
   excluded group ([dev/core#1108](https://lab.civicrm.org/dev/core/issues/1108):
   [15815](https://github.com/civicrm/civicrm-core/pull/15815))**
 
+### CiviMember
+
+- **Search builder error on Membership source field.
+  ([dev/core#1390](https://lab.civicrm.org/dev/core/issues/1390):
+  [15845](https://github.com/civicrm/civicrm-core/pull/15845))**
+
+  Fixes an error: "DB error: syntax error" when adding "Membership Source" on
+  the search builder screen.
+
 ### Drupal Integration
 
 - **Implement drupal_get_user_timezone()
@@ -629,7 +662,7 @@ Released January 1, 2020
 
 This release was developed by the following code authors:
 
-AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Australian Greens -
+AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Australian Greens -
 Seamus Lee; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; CiviDesk -
 Yashodha Chaku; CompuCorp - Camilo Rodriguez; Coop SymbioTIC - Mathieu Lutfy;
 Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra
@@ -645,10 +678,10 @@ reviewers contributed their comments:
 
 AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Chris Burgess; Circle
 Interactive - Dave Jenkins; John Kingsnorth; Freeform Solutions - Lola Slade;
-OSSeed Technologies LLP - Revati Gawas;
+OSSeed Technologies LLP - Revati Gawas
 
 ## <a name="feedback"></a>Feedback
 
-These release notes are edited by Alice Frumin and Andrew Hunt.  If you'd like
+These release notes are edited by Alice Frumin and Andie Hunt.  If you'd like
 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
 and contact `@agh1`.