| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities? | no |
-| Change the database schema? | **yes** |
-| Alter the API? | **yes** |
-| Require attention to configuration options? | **yes** |
-| Fix problems installing or upgrading to a previous version? | **yes** |
-| Introduce features? | **yes** |
-| Fix bugs? | **yes** |
+| **Fix security vulnerabilities?** | **yes** |
+| **Change the database schema?** | **yes** |
+| **Alter the API?** | **yes** |
+| **Require attention to configuration options?** | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?** | **yes** |
+| **Fix bugs?** | **yes** |
+
+## <a name="security"></a>Security advisories
+
+- **[CIVI-SA-2019-24](https://civicrm.org/advisory/civi-sa-2019-24-csrf-in-apiv4-ajax-end-point): Cross-site request forgery in APIv4 AJAX endpoint**
## <a name="features"></a>Features
[15682](https://github.com/civicrm/civicrm-core/pull/15682) and
[15680](https://github.com/civicrm/civicrm-core/pull/15680))**
- Improves system workflow email templates logic regarding billing name and
- credit card.
+ The Billing Name and Address and Credit Card Information sections are now
+ included when the billing name and credit card type fields are available,
+ respectively. This replaces template-based logic regarding the payment
+ method, amount, waitlist status, and more with the logic used when collecting
+ and processing this information.
- **Contact Display Name vs Email Greeting in Workflow templates
([dev/core#781](https://lab.civicrm.org/dev/core/issues/781):
[15491](https://github.com/civicrm/civicrm-core/pull/15491))**
- Ensures all standard workflow message templates use {contact.email_greeting},
- before this change some standard workflow message templates used
- {contact.display_name}.
+ This ensures all standard workflow message templates use the contact's email
+ greeting. Before this change some standard workflow message templates used a
+ hard-coded "Dear" followed by the display name.
- **Workflow templates - Update 'Thank You' & other text corrections
([dev/core#1316](https://lab.civicrm.org/dev/core/issues/1316):
([dev/core#1320](https://lab.civicrm.org/dev/core/issues/1320):
[15513](https://github.com/civicrm/civicrm-core/pull/15513))**
- Adds contacts display name to the subject of some workflow templates to
- make them more personal, less likely to be grouped together by email clients
- and improve open-rates.
+ This adds a contact's display name to the subject of some workflow templates
+ to make them more personal, less likely to be grouped together by email
+ clients, and more likely to be opened.
-- **Replace openflash charts with charts that work
+- **Replace Open Flash Charts with charts that work
([15448](https://github.com/civicrm/civicrm-core/pull/15448),
[268](https://github.com/civicrm/civicrm-packages/pull/268),
[267](https://github.com/civicrm/civicrm-packages/pull/267) and
[15493](https://github.com/civicrm/civicrm-core/pull/15493))**
- These changes move CiviCRM charts to use dc (+crossfilter +d3) instead of
- outdated openflash charts.
+ These changes move CiviCRM charts to use dc.js (which is based upon
+ Crossfilter and D3.js) instead of the outdated Open Flash Chart library.
- **Add freeform relative date for 'This Fiscal Year'
([14894](https://github.com/civicrm/civicrm-core/pull/14894))**
To utilize this new functionality administrators must add an option value to
the `relative_date_filters` option group.
-- **Be environmentally friendly. Remove the sentence: "Please print this page
- for your records." from the various CiviCRM tpls. We like trees!
+- **Remove the sentence: "Please print this page for your records." from the
+ various CiviCRM tpls
([dev/core#371](https://lab.civicrm.org/dev/core/issues/371):
[15467](https://github.com/civicrm/civicrm-core/pull/15467))**
- Removes the text "Print for your records" to discourage people from printing.
+ Removes the text "Print for your records" to discourage people from wasting
+ paper.
- **Remove Print Icon
([15322](https://github.com/civicrm/civicrm-core/pull/15322))**
- Removes the print icon from the upper left hand corner of all pages because
- printing the page thru the browser nearly always looks better then printing by
- clicking the print icon.
+ This removes the print icon from the upper left hand corner of all pages. The
+ icon generally linked to a version of the page stripped of styling, but
+ printing the page through the browser's normal print command nearly always
+ looks better.
- **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):
- **Re-arrange change log advanced search panel so both modified fields are next
to each other ([15712](https://github.com/civicrm/civicrm-core/pull/15712))**
- Re-arranges the Advanced Search Change Log panel so the modified fields are
- next to each other on the form.
+ This switches the modified date and changed date to appear in the reverse
+ order in order to improve the appearance.
- **Schema changes for PaymentProcessor and PaymentProcessorType to support
apiv4 entities ([15733](https://github.com/civicrm/civicrm-core/pull/15733))**
Removes redundant gender evaluation code from the Case Demographic Report
template.
+- **Re-installation of Extension With Custom Fields and Logging Enabled Causes
+ Error ([dev/core#1383](https://lab.civicrm.org/dev/core/issues/1383):
+ [15816](https://github.com/civicrm/civicrm-core/pull/15816))**
+
- **Php 7.3 fix - don't mis-use continue
([15737](https://github.com/civicrm/civicrm-core/pull/15737))**
Ensures the labels of the date input format dropdown (under
`/civicrm/admin/setting/date`) match the actual value of the formats.
+- **Can't search for activity subjects starting with 1 - and many more caching
+ issues ([dev/core#1411](https://lab.civicrm.org/dev/core/issues/1411):
+ [15918](https://github.com/civicrm/civicrm-core/pull/15918))**
+
+ The query to fill the SQL cache would fail in a variety of cases, either
+ returning no results or running a fresh, uncached set of results.
+
+- **Fix fatal error when sorting by status in activity search
+ ([15923](https://github.com/civicrm/civicrm-core/pull/15923))**
+
- **E Notice 'info' Extension.php:248 -> When installing via cv
([dev/core#1371](https://lab.civicrm.org/dev/core/issues/1371):
[15762](https://github.com/civicrm/civicrm-core/pull/15762))**
[15375](https://github.com/civicrm/civicrm-core/pull/15375) and
[15638](https://github.com/civicrm/civicrm-core/pull/15638))**
-- **Custom Search: Find Contributors by Aggregate Totals does not return results
- if 'Choose date range' is selected and end date is empty
- ([dev/core#1297](https://lab.civicrm.org/dev/core/issues/1297):
- [15415](https://github.com/civicrm/civicrm-core/pull/15415))**
+- **Upgrade to CiviCRM 5.20.beta fails because of MessageTemplate error
+ ([marketing/civicrm-website#163](https://lab.civicrm.org/marketing/civicrm-website/issues/163):
+ [15844](https://github.com/civicrm/civicrm-core/pull/15844))**
+
+ This change allows the upgrade process to sidestep missing system workflow
+ message templates rather than failing when trying to update them.
+
+- **Link to docs.civicrm.org instead of wiki
+ ([15973](https://github.com/civicrm/civicrm-core/pull/15973))**
+
+ Outdated links to the old CiviCRM wiki that appear in upgrade messages have
+ been replaced with links to the current user documentation.
+
+- **Ensure that Relative key is not added for non Select Date is_search_range
+ custom fields ([15977](https://github.com/civicrm/civicrm-core/pull/15977) and
+ [16002](https://github.com/civicrm/civicrm-core/pull/16002))**
### CiviCase
-- **Proposal to fix longstanding name vs label problems for case roles
+- **Fix longstanding name vs label problems for case roles
([dev/core#1046](https://lab.civicrm.org/dev/core/issues/1046):
- [15556](https://github.com/civicrm/civicrm-core/pull/15556) and
- [15483](https://github.com/civicrm/civicrm-core/pull/15483))**
+ [15556](https://github.com/civicrm/civicrm-core/pull/15556),
+ [15483](https://github.com/civicrm/civicrm-core/pull/15483), and
+ [15939](https://github.com/civicrm/civicrm-core/pull/15939))**
- Moves the case roles code to rely on relationship NAMES instead of labels,
- this fixes a variety of bugs for CiviCRM instances with case roles that rely
- on relationships where the label does not match the name.
+ Case roles are now defined in case types as relationship type names instead of
+ labels. This fixes a variety of bugs for CiviCRM instances with case roles
+ that rely on relationships where the label does not match the name. A new
+ system check will alert administrators if case types stored in XML files need
+ to be edited.
- **Saving a case type can give a php warning, but the warning is more hidden
than usual so it seems like everything is ok
Prevents a php warning "htmlspecialchars() expects parameter 1 to be string,
array given" when saving case type.
+- **Reinstate Case ID search field
+ ([15935](https://github.com/civicrm/civicrm-core/pull/15935))**
+
+ This resolves a regression in 5.20.beta where the case search lacked a case ID
+ field.
+
- **Upgrade script to flip autoassignees using bidirectional relationship in
older civicase configs
([15542](https://github.com/civicrm/civicrm-core/pull/15542))**
- **Minimal fix for new enotice on case.subject
([15616](https://github.com/civicrm/civicrm-core/pull/15616))**
+- **Clicking on a contact's cases tab gives Network Error Unable to reach the
+ server ([dev/core#1381](https://lab.civicrm.org/dev/core/issues/1381):
+ [15804](https://github.com/civicrm/civicrm-core/pull/15804))**
+
### CiviContribute
- **Respect calling code passing in 'null' for creditnote_id.
Ensures that Payment.create cleans the `total_amount` field like
Contribution.create.
+- **Membership and Event Related Contributions - shows all contributions
+ ([dev/core#1435](https://lab.civicrm.org/dev/core/issues/1435):
+ [16013](https://github.com/civicrm/civicrm-core/pull/16013))**
+
+ This resolves a regression when viewing a membership or participant record
+ where the related contributions show all contributions, not those related to
+ the record.
+
- **Fix cancel payment action to reverse financial items related to cancelled
payment ([15630](https://github.com/civicrm/civicrm-core/pull/15630))**
selected and the label of either of the pledge statuses "Completed" or
"Canceled" had been modified.
+- **Record Refund fails due to thousands separator in amount
+ ([dev/core#1409](https://lab.civicrm.org/dev/core/issues/1409):
+ [15889](https://github.com/civicrm/civicrm-core/pull/15889))**
+
+ This bug was sidestepped by removing the Net Amount field on the Record Refund
+ form.
+
- **Incorrect allocation of payment on an edited multi-line item event
registration
([dev/financial#34](https://lab.civicrm.org/dev/financial/issues/34):
([dev/financial#94](https://lab.civicrm.org/dev/financial/issues/94):
[15664](https://github.com/civicrm/civicrm-core/pull/15664))**
+- **Conditionally add contribution metadata for advanced search only if the user
+ has access to CiviContribute
+ ([15966](https://github.com/civicrm/civicrm-core/pull/15966))**
+
+- **Fix ambiguous column in Contribution Search query with ORDER BY
+ ([15899](https://github.com/civicrm/civicrm-core/pull/15899))**
+
+ This fixes an issue where columns whose names are not unique in the underlying
+ query of a search cause a database error when they're used as a sort column.
+
+- **Custom Search: Find Contributors by Aggregate Totals does not return results
+ if 'Choose date range' is selected and end date is empty
+ ([dev/core#1297](https://lab.civicrm.org/dev/core/issues/1297):
+ [15415](https://github.com/civicrm/civicrm-core/pull/15415))**
+
+- **Custom Search: Search actions broken on Find Contributors by Aggregate
+ Totals ([dev/core#1377](https://lab.civicrm.org/dev/core/issues/1377):
+ [15873](https://github.com/civicrm/civicrm-core/pull/15873))**
+
+- **Fix Sybunt to select mark rows as selected
+ ([15872](https://github.com/civicrm/civicrm-core/pull/15872))**
+
+ This resolves a bug where checking result rows on the SYBUNT custom search
+ would not actually select them or increment the "selected" count of rows.
+
+- **Remove unhelpful alert from contribution search
+ ([15787](https://github.com/civicrm/civicrm-core/pull/15787))**
+
+ This removes the "We did not recognize the search field..." warning that would
+ appear when searching on certain fields even as the search would accurately
+ filter on the field's value.
+
- **Save & Next button on Contribution Page Widgets tab does not move user to
next step ([dev/core/1266](https://lab.civicrm.org/dev/core/issues/1266):
[15323](https://github.com/civicrm/civicrm-core/pull/15323))**
- **Fix parameters for statusBounce in AdditionalPayment
([15579](https://github.com/civicrm/civicrm-core/pull/15579))**
+- **Fix deprecation warning on Price Set report
+ ([15952](https://github.com/civicrm/civicrm-core/pull/15952))**
+
- **RepeatTransaction API incorrectly calculates the total amount when recur
payment has tax amount.
([dev/core#1317](https://lab.civicrm.org/dev/core/issues/1317):
([dev/core#1309](https://lab.civicrm.org/dev/core/issues/1309):
[15474](https://github.com/civicrm/civicrm-core/pull/15474))**
+- **Fix 5.20 regression on retrieving template transaction with no logged in
+ user ([15976](https://github.com/civicrm/civicrm-core/pull/15976))**
+
### CiviEvent
+- **Event Participants actions (Print Name Badges, Export...) ignores search
+ criteria ([dev/core#1422](https://lab.civicrm.org/dev/core/issues/1422):
+ [15962](https://github.com/civicrm/civicrm-core/pull/15962))**
+
+ This resolves an issue where the action would be based upon all participants
+ of all events rather than all of the results of the current search.
+
- **Fix loading of profile fields on additional participant form
([15698](https://github.com/civicrm/civicrm-core/pull/15698))**
[15321](https://github.com/civicrm/civicrm-core/pull/15321) and
[15744](https://github.com/civicrm/civicrm-core/pull/15744))**
+### CiviMail
+
+- **Add in unit test for namespaced fields in mailing reports and also fix issue
+ where by mailing_name has been namespaced also in 5.20 (Follow-up to
+ [dev/mail#56](https://lab.civicrm.org/dev/mail/issues/56) and
+ [dev/mail#57](https://lab.civicrm.org/dev/mail/issues/57):
+ [15782](https://github.com/civicrm/civicrm-core/pull/15782))**
+
### CiviMember
- **Duplicated inherited membership with multiple relationships when adding a
payment ([dev/core#1126](https://lab.civicrm.org/dev/core/issues/1126):
[15540](https://github.com/civicrm/civicrm-core/pull/15540))**
-### Backdrop Intgration
+### Backdrop Integration
- **Backdrop support for adding roles and perms
([infra/ops#906](https://lab.civicrm.org/infra/ops/issues/906):
Ensures that one can build a Backdrop/CiviCRM site with a demo user with
the permissions expected of a demo user.
+### WordPress Integration
+
+- **Reinstate traversal as "method of last resort" to find WordPress (Follow-up
+ from [dev/core#1412](https://lab.civicrm.org/dev/core/issues/1412):
+ [15929](https://github.com/civicrm/civicrm-core/pull/15929))**
+
+ This restores code removed in 5.19.3 to resolve the location of the CiviCRM
+ code in WordPress, only executing it as a fallback method if the new method
+ fails.
+
## <a name="misc"></a>Miscellany
- **Replace jcalendar instances with datepicker
Consulting - Matthew Wire; Mountev Ltd; Richard van Oosterhout; Squiffle
Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres;
Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton,
-Elliott Eggleston;
+Elliott Eggleston
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Interactive - Dave Jenkins, Pradeep Nayak; CompuCorp - Jamie Novick; Coop
SymbioTIC - Mathieu Lutfy; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA
Consulting - Joe Murray; Nicol Wistreich; Ray Wright; Red Hot Irons - Heather
-Oliver; Skvare - Mark Hanna; OSSeed Technologies LLP- Sushant;
+Oliver; Skvare - Mark Hanna; OSSeed Technologies LLP - Sushant Paste
## <a name="feedback"></a>Feedback