| *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
This change makes it so that the quicksearch field options can be rearranged.
-- **Use crm-checkbox-list styling in display prefs tpl
- ([14461](https://github.com/civicrm/civicrm-core/pull/14461))**
+- **Improve formatting for settings checkboxes
+ ([14461](https://github.com/civicrm/civicrm-core/pull/14461) and
+ [14419](https://github.com/civicrm/civicrm-core/pull/14419))**
Restyles the checkboxes on the "Display Preferences" screen so they all use
- the same styling for visual consistency.
+ the same styling for visual consistency and restyles the "Components" settings
+ field as a checkbox list instead of it being an AdvMultiSelect element.
- **Differentiate smart group from regular group using icon in select2 field
(preliminary work for [dev/core#785](https://lab.civicrm.org/dev/core/issues/785):
Extends the addField() function to support fields of the type `select2` and
`select`.
-## CiviContribute
+- **Cleanup & api-ise the dedupe code (preliminary work for
+ [dev/core#982](https://lab.civicrm.org/dev/core/issues/982):
+ [14298](https://github.com/civicrm/civicrm-core/pull/14298))**
-- **Better support in core for token payment processing (continues work for
- [dev/core#905](https://lab.civicrm.org/dev/core/issues/905):
- [14395](https://github.com/civicrm/civicrm-core/pull/14395) and
- [14343](https://github.com/civicrm/civicrm-core/pull/14343))**
+ Adds a `dedupe.getstatistics` API action.
- Separates `contribution_recur` status_id option group from the `contribution`
- status_id option group and adds the contribution recur statuses 'Processing'
- and 'Failing'.
+- **Add Contact.get_merge_conflicts API
+ ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
-- **Proposal - add cancel_reason field to civicrm_contribution_recur table
- ([dev/core#830](https://lab.civicrm.org/dev/core/issues/830):
- [13997](https://github.com/civicrm/civicrm-core/pull/13997))**
+ Adds a `contact.get_merge_conflicts` API action.
- Adds the `Cancellation Reason` field to the form to cancel recurring
- contributions.
+- **Add API for Dedupe.getduplicates
+ ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
-## <a name="bugs"></a>Bugs resolved
+ Adds a `dedupe.getduplicates` API action.
-### Core CiviCRM
+- **Support latest PHPUnit versions
+ ([dev/core#980](https://lab.civicrm.org/dev/core/issues/980):
+ [14333](https://github.com/civicrm/civicrm-core/pull/14333),
+ [14387](https://github.com/civicrm/civicrm-core/pull/14387),
+ [14279](https://github.com/civicrm/civicrm-core/pull/14279),
+ [14319](https://github.com/civicrm/civicrm-core/pull/14319),
+ [14315](https://github.com/civicrm/civicrm-core/pull/14315),
+ [14421](https://github.com/civicrm/civicrm-core/pull/14421),
+ [14404](https://github.com/civicrm/civicrm-core/pull/14404),
+ [254](https://github.com/civicrm/civicrm-packages/pull/254),
+ [14283](https://github.com/civicrm/civicrm-core/pull/14283) and
+ [14321](https://github.com/civicrm/civicrm-core/pull/14321))**
-- **[CRM-21832](https://issues.civicrm.org/jira/browse/CRM-21832) Recurring
- activities don't carry over custom data and tags
- ([14183](https://github.com/civicrm/civicrm-core/pull/14183))**
+ Updates phpunit version support so that the CiviCRM test suite works with
+ phpunit versions 5 thru 8. Removes dependency on discontinued dbunit. Moves
+ towards using API functions instead of dbunit.
-- **Fix Notice errors caused by l10n rewriting of query so query outputed create
- view rather than the create table
- ([dev/translation#26](https://lab.civicrm.org/dev/translation/issues/26):
- [14152](https://github.com/civicrm/civicrm-core/pull/14152))**
+- **Permit sort_name as a url parameter on advanced search
+ ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
- Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
- CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
- multilingual mode.
+ Lays the ground work for a metadata based approach to search forms,
+ Specifically for the contact form. Converts one field (sort_name) to be
+ added by metadata and also to be supported via url (sort_name=x).
-- **Disabling Alphabetical Pager is not respected for events and contribution
- pages. ([dev/core#705](https://lab.civicrm.org/dev/core/issues/705):
- [14203](https://github.com/civicrm/civicrm-core/pull/14203))**
+- **Allow updating ENGINE_CONFIG for System.updatelogtables
+ ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
-- **File custom fields cause a fatal error when trying to merge
- ([dev/core#723](https://lab.civicrm.org/dev/core/issues/723):
- [14325](https://github.com/civicrm/civicrm-core/pull/14325))**
+ Makes it so users can modify the SQL engine config for log tables thru the
+ api.
- Fixes a fatal error when trying to merge two contacts with the custom fields
- of type file.
+- **Reduce cache bypasses - Do not bypass custom metadata cache in setGroupTree
+ ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
-- **Autogenerated .htaccess is for apache 2.2
- ([dev/core#913](https://lab.civicrm.org/dev/core/issues/913):
- [14158](https://github.com/civicrm/civicrm-core/pull/14158))**
+ Improves performance when editing a form with custom data by using
+ the cached metadata instead of doing a database query to rebuild the metadata.
- Updates the auto-generated .htaccess so it no longer gives an internal error
- for sites on apache 2.4.
-
-- **Fix dedupe contacts flip selection ([dev/core#932](https://lab.civicrm.org/dev/core/issues/932): [14195](https://github.com/civicrm/civicrm-core/pull/14195))**
-
-- **- fix use of $this error in static method ([dev/core#945](https://lab.civicrm.org/dev/core/issues/945): [14217](https://github.com/civicrm/civicrm-core/pull/14217))**
-
-- **Add test for updating email via import & ensuring it is primary ([dev/core#953](https://lab.civicrm.org/dev/core/issues/953): [14225](https://github.com/civicrm/civicrm-core/pull/14225))**
-
-- **Add start date and end date values on page contribution widget ajax response ([dev/core#964](https://lab.civicrm.org/dev/core/issues/964): [14262](https://github.com/civicrm/civicrm-core/pull/14262))**
-
-- **skip urlencode for email in elavon xml ([dev/core#966](https://lab.civicrm.org/dev/core/issues/966): [14263](https://github.com/civicrm/civicrm-core/pull/14263))**
+- **Try enabling api4 extension in test suite
+ ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
-- **Expose contribution page in Contribution Summary report ([dev/core#959](https://lab.civicrm.org/dev/core/issues/959): [14249](https://github.com/civicrm/civicrm-core/pull/14249))**
+ Makes the api4 extension available when running unit tests.
-- **[phpunit test] update phpunit extends class to support later versions ([dev/core#980](https://lab.civicrm.org/dev/core/issues/980): [14333](https://github.com/civicrm/civicrm-core/pull/14333), [14279](https://github.com/civicrm/civicrm-core/pull/14279), [14283](https://github.com/civicrm/civicrm-core/pull/14283) and [14321](https://github.com/civicrm/civicrm-core/pull/14321))**
+- **Use data provider to test both API versions
+ ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
-- **Sorting participants ignored search values. ([dev/core#981](https://lab.civicrm.org/dev/core/issues/981): [14313](https://github.com/civicrm/civicrm-core/pull/14313))**
+ Makes it so 311 API v3 tests are converted to also test API v4.
-- **add dedupe.getstatistics api ([dev/core#982](https://lab.civicrm.org/dev/core/issues/982): [14298](https://github.com/civicrm/civicrm-core/pull/14298))**
+- **Advanced search: activity tags should use select2 ([
+ dev/core#924](https://lab.civicrm.org/dev/core/issues/924):
+ [14247](https://github.com/civicrm/civicrm-core/pull/14247))**
-- **Fix trailing slash for urls on Windows ([dev/core#985](https://lab.civicrm.org/dev/core/issues/985): [14405](https://github.com/civicrm/civicrm-core/pull/14405))**
+ Changes the "Activity Tags" field on the "Advanced Search" form to be a
+ select2 instead of a checkbox list to improve user experience.
-- **remove Thousands Separator can not have more than 1 character rule ([dev/core#994](https://lab.civicrm.org/dev/core/issues/994): [14376](https://github.com/civicrm/civicrm-core/pull/14376))**
-
-- **Ensure that the oldest created_date is retained no matter… ([dev/core#996](https://lab.civicrm.org/dev/core/issues/996): [14368](https://github.com/civicrm/civicrm-core/pull/14368))**
+## CiviContribute
-- **Fix regression causing notices on components screen ([dev/core#1004](https://lab.civicrm.org/dev/core/issues/1004): [14393](https://github.com/civicrm/civicrm-core/pull/14393))**
+- **Better support in core for token payment processing (continues work for
+ [dev/core#905](https://lab.civicrm.org/dev/core/issues/905):
+ [14395](https://github.com/civicrm/civicrm-core/pull/14395) and
+ [14343](https://github.com/civicrm/civicrm-core/pull/14343))**
-- **pledge_acknowledge template - capitalization and greeting ([dev/core#1010](https://lab.civicrm.org/dev/core/issues/1010): [14465](https://github.com/civicrm/civicrm-core/pull/14465))**
+ Separates the `contribution_recur` status_id option group from the `contribution`
+ status_id option group and adds the contribution recur statuses 'Processing'
+ and 'Failing'.
-- **fix e-notice regression ([dev/core#1014](https://lab.civicrm.org/dev/core/issues/1014): [14426](https://github.com/civicrm/civicrm-core/pull/14426))**
+- **Add cancel_reason field to civicrm_contribution_recur table
+ ([dev/core#830](https://lab.civicrm.org/dev/core/issues/830):
+ [13997](https://github.com/civicrm/civicrm-core/pull/13997))**
-- **- Manage Case deleted activities search filter no longer working ([dev/core#1022](https://lab.civicrm.org/dev/core/issues/1022): [14445](https://github.com/civicrm/civicrm-core/pull/14445))**
+ Adds a `Cancellation Reason` field to the form to cancel recurring
+ contributions.
-- **- E_NOTICE when creating bulk SMS ([dev/core#1023](https://lab.civicrm.org/dev/core/issues/1023): [14449](https://github.com/civicrm/civicrm-core/pull/14449))**
+- **Add time start date and end date values on page contribution widget ajax
+ response ([dev/core#964](https://lab.civicrm.org/dev/core/issues/964):
+ [14262](https://github.com/civicrm/civicrm-core/pull/14262))**
-- **fix unreleased regression on contact.get with custom fields ([dev/core#1025](https://lab.civicrm.org/dev/core/issues/1025): [14473](https://github.com/civicrm/civicrm-core/pull/14473))**
+ Makes campaign start and end dates available to the campaign widget on
+ Contribution Pages so that one can customize the campaign widget with options
+ such as "Starts in X days".
-- **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP. ([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
+- **Expose contribution page in Contribution Summary report
+ ([dev/core#959](https://lab.civicrm.org/dev/core/issues/959):
+ [14249](https://github.com/civicrm/civicrm-core/pull/14249))**
-- **Fix Exception api to save lower id number as contact 1 ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
+ Exposes the contribution page field in the "Contribution Summary" report.
-- **Fix Exception to remove result from duplicates ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
+- **Add developer tab for summary report
+ ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
-- **Permit sort_name as a url parameter on advanced search ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
+ Adds a developer tab to the "Contribution Summary" report.
-- **Fix version for pledge message update, also remove 'please print' ([14469](https://github.com/civicrm/civicrm-core/pull/14469))**
+- **Wrap titles in metadata in ts on payment.create API
+ ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
-- **Wrap titles in metadata in ts on payment.create api ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
+ Improves the API v3 explorer for multilingual sites by translating the
+ titles in the payment create API action.
-- **[Outbound mail admin form] fix some more notices resulting from recent change ([14433](https://github.com/civicrm/civicrm-core/pull/14433))**
+- **Translation in billingblock.tpl - dropping 'Information'
+ ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
-- **Fix upgrade on participant_register date ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
+ Improves translation of the billing block on front facing contribution and
+ event forms by removing the word Information from the title.
-- **Misc translation 'ts' fixes ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
+## CiviEvent
-- **Conditionally use Drupal's jQuery only if available ([14442](https://github.com/civicrm/civicrm-core/pull/14442))**
+- **WYSIWYG support for i18n event fields
+ ([14384](https://github.com/civicrm/civicrm-core/pull/14384) and
+ [14396](https://github.com/civicrm/civicrm-core/pull/14396))**
-- **Don't run search when editing smartgroup criteria ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
+ Adds support for wysiwyg editor in i18n popup for event fields.
-- **Add Contact.get_merge_conflicts api ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
+## Drupal Integration
-- **Add api for Dedupe.getduplicates ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
+- **Pass the RFC 3164 severity level thru to drupal watchdog.
+ ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
-- **Avoid logging error message if status check query fails. ([14363](https://github.com/civicrm/civicrm-core/pull/14363))**
+ Improves error logging for Drupal users by passing the severity level to
+ drupal watchdog. Before this change all errors passed from CiviCRM to
+ drupal watchdog were logged at the debug level now errors, warnings, notices,
+ info, etc. can be logged as such.
-- **Change Activity tag to use select2 ([14247](https://github.com/civicrm/civicrm-core/pull/14247))**
+## <a name="bugs"></a>Bugs resolved
-- **Fix running of CRM_Utils_MoneyTest on PHPUnit6+ ([14424](https://github.com/civicrm/civicrm-core/pull/14424))**
+### Core CiviCRM
-- **Improve formatting for settings checkboxes ([14419](https://github.com/civicrm/civicrm-core/pull/14419))**
+- **Fix Notice errors caused by l10n rewriting of query so query outputed create
+ view rather than the create table
+ ([dev/translation#26](https://lab.civicrm.org/dev/translation/issues/26):
+ [14152](https://github.com/civicrm/civicrm-core/pull/14152))**
-- **Caches - Normalize dependency on php-cache integration-tests ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
+ Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
+ CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
+ multilingual mode.
-- **phpunit6 - Implement TAP printer ([14421](https://github.com/civicrm/civicrm-core/pull/14421))**
+- **File custom fields cause a fatal error when trying to merge
+ ([dev/core#723](https://lab.civicrm.org/dev/core/issues/723):
+ [14325](https://github.com/civicrm/civicrm-core/pull/14325))**
-- **Try running unit tests on phpunit6 ([14404](https://github.com/civicrm/civicrm-core/pull/14404))**
+ Fixes a fatal error when trying to merge two contacts with the custom fields
+ of type "file".
-- **Allow updating ENGINE_CONFIG for System.updatelogtables ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
+- **Autogenerated .htaccess is for apache 2.2
+ ([dev/core#913](https://lab.civicrm.org/dev/core/issues/913):
+ [14158](https://github.com/civicrm/civicrm-core/pull/14158))**
-- **Force link in confirmation email to be front-end ([14389](https://github.com/civicrm/civicrm-core/pull/14389))**
+ Updates the auto-generated .htaccess so it no longer gives an internal error
+ for sites on apache 2.4.
-- **Add angular-xeditable to angular ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
+- **Dedupe screen: single "flip" and multi-selected-flip have no effect
+ ([dev/core#932](https://lab.civicrm.org/dev/core/issues/932):
+ [14195](https://github.com/civicrm/civicrm-core/pull/14195))**
-- **Add EntityPageTrait ([14399](https://github.com/civicrm/civicrm-core/pull/14399))**
+ Fixes the dedupe screen "flip selected duplicates" button so that it
+ works as expected.
-- **Update test files to use PHPUnit6 notiation for classes ([14387](https://github.com/civicrm/civicrm-core/pull/14387))**
+- **$this can not be used in static methods
+ ([dev/core#945](https://lab.civicrm.org/dev/core/issues/945):
+ [14217](https://github.com/civicrm/civicrm-core/pull/14217))**
-- **Set title properly on Move/Copy/File on Case popup ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
+ Fixes "$this can not be used in static methods" error thrown by
+ getIncompleteImportTables() in CRM/Contact/Import/ImportJob.php
-- **Set new inactive statuses as 'Chargeback' does not exist on new installs and that breaks Contributionrecur.create API ([14398](https://github.com/civicrm/civicrm-core/pull/14398))**
+- **CiviCRM 5.13.4 - Specified key was too long; max key length is 767 bytes
+ ([dev/core#978](https://lab.civicrm.org/dev/core/issues/978):
+ [14363](https://github.com/civicrm/civicrm-core/pull/14363))**
-- **Use data provider to test both api versions ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
+ Fixes DB Error: `unknown error` if the system status check query fails.
-- **Regenerate Event DAO for i18n ([14396](https://github.com/civicrm/civicrm-core/pull/14396))**
+- **userFrameworkResourceURL gets wrong trailing slash on windows
+ ([dev/core#985](https://lab.civicrm.org/dev/core/issues/985):
+ [14405](https://github.com/civicrm/civicrm-core/pull/14405))**
-- **[code-quality] [jcalendar] remove jcalendar usage from participant_register_date on event search ([14330](https://github.com/civicrm/civicrm-core/pull/14330))**
+ Fixes an issue where `addTrailingSlash` would generate a \ instead of a '/' on
+ Windows.
-- **Deprecate creating recipients from MailingJob.create. ([14097](https://github.com/civicrm/civicrm-core/pull/14097))**
+- **Can't set a non-breaking space as Thousands Separator in Administer >
+ Localization settings
+ ([dev/core#994](https://lab.civicrm.org/dev/core/issues/994):
+ [14376](https://github.com/civicrm/civicrm-core/pull/14376))**
-- **Switch to calling Payment.create api when processing a refund from AdditionalPayment form ([14317](https://github.com/civicrm/civicrm-core/pull/14317))**
+ Removes a form rule preventing location separators from having more than one
+ character so that one can use a non-breaking space (or other string longer
+ than one character).
-- **CRM_Extension_System - Only allow `test.*` extensions during headless testing. Hide from regular users. ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
+- **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP.
+ ([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
-- **Wysiwyg support for i18n event fields ([14384](https://github.com/civicrm/civicrm-core/pull/14384))**
+ Ensures that a consistent response is returned across CMS's in regards to
+ Asset Builder URLs. Before this change Wordpress would return a different
+ response then Drupal/Backdrop and E2E Unit tests would fail on Wordpress.
-- **Fix inconsistent handling when searching contribution text fields ([14354](https://github.com/civicrm/civicrm-core/pull/14354))**
+- **Fix Exception API to save lower id number as contact 1
+ ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
-- **Fix name of cache key column to be all lower case rather than camel c… ([14359](https://github.com/civicrm/civicrm-core/pull/14359))**
+ Improves consistency when deduping contacts.
-- **Remove confusing pass params by ref ([14360](https://github.com/civicrm/civicrm-core/pull/14360))**
+- **Fix Exception to remove result from duplicates
+ ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
-- **Translation in billingblock.tpl - dropping 'Information' ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
+ Ensures that marking a non-duplicate contact removes them from the cached
+ duplicates table.
-- **Don't apply api3 pre/post processing to api4 actions ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
+- **Fix upgrade on participant_register date
+ ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
-- **Fix bug where contribution status is mishandled if label is changed ([14352](https://github.com/civicrm/civicrm-core/pull/14352))**
+ Fixes conversion routing on participant register date when upgrading to 5.15.
-- **Remove duplicate line in case BAO ([14345](https://github.com/civicrm/civicrm-core/pull/14345))**
+- **Misc translation 'ts' fixes
+ ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
-- **correct syntax "IS NOT NULL" to get pledge payment count ([13374](https://github.com/civicrm/civicrm-core/pull/13374))**
+ Fixes a few places where `ts()` was used incorrectly so that is used correctly.
-- **Fix fatal error when full group by mysql mode enabled & selecting contacts ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
+- **Don't run search when editing smartgroup criteria
+ ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
-- **Reduce cache bypasses - do not bypass custom metadata cache in setGroupTree ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
+ Ensures that editing smart group criteria does not trigger a search on that
+ smartgroup before the criteria can be viewed.
-- **[dbunit] remove dependencies on discontinued dbunit test package ([14319](https://github.com/civicrm/civicrm-core/pull/14319))**
+- **Add angular-xeditable to angular
+ ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
-- **[dbunit] remove dbunit dependency from MembershipRenewalTest ([14315](https://github.com/civicrm/civicrm-core/pull/14315))**
+ Add angular xeditable component to our bower_components.
-- **Fix legacy IPN endpoint for Drupal (gitlab issue 973) ([14272](https://github.com/civicrm/civicrm-core/pull/14272))**
+- **crmRouteBinder - Remove params from url if they equal their defaults
+ ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
-- **Make apiRequst nextId accessible for api4 constructor ([14311](https://github.com/civicrm/civicrm-core/pull/14311))**
+ Ensures when a parameter is removed in the api4 explorer, it is also removed
+ from the url.
-- **crmRouteBinder - Remove params from url if they equal their defaults ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
+- **Remove wasteful double-caching of settings metadata
+ ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
-- **Fix deprecation notice on manage events page ([14289](https://github.com/civicrm/civicrm-core/pull/14289))**
+ Ensures that Settings metadata is cached once per domain and that
+ `hook_civicrm_alterSettingsMetaData()` is invoked only once per domain.
-- **Try enabling api4 extension in test suite ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
+- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8()
+ ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
-- **Declare API Key as a protected field for future use ([14274](https://github.com/civicrm/civicrm-core/pull/14274))**
+ Continues work to phase out CIVICRM_TEMP_FORCE_UTF8.
-- **add developer tab for summary report ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
+- **Stop overriding is_active default when saving new relationship
+ ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
-- **Remove wasteful double-caching of settings metadata ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
+ Ensures that new relationships are saved as active by default.
-- **Fix financial acl permissions to respect check_permissions ([14118](https://github.com/civicrm/civicrm-core/pull/14118))**
+- **Enotice fix on creating a smart group
+ ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
-- **When creating relationship types don't munge names ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
+ Fixes an E-notice `Notice: Undefined index: component_mode in
+ CRM_Contact_Form_Task_SaveSearch->PreProcess()` when creating a smart group.
-- **Remove broken delete from customGroupCreate ([14239](https://github.com/civicrm/civicrm-core/pull/14239))**
+- **Ensure that the oldest creation date is preserved when deduping
+ ([dev/core#996](https://lab.civicrm.org/dev/core/issues/996):
+ [14368](https://github.com/civicrm/civicrm-core/pull/14368))**
-- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8() ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
+- **Recurring activities don't carry over custom data and tags
+ ([CRM-21832](https://issues.civicrm.org/jira/browse/CRM-21832),
+ [14183](https://github.com/civicrm/civicrm-core/pull/14183))**
-- **Pass the RFC 3164 severity level thru to drupal watchdog. ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
+- **Disabling Alphabetical Pager is not respected for events and contribution
+ pages. ([dev/core#705](https://lab.civicrm.org/dev/core/issues/705):
+ [14203](https://github.com/civicrm/civicrm-core/pull/14203))**
-- **Stop overriding is_active default when saving new relationship ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
+- **When creating relationship types don't munge names
+ ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
-- **contributor-keys file - jira/lab.c.o username fix ([14200](https://github.com/civicrm/civicrm-core/pull/14200))**
+- **CRM_Extension_System - Only allow `test.*` extensions during headless
+ testing. Hide from regular users.
+ ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
-- **IDE re-format of tools directory ([14177](https://github.com/civicrm/civicrm-core/pull/14177))**
+- **Fix name of cache key column to be all lower case rather than camel case in
+ civicrm_prevnext_cache
+ ([14359](https://github.com/civicrm/civicrm-core/pull/14359))**
-- **Enotice fix on creating a smart group ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
+- **Don't apply api3 pre/post processing to api4 actions
+ ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
-- **Don't call session_start() before CMS bootstrap (PHP 7.2 compat) ([14074](https://github.com/civicrm/civicrm-core/pull/14074))**
+- **Fix fatal error when full group by mysql mode enabled & selecting contacts
+ ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
-- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
+- **Caches - Normalize dependency on php-cache integration-tests
+ ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
-- **Get LegacySimpleCacheTest complient with phpunit6+ ([254](https://github.com/civicrm/civicrm-packages/pull/254))**
+- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency
+ ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
## CiviCase
Fixes the Case Summary report so that it properly filters on case
relationships.
+- **Set title properly on Move/Copy/File on Case popup
+ ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
+
+ Ensures when clicking "Move to Case"/"Copy to Case" from the Manage cases
+ activity list the title is set correctly and stays set correctly instead of
+ reverting to "File on Case".
+
+- **Manage Case search filter "Deleted Activities" no longer working
+ ([dev/core#1022](https://lab.civicrm.org/dev/core/issues/1022):
+ [14445](https://github.com/civicrm/civicrm-core/pull/14445))**
+
+ Fixes the search filter "Deleted Activities" on the Manage Cases form.
+
- **Closing a case gives a warning notice
([dev/core#896](https://lab.civicrm.org/dev/core/issues/896):
[14160](https://github.com/civicrm/civicrm-core/pull/14160))**
+
## CiviContribute
- **Bug in storing settings for CiviContribute component
result in a sales tax row being added regardless of whether sales tax was
turned on.
+- **Fix financial ACL permissions to respect check_permissions
+ ([14118](https://github.com/civicrm/civicrm-core/pull/14118))**
+
+ Fixes bug where `check_permissions=0` is ignored when doing contribution.get
+ in conjunction with financial ACLs.
+
+- **Elavon payment processor seems to no longer accept url encoded emails
+ ([dev/core#966](https://lab.civicrm.org/dev/core/issues/966):
+ [14263](https://github.com/civicrm/civicrm-core/pull/14263))**
+
+ Fixes payment processing for sites using an Elavon processor.
+
+- **Set new inactive statuses as 'Chargeback' does not exist on new installs and
+ that breaks Contributionrecur.create API
+ ([14398](https://github.com/civicrm/civicrm-core/pull/14398))**
+
+- **Fix inconsistent handling when searching contribution text fields
+ ([14354](https://github.com/civicrm/civicrm-core/pull/14354))**
+
+- **Fix bug where contribution status is mishandled if label is changed
+ ([14352](https://github.com/civicrm/civicrm-core/pull/14352))**
+
## CiviEvent
+- **Sorting participants ignored search values.
+ ([dev/core#981](https://lab.civicrm.org/dev/core/issues/981):
+ [14313](https://github.com/civicrm/civicrm-core/pull/14313))**
+
+ Ensures when searching for participants for a specific event and then sorting
+ the results the search parameters are respected, before this change all
+ participants for all events would be displayed.
+
+- **Fix deprecation notice on manage events page
+ ([14289](https://github.com/civicrm/civicrm-core/pull/14289))**
+
+ Removes a `User deprecated function: Deprecated function
+ CRM_Event_BAO_Event::CheckPermission` notice from the manage events page.
+
- **Backoffice participant transfer form does not populate contact reference
field ([dev/core#888](https://lab.civicrm.org/dev/core/issues/888):
[14102](https://github.com/civicrm/civicrm-core/pull/14102))**
[14266](https://github.com/civicrm/civicrm-core/pull/14266))**
Before this change if the Scheduled reminder job was triggered and there were
- active SMS scheduled reminders for which the SMS Provider has been deleted
- the job would fail with the message "Provider not known or not provided"
- and no scheduled reminders would go out this change makes it so the rest of
- the scheduled reminder will go out.
+ active SMS scheduled reminders for which the SMS Provider has been deleted the
+ job would fail with the message "Provider not known or not provided" and no
+ scheduled reminders would go out this change makes it so that scheduled
+ reminders for which a SMS Provider exists will go out even if there are some
+ scheduled SMS reminders for which there is not an SMS Provider.
+
+- **E_NOTICE when creating bulk SMS
+ ([dev/core#1023](https://lab.civicrm.org/dev/core/issues/1023):
+ [14449](https://github.com/civicrm/civicrm-core/pull/14449))**
+
+ Fixes E_NOTICE `Notice: Undefined index: Subject in
+ civicrm_api3_mailing_preview()` when creating bulk SMS.
+
+- **"Confirm this subscription" URL generated by MailingEventSubscribe API
+ should always be a front-end
+ URL([dev/core#1005](https://lab.civicrm.org/dev/core/issues/1005):
+ [14389](https://github.com/civicrm/civicrm-core/pull/14389))**
+
+ Ensures that the "Confirm this subscription" URL included in bulk emails is
+ always a front end URL.
- **SMTP help text is misleading - references the wrong admin screen
([dev/core#879](https://lab.civicrm.org/dev/core/issues/879):
[14329](https://github.com/civicrm/civicrm-core/pull/14329))**
+- **[Outbound mail admin form] fix some more notices resulting from recent
+ change ([14433](https://github.com/civicrm/civicrm-core/pull/14433))**
+
+## CiviPledge
+
+- **incorrect capitalization in default Pledges - Acknowledgement message
+ template ([dev/core#1010](https://lab.civicrm.org/dev/core/issues/1010):
+ [14465](https://github.com/civicrm/civicrm-core/pull/14465) and
+ [14469](https://github.com/civicrm/civicrm-core/pull/14469))**
+
+ Ensures that Pledge acknowledgments use correct capitalization and the
+ `email_greeting`.
+
+- **correct syntax "IS NOT NULL" to get pledge payment count
+ ([13374](https://github.com/civicrm/civicrm-core/pull/13374))**
+
+ Ensures when editing a payment for a pledge the screen does not freeze because
+ the API count returns 0.
+
## Drupal Integration
- **incorrect Drupal 8 login URL
If you create a public contribution page on a Drupal 8 site, it will include a
login link for unauthenticated users, with parameters ?destination=... to
- direct back to the contribution page after login. This link is broken with
- recent Drupal versions, because it needs to go to /user/login instead of just
- /user.
+ direct back to the contribution page after login. Fixes this link for
+ recent Drupal versionsso it points to the right login url.
- **Drupal8: Implement set UF locale/language (affects mailing tokens)
([dev/drupal#19](https://lab.civicrm.org/dev/drupal/issues/19):
bug when using Drupal 8 with a multilingual site where mailing token links
were not taking the user to the page in the expected language.
+- **Drupal8/jquery
+ ([dev/drupal#68](https://lab.civicrm.org/dev/drupal/issues/68):
+ [14442](https://github.com/civicrm/civicrm-core/pull/14442))**
+
+ Fixes a Javascript error if Drupal's jQuery is not loaded (when its not
+ needed).
+
+- **Fix legacy IPN endpoint for Drupal
+ ([dev/core#973](https://lab.civicrm.org/dev/core/issues/973):
+ [14272](https://github.com/civicrm/civicrm-core/pull/14272))**
+
+ Fixes a `PHP Fatal error: Uncaught Error: Call to undefined function
+ variable_get()` error when bootstraping Drupal for Drupal sites collecting
+ recurring PayPal donations.
+
+- **Don't call session_start() before CMS bootstrap (PHP 7.2 compat)
+ ([14074](https://github.com/civicrm/civicrm-core/pull/14074))**
+
+ Fixes a `Warning: ini_set(): A session is active` error for Drupal sites
+ running PHP > 7.1.
+
## Joomla Integration
- **Fix php warning when viewing profiles
## <a name="misc"></a>Miscellany
+- **Declare API Key as a protected field for future use
+ ([14274](https://github.com/civicrm/civicrm-core/pull/14274))**
+
+- **Make apiRequst nextId accessible for api4 constructor
+ ([14311](https://github.com/civicrm/civicrm-core/pull/14311))**
+
+- **Remove confusing pass params by ref
+ ([14360](https://github.com/civicrm/civicrm-core/pull/14360))**
+
+- **Add EntityPageTrait
+ ([14399](https://github.com/civicrm/civicrm-core/pull/14399))**
+
+- **[code-quality] [jcalendar] remove jcalendar usage from
+ participant_register_date on event search
+ ([14330](https://github.com/civicrm/civicrm-core/pull/14330))**
+
+- **Deprecate creating recipients from MailingJob.create.
+ ([14097](https://github.com/civicrm/civicrm-core/pull/14097))**
+
+- **Fix running of CRM_Utils_MoneyTest on PHPUnit6+
+ ([14424](https://github.com/civicrm/civicrm-core/pull/14424))**
+
+- **Remove broken delete from customGroupCreate
+ ([14239](https://github.com/civicrm/civicrm-core/pull/14239))**
+
+- **Remove duplicate line in case BAO
+ ([14345](https://github.com/civicrm/civicrm-core/pull/14345))**
+
+- **Switch to calling Payment.create api when processing a refund from
+ AdditionalPayment form
+ ([14317](https://github.com/civicrm/civicrm-core/pull/14317))**
+
+- **Updating contact (with no email) via import adding email doesn't set email
+ as primary (adds test for
+ [dev/core#953](https://lab.civicrm.org/dev/core/issues/953):
+ [14225](https://github.com/civicrm/civicrm-core/pull/14225))**
+
- **Cancel first contribution associated to membership, cancels the membership
(preliminary work for
[dev/core#927](https://lab.civicrm.org/dev/core/issues/927):
_civicrm_api3_deprecated_contact_check_custom_params
([14341](https://github.com/civicrm/civicrm-core/pull/14341))**
+- **IDE re-format of tools directory
+ ([14177](https://github.com/civicrm/civicrm-core/pull/14177))**
+
- **Unit test for FGB error in #14331
([14340](https://github.com/civicrm/civicrm-core/pull/14340))**
- **[REF] Super Minor code readability fix
([14258](https://github.com/civicrm/civicrm-core/pull/14258))**
-- **[ref] Move copyCustomFields function from Event to Core_DAO for
+- **[REF] Move copyCustomFields function from Event to Core_DAO for
re-usablibilty ([14171](https://github.com/civicrm/civicrm-core/pull/14171))**
-- **[ref] Remove reference symbol from 2 variables
+- **[REF] Remove reference symbol from 2 variables
([14270](https://github.com/civicrm/civicrm-core/pull/14270))**
- **[cleanup] Remove deprecated pattern &CRM_Core_Config::singleton()
([14178](https://github.com/civicrm/civicrm-core/pull/14178))**
-- **REF Refactor to reduce duplication on payment forms
+- **[REF] Refactor to reduce duplication on payment forms
([14206](https://github.com/civicrm/civicrm-core/pull/14206))**
- **[REF+ test] start process of cleaning up payment activity handling
- **[NFC] reformat UFFieldTest
([14308](https://github.com/civicrm/civicrm-core/pull/14308))**
+- **contributor-keys file - jira/lab.c.o username fix
+ ([14200](https://github.com/civicrm/civicrm-core/pull/14200))**
+
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Francis
+AGH Strategies - Alice Frumin, Andie Hunt, Eli Lisseck; Agileware - Francis
Whittle; Australian Greens - Seamus Lee; Business & Code - Alain Benbassat;
Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM - Coleman Watts, Tim
Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel
## <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`.