| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | no |
-| Change the database schema? | |
+| Change the database schema? | **yes** |
| Alter the API? | **yes** |
-| Require attention to configuration options? | |
-| Fix problems installing or upgrading to a previous version? | |
+| Require attention to configuration options? | no |
+| Fix problems installing or upgrading to a previous version? | **yes** |
| Introduce features? | **yes** |
| Fix bugs? | **yes** |
[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 and restyles the Components settings
+ 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
[dev/core#982](https://lab.civicrm.org/dev/core/issues/982):
[14298](https://github.com/civicrm/civicrm-core/pull/14298))**
- Adds a dedupe.getstatistics api action.
+ Adds a `dedupe.getstatistics` API action.
+
+- **Add Contact.get_merge_conflicts api
+ ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
+
+ Adds a `contact.get_merge_conflicts` API action.
+
+- **Add api for Dedupe.getduplicates
+ ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
+
+ Adds a `dedupe.getduplicates` API action.
- **Support latest phpunit versions
([dev/core#980](https://lab.civicrm.org/dev/core/issues/980):
([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
Lays the ground work for a metadata based approach to search forms,
- Specifically for the contact form. It converts one field (sort_name) to be
+ 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).
- **Allow updating ENGINE_CONFIG for System.updatelogtables
- **Reduce cache bypasses - do not bypass custom metadata cache in setGroupTree
([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
- This change improves performance when editing a form with custom data bu using
- the cached metadata instead of doing a db query to rebuild the metadata.
+ Improves performance when editing a form with custom data by using
+ the cached metadata instead of doing a database query to rebuild the metadata.
- **Try enabling api4 extension in test suite
([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
- **Use data provider to test both api versions
([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
- Makes it so 311 v3 tests are converted to also test v4.
+ Makes it so 311 API v3 tests are converted to also test API v4.
-- **Add Contact.get_merge_conflicts api
- ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
+- **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))**
-- **Add api for Dedupe.getduplicates
- ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
-
-- **Change Activity tag to use select2
- ([14247](https://github.com/civicrm/civicrm-core/pull/14247))**
+ Changes the "Activity Tags" field on the "Advanced Search" form to be a
+ select2 instead of a checkbox list to improve user experience.
## CiviContribute
[14395](https://github.com/civicrm/civicrm-core/pull/14395) and
[14343](https://github.com/civicrm/civicrm-core/pull/14343))**
- Separates `contribution_recur` status_id option group from the `contribution`
+ 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#830](https://lab.civicrm.org/dev/core/issues/830):
[13997](https://github.com/civicrm/civicrm-core/pull/13997))**
- Adds the `Cancellation Reason` field to the form to cancel recurring
+ Adds a `Cancellation Reason` field to the form to cancel recurring
contributions.
- **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))**
- Makes campaign start and end dates available to the campaign widget on a
- Contribution Page so that one can customize the Campaign widget with options
+ 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".
- **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))**
+ Exposes the contribution page field in the "Contribution Summary" report.
+
+- **add developer tab for summary report
+ ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
+
+ Adds a developer tab to the "Contribution Summary" report.
+
- **Wrap titles in metadata in ts on payment.create api
([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
- Improves use of the api v3 explorer for multilingual sites by translating the
- titles in the payment create api action.
+ Improves the API v3 explorer for multilingual sites by translating the
+ titles in the payment create API action.
- **Translation in billingblock.tpl - dropping 'Information'
([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
- Improves transalation of the billing block on front facing contribution and
+ Improves translation of the billing block on front facing contribution and
event forms by removing the word Information from the title.
-- **add developer tab for summary report
- ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
-
- Adds a developer tab to the "Contribution Summary" report.
-
## CiviEvent
- **Wysiwyg support for i18n event fields
- **Pass the RFC 3164 severity level thru to drupal watchdog.
([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
- This improves error logging for Drupal users by passing the severity level to
- drupal watchdog. Before this change all errors passed from CiviCRM to the
+ 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 appropriately.
+ info, etc. can be logged as such.
## <a name="bugs"></a>Bugs resolved
### 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))**
-
- **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):
CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
multilingual mode.
-- **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))**
-
- **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))**
Fixes a fatal error when trying to merge two contacts with the custom fields
- of type file.
+ of type "file".
- **Autogenerated .htaccess is for apache 2.2
([dev/core#913](https://lab.civicrm.org/dev/core/issues/913):
([dev/core#932](https://lab.civicrm.org/dev/core/issues/932):
[14195](https://github.com/civicrm/civicrm-core/pull/14195))**
- This change fixes the dedupe screen flip selected duplicates button so that it
+ Fixes the dedupe screen "flip selected duplicates" button so that it
works as expected.
- **$this can not be used in static methods
([dev/core#978](https://lab.civicrm.org/dev/core/issues/978):
[14363](https://github.com/civicrm/civicrm-core/pull/14363))**
- Fixes DB Error: `unknown error` if the system status check if query fails.
+ Fixes DB Error: `unknown error` if the system status check query fails.
- **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))**
- Fixes an issue where addTrailingSlash would generate a \ instead of a '/' on
+ Fixes an issue where `addTrailingSlash` would generate a \ instead of a '/' on
Windows.
- **Can't set a non-breaking space as Thousands Separator in Administer >
([dev/core#994](https://lab.civicrm.org/dev/core/issues/994):
[14376](https://github.com/civicrm/civicrm-core/pull/14376))**
- Removes form rule preventing location separators having more than one
+ 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).
-- **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))**
-
- **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP.
([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
- **Misc translation 'ts' fixes
([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
- Fixes a few places where ts() was used incorrectly so that is used correctly.
+ Fixes a few places where `ts()` was used incorrectly so that is used correctly.
- **Don't run search when editing smartgroup criteria
([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
Ensures that editing smart group criteria does not trigger a search on that
smartgroup before the criteria can be viewed.
-- **Caches - Normalize dependency on php-cache integration-tests
- ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
-
-- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency
- ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
-
- **Add angular-xeditable to angular
([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
Add angular xeditable component to our bower_components.
-- **CRM_Extension_System - Only allow `test.*` extensions during headless
- testing. Hide from regular users.
- ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
-
-- **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))**
-
-- **Don't apply api3 pre/post processing to api4 actions
- ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
-
-- **Fix fatal error when full group by mysql mode enabled & selecting contacts
- ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
-
- **crmRouteBinder - Remove params from url if they equal their defaults
([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
Ensures that Settings metadata is cached once per domain and that
- hook_civicrm_alterSettingsMetaData() is invoked only once per domain.
-
-- **When creating relationship types don't munge names
- ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
+ `hook_civicrm_alterSettingsMetaData()` is invoked only once per domain.
- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8()
([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
- This change continues work to phase out CIVICRM_TEMP_FORCE_UTF8.
+ Continues work to phase out CIVICRM_TEMP_FORCE_UTF8.
- **Stop overriding is_active default when saving new relationship
([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
Fixes an E-notice `Notice: Undefined index: component_mode in
CRM_Contact_Form_Task_SaveSearch->PreProcess()` when creating a smart group.
+- **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))**
+
+- **[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))**
+
+- **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))**
+
+- **When creating relationship types don't munge names
+ ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
+
+- **CRM_Extension_System - Only allow `test.*` extensions during headless
+ testing. Hide from regular users.
+ ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
+
+- **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))**
+
+- **Don't apply api3 pre/post processing to api4 actions
+ ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
+
+- **Fix fatal error when full group by mysql mode enabled & selecting contacts
+ ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
+
+- **Caches - Normalize dependency on php-cache integration-tests
+ ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
+
+- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency
+ ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
+
## CiviCase
- **Case report showing 1 result
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))**
-- **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))**
## CiviContribute
the results the search parameters are respected, before this change all
participants for all events would be displayed.
-- **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))**
-
- **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
[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):
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):
([dev/drupal#68](https://lab.civicrm.org/dev/drupal/issues/68):
[14442](https://github.com/civicrm/civicrm-core/pull/14442))**
- Removes error if Drupal's jQuery is not loaded (if its not needed).
+ 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):