| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities? | |
-| Change the database schema? | |
-| Alter the API? | |
-| Require attention to configuration options? | |
-| Fix problems installing or upgrading to a previous version? | |
-| Introduce features? | |
-| Fix bugs? | |
+| Fix security vulnerabilities? | no |
+| Change the database schema? | **yes** |
+| Alter the API? | **yes** |
+| Require attention to configuration options? | no |
+| Fix problems installing or upgrading to a previous version? | **yes** |
+| Introduce features? | **yes** |
+| Fix bugs? | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
-- **Use crm-checkbox-list styling in display prefs tpl
- ([14461](https://github.com/civicrm/civicrm-core/pull/14461))**
+- **Rearrange quick search options
+ ([dev/core#628](https://lab.civicrm.org/dev/core/issues/628):
+ [14441](https://github.com/civicrm/civicrm-core/pull/14441))**
- Restyles the checkboxes on the "Display Preferences" screen so they all use
- the same styling for visual consistency.
-
-## <a name="bugs"></a>Bugs resolved
+ This change makes it so that the quicksearch field options can be rearranged.
-### Core CiviCRM
-
-- **[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))**
+- **Improve formatting for settings checkboxes
+ ([14461](https://github.com/civicrm/civicrm-core/pull/14461) and
+ [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))**
-
- Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
- CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
- multilingual mode.
+ Restyles the checkboxes on the "Display Preferences" screen so they all use
+ the same styling for visual consistency and restyles the "Components" settings
+ field as a checkbox list instead of it being an AdvMultiSelect element.
-- **Deletion of SMS provider caused all scheduled reminders to fail to be sent
- (begins work for [dev/core#369](https://lab.civicrm.org/dev/core/issues/369):
- [14266](https://github.com/civicrm/civicrm-core/pull/14266))**
+- **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):
+ [14416](https://github.com/civicrm/civicrm-core/pull/14416))**
- 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.
+ Extends the addField() function to support fields of the type `select2` and
+ `select`.
-- **dev/core#389 [preliminary cleanup+ test] Standardise metadat for custom field ([14401](https://github.com/civicrm/civicrm-core/pull/14401) and [14386](https://github.com/civicrm/civicrm-core/pull/14386))**
+- **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))**
-- **dev/core#562 [cleanup] remove some more instances of ->free() ([14179](https://github.com/civicrm/civicrm-core/pull/14179))**
+ Adds a `dedupe.getstatistics` API action.
-- **dev/core#627 Extend a unit test to verify fix made by Sunil ([14350](https://github.com/civicrm/civicrm-core/pull/14350))**
+- **Add Contact.get_merge_conflicts API
+ ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
-- **dev/core#628 - Make Quicksearch options sortable ([14441](https://github.com/civicrm/civicrm-core/pull/14441))**
+ Adds a `contact.get_merge_conflicts` API action.
-- **(dev/core#705) Disabling Alphabetical Pager is not respected for events ([14203](https://github.com/civicrm/civicrm-core/pull/14203))**
+- **Add API for Dedupe.getduplicates
+ ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
-- **dev/core#723 Fix fatal error when trying to merge contacts with a cus… ([14325](https://github.com/civicrm/civicrm-core/pull/14325))**
+ Adds a `dedupe.getduplicates` API action.
-- **dev/core/issues/743, Donot join relationship table when not required ([14082](https://github.com/civicrm/civicrm-core/pull/14082))**
+- **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))**
-- **dev/Core#785: Extend addField to support select2 widget ([14416](https://github.com/civicrm/civicrm-core/pull/14416))**
+ 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.
-- **dev/core#830 Expose cancel_reason field by cleaning up the cancel template to use entity field template ([13997](https://github.com/civicrm/civicrm-core/pull/13997))**
+- **Permit sort_name as a url parameter on advanced search
+ ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
-- **dev/core#879 SMTP help text is misleading - references the wrong admin screen ([14329](https://github.com/civicrm/civicrm-core/pull/14329))**
+ 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).
-- **dev/core#888 - Backoffice participant transfer form does not populate… ([14102](https://github.com/civicrm/civicrm-core/pull/14102))**
+- **Allow updating ENGINE_CONFIG for System.updatelogtables
+ ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
-- **dev/core#896 - fix notice warning on closing a case ([14160](https://github.com/civicrm/civicrm-core/pull/14160))**
+ Makes it so users can modify the SQL engine config for log tables thru the
+ api.
-- **dev/core#898: use user.login route for D8 login URL instead of user.page ([14138](https://github.com/civicrm/civicrm-core/pull/14138))**
+- **Reduce cache bypasses - Do not bypass custom metadata cache in setGroupTree
+ ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
-- **dev/core#905 Add contribution recur statuses 'Processing' and 'Failing' ([14395](https://github.com/civicrm/civicrm-core/pull/14395))**
+ Improves performance when editing a form with custom data by using
+ the cached metadata instead of doing a database query to rebuild the metadata.
-- **dev/core#905 Separate contribution_recur status_id option group from contribution option group ([14343](https://github.com/civicrm/civicrm-core/pull/14343))**
+- **Try enabling api4 extension in test suite
+ ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
-- **dev/core#913 - update autogenerated .htaccess for apache 2.4 ([14158](https://github.com/civicrm/civicrm-core/pull/14158))**
+ Makes the api4 extension available when running unit tests.
-- **dev/core#926 [ref] adds a test & does a preliminary extraction ([14181](https://github.com/civicrm/civicrm-core/pull/14181))**
+- **Use data provider to test both API versions
+ ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
-- **dev/core#927 [ref] Extract contribution.cancel function ([14197](https://github.com/civicrm/civicrm-core/pull/14197))**
+ Makes it so 311 API v3 tests are converted to also test API v4.
-- **dev/core#932 Fix dedupe contacts flip selection ([14195](https://github.com/civicrm/civicrm-core/pull/14195))**
+- **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))**
-- **dev/core#945 - fix use of $this error in static method ([14217](https://github.com/civicrm/civicrm-core/pull/14217))**
+ Changes the "Activity Tags" field on the "Advanced Search" form to be a
+ select2 instead of a checkbox list to improve user experience.
-- **dev/core#953 Add test for updating email via import & ensuring it is primary ([14225](https://github.com/civicrm/civicrm-core/pull/14225))**
+## CiviContribute
-- **dev/core#964 Add start date and end date values on page contribution widget ajax response ([14262](https://github.com/civicrm/civicrm-core/pull/14262))**
+- **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))**
-- **dev/core/966 skip urlencode for email in elavon xml ([14263](https://github.com/civicrm/civicrm-core/pull/14263))**
+ Separates the `contribution_recur` status_id option group from the `contribution`
+ status_id option group and adds the contribution recur statuses 'Processing'
+ and 'Failing'.
-- **(dev/core#959) Expose contribution page in Contribution Summary report ([14249](https://github.com/civicrm/civicrm-core/pull/14249))**
+- **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))**
-- **dev/core#980 [phpunit test] update phpunit extends class to support later versions ([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))**
+ Adds a `Cancellation Reason` field to the form to cancel recurring
+ contributions.
-- **dev/core#981 Sorting participants ignored search values. ([14313](https://github.com/civicrm/civicrm-core/pull/14313))**
+- **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))**
-- **dev/core#982 add dedupe.getstatistics api ([14298](https://github.com/civicrm/civicrm-core/pull/14298))**
+ 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".
-- **dev/core#985 Fix trailing slash for urls on Windows ([14405](https://github.com/civicrm/civicrm-core/pull/14405))**
+- **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))**
-- **dev/core#994 remove Thousands Separator can not have more than 1 character rule ([14376](https://github.com/civicrm/civicrm-core/pull/14376))**
+ Exposes the contribution page field in the "Contribution Summary" report.
-- **dev/core996 Ensure that the oldest created_date is retained no matter… ([14368](https://github.com/civicrm/civicrm-core/pull/14368))**
+- **Add developer tab for summary report
+ ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
-- **dev/core#1004 Fix regression causing notices on components screen ([14393](https://github.com/civicrm/civicrm-core/pull/14393))**
+ Adds a developer tab to the "Contribution Summary" report.
-- **dev/core#1010 pledge_acknowledge template - capitalization and greeting ([14465](https://github.com/civicrm/civicrm-core/pull/14465))**
+- **Wrap titles in metadata in ts on payment.create API
+ ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
-- **dev/core#1014 fix e-notice regression ([14426](https://github.com/civicrm/civicrm-core/pull/14426))**
+ Improves the API v3 explorer for multilingual sites by translating the
+ titles in the payment create API action.
-- **dev/core#1022 - Manage Case deleted activities search filter no longer working ([14445](https://github.com/civicrm/civicrm-core/pull/14445))**
+- **Translation in billingblock.tpl - dropping 'Information'
+ ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
-- **dev/core#1023 - E_NOTICE when creating bulk SMS ([14449](https://github.com/civicrm/civicrm-core/pull/14449))**
+ Improves translation of the billing block on front facing contribution and
+ event forms by removing the word Information from the title.
-- **dev/core#1025 fix unreleased regression on contact.get with custom fields ([14473](https://github.com/civicrm/civicrm-core/pull/14473))**
+## CiviEvent
-- **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) and
+ [14396](https://github.com/civicrm/civicrm-core/pull/14396))**
-- **Fix Exception api to save lower id number as contact 1 ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
+ Adds support for wysiwyg editor in i18n popup for event fields.
-- **Fix Exception to remove result from duplicates ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
+## Drupal Integration
-- **Permit sort_name as a url parameter on advanced search ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
+- **Pass the RFC 3164 severity level thru to drupal watchdog.
+ ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
-- **Fix version for pledge message update, also remove 'please print' ([14469](https://github.com/civicrm/civicrm-core/pull/14469))**
+ 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.
-- **Wrap titles in metadata in ts on payment.create api ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
+## <a name="bugs"></a>Bugs resolved
-- **[Outbound mail admin form] fix some more notices resulting from recent change ([14433](https://github.com/civicrm/civicrm-core/pull/14433))**
+### Core CiviCRM
-- **Fix upgrade on participant_register date ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
+- **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))**
-- **Misc translation 'ts' fixes ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
+ Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
+ CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
+ multilingual mode.
-- **Conditionally use Drupal's jQuery only if available ([14442](https://github.com/civicrm/civicrm-core/pull/14442))**
+- **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))**
-- **Don't run search when editing smartgroup criteria ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
+ Fixes a fatal error when trying to merge two contacts with the custom fields
+ of type "file".
-- **Add Contact.get_merge_conflicts api ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
+- **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))**
-- **Add api for Dedupe.getduplicates ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
+ Updates the auto-generated .htaccess so it no longer gives an internal error
+ for sites on apache 2.4.
-- **Avoid logging error message if status check query fails. ([14363](https://github.com/civicrm/civicrm-core/pull/14363))**
+- **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))**
-- **Change Activity tag to use select2 ([14247](https://github.com/civicrm/civicrm-core/pull/14247))**
+ Fixes the dedupe screen "flip selected duplicates" button so that it
+ works as expected.
-- **Fix running of CRM_Utils_MoneyTest on PHPUnit6+ ([14424](https://github.com/civicrm/civicrm-core/pull/14424))**
+- **$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))**
-- **Improve formatting for settings checkboxes ([14419](https://github.com/civicrm/civicrm-core/pull/14419))**
+ Fixes "$this can not be used in static methods" error thrown by
+ getIncompleteImportTables() in CRM/Contact/Import/ImportJob.php
-- **Caches - Normalize dependency on php-cache integration-tests ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
+- **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))**
-- **phpunit6 - Implement TAP printer ([14421](https://github.com/civicrm/civicrm-core/pull/14421))**
+ Fixes DB Error: `unknown error` if the system status check query fails.
-- **Try running unit tests on phpunit6 ([14404](https://github.com/civicrm/civicrm-core/pull/14404))**
+- **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))**
-- **Allow updating ENGINE_CONFIG for System.updatelogtables ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
+ Fixes an issue where `addTrailingSlash` would generate a \ instead of a '/' on
+ Windows.
-- **Force link in confirmation email to be front-end ([14389](https://github.com/civicrm/civicrm-core/pull/14389))**
+- **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))**
-- **Add angular-xeditable to angular ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
+ 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).
-- **Add EntityPageTrait ([14399](https://github.com/civicrm/civicrm-core/pull/14399))**
+- **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP.
+ ([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
-- **Update test files to use PHPUnit6 notiation for classes ([14387](https://github.com/civicrm/civicrm-core/pull/14387))**
+ 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.
-- **Set title properly on Move/Copy/File on Case popup ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
+- **Fix Exception API to save lower id number as contact 1
+ ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
-- **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))**
+ Improves consistency when deduping contacts.
-- **Use data provider to test both api versions ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
+- **Fix Exception to remove result from duplicates
+ ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
-- **Regenerate Event DAO for i18n ([14396](https://github.com/civicrm/civicrm-core/pull/14396))**
+ Ensures that marking a non-duplicate contact removes them from the cached
+ duplicates table.
-- **[code-quality] [jcalendar] remove jcalendar usage from participant_register_date on event search ([14330](https://github.com/civicrm/civicrm-core/pull/14330))**
+- **Fix upgrade on participant_register date
+ ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
-- **Deprecate creating recipients from MailingJob.create. ([14097](https://github.com/civicrm/civicrm-core/pull/14097))**
+ Fixes conversion routing on participant register date when upgrading to 5.15.
-- **Switch to calling Payment.create api when processing a refund from AdditionalPayment form ([14317](https://github.com/civicrm/civicrm-core/pull/14317))**
+- **Misc translation 'ts' fixes
+ ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
-- **CRM_Extension_System - Only allow `test.*` extensions during headless testing. Hide from regular users. ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
+ Fixes a few places where `ts()` was used incorrectly so that is used correctly.
-- **Wysiwyg support for i18n event fields ([14384](https://github.com/civicrm/civicrm-core/pull/14384))**
+- **Don't run search when editing smartgroup criteria
+ ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
-- **Fix inconsistent handling when searching contribution text fields ([14354](https://github.com/civicrm/civicrm-core/pull/14354))**
+ Ensures that editing smart group criteria does not trigger a search on that
+ smartgroup before the criteria can be viewed.
-- **Fix name of cache key column to be all lower case rather than camel c… ([14359](https://github.com/civicrm/civicrm-core/pull/14359))**
+- **Add angular-xeditable to angular
+ ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
-- **Remove confusing pass params by ref ([14360](https://github.com/civicrm/civicrm-core/pull/14360))**
+ Add angular xeditable component to our bower_components.
-- **Translation in billingblock.tpl - dropping 'Information' ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
+- **crmRouteBinder - Remove params from url if they equal their defaults
+ ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
-- **Don't apply api3 pre/post processing to api4 actions ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
+ Ensures when a parameter is removed in the api4 explorer, it is also removed
+ from the url.
-- **Fix bug where contribution status is mishandled if label is changed ([14352](https://github.com/civicrm/civicrm-core/pull/14352))**
+- **Remove wasteful double-caching of settings metadata
+ ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
-- **Remove duplicate line in case BAO ([14345](https://github.com/civicrm/civicrm-core/pull/14345))**
+ Ensures that Settings metadata is cached once per domain and that
+ `hook_civicrm_alterSettingsMetaData()` is invoked only once per domain.
-- **correct syntax "IS NOT NULL" to get pledge payment count ([13374](https://github.com/civicrm/civicrm-core/pull/13374))**
+- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8()
+ ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
-- **Fix fatal error when full group by mysql mode enabled & selecting contacts ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
+ Continues work to phase out CIVICRM_TEMP_FORCE_UTF8.
-- **Reduce cache bypasses - do not bypass custom metadata cache in setGroupTree ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
+- **Stop overriding is_active default when saving new relationship
+ ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
-- **[dbunit] remove dependencies on discontinued dbunit test package ([14319](https://github.com/civicrm/civicrm-core/pull/14319))**
+ Ensures that new relationships are saved as active by default.
-- **[dbunit] remove dbunit dependency from MembershipRenewalTest ([14315](https://github.com/civicrm/civicrm-core/pull/14315))**
+- **Enotice fix on creating a smart group
+ ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
-- **Fix legacy IPN endpoint for Drupal (gitlab issue 973) ([14272](https://github.com/civicrm/civicrm-core/pull/14272))**
+ Fixes an E-notice `Notice: Undefined index: component_mode in
+ CRM_Contact_Form_Task_SaveSearch->PreProcess()` when creating a smart group.
-- **Make apiRequst nextId accessible for api4 constructor ([14311](https://github.com/civicrm/civicrm-core/pull/14311))**
+- **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))**
-- **crmRouteBinder - Remove params from url if they equal their defaults ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
+- **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))**
-- **Fix deprecation notice on manage events page ([14289](https://github.com/civicrm/civicrm-core/pull/14289))**
+- **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))**
-- **Try enabling api4 extension in test suite ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
+- **When creating relationship types don't munge names
+ ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
-- **Declare API Key as a protected field for future use ([14274](https://github.com/civicrm/civicrm-core/pull/14274))**
+- **CRM_Extension_System - Only allow `test.*` extensions during headless
+ testing. Hide from regular users.
+ ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
-- **add developer tab for summary report ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
+- **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))**
-- **Remove wasteful double-caching of settings metadata ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
+- **Don't apply api3 pre/post processing to api4 actions
+ ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
-- **Fix financial acl permissions to respect check_permissions ([14118](https://github.com/civicrm/civicrm-core/pull/14118))**
+- **Fix fatal error when full group by mysql mode enabled & selecting contacts
+ ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
-- **When creating relationship types don't munge names ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
+- **Caches - Normalize dependency on php-cache integration-tests
+ ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
-- **Remove broken delete from customGroupCreate ([14239](https://github.com/civicrm/civicrm-core/pull/14239))**
+- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency
+ ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
-- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8() ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
+## CiviCase
-- **Pass the RFC 3164 severity level thru to drupal watchdog. ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
+- **Case report showing 1 result
+ ([dev/core#743](https://lab.civicrm.org/dev/core/issues/743):
+ [14082](https://github.com/civicrm/civicrm-core/pull/14082))**
-- **Stop overriding is_active default when saving new relationship ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
+ Fixes the Case Summary report so that it properly filters on case
+ relationships.
-- **contributor-keys file - jira/lab.c.o username fix ([14200](https://github.com/civicrm/civicrm-core/pull/14200))**
+- **Set title properly on Move/Copy/File on Case popup
+ ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
-- **IDE re-format of tools directory ([14177](https://github.com/civicrm/civicrm-core/pull/14177))**
+ 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".
-- **Enotice fix on creating a smart group ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
+- **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))**
-- **Don't call session_start() before CMS bootstrap (PHP 7.2 compat) ([14074](https://github.com/civicrm/civicrm-core/pull/14074))**
+ Fixes the search filter "Deleted Activities" on the Manage Cases form.
-- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
+- **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))**
-- **Get LegacySimpleCacheTest complient with phpunit6+ ([254](https://github.com/civicrm/civicrm-packages/pull/254))**
## CiviContribute
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))**
+
+## CiviMail
+
+- **Deletion of SMS provider caused all scheduled reminders to fail to be sent
+ (begins work for [dev/core#369](https://lab.civicrm.org/dev/core/issues/369):
+ [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 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
+ ([dev/core#898]https://lab.civicrm.org/dev/core/issues/898():
+ [14138](https://github.com/civicrm/civicrm-core/pull/14138))**
+
+ 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. 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):
[14302](https://github.com/civicrm/civicrm-core/pull/14302) and
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):
+ [14197](https://github.com/civicrm/civicrm-core/pull/14197))**
+
+- **Searching for removed contacts in a smart group doesn't work (preliminary
+ work for [dev/core#926](https://lab.civicrm.org/dev/core/issues/926):
+ [14181](https://github.com/civicrm/civicrm-core/pull/14181))**
+
+- **When using custom fields for smart group criteria with relative dates the
+ group does not respect the relative date over time (preliminary work for
+ [dev/core#389](https://lab.civicrm.org/dev/core/issues/389)[14401]:
+ (https://github.com/civicrm/civicrm-core/pull/14401) and
+ [14386](https://github.com/civicrm/civicrm-core/pull/14386))**
+
+- **Remove instances of $dao->free
+ ([dev/core#562](https://lab.civicrm.org/dev/core/issues/562):
+ [14179](https://github.com/civicrm/civicrm-core/pull/14179))**
+
+- **Correct syntax for Get pledge payment count (extend test coverage for
+ [dev/core#627](https://lab.civicrm.org/dev/core/issues/627):
+ [14350](https://github.com/civicrm/civicrm-core/pull/14350))**
+
- **Remove never-called function
_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`.