Merge pull request #16785 from demeritcowboy/weird-casetype-check
[civicrm-core.git] / release-notes / 5.24.0.md
1 # CiviCRM 5.24.0
2
3 Released April 1, 2020
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | Change the database schema? | |
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** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **Menubar - Add "find menu item" search feature
29 ([16597](https://github.com/civicrm/civicrm-core/pull/16597))**
30
31 Adds a new "Find menu item" search under the "Home" (Civi logo) menu which
32 allows user to locate menu items by typing a few letters.
33
34 - **Allow advanced search for contributions without a soft credit related
35 ([dev/core#1386](https://lab.civicrm.org/dev/core/issues/1386):
36 [15834](https://github.com/civicrm/civicrm-core/pull/15834) and
37 [16622](https://github.com/civicrm/civicrm-core/pull/16622))**
38
39 Improves the Advanced Search UI "Contributions" section "Contributions or Soft
40 Credits?" field field by adding a fifth option "Contributions without a soft
41 credit" and updating the labels for the other options.
42
43 - **Allow payment processors to indicate whether they require an email address
44 ([dev/core#1584](https://lab.civicrm.org/dev/core/issues/1584):
45 [16503](https://github.com/civicrm/civicrm-core/pull/16503))**
46
47 Adds a function to indicate whether a payment processor requires an email
48 address which can be used to determine whether drupal webform should require
49 an email address.
50
51 - **Show full description under select2 options
52 ([dev/core#1587](https://lab.civicrm.org/dev/core/issues/1587):
53 [16507](https://github.com/civicrm/civicrm-core/pull/16507) and
54 [16510](https://github.com/civicrm/civicrm-core/pull/16510))**
55
56 Improves the usability of Select-2 drop downs by displaying the
57 full description in a tool tip when hovering over an option.
58
59 - **Migrate installers to "setup" API (Work Towards
60 [dev/core#1615](https://lab.civicrm.org/dev/core/issues/1615):
61 [16618](https://github.com/civicrm/civicrm-core/pull/16618))**
62
63 Migrates `civicrm-setup` from its own git repo to `civicrm-core.git:setup/`.
64
65 - **APIv4-based smart groups
66 ([16666](https://github.com/civicrm/civicrm-core/pull/16666))**
67
68 Allows smart groups to be created with APIv4 params in addition to via search
69 form values. Adds a button to save smart groups from the APIv4 explorer.
70
71 - **Style & layout clean up
72 ([16680](https://github.com/civicrm/civicrm-core/pull/16680))**
73
74 Improves the Contribution Invoice template by cleaning it up, improving
75 the layout and making the CiviCRM logo comply with the display "empowered by
76 CiviCRM" setting.
77
78 - **Relationship report - add sort order for end date
79 ([16512](https://github.com/civicrm/civicrm-core/pull/16512))**
80
81 Improves the Relationship report by making end date available as a field to
82 sort by.
83
84 - **add column for report
85 ([16523](https://github.com/civicrm/civicrm-core/pull/16523))**
86
87 Adds "is active?" as an option for the "Columns" tab for the Relationship
88 report.
89
90 - **Make php 7.3 the recommended php version
91 ([16459](https://github.com/civicrm/civicrm-core/pull/16459))**
92
93 Makes the recommended php version 7.3.
94
95 - **Increase php min recommended version
96 ([16668](https://github.com/civicrm/civicrm-core/pull/16668))**
97
98 Makes the minimum recommended php version 7.2 (it was 7.1).
99
100 - **Add pseudoconstant for priceset
101 ([16665](https://github.com/civicrm/civicrm-core/pull/16665) and
102 [16648](https://github.com/civicrm/civicrm-core/pull/16648))**
103
104 Adds a pseudo constant for price set so that the API accepts `price_set_id` by
105 name or id.
106
107 - **[Feature] Add in new hook alterUFFields to allow extensions to modify which
108 fields can be added to a profile
109 ([16655](https://github.com/civicrm/civicrm-core/pull/16655))**
110
111 Adds a new hook `hook_civicrm_alterUFFields` which allows extensions to modify
112 fields in a profile.
113
114 - **Enable the "sequentialcreditnotes" extension on new installations
115 ([16598](https://github.com/civicrm/civicrm-core/pull/16598))**
116
117 Ensures the new core extension `sequenttialcreditnotes` is added on upgrade
118 AND install.
119
120 - **Move settings definition on contribution settings form to metadata.
121 ([16513](https://github.com/civicrm/civicrm-core/pull/16513))**
122
123 Moves from hard coded settings on contribution settings forms to setting a
124 spec for adding settings to a contribution form making it possible for
125 extension developers to modify the settings using a hook (like the
126 `sequentialcreditnotes` extension).
127
128 - **Making the poor performance associated with the `creditnote_id` field opt in
129 rather than opt out (Work Towards
130 [dev/financial#84](https://lab.civicrm.org/dev/financial/issues/84):
131 [16531](https://github.com/civicrm/civicrm-core/pull/16531) and
132 [16664](https://github.com/civicrm/civicrm-core/pull/16664))**
133
134 Refactors code in preparation of make the credit note field opt in.
135 Additionally, makes it possible to hide extensions by tagging them
136 "mgmt:hidden" and hides the `sequentialcreditnotes` extension.
137
138 - **Upgrade Net_SMTP Package and remove now unneeded patches and move to using
139 composer patches rather than patching in a script file
140 ([16498](https://github.com/civicrm/civicrm-core/pull/16498))**
141
142 Updates the `Net_SMTP` package to the latest version of the library and
143 standardizes patches.
144
145 - **info.xml - Allow extensions to define a list of tags
146 ([16551](https://github.com/civicrm/civicrm-core/pull/16551))**
147
148 Makes it so that extension developers can register tags in the info.xml file.
149
150 - **Speed boost for civicrm/ajax/checkemail
151 ([15824](https://github.com/civicrm/civicrm-core/pull/15824))**
152
153 Performance improvement for `civicrm/ajax/checkemail` which is used when
154 adding a cc email address to an email message among other places.
155
156 - **Improve activity query performance in Constituent Detail Report
157 ([13078](https://github.com/civicrm/civicrm-core/pull/13078))**
158
159 Improves performance of the "Constituent Detail Report" template.
160
161 - **Added conditional check so that it can be altered by hook
162 ([16499](https://github.com/civicrm/civicrm-core/pull/16499))**
163
164 Added a conditional check for printing blocks so that they can be easily
165 altered by hooks.
166
167 - **Enable jQuery validate on register/contribution forms
168 ([16494](https://github.com/civicrm/civicrm-core/pull/16494))**
169
170 Makes jQuery validate available by default on frontend contribution /
171 registration forms.
172
173 ### CiviCase
174
175 - **Add ts() for a sentence 'Add to case as role'
176 ([16630](https://github.com/civicrm/civicrm-core/pull/16630))**
177
178 Improves translation by making the string 'Add to case as role'
179 translatable.
180
181 - **Add CiviCase option for showing case activities in normal views
182 ([16360](https://github.com/civicrm/civicrm-core/pull/16360))**
183
184 Provides a setting controlling whether activities that belong to cases are
185 visible outside of cases.
186
187 ### CiviContribute
188
189 - **Proposal: Add in payment_processor-{payment processor type} class attribute
190 to Radio HTML
191 ([dev/financial#105](https://lab.civicrm.org/dev/financial/issues/105):
192 [15940](https://github.com/civicrm/civicrm-core/pull/15940))**
193
194 Adds a css class to each radio button for payment processor options so that
195 they can be styled distinctly.
196
197 - **Payment edit link cannot be modified
198 ([dev/financial#117](https://lab.civicrm.org/dev/financial/issues/117):
199 [16504](https://github.com/civicrm/civicrm-core/pull/16504))**
200
201 Makes it so the edit payment link on view of a Contribution can be modified by
202 `hook_civicrm_links`.
203
204 - **Proposal - move source & received date to near the top on ContributionView
205 form ([dev/financial#118](https://lab.civicrm.org/dev/financial/issues/118):
206 [16565](https://github.com/civicrm/civicrm-core/pull/16565))**
207
208 Improves the UI of Contributions in view mode by moving the source and date
209 fields closer to the top.
210
211 ### CiviMail
212
213 - **Pass template_type through to alterMailing hook
214 ([16529](https://github.com/civicrm/civicrm-core/pull/16529))**
215
216 Improves `hook_civicrm_alterMailing` by passing the `template_type`
217 (traditional or mosaico).
218
219 ### Drupal Integration
220
221 - **Use `civicrm-setup` to handle installation
222 ([dev/drupal#4](https://lab.civicrm.org/dev/drupal/issues/4):
223 [16628](https://github.com/civicrm/civicrm-core/pull/16628))**
224
225 Improves the installation process for drupal 8 by making it so `civicrm-setup`
226 reports the pending action.
227
228 ## <a name="bugs"></a>Bugs resolved
229
230 ### Core CiviCRM
231
232 - **Export Problems from Advanced Search - Searchable Numeric Fields Throw SQL
233 Error & Not all Rows Exported
234 ([CRM-607](https://issues.civicrm.org/jira/browse/CRM-607):
235 [16627](https://github.com/civicrm/civicrm-core/pull/16627))**
236
237 Fixes a syntax error for smart groups that reference custom fields that have
238 been removed.
239
240 - **Do not CC or BCC (Event) Contribution invoice
241 ([dev/core#1436](https://lab.civicrm.org/dev/core/issues/1436):
242 [16005](https://github.com/civicrm/civicrm-core/pull/16005))**
243
244 Ensures Contribution Invoices are not sent to the CC and BCC email address(s)
245 configured for Event Confirmation purposes.
246
247 - **Group search form template does not add Datatables CSS classes (DT_RowClass)
248 ([dev/core#1547](https://lab.civicrm.org/dev/core/issues/1547):
249 [16359](https://github.com/civicrm/civicrm-core/pull/16359))**
250
251 Ensures child groups are nested on the Manage Groups form.
252
253 - **Multisite domain group fails on 5.20.0 (Work Towards
254 [dev/core#1450](https://lab.civicrm.org/dev/core/issues/1450):
255 [16095](https://github.com/civicrm/civicrm-core/pull/16095))**
256
257 Improves performance of the multi site domain group to keep it from crashing
258 on sites with large domain groups.
259
260 - **scheduled reminder: select participant role permissions require admin &
261 don't match rest of scheduled reminder permissions
262 ([dev/core#1568](https://lab.civicrm.org/dev/core/issues/1568):
263 [16455](https://github.com/civicrm/civicrm-core/pull/16455))**
264
265 Ensures that non-administrator users setting scheduled reminders can limit by
266 participant role.
267
268 - **Custom Group Types not filterable
269 ([dev/core#1577](https://lab.civicrm.org/dev/core/issues/1577):
270 [16475](https://github.com/civicrm/civicrm-core/pull/16475))**
271
272 Ensures that the "Custom Group Type" filter works on the "Manage Groups" form.
273
274 - **E_WARNING on New/Edit Tag screen
275 ([dev/core#1593](https://lab.civicrm.org/dev/core/issues/1593) and
276 [dev/core#1536](https://lab.civicrm.org/dev/core/issues/1536):
277 [16554](https://github.com/civicrm/civicrm-core/pull/16554))**
278
279 Fixes count E_WARNING on the Tag screen.
280
281 - **Extension unit tests broken in master
282 ([dev/core#1594](https://lab.civicrm.org/dev/core/issues/1594):
283 [16544](https://github.com/civicrm/civicrm-core/pull/16544))**
284
285 Ensures extension unit tests run.
286
287 - **Undefined offset 0 in system check for custom fields after upgrade to 5.23
288 ([dev/core#1636](https://lab.civicrm.org/dev/core/issues/1636):
289 [16707](https://github.com/civicrm/civicrm-core/pull/16707))**
290
291 Fixes an E_NOTICE "Undefined index 0 line 109 in
292 CRM/Utils/Check/Component/Schema.php" when logging in to a site with smart
293 groups that don't have `form_values[0]` (most likely made thru the API).
294
295 - **Fix SettingTrait YesNo translation
296 ([16685](https://github.com/civicrm/civicrm-core/pull/16685))**
297
298 Ensures "Yes/no" radio admin settings are correctly translated.
299
300 - **TokenProcessor - fix greetings tokens
301 ([16624](https://github.com/civicrm/civicrm-core/pull/16624))**
302
303 Ensure greetings tokens get populated as expected.
304
305 - **Contact Type Values with Cap in order to be well translated with ts()
306 ([16638](https://github.com/civicrm/civicrm-core/pull/16638))**
307
308 Ensures Contact Types get translated in the task menu.
309
310 - **CommunicationPreferences 'loclize' -> 'localize'
311 ([16633](https://github.com/civicrm/civicrm-core/pull/16633))**
312
313 Ensures the "Communication Preferences" field options get localized.
314
315 - **Convert civicrm_note.modified_date to timestamp
316 ([16338](https://github.com/civicrm/civicrm-core/pull/16338))**
317
318 Ensures the `civicrm_note.modified_date` field stores the date and time before
319 this change this field only stored the date.
320
321 - **Fix two more php-finding regexes
322 ([16606](https://github.com/civicrm/civicrm-core/pull/16606))**
323
324 Ensures the APIv4 explorer loads regardless regardless of the enclosing path.
325
326 - **Settings Fix setting readonly attribute
327 ([16451](https://github.com/civicrm/civicrm-core/pull/16451))**
328
329 Ensures that when a setting is defined via "civicrm.settings.php" it is set to
330 read only in the ui.
331
332 - **Fix issues with retrieving supportsTestMode/supportsLiveMode for payment
333 processors ([15330](https://github.com/civicrm/civicrm-core/pull/15330))**
334
335 Improves performance and ensures that one cannot select a live payment
336 processor on the back end payment form in test mode.
337
338 - **State/province not copied on shared address
339 ([dev/core#1605](https://lab.civicrm.org/dev/core/issues/1605):
340 [16649](https://github.com/civicrm/civicrm-core/pull/16649))**
341
342 - **Activity Summary civireport gives fatal error when grouping activity date by
343 quarter ([dev/core#1619](https://lab.civicrm.org/dev/core/issues/1619):
344 [16643](https://github.com/civicrm/civicrm-core/pull/16643))**
345
346 - **Fix parameter format for upgrade call to install/enable
347 sequentialcreditnotes
348 ([16686](https://github.com/civicrm/civicrm-core/pull/16686))**
349
350 - **Activity Report: filtering by "is null" or "is not null" is ignored
351 ([dev/core#1627](https://lab.civicrm.org/dev/core/issues/1627):
352 [16672](https://github.com/civicrm/civicrm-core/pull/16672))**
353
354 - **Fix backoffice participant partial payments to be stdised & not miscalculate
355 net_amount ([16442](https://github.com/civicrm/civicrm-core/pull/16442))**
356
357 - **Throwing API_Exception if file fails to copy when creating attachment
358 ([16465](https://github.com/civicrm/civicrm-core/pull/16465))**
359
360 - **Do not enable core payment processor types that we believe likely don't work
361 on new installs
362 ([16362](https://github.com/civicrm/civicrm-core/pull/16362))**
363
364 - **Resolve notices if first donation amount and date columns were disabled
365 ([16491](https://github.com/civicrm/civicrm-core/pull/16491))**
366
367 - **Allow any casting done in Type::validate to bubble up to
368 Request::retrieveValue
369 ([16525](https://github.com/civicrm/civicrm-core/pull/16525))**
370
371 - **Fix a PHP notice for users with limited permissions when loading a contact's
372 summary ([16515](https://github.com/civicrm/civicrm-core/pull/16515))**
373
374 - **Do not fatally fail on angular pages if an extension is missing
375 ([16533](https://github.com/civicrm/civicrm-core/pull/16533))**
376
377 - **fix contribution summary report's statistics when grouping and having
378 ([16467](https://github.com/civicrm/civicrm-core/pull/16467))**
379
380 - **Don't cache the full path of extensions so they don't break with dynamic
381 paths
382 ([dev/cloud-native#21](https://lab.civicrm.org/dev/cloud-native/issues/21):
383 [15410](https://github.com/civicrm/civicrm-core/pull/15410))**
384
385 - **Monetary Amount Display setting not respected for price set totals
386 ([dev/core#1019](https://lab.civicrm.org/dev/core/issues/1019):
387 [16487](https://github.com/civicrm/civicrm-core/pull/16487))**
388
389 - **mailing label primary address selection ignored if global option
390 searchPrimaryDetailsOnly disabled
391 ([dev/core#1158](https://lab.civicrm.org/dev/core/issues/1158):
392 [14928](https://github.com/civicrm/civicrm-core/pull/14928) and
393 [16640](https://github.com/civicrm/civicrm-core/pull/16640))**
394
395 - **APIv4 - Correctly return null values from DAO save actions
396 ([16645](https://github.com/civicrm/civicrm-core/pull/16645))**
397
398 - **Api4 - Display sql errors in explorer
399 ([16641](https://github.com/civicrm/civicrm-core/pull/16641))**
400
401 - **"DB Error: unknown error" when merging if duplicate contact has null
402 created_date ([dev/core#1589](https://lab.civicrm.org/dev/core/issues/1589):
403 [16543](https://github.com/civicrm/civicrm-core/pull/16543))**
404
405 ### CiviCampaign
406
407 - **Secondarily order campaign dashboard by id
408 ([15316](https://github.com/civicrm/civicrm-core/pull/15316))**
409
410 Improves the "Campaign Dashboard" by organizing Campaigns by Start Date and
411 then Id so that if campaigns are rapidly added they show up in the correct
412 order.
413
414 ### CiviCase
415
416 - **Case Activities Report includes core activities *always*
417 ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366):
418 [16669](https://github.com/civicrm/civicrm-core/pull/16669),
419 [16660](https://github.com/civicrm/civicrm-core/pull/16660) and
420 [15998](https://github.com/civicrm/civicrm-core/pull/15998))**
421
422 Improves printing/generating the Case Activity Audit by skipping a screen
423 that does not work and cleaning up the code.
424
425 - **Incorrect boolean comparisons in ang/crmCaseType/list.html for is_active and
426 is_reserved ([dev/core#1451](https://lab.civicrm.org/dev/core/issues/1451):
427 [16035](https://github.com/civicrm/civicrm-core/pull/16035))**
428
429 Ensures the correct drop down actions are displayed on the case type listing
430 screen.
431
432 - **My Case dashlet doesn't sort by name but contact_id instead
433 ([dev/core#1623](https://lab.civicrm.org/dev/core/issues/1623):
434 [16647](https://github.com/civicrm/civicrm-core/pull/16647))**
435
436 Ensures the case dashlet sorts by contact sort name.
437
438 - **Remove hardcoded settings from form and use SettingForm.tpl for Case
439 settings ([16600](https://github.com/civicrm/civicrm-core/pull/16600))**
440
441 ### CiviContribute
442
443 - **when importing contributions, can't match contact on phone number
444 ([dev/core#1438](https://lab.civicrm.org/dev/core/issues/1438):
445 [16009](https://github.com/civicrm/civicrm-core/pull/16009))**
446
447 Ensures when importing contributions, phone number is listed as a field to
448 match on and that matching via phone number works as expected.
449
450 - **Invoice does not assign/display the contact's country
451 ([dev/financial#109](https://lab.civicrm.org/dev/financial/issues/109):
452 [15964](https://github.com/civicrm/civicrm-core/pull/15964))**
453
454 - **CRM_Utils_Money::equals should round to monetary values then compare, not do
455 a difference comparison.
456 ([dev/financial#104](https://lab.civicrm.org/dev/financial/issues/104):
457 [15856](https://github.com/civicrm/civicrm-core/pull/15856))**
458
459 - **Count refunds when calculating amount due for an invoice
460 ([16506](https://github.com/civicrm/civicrm-core/pull/16506))**
461
462 ### CiviMail
463
464 - **Unsubscribe broken on multilingual sites -- may cause mass unsubscribes to
465 all groups ([dev/core#1622](https://lab.civicrm.org/dev/core/issues/1622):
466 [16634](https://github.com/civicrm/civicrm-core/pull/16634))**
467
468 ### CiviMember
469
470 - **Deleting memberships does not delete its related line item.
471 ([dev/membership#17](https://lab.civicrm.org/dev/membership/issues/17):
472 [15859](https://github.com/civicrm/civicrm-core/pull/15859))**
473
474 - **Related / Inherited Memberships: Custom fields not filled with data
475 ([dev/core#1365](https://lab.civicrm.org/dev/core/issues/1365):
476 [15884](https://github.com/civicrm/civicrm-core/pull/15884))**
477
478 ### Drupal Integration
479
480 - **Multi-select custom data shows values not labels in drupal user record
481 ([CRM-984](https://issues.civicrm.org/jira/browse/CRM-984):
482 [549](https://github.com/civicrm/civicrm-drupal/pull/549))**
483
484 Ensures that the "Add CiviCRM Tag to Contact" action lists Tags as options
485 instead of Groups.
486
487 - **Check email when creating a user in drupal 8
488 ([15390](https://github.com/civicrm/civicrm-core/pull/15390))**
489
490 Ensures when creating a new Drupal8 user via a CiviCRM profile, the email
491 address entered is validated as a unique user email.
492
493 - **`E2E_Cache_*Test` raises dependency-hell in D8
494 ([dev/core#1562](https://lab.civicrm.org/dev/core/issues/1562):
495 [16522](https://github.com/civicrm/civicrm-core/pull/16522))**
496
497 ### WordPress Integration
498
499 - **Fix display of administrator permissions in WordPress Multisite
500 ([dev/core#1628](https://lab.civicrm.org/dev/core/issues/1628):
501 [16675](https://github.com/civicrm/civicrm-core/pull/16675))**
502
503 Ensures that users with the role "Network
504 Administrator" can limit the permissions for users with the role "Site
505 Administrator" for WordPress with Multisite.
506
507 - **Fix synchronisation of Users to Contacts in WordPress Multisite
508 ([dev/core#1629](https://lab.civicrm.org/dev/core/issues/1629):
509 [16676](https://github.com/civicrm/civicrm-core/pull/16676))**
510
511 For WordPress Multisite's ensures that only users of a particular sub site are
512 synced to CiviCRM for that sub site.
513
514 ## <a name="misc"></a>Miscellany
515
516 - **Remove fatal from form
517 ([16500](https://github.com/civicrm/civicrm-core/pull/16500))**
518
519 - **Add deprecation notices on PartialAmount params
520 ([16505](https://github.com/civicrm/civicrm-core/pull/16505))**
521
522 - **fix headers ([16492](https://github.com/civicrm/civicrm-core/pull/16492))**
523
524 - **API Kernel - cleanup deprecated fn & unused param
525 ([16511](https://github.com/civicrm/civicrm-core/pull/16511))**
526
527 - **Common.js - remove duplicate function
528 ([16508](https://github.com/civicrm/civicrm-core/pull/16508))**
529
530 - **Fix calls to Request::retrieve
531 ([16526](https://github.com/civicrm/civicrm-core/pull/16526))**
532
533 - **APIv4 - merge ActionUtil with Request::create
534 ([16516](https://github.com/civicrm/civicrm-core/pull/16516))**
535
536 - **Fix year typo.
537 ([16486](https://github.com/civicrm/civicrm-core/pull/16486))**
538
539 - **Remove reference to mysql 5.0 & 5.1
540 ([16539](https://github.com/civicrm/civicrm-core/pull/16539))**
541
542 - **Change "Added By" to "Added by"
543 ([16527](https://github.com/civicrm/civicrm-core/pull/16527))**
544
545 - **Remove old defines for flexmailer that haven't been required since CiviCRM
546 5.x ([16528](https://github.com/civicrm/civicrm-core/pull/16528))**
547
548 - **Make savedSearch bao sane
549 ([16575](https://github.com/civicrm/civicrm-core/pull/16575))**
550
551 - **Add deprecation notice
552 ([16585](https://github.com/civicrm/civicrm-core/pull/16585))**
553
554 - **Move determination of year & month to formatCreditCardDetails
555 ([16562](https://github.com/civicrm/civicrm-core/pull/16562))**
556
557 - **Add description to params for api3 Payment.get
558 ([16602](https://github.com/civicrm/civicrm-core/pull/16602))**
559
560 - **Move sequentialcreditnotes under `ext/` folder
561 ([16616](https://github.com/civicrm/civicrm-core/pull/16616))**
562
563 - **Removed Invalid Parameter from function doc
564 ([16631](https://github.com/civicrm/civicrm-core/pull/16631))**
565
566 - **civicrm.settings.php.template - Simplify examples of `$civicrm_setting`
567 ([16636](https://github.com/civicrm/civicrm-core/pull/16636))**
568
569 - **Remove unused columns from civicrm_saved_search
570 ([16637](https://github.com/civicrm/civicrm-core/pull/16637))**
571
572 - **News dashboard - Code cleanup to update js & css
573 ([16632](https://github.com/civicrm/civicrm-core/pull/16632))**
574
575 - **Fix mistake in comment
576 ([16657](https://github.com/civicrm/civicrm-core/pull/16657))**
577
578 - **Remove helper function now that contribution settings is not weirdly stored
579 ([16566](https://github.com/civicrm/civicrm-core/pull/16566))**
580
581 - **added sudo constant for sms api type
582 ([16679](https://github.com/civicrm/civicrm-core/pull/16679))**
583
584 - **Add setEntityId() to entityForm
585 ([16020](https://github.com/civicrm/civicrm-core/pull/16020))**
586
587 - **Remove deprecated function CRM_Contact_BAO_GroupContactCache::remove
588 ([16682](https://github.com/civicrm/civicrm-core/pull/16682))**
589
590 - **Ancient switch statement that provides hardcoded translation doesn't do
591 anything anymore
592 ([dev/translation#37](https://lab.civicrm.org/dev/translation/issues/37):
593 [16619](https://github.com/civicrm/civicrm-core/pull/16619))**
594
595 - **Cleanup copyValues DAO function
596 ([16589](https://github.com/civicrm/civicrm-core/pull/16589))**
597
598 - **Remove unused code
599 ([16493](https://github.com/civicrm/civicrm-core/pull/16493))**
600
601 - **remove unnecessary file
602 ([16502](https://github.com/civicrm/civicrm-core/pull/16502))**
603
604 - **[REF] Fix static call to non-static function.
605 ([16552](https://github.com/civicrm/civicrm-core/pull/16552))**
606
607 - **[REF] Change function signature to support moving this off the form layer
608 ([16677](https://github.com/civicrm/civicrm-core/pull/16677))**
609
610 - **[REF] Remove FPDI library from packages as it is deployed by composer
611 ([287](https://github.com/civicrm/civicrm-packages/pull/287))**
612
613 - **[REF] Use relative path for finding the advmultiseletct javascript
614 ([286](https://github.com/civicrm/civicrm-packages/pull/286))**
615
616 - **[REF] Remove patch from dompdf cleanup script that is no longer needed
617 ([16490](https://github.com/civicrm/civicrm-core/pull/16490))**
618
619 - **(REF) Move CIVICRM_MAIL_LOG logic from patch-files to wrapper-class
620 ([16497](https://github.com/civicrm/civicrm-core/pull/16497))**
621
622 - **[REF] Remove never used property
623 ([16540](https://github.com/civicrm/civicrm-core/pull/16540))**
624
625 - **REF Refactor ActivityTokens to use a trait that can be shared with other
626 entities ([16468](https://github.com/civicrm/civicrm-core/pull/16468))**
627
628 - **[REF] Extract function to getTransactionInfo
629 ([16545](https://github.com/civicrm/civicrm-core/pull/16545))**
630
631 - **[REF] Update civicrm_generated following merge of #16362
632 ([16605](https://github.com/civicrm/civicrm-core/pull/16605))**
633
634 - **[REF] Extract self-service eligibility code into its own function
635 ([16615](https://github.com/civicrm/civicrm-core/pull/16615))**
636
637 - **[REF] Only call getACLs when contact_id is present, remove handling
638 ([16667](https://github.com/civicrm/civicrm-core/pull/16667))**
639
640 - **[REF] Deprecate _html2pdf_tcpdf function in favour of _html2pdf_dompdf
641 ([16662](https://github.com/civicrm/civicrm-core/pull/16662))**
642
643 - **[REF] simple function extraction
644 ([16642](https://github.com/civicrm/civicrm-core/pull/16642))**
645
646 - **[REF] Removed unused function
647 ([16663](https://github.com/civicrm/civicrm-core/pull/16663))**
648
649 - **[REF] Refactor adding payment processor radio section onto register and
650 contribution main forms
651 ([16595](https://github.com/civicrm/civicrm-core/pull/16595))**
652
653 - **[REF] Add in pre and post hooks to UFField Entity
654 ([16653](https://github.com/civicrm/civicrm-core/pull/16653))**
655
656 - **[NFC] Use insert ignore for inserts into civicrm_extension to stop warnings
657 on duplicate entry for sequential credit notes extension
658 ([16644](https://github.com/civicrm/civicrm-core/pull/16644))**
659
660 - **[NFC] dev/core#1466 Update Documentation URLS to be the correct links in the
661 security component check
662 ([dev/core#1466](https://lab.civicrm.org/dev/core/issues/1466):
663 [16085](https://github.com/civicrm/civicrm-core/pull/16085))**
664
665 - **[NFC] Convert Custom Field BAO file to use short array syntax
666 ([16613](https://github.com/civicrm/civicrm-core/pull/16613))**
667
668 - **[NFC] dev/core#1621 Extend unit tests to ensure that entity financial
669 account is correctly deleted when financial type is deleted
670 ([dev/core#1621](https://lab.civicrm.org/dev/core/issues/1621):
671 [16639](https://github.com/civicrm/civicrm-core/pull/16639))**
672
673 - **[NFC] Minor code cleanup
674 ([16563](https://github.com/civicrm/civicrm-core/pull/16563))**
675
676 - **[NFC] Preliminary cleanup
677 ([16557](https://github.com/civicrm/civicrm-core/pull/16557))**
678
679 - **(NFC) Fix typo - no hyphen in 'override'
680 ([16571](https://github.com/civicrm/civicrm-core/pull/16571))**
681
682 - **(NFC) Remove `$Id$` from header
683 ([16582](https://github.com/civicrm/civicrm-core/pull/16582))**
684
685 - **[NFC] Test cleanup.
686 ([16581](https://github.com/civicrm/civicrm-core/pull/16581))**
687
688 - **[NFC] Add missing letter "h" in upgrade script for task description
689 ([16687](https://github.com/civicrm/civicrm-core/pull/16687))**
690
691 - **[TEST] Unit test environment no longer working on windows after latest
692 CodeGen updates
693 ([dev/core#1572](https://lab.civicrm.org/dev/core/issues/1572):
694 [16477](https://github.com/civicrm/civicrm-core/pull/16477))**
695
696 - **[TEST] CRM_Event_BAO_AdditionalPaymentTest::testAddPartialPayment should
697 have status transition checks fixed & enabled
698 ([dev/financial#102](https://lab.civicrm.org/dev/financial/issues/102):
699 [16564](https://github.com/civicrm/civicrm-core/pull/16564))**
700
701 ## <a name="credits"></a>Credits
702
703 This release was developed by the following code authors:
704
705 a-n The Artists Information Company - William Mortada; AGH Strategies - Alice
706 Frumin, Andrew Hunt; Agileware - Agileware Team, Francis Whittle; Alexy
707 Mikhailichenko; breheret; Calibrate - Wouter Hechtermans; CEPR - Josh Brown;
708 Chris Burgess; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop -
709 Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
710 Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark
711 Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool;
712 Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick
713 Figel; GMCVO Databases - Jade Gaunt; iXiam - Luciano Spiegel; Jens Schuppe; JMA
714 Consulting - Monish Deb, Seamus Lee; Kartik Kathuria; Lighthouse Design and
715 Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology
716 Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology
717 Project - Jamie McClelland; Richard van Oosterhout; Roomify, LLC - Adrian
718 Rollett; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin
719 Cristiano; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston, Maggie
720 Epps
721
722 Most authors also reviewed code for this release; in addition, the following
723 reviewers contributed their comments:
724
725 a-n The Artists Information Company - William Mortada; Agileware - Justin
726 Freeman; Andrew Cormick-Dockery; Artful Robot - Rich Lott; Betty Dolfing;
727 British Humanist Association - Andrew West; CiviCoop - Jaap Jansma, Matthijs
728 Keijser; CiviDesk - Sunil Pawar; Joinery - Allen Shaw; MJCO - Mikey O'Toole;
729 Simon John Parker; Third Sector Design - Michael McAndrew;
730
731 ## <a name="feedback"></a>Feedback
732
733 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
734 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
735 and contact `@agh1`.