5.25.0 release notes: halfway through final edits
[civicrm-core.git] / release-notes / 5.25.0.md
CommitLineData
bdfce0d2
AH
1# CiviCRM 5.25.0
2
a8cf70fe 3Released May 6, 2020
bdfce0d2 4
a8cf70fe 5- **[Synopsis](#synopsis)**
bdfce0d2
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
a8cf70fe
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
498be86b
AF
16| Fix security vulnerabilities? | no |
17| Change the database schema? | **yes** |
18| Alter the API? | **yes** |
19| Require attention to configuration options? | no |
20| Fix problems installing or upgrading to a previous version? | **yes** |
21| Introduce features? | **yes** |
22| Fix bugs? | **yes** |
bdfce0d2
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
498be86b
AF
28- **End of life plans for php 7.0 & deprecate php 7.1
29 ([dev/core#1528](https://lab.civicrm.org/dev/core/issues/1528):
30 [16753](https://github.com/civicrm/civicrm-core/pull/16753),
31 [599](https://github.com/civicrm/civicrm-drupal/pull/599),
32 [598](https://github.com/civicrm/civicrm-drupal/pull/598),
33 [111](https://github.com/civicrm/civicrm-backdrop/pull/111),
34 [16678](https://github.com/civicrm/civicrm-core/pull/16678),
35 [114](https://github.com/civicrm/civicrm-backdrop/pull/114),
36 [187](https://github.com/civicrm/civicrm-wordpress/pull/187) and
37 [184](https://github.com/civicrm/civicrm-wordpress/pull/184))**
bdfce0d2 38
fc6522d4 39 CiviCRM now requires PHP 7.1 at a minimum and recommends PHP 7.3.
bdfce0d2 40
fc6522d4
AH
41 In the process of making this change, the minimum PHP version is now stored in
42 a single place within the core codebase. CMS-specific files have this value,
43 too, but tests enforce that it be the same as the single core value.
bdfce0d2 44
fc6522d4
AH
45- **Replace jcalendar instances with datepicker (Continued
46 Work [dev/core#561](https://lab.civicrm.org/dev/core/issues/561):
47 [15709](https://github.com/civicrm/civicrm-core/pull/15709) and
48 [16863](https://github.com/civicrm/civicrm-core/pull/16863))**
49
50 These changes continue work to move to datepicker from jcalendar by converting
51 report instances from using the legacy jcalendar to using datepicker for date
52 fields and deprecating the `addDateRange` function used by jcalendar.
bdfce0d2 53
498be86b
AF
54- **APIv4 - Add Dashboard & DashboardContact entities
55 ([16867](https://github.com/civicrm/civicrm-core/pull/16867))**
bdfce0d2 56
498be86b
AF
57 Adds APIv4 support for Dashboard & DashboardContact and does some cleanup in
58 the BAO and API layers for improved consistency.
bdfce0d2 59
498be86b
AF
60- **add nl_BE language
61 ([17014](https://github.com/civicrm/civicrm-core/pull/17014))**
bdfce0d2 62
fc6522d4 63 Adds a new translation option for "Dutch (Belgium)".
bdfce0d2 64
498be86b
AF
65- **Add hook to alter display value or Custom field value
66 ([16921](https://github.com/civicrm/civicrm-core/pull/16921))**
bdfce0d2 67
fc6522d4
AH
68 The new hook
69 [`hook_civicrm_alterCustomFieldDisplayValue()`](https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterCustomFieldDisplayValue/)
70 allows modification of the displayed value for a custom field value.
bdfce0d2 71
498be86b 72- **APIv4 Query Improvements (Work Towards
fc6522d4 73 [dev/report#31](https://lab.civicrm.org/dev/report/issues/31):
498be86b
AF
74 [16917](https://github.com/civicrm/civicrm-core/pull/16917) and
75 [16947](https://github.com/civicrm/civicrm-core/pull/16947))**
bdfce0d2 76
fc6522d4
AH
77 This change builds out the APIv4 framework to support `GROUP BY` and different
78 types of expressions in clauses that previously only accepted the names of
79 fields. These expressions can now include numbers, `NULL`, strings, and
80 whitelisted SQL functions. The framework can in theory handle most SQL
81 functions, but this first PR adds support for the aggregate functions `AVG`,
82 `COUNT`, `MAX`, `MIN`, and `SUM`.
bdfce0d2 83
498be86b 84### CiviContribute
bdfce0d2 85
498be86b
AF
86- **Partial Refunds (Work Towards
87 [dev/financial#87](https://lab.civicrm.org/dev/financial/issues/87):
88 [16480](https://github.com/civicrm/civicrm-core/pull/16480))**
bdfce0d2 89
fc6522d4 90 The "Add Payment" form is altered to permit payments to be added even if a
498be86b 91 contribution is fully paid.
bdfce0d2 92
fc6522d4 93- **Add privacy fields to Contribution Detail report
498be86b 94 ([16674](https://github.com/civicrm/civicrm-core/pull/16674))**
bdfce0d2 95
fc6522d4
AH
96 Columns for the following fields are added to the contribution detail report:
97 "Do Not Phone", "Do Not Mail", "Do Not SMS", "Do Not Trade".
bdfce0d2 98
498be86b
AF
99 - **Add "pledge id" as column and filter in Contribution Detail report.
100 ([16868](https://github.com/civicrm/civicrm-core/pull/16868))**
bdfce0d2 101
fc6522d4
AH
102 This change improves the Contribution Detail Report by adding "pledge id" as
103 a filter and column.
bdfce0d2 104
498be86b 105### WordPress Integration
bdfce0d2 106
498be86b
AF
107- **Add shortcodes for Personal Campaign Pages
108 ([185](https://github.com/civicrm/civicrm-wordpress/pull/185) and
109 [16695](https://github.com/civicrm/civicrm-core/pull/16695))**
bdfce0d2 110
fc6522d4 111 Personal Campaign Pages are now available as a shortcode.
bdfce0d2 112
498be86b 113## <a name="bugs"></a>Bugs resolved
bdfce0d2 114
498be86b 115### Core CiviCRM
bdfce0d2 116
9a4c3174
AH
117- **Activity Detail report gives syntax error with force=1 if include case
118 activities is on
119 ([dev/core#1710](https://lab.civicrm.org/dev/core/issues/1710):
120 [17128](https://github.com/civicrm/civicrm-core/pull/17128))**
121
122 The case activity table wasn't properly loaded when the Activity Detail report
123 including case activities would go straight to displaying results.
124
125- **Search Builder - Activity Type search not working.
126 ([dev/core#1714](https://lab.civicrm.org/dev/core/issues/1714):
127 [17215](https://github.com/civicrm/civicrm-core/pull/17215))**
128
129 In Search Builder, searching by activity type would return no results,
130 affecting not only direct searches but also smart groups that built with
131 Search Builder. This resolves the regression, which first appeared in 5.24.3.
132
fc6522d4
AH
133- **Deleting entities leaves obsolete EntityTag records
134 ([dev/core#667](https://lab.civicrm.org/dev/core/issues/667):
135 [16832](https://github.com/civicrm/civicrm-core/pull/16832))**
136
137 Fixes a bug where deleting a contact does not delete tags associated with the
138 contact.
139
140- **Profile Public Title (frontend_title column) is not used in profile
141 create/edit mode
142 ([dev/core#1683](https://lab.civicrm.org/dev/core/issues/1683):
143 [16945](https://github.com/civicrm/civicrm-core/pull/16945))**
144
145 The Public Title setting that was recently added for profiles would only
146 replace the profile name on contribution and event forms. When the profile
147 was used in a standalone context, the name would always appear.
148
149- **Auto-complete search results not consistent with other searches
150 ([dev/core#787](https://lab.civicrm.org/dev/core/issues/787):
151 [13809](https://github.com/civicrm/civicrm-core/pull/13809))**
152
498be86b
AF
153- **Need to Increase Data Size for `form_values` column on
154 civicrm_report_instance table
155 ([dev/core#1569](https://lab.civicrm.org/dev/core/issues/1569):
156 [16836](https://github.com/civicrm/civicrm-core/pull/16836))**
bdfce0d2 157
fc6522d4 158 This hanges the data type for the `form_values` column on the
498be86b 159 `civicrm_report_instance` from TEXT to LONGTEXT.
bdfce0d2 160
498be86b
AF
161- **PHP warning on Add relationship form
162 ([dev/core#1663](https://lab.civicrm.org/dev/core/issues/1663):
163 [16845](https://github.com/civicrm/civicrm-core/pull/16845) and
164 [16941](https://github.com/civicrm/civicrm-core/pull/16941))**
bdfce0d2 165
498be86b
AF
166- **Removing all the dashlets from the dashboard leads to E_NOTICE
167 ([dev/core#1668](https://lab.civicrm.org/dev/core/issues/1668):
168 [16883](https://github.com/civicrm/civicrm-core/pull/16883))**
bdfce0d2 169
498be86b
AF
170- **Regression: Api4 causes container being rebuild on every request
171 ([dev/core#1674](https://lab.civicrm.org/dev/core/issues/1674):
172 [16919](https://github.com/civicrm/civicrm-core/pull/16919))**
bdfce0d2 173
498be86b
AF
174- **E_NOTICE when using the New Individual popup/profile
175 ([dev/core#1676](https://lab.civicrm.org/dev/core/issues/1676):
176 [16924](https://github.com/civicrm/civicrm-core/pull/16924))**
bdfce0d2 177
fc6522d4
AH
178- **[regression] CiviCRM reports that smart groups won't work due to deleted
179 custom fields that aren't deleted
180 ([dev/core#1688](https://lab.civicrm.org/dev/core/issues/1688):
498be86b 181 [16961](https://github.com/civicrm/civicrm-core/pull/16961))**
bdfce0d2 182
fc6522d4
AH
183 A system check would mistakenly report that a smart group was based upon a
184 deleted custom field if it was based upon a checkbox or multi-select custom
185 field.
186
498be86b
AF
187- **Fix checking permissions in api3 profile get
188 ([16848](https://github.com/civicrm/civicrm-core/pull/16848))**
bdfce0d2 189
fc6522d4
AH
190 This resolves a bug where the API would reverse the value of the option to use
191 a current user's permissions when retrieving the list of fields in a profile.
192
498be86b
AF
193- **APIv4 - convert Result object to array when running through json_encode
194 ([16828](https://github.com/civicrm/civicrm-core/pull/16828))**
bdfce0d2 195
498be86b
AF
196- **Api4 AJAX endpoint: change required permission to access AJAX API.
197 ([16705](https://github.com/civicrm/civicrm-core/pull/16705))**
bdfce0d2 198
498be86b 199 Makes it possible to use the API4 AJAX endpoint as an anonymous user.
bdfce0d2 200
498be86b
AF
201- **Make api4 select query object more sane
202 ([16889](https://github.com/civicrm/civicrm-core/pull/16889))**
bdfce0d2 203
498be86b
AF
204- **APIv4 - bugfix in select query
205 ([16900](https://github.com/civicrm/civicrm-core/pull/16900))**
bdfce0d2 206
9a4c3174
AH
207- **APIv4 - Don't advertise implicit multi-joins in Explorer
208 ([17205](https://github.com/civicrm/civicrm-core/pull/17205))**
209
210 Implicit one-to-many joins in APIv4 have been problematic and may get removed.
211 As a soft deprecation, these are no longer displayed in the APIv4 explorer.
212
498be86b
AF
213- **CRM_Core_I18n - Provide a better label for new/unknown locales
214 ([17021](https://github.com/civicrm/civicrm-core/pull/17021))**
bdfce0d2 215
498be86b
AF
216- **Fixed fatal error for class not found when managed hook is invoked during
217 upgrade ([17004](https://github.com/civicrm/civicrm-core/pull/17004))**
bdfce0d2 218
498be86b
AF
219- **log error message instead of throwing exception
220 ([16880](https://github.com/civicrm/civicrm-core/pull/16880) and
221 [16759](https://github.com/civicrm/civicrm-core/pull/16759))**
bdfce0d2 222
498be86b
AF
223- **Fixed fatal error for Event Participants custom search if price set field
224 option is disabled after a registrant has already selected it
225 ([16894](https://github.com/civicrm/civicrm-core/pull/16894))**
bdfce0d2 226
498be86b
AF
227- **Fix display of payment processor title in cancelSubscription form
228 ([16857](https://github.com/civicrm/civicrm-core/pull/16857))**
bdfce0d2 229
498be86b
AF
230- **Fix bug where a % in a serialized array can lead to the data being broken
231 ([16694](https://github.com/civicrm/civicrm-core/pull/16694))**
bdfce0d2 232
498be86b
AF
233- **Respect 'Donot notify activity type' setting
234 ([16800](https://github.com/civicrm/civicrm-core/pull/16800))**
bdfce0d2 235
498be86b
AF
236- **Fix batch contact/activity update with radio options
237 ([16855](https://github.com/civicrm/civicrm-core/pull/16855))**
bdfce0d2 238
498be86b
AF
239- **Fix CustomDataView.tpl plain empty memo field.
240 ([16839](https://github.com/civicrm/civicrm-core/pull/16839))**
bdfce0d2 241
498be86b 242 Ensure note custom fields display on their own lines
bdfce0d2 243
498be86b
AF
244- **Fix setting outBound_option readonly in UI
245 ([16774](https://github.com/civicrm/civicrm-core/pull/16774))**
bdfce0d2 246
498be86b 247 Display the SMTP outbound option as read only.
bdfce0d2 248
498be86b
AF
249- **Make the 'billing address is the same' checkbox respond to the change event
250 ([16496](https://github.com/civicrm/civicrm-core/pull/16496))**
bdfce0d2 251
498be86b 252 Make the "billing address is the same.." checkbox respond to javascript.
bdfce0d2 253
498be86b
AF
254- **Use dbAlias to generate where clause for date field in activity report
255 ([16689](https://github.com/civicrm/civicrm-core/pull/16689))**
bdfce0d2 256
498be86b
AF
257- **[REF] Use composer patches to apply CiviCRM Customisations for CRM-1367 and
258 CRM-5946 ([16870](https://github.com/civicrm/civicrm-core/pull/16870))**
bdfce0d2 259
498be86b
AF
260 Migrates the patching of pear_mail from a script file to using composer
261 patches to ensure CiviCRM customisations for CRM-1367 and CRM-5946 are applied
262 consistently.
bdfce0d2 263
498be86b
AF
264- **Membership join date checkbox on constituent detail report has lost its
265 label ([dev/report#28](https://lab.civicrm.org/dev/report/issues/28):
266 [16829](https://github.com/civicrm/civicrm-core/pull/16829))**
bdfce0d2 267
498be86b 268### CiviCase
bdfce0d2 269
498be86b
AF
270- **Various errors recorded in log message on Manage Case screen -> relationship
271 tab. ([dev/core#1664](https://lab.civicrm.org/dev/core/issues/1664):
272 [16846](https://github.com/civicrm/civicrm-core/pull/16846))**
bdfce0d2 273
498be86b
AF
274 Fixes log messages generated when opening the relationship tab on the Manage
275 Case form.
bdfce0d2 276
498be86b
AF
277- **Merge Case Modal not showing relevant cases
278 ([dev/core#1646](https://lab.civicrm.org/dev/core/issues/1646):
279 [16798](https://github.com/civicrm/civicrm-core/pull/16798))**
bdfce0d2 280
498be86b 281 Ensures the Merge Case Modal shows all relevant cases.
bdfce0d2 282
498be86b
AF
283- **Adding a timeline to a case doesn't get the last activity in the timeline
284 right ([dev/core#1675](https://lab.civicrm.org/dev/core/issues/1675) and
285 [dev/core#1695](https://lab.civicrm.org/dev/core/issues/1695):
286 [289](https://github.com/civicrm/civicrm-packages/pull/289))**
bdfce0d2 287
498be86b
AF
288 Ensures case custom fields are saved when submitted via Drupal webform.
289 Additionally ensures that the last activity in the case timeline is set
290 correctly.
bdfce0d2 291
498be86b
AF
292- **Check for Change Case Type in case activity form doesn't do anything
293 ([dev/core#1652](https://lab.civicrm.org/dev/core/issues/1652):
294 [16785](https://github.com/civicrm/civicrm-core/pull/16785))**
bdfce0d2 295
498be86b
AF
296- **Alternate to #16650 - On Case Audit/Print Report richtext details field is
297 getting escaped when system is non-english
298 ([16659](https://github.com/civicrm/civicrm-core/pull/16659))**
bdfce0d2 299
498be86b 300### CiviContribute
bdfce0d2 301
9a4c3174
AH
302- **Changes to CiviContribute Component Settings not saved
303 ([dev/core#1724](https://lab.civicrm.org/dev/core/issues/1724):
304 [17188](https://github.com/civicrm/civicrm-core/pull/17188))**
305
306 The way that CiviContribute component settings were stored was updated for
307 5.23, but the transition during the upgrade was problematic. This replaces
308 the transition code, resolving issues for sites upgrading directly from 5.22.x
309 or earlier. Sites on 5.23.x or 5.24.x should review their settings, however.
310
311- **Invoice action not shown when invoicing enabled
312 ([17164](https://github.com/civicrm/civicrm-core/pull/17164))**
313
314 The "Invoices - print or email" action was not available for contribution
315 search results even when invoicing was enabled.
316
317- **Cumulative contributions not being calculated with the correct criteria
318 ([dev/core#1740](https://lab.civicrm.org/dev/core/issues/1740):
319 [17237](https://github.com/civicrm/civicrm-core/pull/17237))**
320
321 The cumulative contributions display from a contribution page would needlessly
322 filter contributions by date, with the end date being midnight on the current
323 date. That would exclude contributions received on the current day.
324
fc6522d4
AH
325- **Updating misleading labels on buttons to confirmation pages
326 ([dev/core#1613](https://lab.civicrm.org/dev/core/issues/1613):
327 [16651](https://github.com/civicrm/civicrm-core/pull/16651))**
328
329 Some donors and event registrants interpreted the button text "Confirm
330 Contribution" (on contribution pages) and "Continue" (on event registration
331 pages) to mean that this would complete the contribution or registration. In
332 fact, these would only appear when a confirmation page is used.
333
334 The button text now appears as "Review your contribution" and "Review your
335 registration", respectively.
336
337- **Fix upgrade failure. Thin-out activation logic for `sequentialcreditnotes`.
338 ([16971](https://github.com/civicrm/civicrm-core/pull/16971) following
339 [dev/financial#84](https://lab.civicrm.org/dev/financial/issues/84))**
340
341 This change fixes an issue for some builds when upgrading caused by the
342 activation of the `sequentialcreditnotes` extension to replace core code that
343 generates sequential credit note identifiers.
344
498be86b
AF
345- **Fix Bug where Payment Balance is sometimes miscalculated
346 ([16546](https://github.com/civicrm/civicrm-core/pull/16546))**
bdfce0d2 347
498be86b
AF
348 Fixes a bug where Add Refund is displayed instead of Add Payment on partially
349 paid event contributions.
bdfce0d2 350
498be86b
AF
351- **CRM-20553 Stop contact being overwritten with paypal account name
352 ([14667](https://github.com/civicrm/civicrm-core/pull/14667))**
bdfce0d2 353
498be86b
AF
354 Ensures when a user creates a donation via paypal their CiviCRM contact name
355 is not overwritten to be their paypal account name.
bdfce0d2 356
498be86b
AF
357- **Fix use col "Soft Credit Amount Stats" and any filter of contribution…
358 ([16591](https://github.com/civicrm/civicrm-core/pull/16591))**
bdfce0d2 359
498be86b 360 Ensures that one can use "Soft Credit Amount Stats" with all filters.
bdfce0d2 361
498be86b
AF
362- **CRM_Core_Payment_PayPalProIPN should not call getPayPalPaymentProcessorID()
363 if processor_id is clearly provided in URL
364 ([dev/core#1579](https://lab.civicrm.org/dev/core/issues/1579):
365 [16479](https://github.com/civicrm/civicrm-core/pull/16479))**
bdfce0d2 366
498be86b 367- **Update pending contribution status action also send email without warning
fc6522d4 368 ([dev/core#1640](https://lab.civicrm.org/dev/core/issues/1640):
498be86b 369 [16742](https://github.com/civicrm/civicrm-core/pull/16742))**
bdfce0d2 370
498be86b
AF
371- **PayPal Express Checkout fails on events
372 ([dev/financial#119](https://lab.civicrm.org/dev/financial/issues/119):
373 [16692](https://github.com/civicrm/civicrm-core/pull/16692))**
bdfce0d2 374
498be86b 375### CiviEvent
bdfce0d2 376
498be86b
AF
377- **Remove additional display of buttons for events
378 ([16550](https://github.com/civicrm/civicrm-core/pull/16550))**
bdfce0d2 379
498be86b 380### CiviMember
bdfce0d2 381
fc6522d4
AH
382- **Don't freeze fields for auto-renew memberships
383 ([dev/core#1331](https://lab.civicrm.org/dev/core/issues/1331):
384 [16609](https://github.com/civicrm/civicrm-core/pull/16609) and
385 [16881](https://github.com/civicrm/civicrm-core/pull/16881))**
386
387 Previously, many membership fields were frozen for administrators when the
388 membership was set to auto-renew with a recurring contribution.
389
498be86b
AF
390- **Follow up on fix on updating memberships when a contact is deceased
391 ([16787](https://github.com/civicrm/civicrm-core/pull/16787))**
bdfce0d2 392
498be86b
AF
393 Improves the messages displayed when editing a membership for a contact that
394 is deceased.
bdfce0d2 395
498be86b
AF
396- **Invalid currency "$" on sending offline membership receipt.
397 ([dev/core#1682](https://lab.civicrm.org/dev/core/issues/1682):
398 [16943](https://github.com/civicrm/civicrm-core/pull/16943))**
bdfce0d2 399
498be86b
AF
400 Fixes an 'Invalid currency "$"' error when sending a receipt for a membership
401 created from an offline membership form.
bdfce0d2 402
498be86b
AF
403- **Deceased Contact via Inline doesn't update the Membership's status to
404 Deceased ([dev/core#1599](https://lab.civicrm.org/dev/core/issues/1599):
405 [16724](https://github.com/civicrm/civicrm-core/pull/16724))**
bdfce0d2 406
498be86b 407- **Membership auto-renew is not optional if using price set
fc6522d4 408 ([dev/core#1630](https://lab.civicrm.org/dev/core/issues/1630):
498be86b 409 [16762](https://github.com/civicrm/civicrm-core/pull/16762))**
bdfce0d2 410
498be86b 411### Drupal Integration
bdfce0d2 412
498be86b
AF
413- **Address no longer available as Relationship for Views in Drupal 7
414 ([dev/drupal#110](https://lab.civicrm.org/dev/drupal/issues/110):
415 [118](https://github.com/civicrm/civicrm-backdrop/pull/118) and
416 [600](https://github.com/civicrm/civicrm-drupal/pull/600))**
bdfce0d2 417
498be86b
AF
418- **Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on D8.7
419 ([17085](https://github.com/civicrm/civicrm-core/pull/17085))**
bdfce0d2 420
498be86b 421- **civicrm-setup and backward slashes in file paths on windows don't play nice
fc6522d4 422 together ([dev/core#1643](https://lab.civicrm.org/dev/core/issues/1643):
498be86b 423 [16886](https://github.com/civicrm/civicrm-core/pull/16886))**
bdfce0d2 424
498be86b
AF
425 Fixes installing CiviCRM on Drupal8 sites on windows using civicrm-setup / cv
426 core:install.
bdfce0d2 427
498be86b 428### WordPress Integration
bdfce0d2 429
498be86b 430- **5.23 breaks WP admin menu links
fc6522d4 431 ([dev/core#1637](https://lab.civicrm.org/dev/core/issues/1637):
498be86b 432 [16713](https://github.com/civicrm/civicrm-core/pull/16713))**
bdfce0d2 433
498be86b
AF
434- **Merge REST API wrapper code
435 ([160](https://github.com/civicrm/civicrm-wordpress/pull/160))**
bdfce0d2 436
498be86b 437 Adds routes for CiviCRM scripts in extern.
bdfce0d2 438
498be86b
AF
439- **Set "cms.root" URL in addition to Path
440 ([188](https://github.com/civicrm/civicrm-wordpress/pull/188))**
bdfce0d2 441
498be86b
AF
442 Resolves "Cannot resolve path using 'cms.root.url'" exception thrown on the
443 "Settings - Resource URLs" screen incorrectly on WordPress Multisite Subsite.
bdfce0d2 444
498be86b 445## <a name="misc"></a>Miscellany
bdfce0d2 446
498be86b
AF
447- **Add recurring contribution ID to doCancelRecurring
448 ([16741](https://github.com/civicrm/civicrm-core/pull/16741))**
bdfce0d2 449
498be86b
AF
450- **Support PropertyBag in CRM_Utils_Array
451 ([16699](https://github.com/civicrm/civicrm-core/pull/16699) and
452 [16737](https://github.com/civicrm/civicrm-core/pull/16737))**
bdfce0d2 453
498be86b
AF
454- **Added pseudoconstant for acl_id
455 ([16925](https://github.com/civicrm/civicrm-core/pull/16925))**
bdfce0d2 456
498be86b
AF
457- **Added pseudoconstant for state province
458 ([16799](https://github.com/civicrm/civicrm-core/pull/16799))**
bdfce0d2 459
498be86b
AF
460- **add pseudoconstant for location type
461 ([16758](https://github.com/civicrm/civicrm-core/pull/16758))**
bdfce0d2 462
498be86b
AF
463- **Added pseudoconstant for priceset
464 ([16754](https://github.com/civicrm/civicrm-core/pull/16754))**
bdfce0d2 465
498be86b
AF
466- **pseudoconstant for bounce type
467 ([16727](https://github.com/civicrm/civicrm-core/pull/16727))**
bdfce0d2 468
498be86b
AF
469- **Added pseudoconstant for civicrm_tag.parent_id
470 ([16703](https://github.com/civicrm/civicrm-core/pull/16703))**
bdfce0d2 471
498be86b
AF
472- **Event Cart cleanup
473 ([16691](https://github.com/civicrm/civicrm-core/pull/16691))**
bdfce0d2 474
498be86b
AF
475- **Update cancelSubscription form to use updated methodology
476 ([16501](https://github.com/civicrm/civicrm-core/pull/16501) and
477 [16715](https://github.com/civicrm/civicrm-core/pull/16715))**
bdfce0d2 478
498be86b
AF
479- **Skip expensive smarty Processing when nothing to see here
480 ([16731](https://github.com/civicrm/civicrm-core/pull/16731))**
bdfce0d2 481
498be86b
AF
482- **UFMatch - deprecate unused functions
483 ([16849](https://github.com/civicrm/civicrm-core/pull/16849))**
bdfce0d2 484
498be86b
AF
485- **Shifted UpdateMemberhsip to BAO Layer
486 ([16690](https://github.com/civicrm/civicrm-core/pull/16690))**
bdfce0d2 487
498be86b
AF
488- **Add DAO::writeRecord and DAO::deleteRecord methods
489 ([16856](https://github.com/civicrm/civicrm-core/pull/16856))**
bdfce0d2 490
498be86b
AF
491- **Add some deprecation notices, stop calling PrevNext::cleanupCache
492 ([16697](https://github.com/civicrm/civicrm-core/pull/16697))**
bdfce0d2 493
498be86b
AF
494- **Remove assigns for atypefile
495 ([16895](https://github.com/civicrm/civicrm-core/pull/16895))**
bdfce0d2 496
498be86b
AF
497- **Deprecate use of in OptionGroup::add() function
498 ([16910](https://github.com/civicrm/civicrm-core/pull/16910))**
bdfce0d2 499
498be86b
AF
500- **Improve APIv4 selectUtils to handle join paths in fieldnames.
501 ([16904](https://github.com/civicrm/civicrm-core/pull/16904))**
bdfce0d2 502
498be86b
AF
503- **Upgrade jQuery validation version to v1.19.1
504 ([16625](https://github.com/civicrm/civicrm-core/pull/16625))**
bdfce0d2 505
498be86b
AF
506- **APIv3 - Use new DAO::deleteRecord method
507 ([16869](https://github.com/civicrm/civicrm-core/pull/16869))**
bdfce0d2 508
498be86b
AF
509- **Improve conditional in api3 ChainSubscriber
510 ([16718](https://github.com/civicrm/civicrm-core/pull/16718))**
bdfce0d2 511
498be86b
AF
512- **Mark unused function as deprecated
513 ([16688](https://github.com/civicrm/civicrm-core/pull/16688))**
bdfce0d2 514
498be86b
AF
515- **CRM/Contact - Cleanup boolean expressions
516 ([16844](https://github.com/civicrm/civicrm-core/pull/16844))**
bdfce0d2 517
498be86b
AF
518- **CRM/Contribute - Cleanup boolean expressions
519 ([16853](https://github.com/civicrm/civicrm-core/pull/16853))**
bdfce0d2 520
498be86b
AF
521- **Civi/Test - Refactor out CRM_Utils_Array::value
522 ([16871](https://github.com/civicrm/civicrm-core/pull/16871))**
bdfce0d2 523
498be86b
AF
524- **Cleanup reverse boolean expressions
525 ([16850](https://github.com/civicrm/civicrm-core/pull/16850))**
bdfce0d2 526
498be86b
AF
527- **CRM/Core - Cleanup boolean expressions
528 ([16852](https://github.com/civicrm/civicrm-core/pull/16852))**
bdfce0d2 529
498be86b
AF
530- **CRM/Utils - Cleanup boolean expressions
531 ([16851](https://github.com/civicrm/civicrm-core/pull/16851))**
bdfce0d2 532
498be86b
AF
533- **CRM - Cleanup boolean expressions
534 ([16854](https://github.com/civicrm/civicrm-core/pull/16854))**
bdfce0d2 535
498be86b
AF
536- **Fix another instance of silly use of CRM_Utils_Array::value
537 ([16712](https://github.com/civicrm/civicrm-core/pull/16712))**
bdfce0d2 538
498be86b
AF
539- **Fix passing a non-array to CRM_Utils_Array::value
540 ([16701](https://github.com/civicrm/civicrm-core/pull/16701))**
bdfce0d2 541
498be86b
AF
542- **Fix another instance of NULL being passed to CRM_Utils_Array::value
543 ([16711](https://github.com/civicrm/civicrm-core/pull/16711))**
bdfce0d2 544
498be86b
AF
545- **Remove an instance of passing non-arraay to CRM_Utils_Array::value(
546 ([16706](https://github.com/civicrm/civicrm-core/pull/16706))**
bdfce0d2 547
498be86b
AF
548- **Remove calls & deprecate CRM_Core_BAO_PrevNextCache::setItem
549 ([16696](https://github.com/civicrm/civicrm-core/pull/16696))**
bdfce0d2 550
498be86b
AF
551- **(POC) Add `hook_civicrm_postCommit`, a less foot-gunny variant of
552 `hook_civicrm_post`
553 ([15338](https://github.com/civicrm/civicrm-core/pull/15338))**
bdfce0d2 554
498be86b
AF
555- **Fix typos in xml/dao
556 ([16827](https://github.com/civicrm/civicrm-core/pull/16827))**
bdfce0d2 557
498be86b
AF
558- **Deprecate unused/unneeded pseudoconstant functions
559 ([16771](https://github.com/civicrm/civicrm-core/pull/16771))**
bdfce0d2 560
498be86b
AF
561- **Deprecate calling contactTrashRestore function
562 ([16824](https://github.com/civicrm/civicrm-core/pull/16824))**
bdfce0d2 563
498be86b
AF
564- **Remove old stuff
565 ([16835](https://github.com/civicrm/civicrm-core/pull/16835))**
bdfce0d2 566
498be86b
AF
567- **Remove deprecated cleaning of money in the BAO layer
568 ([16950](https://github.com/civicrm/civicrm-core/pull/16950))**
bdfce0d2 569
498be86b
AF
570- **Remove unused deprecated function
571 ([16812](https://github.com/civicrm/civicrm-core/pull/16812))**
bdfce0d2 572
498be86b
AF
573- **Remove deprecated function
574 ([16907](https://github.com/civicrm/civicrm-core/pull/16907))**
bdfce0d2 575
498be86b
AF
576- **Remove unused code
577 ([16914](https://github.com/civicrm/civicrm-core/pull/16914))**
bdfce0d2 578
498be86b
AF
579- **Remove deprecated parameter
580 ([16813](https://github.com/civicrm/civicrm-core/pull/16813))**
bdfce0d2 581
498be86b 582- **fix typo ([16865](https://github.com/civicrm/civicrm-core/pull/16865))**
bdfce0d2 583
498be86b
AF
584- **API tests - remove unnecessary check for v4
585 ([16866](https://github.com/civicrm/civicrm-core/pull/16866))**
bdfce0d2 586
498be86b
AF
587- **[NFC] APIv4 - Add test coverage for expected fields from join
588 ([16920](https://github.com/civicrm/civicrm-core/pull/16920))**
bdfce0d2 589
498be86b
AF
590- **[NFC] Add in unit test to ensure that APIv4 Doesn't accept an invalid…
591 ([16893](https://github.com/civicrm/civicrm-core/pull/16893))**
bdfce0d2 592
498be86b
AF
593- **[NFC] Use strict comparison where possible
594 ([16896](https://github.com/civicrm/civicrm-core/pull/16896))**
bdfce0d2 595
498be86b
AF
596- **[NFC] Code formatting
597 ([16906](https://github.com/civicrm/civicrm-core/pull/16906))**
bdfce0d2 598
498be86b
AF
599- **[NFC] minor form cleanup.
600 ([16905](https://github.com/civicrm/civicrm-core/pull/16905))**
bdfce0d2 601
498be86b
AF
602- **(NFC) Minor typo: receipients > recipients
603 ([16810](https://github.com/civicrm/civicrm-core/pull/16810))**
bdfce0d2 604
498be86b
AF
605- **[NFC] Minor code cleanup
606 ([16823](https://github.com/civicrm/civicrm-core/pull/16823))**
bdfce0d2 607
498be86b
AF
608- **[NFC] Deprecate passing in silly data
609 ([16818](https://github.com/civicrm/civicrm-core/pull/16818))**
bdfce0d2 610
498be86b
AF
611- **[NFC] Test cleanup
612 ([16817](https://github.com/civicrm/civicrm-core/pull/16817))**
bdfce0d2 613
498be86b
AF
614- **[NFC] Test cleanup, remove duplicate test
615 ([16755](https://github.com/civicrm/civicrm-core/pull/16755))**
bdfce0d2 616
498be86b
AF
617- **(NFC) Minor string error : for for > for
618 ([16773](https://github.com/civicrm/civicrm-core/pull/16773))**
bdfce0d2 619
498be86b
AF
620- **(NFC) Minor typo: contacts(s) -> contact(s)
621 ([16804](https://github.com/civicrm/civicrm-core/pull/16804))**
bdfce0d2 622
498be86b
AF
623- **(NFC) Query.php / Minor typo: Genrated -> Generated
624 ([16803](https://github.com/civicrm/civicrm-core/pull/16803))**
bdfce0d2 625
498be86b
AF
626- **[NFC] Fix comments, use single quotes
627 ([16693](https://github.com/civicrm/civicrm-core/pull/16693))**
bdfce0d2 628
498be86b
AF
629- **[NFC] Mark unused function deprecated, fix some comments & formatting
630 ([16698](https://github.com/civicrm/civicrm-core/pull/16698))**
bdfce0d2 631
498be86b
AF
632- **[NFC] cleanup in test class
633 ([16764](https://github.com/civicrm/civicrm-core/pull/16764))**
bdfce0d2 634
498be86b
AF
635- **[NFC] Use helper / api to delete contacts in tests
636 ([16825](https://github.com/civicrm/civicrm-core/pull/16825))**
bdfce0d2 637
498be86b
AF
638- **[NFC/TEST] Resurrect unfinished test for getRelatedCases()
639 ([16885](https://github.com/civicrm/civicrm-core/pull/16885))**
bdfce0d2 640
498be86b
AF
641- **[Test] Remove skip that seems no longer required
642 ([16912](https://github.com/civicrm/civicrm-core/pull/16912))**
bdfce0d2 643
498be86b
AF
644- **Test for PR 13809
645 ([16474](https://github.com/civicrm/civicrm-core/pull/16474))**
bdfce0d2 646
498be86b
AF
647- **[TEST] Add test for to time processing
648 ([16861](https://github.com/civicrm/civicrm-core/pull/16861))**
bdfce0d2 649
498be86b
AF
650- **[REF] Case Activities Report includes core activities *always*
651 ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366):
652 [16670](https://github.com/civicrm/civicrm-core/pull/16670))**
bdfce0d2 653
498be86b
AF
654- **[REF] Cleanup api3 DashboardContact
655 ([16792](https://github.com/civicrm/civicrm-core/pull/16792))**
bdfce0d2 656
498be86b
AF
657- **[REF] Fixes a bug in Message Template create API where by user permissions
658 checks were being done on system workflow messages
659 ([16788](https://github.com/civicrm/civicrm-core/pull/16788))**
bdfce0d2 660
498be86b
AF
661- **[REF] Remove calls to fatal()
662 ([16746](https://github.com/civicrm/civicrm-core/pull/16746))**
bdfce0d2 663
498be86b
AF
664- **[REF] Cleanup uses of CRM_Utils_Array::value related to numbers
665 ([16778](https://github.com/civicrm/civicrm-core/pull/16778))**
bdfce0d2 666
498be86b
AF
667- **[REF] cleanup financial type form - remove complex inheritence
668 ([16777](https://github.com/civicrm/civicrm-core/pull/16777))**
bdfce0d2 669
498be86b
AF
670- **[REF] Use ?? operator instead of CRM_Utils_Array::value()
671 ([16710](https://github.com/civicrm/civicrm-core/pull/16710))**
bdfce0d2 672
498be86b
AF
673- **[REF] dev/core#1116 - Remove unused misnamed activityTypeName variable
674 ([16730](https://github.com/civicrm/civicrm-core/pull/16730))**
bdfce0d2 675
498be86b
AF
676- **REF Switch to getter on cancelSubscription form
677 ([16740](https://github.com/civicrm/civicrm-core/pull/16740))**
bdfce0d2 678
498be86b
AF
679- **[REF] Minor code simplification
680 ([16734](https://github.com/civicrm/civicrm-core/pull/16734))**
bdfce0d2 681
498be86b
AF
682- **[REF] Hopefully fix regularly failing conformance test
683 ([16732](https://github.com/civicrm/civicrm-core/pull/16732))**
bdfce0d2 684
498be86b
AF
685- **[REF] Use empty() instead of CRM_Utils_Array::value() in inline conditionals
686 ([16729](https://github.com/civicrm/civicrm-core/pull/16729))**
bdfce0d2 687
498be86b
AF
688- **[REF] Use ?? operator instead of CRM_Utils_Array::value() in return
689 statements ([16719](https://github.com/civicrm/civicrm-core/pull/16719))**
bdfce0d2 690
498be86b
AF
691- **[REF] CRM_Utils_Array::value() -> empty()
692 ([16704](https://github.com/civicrm/civicrm-core/pull/16704))**
bdfce0d2 693
498be86b
AF
694- **[REF] Cleanup is_array(CRM_Utils_Array::value()) pattern
695 ([16875](https://github.com/civicrm/civicrm-core/pull/16875))**
bdfce0d2 696
498be86b
AF
697- **[REF] Remove redundant call to build permissions
698 ([16862](https://github.com/civicrm/civicrm-core/pull/16862))**
bdfce0d2 699
498be86b
AF
700- **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments
701 ([16768](https://github.com/civicrm/civicrm-core/pull/16768))**
bdfce0d2 702
498be86b
AF
703- **[REF] Replace coalesce pattern with coalesce operator
704 ([16802](https://github.com/civicrm/civicrm-core/pull/16802))**
bdfce0d2 705
498be86b
AF
706- **[REF] Switch to using a non abandoned library for getting a mapping of
707 mimetypes to extensions
708 ([16436](https://github.com/civicrm/civicrm-core/pull/16436))**
bdfce0d2 709
498be86b
AF
710- **[REF] move buildQuickForm function to the trait
711 ([16948](https://github.com/civicrm/civicrm-core/pull/16948))**
bdfce0d2 712
498be86b
AF
713- **[REF] Move properties to Trait
714 ([16940](https://github.com/civicrm/civicrm-core/pull/16940))**
bdfce0d2 715
498be86b
AF
716- **[REF] Start transitioning EmailCommon class to a trait
717 ([16935](https://github.com/civicrm/civicrm-core/pull/16935))**
bdfce0d2 718
498be86b
AF
719- **[REF] Remove fatal, fix some code comments
720 ([16928](https://github.com/civicrm/civicrm-core/pull/16928))**
bdfce0d2 721
498be86b
AF
722- **[REF] extract code to getEmails
723 ([16929](https://github.com/civicrm/civicrm-core/pull/16929))**
bdfce0d2 724
498be86b
AF
725- **[REF] Minor simplification - do not use variable variables
726 ([16927](https://github.com/civicrm/civicrm-core/pull/16927))**
bdfce0d2 727
498be86b
AF
728- **[REF] Extract code used to render a pseudoconstant when a table is defined.
729 ([16902](https://github.com/civicrm/civicrm-core/pull/16902))**
bdfce0d2 730
498be86b
AF
731- **[REF] Move form specific handling back to the relevant form.
732 ([16913](https://github.com/civicrm/civicrm-core/pull/16913))**
bdfce0d2 733
498be86b
AF
734- **[REF] APIv4 - Preserve order when expanding select wildcards
735 ([16909](https://github.com/civicrm/civicrm-core/pull/16909))**
bdfce0d2 736
498be86b
AF
737- **[REF] Remove & from before variable
738 ([16897](https://github.com/civicrm/civicrm-core/pull/16897))**
bdfce0d2 739
498be86b
AF
740- **[REF] Replace \CRM_Utils_Array::value with ??
741 ([16872](https://github.com/civicrm/civicrm-core/pull/16872))**
bdfce0d2 742
498be86b
AF
743- **[REF] Civi/Api4 - Refactor out 'use CRM_Utils_Array'
744 ([16873](https://github.com/civicrm/civicrm-core/pull/16873))**
bdfce0d2 745
498be86b
AF
746- **[REF] BAO_Contact - Remove CRM_Utils_Array::value and other unnecessary code
747 ([16874](https://github.com/civicrm/civicrm-core/pull/16874))**
bdfce0d2 748
498be86b
AF
749- **[REF] APIv4 - Restructure the way get query objects are constucted
750 ([16878](https://github.com/civicrm/civicrm-core/pull/16878))**
bdfce0d2 751
498be86b
AF
752- **[REF] Fix PCP getPcpDashboardInfo to be tested & use sensible functions
753 ([16790](https://github.com/civicrm/civicrm-core/pull/16790))**
bdfce0d2 754
498be86b
AF
755- **[REF] Simplify obtuse boolean expressions
756 ([16822](https://github.com/civicrm/civicrm-core/pull/16822))**
bdfce0d2 757
498be86b
AF
758- **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments
759 ([16820](https://github.com/civicrm/civicrm-core/pull/16820))**
bdfce0d2 760
498be86b
AF
761- **[REF] cleanups on array operator
762 ([16821](https://github.com/civicrm/civicrm-core/pull/16821))**
bdfce0d2 763
498be86b
AF
764- **[REF] Simplify obtuse boolean expressions
765 ([16819](https://github.com/civicrm/civicrm-core/pull/16819))**
bdfce0d2 766
498be86b
AF
767- **[REF] Remove titleHeader var
768 ([16816](https://github.com/civicrm/civicrm-core/pull/16816))**
bdfce0d2 769
498be86b
AF
770- **[REF] simplify references to civicrm_acl
771 ([16671](https://github.com/civicrm/civicrm-core/pull/16671))**
bdfce0d2 772
9a4c3174
AH
773- **[REF] Fix retrieving invoice related settings when doing complete
774 transaction ([17218](https://github.com/civicrm/civicrm-core/pull/17218))**
775
bdfce0d2
AH
776## <a name="credits"></a>Credits
777
778This release was developed by the following code authors:
779
498be86b
AF
780a-n The Artists Information Company - William Mortada; AGH Strategies - Alice
781Frumin, Andrew Hunt; Alexy Mikhailichenko; Andrei Mondoc; Christian Wach; Circle
782Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts,
783Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D;
784Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - César
785Ramos; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; Kartik Kathuria;
786Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson;
787Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
788Naomi Rosenberg; Ray Wright; OSSeed Technologies LLP - Sushant Paste; SYSTOPIA
789Organisationsberatung - Björn Endres; Timbsoft Technologies - Tunbola Ogunwande;
790Wikimedia Foundation - Eileen McNaughton
bdfce0d2
AH
791
792Most authors also reviewed code for this release; in addition, the following
793reviewers contributed their comments:
794
498be86b
AF
795Agileware - Justin Freeman; Artful Robot - Rich Lott; British Humanist
796Association - Andrew West; CiviDesk - Nicolas Ganivet; Coop SymbioTIC - Mathieu
797Lutfy; Digitalcourage - Detlev Sieber; Freeform Solutions - S. Gray; Fuzion -
798Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; Jamie
799Tillman; JMA Consulting - Monish Deb; Korlon - Stuart Gaston; MJCO - Mikey
800O'Toole; Richard van Oosterhout; Skvare - Mark Hanna; Squiffle Consulting -
fc6522d4 801Aidan Saunders; Tadpole Collective - Kevin Cristiano
a8cf70fe
AH
802
803## <a name="feedback"></a>Feedback
804
805These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
806to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
807and contact `@agh1`.