Merge pull request #14730 from alifrumin/5.15.0-releasenotes
[civicrm-core.git] / release-notes / 5.15.0.md
CommitLineData
1f0fc2ec
AH
1# CiviCRM 5.15.0
2
2d635fab 3Released July 3, 2019
1f0fc2ec 4
2d635fab 5- **[Synopsis](#synopsis)**
1f0fc2ec
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
2d635fab
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
be52df74 16| Fix security vulnerabilities? | no |
46d4c057 17| Change the database schema? | **yes** |
be52df74 18| Alter the API? | **yes** |
46d4c057
AF
19| Require attention to configuration options? | no |
20| Fix problems installing or upgrading to a previous version? | **yes** |
be52df74
AF
21| Introduce features? | **yes** |
22| Fix bugs? | **yes** |
1f0fc2ec
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
d14528af
AF
28- **Rearrange quick search options
29 ([dev/core#628](https://lab.civicrm.org/dev/core/issues/628):
30 [14441](https://github.com/civicrm/civicrm-core/pull/14441))**
31
32 This change makes it so that the quicksearch field options can be rearranged.
33
5441ad98
AF
34- **Improve formatting for settings checkboxes
35 ([14461](https://github.com/civicrm/civicrm-core/pull/14461) and
36 [14419](https://github.com/civicrm/civicrm-core/pull/14419))**
1f0fc2ec 37
2405126f 38 Restyles the checkboxes on the "Display Preferences" screen so they all use
46d4c057 39 the same styling for visual consistency and restyles the "Components" settings
5441ad98 40 field as a checkbox list instead of it being an AdvMultiSelect element.
1f0fc2ec 41
d14528af
AF
42- **Differentiate smart group from regular group using icon in select2 field
43 (preliminary work for [dev/core#785](https://lab.civicrm.org/dev/core/issues/785):
44 [14416](https://github.com/civicrm/civicrm-core/pull/14416))**
45
46 Extends the addField() function to support fields of the type `select2` and
47 `select`.
48
be52df74
AF
49- **Cleanup & api-ise the dedupe code (preliminary work for
50 [dev/core#982](https://lab.civicrm.org/dev/core/issues/982):
51 [14298](https://github.com/civicrm/civicrm-core/pull/14298))**
52
46d4c057
AF
53 Adds a `dedupe.getstatistics` API action.
54
185e09b0 55- **Add Contact.get_merge_conflicts API
46d4c057
AF
56 ([14394](https://github.com/civicrm/civicrm-core/pull/14394))**
57
58 Adds a `contact.get_merge_conflicts` API action.
59
185e09b0 60- **Add API for Dedupe.getduplicates
46d4c057
AF
61 ([14411](https://github.com/civicrm/civicrm-core/pull/14411))**
62
63 Adds a `dedupe.getduplicates` API action.
be52df74 64
185e09b0 65- **Support latest PHPUnit versions
5441ad98
AF
66 ([dev/core#980](https://lab.civicrm.org/dev/core/issues/980):
67 [14333](https://github.com/civicrm/civicrm-core/pull/14333),
68 [14387](https://github.com/civicrm/civicrm-core/pull/14387),
69 [14279](https://github.com/civicrm/civicrm-core/pull/14279),
70 [14319](https://github.com/civicrm/civicrm-core/pull/14319),
71 [14315](https://github.com/civicrm/civicrm-core/pull/14315),
72 [14421](https://github.com/civicrm/civicrm-core/pull/14421),
73 [14404](https://github.com/civicrm/civicrm-core/pull/14404),
74ebbc45 74 [254](https://github.com/civicrm/civicrm-packages/pull/254),
5441ad98
AF
75 [14283](https://github.com/civicrm/civicrm-core/pull/14283) and
76 [14321](https://github.com/civicrm/civicrm-core/pull/14321))**
77
78 Updates phpunit version support so that the CiviCRM test suite works with
185e09b0
TO
79 phpunit versions 5 thru 8. Removes dependency on discontinued dbunit. Moves
80 towards using API functions instead of dbunit.
5441ad98
AF
81
82- **Permit sort_name as a url parameter on advanced search
83 ([14475](https://github.com/civicrm/civicrm-core/pull/14475))**
84
85 Lays the ground work for a metadata based approach to search forms,
46d4c057 86 Specifically for the contact form. Converts one field (sort_name) to be
5441ad98
AF
87 added by metadata and also to be supported via url (sort_name=x).
88
89- **Allow updating ENGINE_CONFIG for System.updatelogtables
90 ([14348](https://github.com/civicrm/civicrm-core/pull/14348))**
91
92 Makes it so users can modify the SQL engine config for log tables thru the
93 api.
94
185e09b0 95- **Reduce cache bypasses - Do not bypass custom metadata cache in setGroupTree
74ebbc45
AF
96 ([14292](https://github.com/civicrm/civicrm-core/pull/14292))**
97
46d4c057
AF
98 Improves performance when editing a form with custom data by using
99 the cached metadata instead of doing a database query to rebuild the metadata.
74ebbc45
AF
100
101- **Try enabling api4 extension in test suite
102 ([14241](https://github.com/civicrm/civicrm-core/pull/14241))**
103
104 Makes the api4 extension available when running unit tests.
105
185e09b0 106- **Use data provider to test both API versions
5441ad98
AF
107 ([14153](https://github.com/civicrm/civicrm-core/pull/14153))**
108
46d4c057 109 Makes it so 311 API v3 tests are converted to also test API v4.
5441ad98 110
46d4c057
AF
111- **Advanced search: activity tags should use select2 ([
112 dev/core#924](https://lab.civicrm.org/dev/core/issues/924):
113 [14247](https://github.com/civicrm/civicrm-core/pull/14247))**
5441ad98 114
46d4c057
AF
115 Changes the "Activity Tags" field on the "Advanced Search" form to be a
116 select2 instead of a checkbox list to improve user experience.
5441ad98 117
d14528af
AF
118## CiviContribute
119
120- **Better support in core for token payment processing (continues work for
121 [dev/core#905](https://lab.civicrm.org/dev/core/issues/905):
122 [14395](https://github.com/civicrm/civicrm-core/pull/14395) and
123 [14343](https://github.com/civicrm/civicrm-core/pull/14343))**
124
46d4c057 125 Separates the `contribution_recur` status_id option group from the `contribution`
d14528af
AF
126 status_id option group and adds the contribution recur statuses 'Processing'
127 and 'Failing'.
128
185e09b0 129- **Add cancel_reason field to civicrm_contribution_recur table
d14528af
AF
130 ([dev/core#830](https://lab.civicrm.org/dev/core/issues/830):
131 [13997](https://github.com/civicrm/civicrm-core/pull/13997))**
132
46d4c057 133 Adds a `Cancellation Reason` field to the form to cancel recurring
d14528af
AF
134 contributions.
135
be52df74
AF
136- **Add time start date and end date values on page contribution widget ajax
137 response ([dev/core#964](https://lab.civicrm.org/dev/core/issues/964):
138 [14262](https://github.com/civicrm/civicrm-core/pull/14262))**
139
46d4c057
AF
140 Makes campaign start and end dates available to the campaign widget on
141 Contribution Pages so that one can customize the campaign widget with options
be52df74
AF
142 such as "Starts in X days".
143
144- **Expose contribution page in Contribution Summary report
145 ([dev/core#959](https://lab.civicrm.org/dev/core/issues/959):
146 [14249](https://github.com/civicrm/civicrm-core/pull/14249))**
147
46d4c057
AF
148 Exposes the contribution page field in the "Contribution Summary" report.
149
185e09b0 150- **Add developer tab for summary report
46d4c057
AF
151 ([14254](https://github.com/civicrm/civicrm-core/pull/14254))**
152
153 Adds a developer tab to the "Contribution Summary" report.
154
185e09b0 155- **Wrap titles in metadata in ts on payment.create API
5441ad98
AF
156 ([14450](https://github.com/civicrm/civicrm-core/pull/14450))**
157
46d4c057
AF
158 Improves the API v3 explorer for multilingual sites by translating the
159 titles in the payment create API action.
74ebbc45
AF
160
161- **Translation in billingblock.tpl - dropping 'Information'
162 ([14358](https://github.com/civicrm/civicrm-core/pull/14358))**
163
46d4c057 164 Improves translation of the billing block on front facing contribution and
74ebbc45
AF
165 event forms by removing the word Information from the title.
166
5441ad98
AF
167## CiviEvent
168
185e09b0 169- **WYSIWYG support for i18n event fields
5441ad98
AF
170 ([14384](https://github.com/civicrm/civicrm-core/pull/14384) and
171 [14396](https://github.com/civicrm/civicrm-core/pull/14396))**
172
173 Adds support for wysiwyg editor in i18n popup for event fields.
174
74ebbc45
AF
175## Drupal Integration
176
177- **Pass the RFC 3164 severity level thru to drupal watchdog.
178 ([14185](https://github.com/civicrm/civicrm-core/pull/14185))**
179
46d4c057
AF
180 Improves error logging for Drupal users by passing the severity level to
181 drupal watchdog. Before this change all errors passed from CiviCRM to
74ebbc45 182 drupal watchdog were logged at the debug level now errors, warnings, notices,
46d4c057 183 info, etc. can be logged as such.
74ebbc45 184
1f0fc2ec
AH
185## <a name="bugs"></a>Bugs resolved
186
187### Core CiviCRM
188
bec1ee1d
AF
189- **Fix Notice errors caused by l10n rewriting of query so query outputed create
190 view rather than the create table
191 ([dev/translation#26](https://lab.civicrm.org/dev/translation/issues/26):
192 [14152](https://github.com/civicrm/civicrm-core/pull/14152))**
193
194 Fixes a notice `Undefined property: CRM_Core_DAO::$Create_Table in
195 CRM_Core_DAO::checkConstraintExists()..` when enabling a language in
196 multilingual mode.
197
d14528af
AF
198- **File custom fields cause a fatal error when trying to merge
199 ([dev/core#723](https://lab.civicrm.org/dev/core/issues/723):
200 [14325](https://github.com/civicrm/civicrm-core/pull/14325))**
1f0fc2ec 201
d14528af 202 Fixes a fatal error when trying to merge two contacts with the custom fields
46d4c057 203 of type "file".
1f0fc2ec 204
d14528af
AF
205- **Autogenerated .htaccess is for apache 2.2
206 ([dev/core#913](https://lab.civicrm.org/dev/core/issues/913):
207 [14158](https://github.com/civicrm/civicrm-core/pull/14158))**
1f0fc2ec 208
d14528af
AF
209 Updates the auto-generated .htaccess so it no longer gives an internal error
210 for sites on apache 2.4.
1f0fc2ec 211
be52df74
AF
212- **Dedupe screen: single "flip" and multi-selected-flip have no effect
213 ([dev/core#932](https://lab.civicrm.org/dev/core/issues/932):
214 [14195](https://github.com/civicrm/civicrm-core/pull/14195))**
1f0fc2ec 215
46d4c057 216 Fixes the dedupe screen "flip selected duplicates" button so that it
be52df74 217 works as expected.
1f0fc2ec 218
be52df74
AF
219- **$this can not be used in static methods
220 ([dev/core#945](https://lab.civicrm.org/dev/core/issues/945):
221 [14217](https://github.com/civicrm/civicrm-core/pull/14217))**
1f0fc2ec 222
be52df74
AF
223 Fixes "$this can not be used in static methods" error thrown by
224 getIncompleteImportTables() in CRM/Contact/Import/ImportJob.php
1f0fc2ec 225
5441ad98
AF
226- **CiviCRM 5.13.4 - Specified key was too long; max key length is 767 bytes
227 ([dev/core#978](https://lab.civicrm.org/dev/core/issues/978):
228 [14363](https://github.com/civicrm/civicrm-core/pull/14363))**
1f0fc2ec 229
46d4c057 230 Fixes DB Error: `unknown error` if the system status check query fails.
1f0fc2ec 231
be52df74
AF
232- **userFrameworkResourceURL gets wrong trailing slash on windows
233 ([dev/core#985](https://lab.civicrm.org/dev/core/issues/985):
234 [14405](https://github.com/civicrm/civicrm-core/pull/14405))**
1f0fc2ec 235
46d4c057 236 Fixes an issue where `addTrailingSlash` would generate a \ instead of a '/' on
be52df74 237 Windows.
1f0fc2ec 238
be52df74
AF
239- **Can't set a non-breaking space as Thousands Separator in Administer >
240 Localization settings
241 ([dev/core#994](https://lab.civicrm.org/dev/core/issues/994):
242 [14376](https://github.com/civicrm/civicrm-core/pull/14376))**
1f0fc2ec 243
46d4c057 244 Removes a form rule preventing location separators from having more than one
be52df74
AF
245 character so that one can use a non-breaking space (or other string longer
246 than one character).
1f0fc2ec 247
5441ad98
AF
248- **Add CRM_Utils_System::sendResponse(). Fix AssetBuilder's status-code on WP.
249 ([14468](https://github.com/civicrm/civicrm-core/pull/14468))**
1f0fc2ec 250
5441ad98
AF
251 Ensures that a consistent response is returned across CMS's in regards to
252 Asset Builder URLs. Before this change Wordpress would return a different
253 response then Drupal/Backdrop and E2E Unit tests would fail on Wordpress.
1f0fc2ec 254
185e09b0 255- **Fix Exception API to save lower id number as contact 1
5441ad98 256 ([14448](https://github.com/civicrm/civicrm-core/pull/14448))**
1f0fc2ec 257
5441ad98 258 Improves consistency when deduping contacts.
1f0fc2ec 259
5441ad98
AF
260- **Fix Exception to remove result from duplicates
261 ([14447](https://github.com/civicrm/civicrm-core/pull/14447))**
1f0fc2ec 262
5441ad98
AF
263 Ensures that marking a non-duplicate contact removes them from the cached
264 duplicates table.
1f0fc2ec 265
5441ad98
AF
266- **Fix upgrade on participant_register date
267 ([14427](https://github.com/civicrm/civicrm-core/pull/14427))**
1f0fc2ec 268
5441ad98 269 Fixes conversion routing on participant register date when upgrading to 5.15.
1f0fc2ec 270
5441ad98
AF
271- **Misc translation 'ts' fixes
272 ([14467](https://github.com/civicrm/civicrm-core/pull/14467))**
1f0fc2ec 273
46d4c057 274 Fixes a few places where `ts()` was used incorrectly so that is used correctly.
1f0fc2ec 275
5441ad98
AF
276- **Don't run search when editing smartgroup criteria
277 ([14464](https://github.com/civicrm/civicrm-core/pull/14464))**
1f0fc2ec 278
5441ad98
AF
279 Ensures that editing smart group criteria does not trigger a search on that
280 smartgroup before the criteria can be viewed.
1f0fc2ec 281
5441ad98
AF
282- **Add angular-xeditable to angular
283 ([14414](https://github.com/civicrm/civicrm-core/pull/14414))**
1f0fc2ec 284
5441ad98 285 Add angular xeditable component to our bower_components.
1f0fc2ec 286
74ebbc45
AF
287- **crmRouteBinder - Remove params from url if they equal their defaults
288 ([14211](https://github.com/civicrm/civicrm-core/pull/14211))**
1f0fc2ec 289
74ebbc45
AF
290 Ensures when a parameter is removed in the api4 explorer, it is also removed
291 from the url.
1f0fc2ec 292
74ebbc45
AF
293- **Remove wasteful double-caching of settings metadata
294 ([14259](https://github.com/civicrm/civicrm-core/pull/14259))**
1f0fc2ec 295
74ebbc45 296 Ensures that Settings metadata is cached once per domain and that
46d4c057 297 `hook_civicrm_alterSettingsMetaData()` is invoked only once per domain.
1f0fc2ec 298
74ebbc45
AF
299- **Remove CIVICRM_TEMP_FORCE_UTF8; deprecate TempTable::setUtf8()
300 ([14004](https://github.com/civicrm/civicrm-core/pull/14004))**
1f0fc2ec 301
46d4c057 302 Continues work to phase out CIVICRM_TEMP_FORCE_UTF8.
1f0fc2ec 303
74ebbc45
AF
304- **Stop overriding is_active default when saving new relationship
305 ([14199](https://github.com/civicrm/civicrm-core/pull/14199))**
1f0fc2ec 306
74ebbc45 307 Ensures that new relationships are saved as active by default.
1f0fc2ec 308
74ebbc45
AF
309- **Enotice fix on creating a smart group
310 ([14180](https://github.com/civicrm/civicrm-core/pull/14180))**
1f0fc2ec 311
74ebbc45
AF
312 Fixes an E-notice `Notice: Undefined index: component_mode in
313 CRM_Contact_Form_Task_SaveSearch->PreProcess()` when creating a smart group.
1f0fc2ec 314
46d4c057
AF
315- **Ensure that the oldest creation date is preserved when deduping
316 ([dev/core#996](https://lab.civicrm.org/dev/core/issues/996):
317 [14368](https://github.com/civicrm/civicrm-core/pull/14368))**
318
185e09b0
TO
319- **Recurring activities don't carry over custom data and tags
320 ([CRM-21832](https://issues.civicrm.org/jira/browse/CRM-21832),
321 [14183](https://github.com/civicrm/civicrm-core/pull/14183))**
46d4c057
AF
322
323- **Disabling Alphabetical Pager is not respected for events and contribution
324 pages. ([dev/core#705](https://lab.civicrm.org/dev/core/issues/705):
325 [14203](https://github.com/civicrm/civicrm-core/pull/14203))**
326
327- **When creating relationship types don't munge names
328 ([14216](https://github.com/civicrm/civicrm-core/pull/14216))**
329
330- **CRM_Extension_System - Only allow `test.*` extensions during headless
331 testing. Hide from regular users.
332 ([14392](https://github.com/civicrm/civicrm-core/pull/14392))**
333
334- **Fix name of cache key column to be all lower case rather than camel case in
335 civicrm_prevnext_cache
336 ([14359](https://github.com/civicrm/civicrm-core/pull/14359))**
337
338- **Don't apply api3 pre/post processing to api4 actions
339 ([14357](https://github.com/civicrm/civicrm-core/pull/14357))**
340
341- **Fix fatal error when full group by mysql mode enabled & selecting contacts
342 ([14331](https://github.com/civicrm/civicrm-core/pull/14331))**
343
344- **Caches - Normalize dependency on php-cache integration-tests
345 ([14423](https://github.com/civicrm/civicrm-core/pull/14423))**
346
347- **Cache/IntegrationTests - Remove. This can be replaced by composer dependency
348 ([255](https://github.com/civicrm/civicrm-packages/pull/255))**
349
d14528af
AF
350## CiviCase
351
352- **Case report showing 1 result
353 ([dev/core#743](https://lab.civicrm.org/dev/core/issues/743):
354 [14082](https://github.com/civicrm/civicrm-core/pull/14082))**
355
356 Fixes the Case Summary report so that it properly filters on case
357 relationships.
358
5441ad98
AF
359- **Set title properly on Move/Copy/File on Case popup
360 ([14347](https://github.com/civicrm/civicrm-core/pull/14347))**
361
362 Ensures when clicking "Move to Case"/"Copy to Case" from the Manage cases
363 activity list the title is set correctly and stays set correctly instead of
364 reverting to "File on Case".
365
46d4c057
AF
366- **Manage Case search filter "Deleted Activities" no longer working
367 ([dev/core#1022](https://lab.civicrm.org/dev/core/issues/1022):
368 [14445](https://github.com/civicrm/civicrm-core/pull/14445))**
369
370 Fixes the search filter "Deleted Activities" on the Manage Cases form.
371
d14528af
AF
372- **Closing a case gives a warning notice
373 ([dev/core#896](https://lab.civicrm.org/dev/core/issues/896):
374 [14160](https://github.com/civicrm/civicrm-core/pull/14160))**
375
be52df74 376
2405126f
AF
377## CiviContribute
378
379- **Bug in storing settings for CiviContribute component
380 ([dev/financial#54](https://lab.civicrm.org/dev/financial/issues/54):
381 [14267](https://github.com/civicrm/civicrm-core/pull/14267))**
382
383 Ensures deferred revenue settings are respected.
384
385- **Changing financial type on a contribution records incorrect financial items
386 ([dev/financial#56](https://lab.civicrm.org/dev/financial/issues/56):
387 [14309](https://github.com/civicrm/civicrm-core/pull/14309))**
388
389 Fixes a bug where changing the financial type on a contribution record would
390 result in a sales tax row being added regardless of whether sales tax was
391 turned on.
392
185e09b0 393- **Fix financial ACL permissions to respect check_permissions
74ebbc45
AF
394 ([14118](https://github.com/civicrm/civicrm-core/pull/14118))**
395
396 Fixes bug where `check_permissions=0` is ignored when doing contribution.get
185e09b0 397 in conjunction with financial ACLs.
74ebbc45 398
be52df74
AF
399- **Elavon payment processor seems to no longer accept url encoded emails
400 ([dev/core#966](https://lab.civicrm.org/dev/core/issues/966):
401 [14263](https://github.com/civicrm/civicrm-core/pull/14263))**
402
403 Fixes payment processing for sites using an Elavon processor.
404
5441ad98
AF
405- **Set new inactive statuses as 'Chargeback' does not exist on new installs and
406 that breaks Contributionrecur.create API
407 ([14398](https://github.com/civicrm/civicrm-core/pull/14398))**
408
409- **Fix inconsistent handling when searching contribution text fields
410 ([14354](https://github.com/civicrm/civicrm-core/pull/14354))**
411
74ebbc45
AF
412- **Fix bug where contribution status is mishandled if label is changed
413 ([14352](https://github.com/civicrm/civicrm-core/pull/14352))**
414
d14528af
AF
415## CiviEvent
416
be52df74
AF
417- **Sorting participants ignored search values.
418 ([dev/core#981](https://lab.civicrm.org/dev/core/issues/981):
419 [14313](https://github.com/civicrm/civicrm-core/pull/14313))**
420
421 Ensures when searching for participants for a specific event and then sorting
422 the results the search parameters are respected, before this change all
423 participants for all events would be displayed.
424
74ebbc45
AF
425- **Fix deprecation notice on manage events page
426 ([14289](https://github.com/civicrm/civicrm-core/pull/14289))**
427
428 Removes a `User deprecated function: Deprecated function
429 CRM_Event_BAO_Event::CheckPermission` notice from the manage events page.
430
46d4c057
AF
431- **Backoffice participant transfer form does not populate contact reference
432 field ([dev/core#888](https://lab.civicrm.org/dev/core/issues/888):
433 [14102](https://github.com/civicrm/civicrm-core/pull/14102))**
434
d14528af
AF
435## CiviMail
436
437- **Deletion of SMS provider caused all scheduled reminders to fail to be sent
438 (begins work for [dev/core#369](https://lab.civicrm.org/dev/core/issues/369):
439 [14266](https://github.com/civicrm/civicrm-core/pull/14266))**
440
441 Before this change if the Scheduled reminder job was triggered and there were
46d4c057
AF
442 active SMS scheduled reminders for which the SMS Provider has been deleted the
443 job would fail with the message "Provider not known or not provided" and no
444 scheduled reminders would go out this change makes it so that scheduled
445 reminders for which a SMS Provider exists will go out even if there are some
446 scheduled SMS reminders for which there is not an SMS Provider.
d14528af 447
be52df74
AF
448- **E_NOTICE when creating bulk SMS
449 ([dev/core#1023](https://lab.civicrm.org/dev/core/issues/1023):
450 [14449](https://github.com/civicrm/civicrm-core/pull/14449))**
451
452 Fixes E_NOTICE `Notice: Undefined index: Subject in
453 civicrm_api3_mailing_preview()` when creating bulk SMS.
454
5441ad98
AF
455- **"Confirm this subscription" URL generated by MailingEventSubscribe API
456 should always be a front-end
457 URL([dev/core#1005](https://lab.civicrm.org/dev/core/issues/1005):
458 [14389](https://github.com/civicrm/civicrm-core/pull/14389))**
459
460 Ensures that the "Confirm this subscription" URL included in bulk emails is
461 always a front end URL.
462
d14528af
AF
463- **SMTP help text is misleading - references the wrong admin screen
464 ([dev/core#879](https://lab.civicrm.org/dev/core/issues/879):
465 [14329](https://github.com/civicrm/civicrm-core/pull/14329))**
466
5441ad98
AF
467- **[Outbound mail admin form] fix some more notices resulting from recent
468 change ([14433](https://github.com/civicrm/civicrm-core/pull/14433))**
469
be52df74
AF
470## CiviPledge
471
472- **incorrect capitalization in default Pledges - Acknowledgement message
473 template ([dev/core#1010](https://lab.civicrm.org/dev/core/issues/1010):
5441ad98
AF
474 [14465](https://github.com/civicrm/civicrm-core/pull/14465) and
475 [14469](https://github.com/civicrm/civicrm-core/pull/14469))**
be52df74
AF
476
477 Ensures that Pledge acknowledgments use correct capitalization and the
478 `email_greeting`.
479
74ebbc45
AF
480- **correct syntax "IS NOT NULL" to get pledge payment count
481 ([13374](https://github.com/civicrm/civicrm-core/pull/13374))**
482
483 Ensures when editing a payment for a pledge the screen does not freeze because
484 the API count returns 0.
485
2405126f
AF
486## Drupal Integration
487
d14528af
AF
488- **incorrect Drupal 8 login URL
489 ([dev/core#898]https://lab.civicrm.org/dev/core/issues/898():
490 [14138](https://github.com/civicrm/civicrm-core/pull/14138))**
491
492 If you create a public contribution page on a Drupal 8 site, it will include a
493 login link for unauthenticated users, with parameters ?destination=... to
46d4c057
AF
494 direct back to the contribution page after login. Fixes this link for
495 recent Drupal versionsso it points to the right login url.
d14528af 496
2405126f
AF
497- **Drupal8: Implement set UF locale/language (affects mailing tokens)
498 ([dev/drupal#19](https://lab.civicrm.org/dev/drupal/issues/19):
499 [14302](https://github.com/civicrm/civicrm-core/pull/14302) and
500 [12152](https://github.com/civicrm/civicrm-core/pull/12152))**
501
502 Fixes a 500 error when calling the REST API endpoint in Drupal 8 and fixes a
503 bug when using Drupal 8 with a multilingual site where mailing token links
504 were not taking the user to the page in the expected language.
505
5441ad98
AF
506- **Drupal8/jquery
507 ([dev/drupal#68](https://lab.civicrm.org/dev/drupal/issues/68):
508 [14442](https://github.com/civicrm/civicrm-core/pull/14442))**
509
46d4c057
AF
510 Fixes a Javascript error if Drupal's jQuery is not loaded (when its not
511 needed).
5441ad98 512
74ebbc45
AF
513- **Fix legacy IPN endpoint for Drupal
514 ([dev/core#973](https://lab.civicrm.org/dev/core/issues/973):
515 [14272](https://github.com/civicrm/civicrm-core/pull/14272))**
516
517 Fixes a `PHP Fatal error: Uncaught Error: Call to undefined function
518 variable_get()` error when bootstraping Drupal for Drupal sites collecting
519 recurring PayPal donations.
520
521- **Don't call session_start() before CMS bootstrap (PHP 7.2 compat)
522 ([14074](https://github.com/civicrm/civicrm-core/pull/14074))**
523
524 Fixes a `Warning: ini_set(): A session is active` error for Drupal sites
525 running PHP > 7.1.
526
2405126f
AF
527## Joomla Integration
528
529- **Fix php warning when viewing profiles
530 ([dev/joomla#11](https://lab.civicrm.org/dev/joomla/issues/11):
531 [14312](https://github.com/civicrm/civicrm-core/pull/14312))**
532
5c43d846 533## <a name="misc"></a>Miscellany
1f0fc2ec 534
74ebbc45
AF
535- **Declare API Key as a protected field for future use
536 ([14274](https://github.com/civicrm/civicrm-core/pull/14274))**
537
538- **Make apiRequst nextId accessible for api4 constructor
539 ([14311](https://github.com/civicrm/civicrm-core/pull/14311))**
540
5441ad98
AF
541- **Remove confusing pass params by ref
542 ([14360](https://github.com/civicrm/civicrm-core/pull/14360))**
543
544- **Add EntityPageTrait
545 ([14399](https://github.com/civicrm/civicrm-core/pull/14399))**
546
547- **[code-quality] [jcalendar] remove jcalendar usage from
548 participant_register_date on event search
549 ([14330](https://github.com/civicrm/civicrm-core/pull/14330))**
550
551- **Deprecate creating recipients from MailingJob.create.
552 ([14097](https://github.com/civicrm/civicrm-core/pull/14097))**
553
554- **Fix running of CRM_Utils_MoneyTest on PHPUnit6+
555 ([14424](https://github.com/civicrm/civicrm-core/pull/14424))**
556
74ebbc45
AF
557- **Remove broken delete from customGroupCreate
558 ([14239](https://github.com/civicrm/civicrm-core/pull/14239))**
559
560- **Remove duplicate line in case BAO
561 ([14345](https://github.com/civicrm/civicrm-core/pull/14345))**
562
5441ad98
AF
563- **Switch to calling Payment.create api when processing a refund from
564 AdditionalPayment form
565 ([14317](https://github.com/civicrm/civicrm-core/pull/14317))**
566
be52df74
AF
567- **Updating contact (with no email) via import adding email doesn't set email
568 as primary (adds test for
569 [dev/core#953](https://lab.civicrm.org/dev/core/issues/953):
570 [14225](https://github.com/civicrm/civicrm-core/pull/14225))**
571
d14528af
AF
572- **Cancel first contribution associated to membership, cancels the membership
573 (preliminary work for
574 [dev/core#927](https://lab.civicrm.org/dev/core/issues/927):
575 [14197](https://github.com/civicrm/civicrm-core/pull/14197))**
576
577- **Searching for removed contacts in a smart group doesn't work (preliminary
578 work for [dev/core#926](https://lab.civicrm.org/dev/core/issues/926):
579 [14181](https://github.com/civicrm/civicrm-core/pull/14181))**
580
581- **When using custom fields for smart group criteria with relative dates the
582 group does not respect the relative date over time (preliminary work for
583 [dev/core#389](https://lab.civicrm.org/dev/core/issues/389)[14401]:
584 (https://github.com/civicrm/civicrm-core/pull/14401) and
585 [14386](https://github.com/civicrm/civicrm-core/pull/14386))**
586
587- **Remove instances of $dao->free
588 ([dev/core#562](https://lab.civicrm.org/dev/core/issues/562):
589 [14179](https://github.com/civicrm/civicrm-core/pull/14179))**
590
591- **Correct syntax for Get pledge payment count (extend test coverage for
592 [dev/core#627](https://lab.civicrm.org/dev/core/issues/627):
593 [14350](https://github.com/civicrm/civicrm-core/pull/14350))**
594
5c43d846
AF
595- **Remove never-called function
596 _civicrm_api3_deprecated_contact_check_custom_params
597 ([14341](https://github.com/civicrm/civicrm-core/pull/14341))**
1f0fc2ec 598
74ebbc45
AF
599- **IDE re-format of tools directory
600 ([14177](https://github.com/civicrm/civicrm-core/pull/14177))**
601
5c43d846
AF
602- **Unit test for FGB error in #14331
603 ([14340](https://github.com/civicrm/civicrm-core/pull/14340))**
1f0fc2ec 604
5c43d846
AF
605- **Test tweaks that *might* help with intermittant test weirdness
606 ([14458](https://github.com/civicrm/civicrm-core/pull/14458))**
1f0fc2ec 607
5c43d846
AF
608- **[TEST SUITE] Remove some use of dbunit from tests
609 ([14271](https://github.com/civicrm/civicrm-core/pull/14271))**
1f0fc2ec 610
5c43d846
AF
611- **Test cleanup to remove references to discontinued package dbunit
612 ([14276](https://github.com/civicrm/civicrm-core/pull/14276))**
1f0fc2ec 613
5c43d846
AF
614- **[dbunit test] remove dbunit dependency
615 ([14328](https://github.com/civicrm/civicrm-core/pull/14328))**
1f0fc2ec 616
5c43d846
AF
617- **Add unit test for merge handling on custom data.
618 ([14310](https://github.com/civicrm/civicrm-core/pull/14310))**
1f0fc2ec 619
5c43d846
AF
620- **Fix test / possible live error on submitting credit card renewals
621 ([14316](https://github.com/civicrm/civicrm-core/pull/14316))**
1f0fc2ec 622
5c43d846
AF
623- **Update testGetActivityAccessCiviCRMEnough test for clarity
624 ([14226](https://github.com/civicrm/civicrm-core/pull/14226))**
1f0fc2ec 625
5c43d846
AF
626- **[REF] Move retrieval of basicSearchFields to 'get' fn
627 ([14476](https://github.com/civicrm/civicrm-core/pull/14476))**
1f0fc2ec 628
5c43d846
AF
629- **[REF] Remove input format function from deprecated utils to the only place
630 that calls it ([14342](https://github.com/civicrm/civicrm-core/pull/14342))**
1f0fc2ec 631
5c43d846
AF
632- **[REF] extract isLiveMode
633 ([14336](https://github.com/civicrm/civicrm-core/pull/14336))**
1f0fc2ec 634
5c43d846
AF
635- **[REF] use generic loadStandardSearchOptionsFromUrl
636 ([14338](https://github.com/civicrm/civicrm-core/pull/14338))**
1f0fc2ec 637
5c43d846
AF
638- **[REF] Extract function to get cached duplicate matches
639 ([14324](https://github.com/civicrm/civicrm-core/pull/14324))**
1f0fc2ec 640
5c43d846
AF
641- **[REF] minor code re-org
642 ([14318](https://github.com/civicrm/civicrm-core/pull/14318))**
1f0fc2ec 643
5c43d846
AF
644- **[REF] Remove extraneous variable
645 ([14261](https://github.com/civicrm/civicrm-core/pull/14261))**
1f0fc2ec 646
5c43d846
AF
647- **[REF] Centralize logic for resolving settings pseudoconstants
648 ([14264](https://github.com/civicrm/civicrm-core/pull/14264))**
1f0fc2ec 649
5c43d846
AF
650- **[REF] Super Minor code readability fix
651 ([14258](https://github.com/civicrm/civicrm-core/pull/14258))**
1f0fc2ec 652
185e09b0 653- **[REF] Move copyCustomFields function from Event to Core_DAO for
5c43d846 654 re-usablibilty ([14171](https://github.com/civicrm/civicrm-core/pull/14171))**
1f0fc2ec 655
185e09b0 656- **[REF] Remove reference symbol from 2 variables
5c43d846 657 ([14270](https://github.com/civicrm/civicrm-core/pull/14270))**
1f0fc2ec 658
5c43d846
AF
659- **[cleanup] Remove deprecated pattern &CRM_Core_Config::singleton()
660 ([14178](https://github.com/civicrm/civicrm-core/pull/14178))**
1f0fc2ec 661
185e09b0 662- **[REF] Refactor to reduce duplication on payment forms
5c43d846 663 ([14206](https://github.com/civicrm/civicrm-core/pull/14206))**
1f0fc2ec 664
5c43d846
AF
665- **[REF+ test] start process of cleaning up payment activity handling
666 ([14198](https://github.com/civicrm/civicrm-core/pull/14198))**
1f0fc2ec 667
5c43d846
AF
668- **[REF][Test] Remove call to
669 CRM_Contribute_BAO_Contribution::recordAdditionalPayment in favour of payment
670 create ([14137](https://github.com/civicrm/civicrm-core/pull/14137))**
1f0fc2ec 671
5c43d846
AF
672- **[REF+test] clean up code for getting labels for merge screen, stdise
673 ([14260](https://github.com/civicrm/civicrm-core/pull/14260))**
1f0fc2ec 674
5c43d846
AF
675- **[REF] Simplify ACL page template
676 ([14288](https://github.com/civicrm/civicrm-core/pull/14288))**
1f0fc2ec 677
5c43d846
AF
678- **[REF] Fix pointless use of CRM_Utils_Array::value in Campaign BAO
679 ([14300](https://github.com/civicrm/civicrm-core/pull/14300))**
1f0fc2ec 680
5c43d846
AF
681- **[code-cleanup] remove orderBy param from getDuplicatePairs, it is not used
682 ([14297](https://github.com/civicrm/civicrm-core/pull/14297))**
1f0fc2ec 683
5c43d846
AF
684- **[REF] extract buildGroupTree function
685 ([14303](https://github.com/civicrm/civicrm-core/pull/14303))**
1f0fc2ec 686
5c43d846
AF
687- **[REF] Test class cleanup - Extract function to create nuanced custom fields
688 to a trait ([14301](https://github.com/civicrm/civicrm-core/pull/14301))**
1f0fc2ec 689
5c43d846
AF
690- **[REF] Cleanup input & output on paymentActivityCreate & improve test
691 ([14269](https://github.com/civicrm/civicrm-core/pull/14269))**
1f0fc2ec 692
5c43d846
AF
693- **[REF] move calculation of migrationInfo into the function that uses it
694 ([14365](https://github.com/civicrm/civicrm-core/pull/14365))**
1f0fc2ec 695
5c43d846
AF
696- **[REF] extract buildClause from CRM_Report_Form_Event_Income
697 ([14098](https://github.com/civicrm/civicrm-core/pull/14098))**
1f0fc2ec 698
5c43d846
AF
699- **[REF] Activity Summary report - move temp table generation etc from
700 postProcess to buildQuery, remove postProcess, don't skip in unit tests
701 ([14375](https://github.com/civicrm/civicrm-core/pull/14375))**
1f0fc2ec 702
5c43d846
AF
703- **[REF] Activity form - very minor tidy up
704 ([14434](https://github.com/civicrm/civicrm-core/pull/14434))**
1f0fc2ec 705
5c43d846
AF
706- **[REF] Stop passing cacheKey to refillCache
707 ([14337](https://github.com/civicrm/civicrm-core/pull/14337))**
1f0fc2ec 708
5c43d846
AF
709- **[REF] dev/core#998 make processDupes testable & add test
710 ([14370](https://github.com/civicrm/civicrm-core/pull/14370))**
1f0fc2ec 711
5c43d846
AF
712- **[REF] Remove reference to 'changePaymentInstrument' from
713 updateFinancialAccounts as never passed in
714 ([14353](https://github.com/civicrm/civicrm-core/pull/14353))**
1f0fc2ec 715
5c43d846
AF
716- **[NFC][test-fix] centralise use of assertLike for comparing sql
717 ([14470](https://github.com/civicrm/civicrm-core/pull/14470))**
1f0fc2ec 718
5c43d846
AF
719- **[nfc] [test] Skip testGetFromTo on date transition
720 ([14472](https://github.com/civicrm/civicrm-core/pull/14472))**
1f0fc2ec 721
5c43d846
AF
722- **[NFC] Fix issue with Job Manager Test giving out a warning
723 ([14327](https://github.com/civicrm/civicrm-core/pull/14327))**
1f0fc2ec 724
5c43d846
AF
725- **[NFC] Fix comment block for variable declarations
726 ([14314](https://github.com/civicrm/civicrm-core/pull/14314))**
1f0fc2ec 727
5c43d846
AF
728- **(NFC) Update node package versions to latest ones
729 ([14087](https://github.com/civicrm/civicrm-core/pull/14087))**
1f0fc2ec 730
5c43d846
AF
731- **[NFC] Update civicrm_generated data file following addition of contriā€¦
732 ([14371](https://github.com/civicrm/civicrm-core/pull/14371))**
1f0fc2ec 733
5c43d846
AF
734- **(NFC) Remove without param tests
735 ([14454](https://github.com/civicrm/civicrm-core/pull/14454))**
1f0fc2ec 736
5c43d846
AF
737- **[NFC] PHPCS fixes.
738 ([14402](https://github.com/civicrm/civicrm-core/pull/14402))**
1f0fc2ec 739
5c43d846
AF
740- **[NFC] Update package-lock and civicrm_generated to fix langague issues
741 ([14385](https://github.com/civicrm/civicrm-core/pull/14385))**
1f0fc2ec 742
5c43d846
AF
743- **[NFC] phpdoc cleanup
744 ([14335](https://github.com/civicrm/civicrm-core/pull/14335))**
1f0fc2ec 745
5c43d846
AF
746- **[NFC] Fix variable types in DAO doc blocks
747 ([14294](https://github.com/civicrm/civicrm-core/pull/14294))**
1f0fc2ec 748
5c43d846
AF
749- **[NFC] fix docblock types from boolean to bool
750 ([14296](https://github.com/civicrm/civicrm-core/pull/14296))**
1f0fc2ec 751
5c43d846
AF
752- **[NFC] array formatting in CRM_Dedupe_MergerTest
753 ([14273](https://github.com/civicrm/civicrm-core/pull/14273))**
1f0fc2ec 754
5c43d846
AF
755- **[NFC] Update Language to be more user friendly when checking logs
756 ([14278](https://github.com/civicrm/civicrm-core/pull/14278))**
1f0fc2ec 757
5c43d846
AF
758- **[NFC] array formatting, some comments
759 ([14291](https://github.com/civicrm/civicrm-core/pull/14291))**
1f0fc2ec 760
5c43d846
AF
761- **[NFC] fix comment blocks capitalising null
762 ([14306](https://github.com/civicrm/civicrm-core/pull/14306))**
1f0fc2ec 763
5c43d846
AF
764- **[NFC] fix more places where var is declared as boolean rather than bool
765 ([14305](https://github.com/civicrm/civicrm-core/pull/14305))**
1f0fc2ec 766
5c43d846
AF
767- **[NFC] formatting & comment fixes - Regenerate DAO files
768 ([14304](https://github.com/civicrm/civicrm-core/pull/14304))**
1f0fc2ec 769
5c43d846
AF
770- **[NFC] ProfileTest class - formatting & general cleanup
771 ([14282](https://github.com/civicrm/civicrm-core/pull/14282))**
1f0fc2ec 772
5c43d846
AF
773- **[NFC] Add trailing comma to pseudoconstant array in DAOs
774 ([14295](https://github.com/civicrm/civicrm-core/pull/14295))**
1f0fc2ec 775
5c43d846
AF
776- **[NFC] array formatting in api_v3_paymentTest class
777 ([14451](https://github.com/civicrm/civicrm-core/pull/14451))**
1f0fc2ec 778
5c43d846
AF
779- **[NFC] Update Exception DAO class
780 ([14482](https://github.com/civicrm/civicrm-core/pull/14482))**
1f0fc2ec 781
5c43d846
AF
782- **[NFC] Further tests tidy up following removing of dbunit
783 ([14344](https://github.com/civicrm/civicrm-core/pull/14344))**
1f0fc2ec 784
5c43d846
AF
785- **[NFC] Docblock fixes
786 ([14323](https://github.com/civicrm/civicrm-core/pull/14323))**
1f0fc2ec 787
5c43d846
AF
788- **NFC Fix DAO Style issues
789 ([14307](https://github.com/civicrm/civicrm-core/pull/14307))**
1f0fc2ec 790
5c43d846
AF
791- **[NFC] reformat UFFieldTest
792 ([14308](https://github.com/civicrm/civicrm-core/pull/14308))**
1f0fc2ec 793
74ebbc45
AF
794- **contributor-keys file - jira/lab.c.o username fix
795 ([14200](https://github.com/civicrm/civicrm-core/pull/14200))**
796
1f0fc2ec
AH
797## <a name="credits"></a>Credits
798
799This release was developed by the following code authors:
800
50031107
AF
801AGH Strategies - Alice Frumin, Andrew Hunt, Eli Lisseck; Agileware - Francis
802Whittle; Australian Greens - Seamus Lee; Business & Code - Alain Benbassat;
803Christian Wach; Circle Interactive - Dave Jenkins; CiviCRM - Coleman Watts, Tim
804Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel
805Vanhove; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas
2405126f
AF
806i Bullich; Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting -
807Monish Deb; Just Hope - Phil Morice Brubaker; Megaphone Technology Consulting -
808Jon Goldberg; MJW Consulting - Matthew Wire; Onyemenam Ndubuisi; Pradeep
50031107
AF
809Nayak; Progressive Technology Project - Jamie McClelland; Stephen Palmstrom;
810Wikimedia Foundation - Eileen McNaughton
1f0fc2ec
AH
811
812Most authors also reviewed code for this release; in addition, the following
813reviewers contributed their comments:
814
50031107
AF
815Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan
816Dixon; CEDC - Laryn Kragt Bakker; Chris Burgess; CiviCoop - Jaap Jansma;
2405126f
AF
817Centrale Organisatie van Voetbal Scheidsrechters (COVS) - Ed van Leeuwen; Fuzion -
818Luke Stewart; gareth-circle; Greenpeace CEE - Patrick Figel; JMA Consulting -
50031107
AF
819Joe Murray; John Kingsnorth; John Kyle Cronan; Joinery - Allen Shaw; Lighthouse
820Design and Consulting - Brian Shaughnessy; myDropWizard - David Snopek; Nicol
821Wistreich; Webstanz - Adelson;
2d635fab
AH
822
823## <a name="feedback"></a>Feedback
824
825These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
826to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
827and contact `@agh1`.