5.49.0.md 24.2 KB
Newer Older
1
2
# CiviCRM 5.49.0

3
Released May 4, 2022
4

5
- **[Synopsis](#synopsis)**
6
7
8
9
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
10
11
12
13
14
15
- **[Feedback](#feedback)**

## <a name="synopsis"></a>Synopsis

| *Does this version...?*                                         |         |
|:--------------------------------------------------------------- |:-------:|
16
17
18
19
20
21
22
| Fix security vulnerabilities?                                   |   no    |
| **Change the database schema?**                                 | **yes** |
| **Alter the API?**                                              | **yes** |
| Require attention to configuration options?                     |   no    |
| **Fix problems installing or upgrading to a previous version?** | **yes** |
| **Introduce features?**                                         | **yes** |
| **Fix bugs?**                                                   | **yes** |
23
24
25
26
27

## <a name="features"></a>Features

### Core CiviCRM

28
29
- **Add created & modified dates to "View Relationship" screen
  ([22909](https://github.com/civicrm/civicrm-core/pull/22909))**
30

31
  Adds created and modified dates to the "View Relationship" screen.
32

33
34
35
36
- **Replace entity icons
  ([dev/user-interface#26](https://lab.civicrm.org/dev/user-interface/-/issues/26):
  [23094](https://github.com/civicrm/civicrm-core/pull/23094) and
  [23073](https://github.com/civicrm/civicrm-core/pull/23073))**
37

38
39
  Displays font-awesome icons instead of the old image gifs in the user
  interface for contact types and recent items.
40

41
42
43
- **Raise number of websites available to inline edit
  ([dev/core#3106](https://lab.civicrm.org/dev/core/-/issues/3106):
  [22908](https://github.com/civicrm/civicrm-core/pull/22908))**
44

45
  Raises the max number of inline editable websites from 5 to 25.
46

47
48
- **Add in APIv4 Logging Entity
  ([23129](https://github.com/civicrm/civicrm-core/pull/23129))**
49

50
  Exposes the civicrm_log table to APIv4.
51

52
53
- **Add APIv4 for RecentItems
  ([23099](https://github.com/civicrm/civicrm-core/pull/23099))**
54

55
  Exposes the list of recently viewed items to APIv4.
56

57
58
- **Enable APIv4 export action on UFGroup and UFField.
  ([22832](https://github.com/civicrm/civicrm-core/pull/22832))**
59

60
61
  Makes the export action available on the UFGroup and UFField Entities in
  APIv4.
62

63
64
- **SearchKit - Allow creation of new records via in-place edit
  ([22376](https://github.com/civicrm/civicrm-core/pull/22376))**
65

66
67
  Allows e.g. an email record to be created if one does not already exist via
  in-place edit.
68

69
70
- **SearchKit - mark stable
  ([23010](https://github.com/civicrm/civicrm-core/pull/23010))**
71

72
  Marks SearchKit as stable.
73

74
75
- **Search Kit - Auto-enable during normal installation
  ([22952](https://github.com/civicrm/civicrm-core/pull/22952))**
76

77
  Auto-enables SearchKit during installation.
78

79
80
- **SearchKit - Add CiviMail integration
  ([22808](https://github.com/civicrm/civicrm-core/pull/22808))**
81

82
  Makes it so SearchKit works with CiviMail.
83

84
85
- **SearchKit - Improve checkbox UX for bulk actions
  ([22906](https://github.com/civicrm/civicrm-core/pull/22906))**
86

87
  Improves user experience for SearchKit bulk actions.
88

89
90
- **SearchKit - Add icon support
  ([23034](https://github.com/civicrm/civicrm-core/pull/23034))**
91

92
  Adds Icon support to SearchKit.
93

94
95
- **Afform - compose layouts with multiple SearchKit displays
  ([22887](https://github.com/civicrm/civicrm-core/pull/22887))**
96

97
98
  Allows multiple search displays on an afform, which permits composing a
  dashboard-like layout.
99

100
101
- **Afform - Easier layout creation with predefined container styles and
  built-in title ([22975](https://github.com/civicrm/civicrm-core/pull/22975))**
102

103
104
105
106
  This makes layouts easier to make, by adding predefined "Panel Pane" and
  "Collapsible" styles which can be applied to any container element. It also
  makes container titles easier to work with, and fixes some issues with saving
  blocks.
107

108
109
- **Add option_value_fields metadata
  ([22996](https://github.com/civicrm/civicrm-core/pull/22996))**
110

111
  Adds metadata for OptionValues.
112

113
114
- **Add action links for group.
  ([22912](https://github.com/civicrm/civicrm-core/pull/22912))**
115

116
  Add links for group.
117

118
### CiviCase
119

120
121
- **Add case ID and make subject optional for case detail report
  ([22973](https://github.com/civicrm/civicrm-core/pull/22973))**
122

123
124
  Improves case detail report by making the case ID available and making the
  subject field optional.
125

126
### CiviContribute
127

128
129
- **Add support for financial account custom fields
  ([23067](https://github.com/civicrm/civicrm-core/pull/23067))**
130

131
  Enables support for custom fields on Financial Accounts.
132

133
134
- **Add page id and template type as data attributes in contribution templates
  ([21945](https://github.com/civicrm/civicrm-core/pull/21945))**
135

136
137
  Adds more details about the page id and template type to the html of the
  contribution templates.
138

139
140
141
142
143
- **Proposal - make future recurring contribution instances modifiable & not
  fail if the only contribution is deleted. (Work towards
  [dev/financial#6](https://lab.civicrm.org/dev/financial/-/issues/6):
  [21473](https://github.com/civicrm/civicrm-core/pull/21473) and
  [21470](https://github.com/civicrm/civicrm-core/pull/21470))**
144

145
146
  Update the recurring contribution when the template contribution is edited.
  Fixes the creation of the template contribution when it has custom data.
147

148
### CiviMember
149

150
151
- **Add membership_id as a reference to the row
  ([23049](https://github.com/civicrm/civicrm-core/pull/23049))**
152

153
  Add membership id as a reference to each row on contact dashboard.
154

155
### Drupal Integration
156

157
158
- **What if we stopped publishing Drupal 6 releases in 2022?
  ([22960](https://github.com/civicrm/civicrm-core/pull/22960))**
159

160
  Ends support for Drupal6 integration.
161

162
163
- **civicrm.drush.inc - Add 'civicrm-pipe' subcommand
  ([652](https://github.com/civicrm/civicrm-drupal/pull/652))**
164

165
  Adds support for subcommand `drush civicrm-pipe` (`drush cvpipe`).
166

167
## <a name="bugs"></a>Bugs resolved
168

169
### Core CiviCRM
170
171


172
173
174
- **Preserve previous tab when navigating to and from contact page
  ([dev/core#3003](https://lab.civicrm.org/dev/core/-/issues/3003):
  [22316](https://github.com/civicrm/civicrm-core/pull/22316))**
175

176
177
178
- **cannot set serialize=0 via api3 when creating custom fields
  ([dev/core#2524](https://lab.civicrm.org/dev/core/-/issues/2524):
  [22934](https://github.com/civicrm/civicrm-core/pull/22934))**
179

180
181
182
- **Cannot remove Group Organisation selection in multisite setup
  ([dev/core#2633](https://lab.civicrm.org/dev/core/-/issues/2633):
  [20437](https://github.com/civicrm/civicrm-core/pull/20437))**
183

184
185
186
- **Contact Type get Changed after renewal with credit card
  ([dev/core#2833](https://lab.civicrm.org/dev/core/-/issues/2833):
  [21467](https://github.com/civicrm/civicrm-core/pull/21467))**
187

188
189
190
- **Users cannot be created if no unsupervised deduping rule exists
  ([dev/core#2918](https://lab.civicrm.org/dev/core/-/issues/2918):
  [22804](https://github.com/civicrm/civicrm-core/pull/22804))**
191

192
193
194
195
- **Filename in content-disposition should have extension
  ([dev/core#3034](https://lab.civicrm.org/dev/core/-/issues/3034):
  [22532](https://github.com/civicrm/civicrm-core/pull/22532) and
  [23083](https://github.com/civicrm/civicrm-core/pull/23083))**
196

197
  Ensures that filename contains the file extension for PDFs.
198

199
200
201
202
- **Enhance EntityRef to widget to show create new option when contacts are
  restricted by multiple contact type
  ([dev/core#3082](https://lab.civicrm.org/dev/core/-/issues/3082):
  [22830](https://github.com/civicrm/civicrm-core/pull/22830))**
203

204
205
206
- **Checkbox fields on profile admin page can't be unchecked
  ([dev/core#3085](https://lab.civicrm.org/dev/core/-/issues/3085):
  [22916](https://github.com/civicrm/civicrm-core/pull/22916))**
207

208
209
210
- **CRM_Core_BAO_Address::addGeocoderData mishandling NULL geocodes
  ([dev/core#3132](https://lab.civicrm.org/dev/core/-/issues/3132):
  [23009](https://github.com/civicrm/civicrm-core/pull/23009))**
211

212
213
214
- **Gender field no longer working
  ([dev/core#3142](https://lab.civicrm.org/dev/core/-/issues/3142):
  [23053](https://github.com/civicrm/civicrm-core/pull/23053))**
215

216
217
218
- **Upgrade to CiviCRM 5.48.0 fails with No such Table
  ([dev/core#3166](https://lab.civicrm.org/dev/core/-/issues/3166):
  [23148](https://github.com/civicrm/civicrm-core/pull/23148))**
219

220
221
- **Allow API4 match to match an empty value
  ([22882](https://github.com/civicrm/civicrm-core/pull/22882))**
222

223
224
- **Fix copy button float in APIv4 Explorer
  ([22978](https://github.com/civicrm/civicrm-core/pull/22978))**
225

226
227
- **APIv4 - Get dynamic list of entity types
  ([22826](https://github.com/civicrm/civicrm-core/pull/22826))**
228

229
230
  Switches APIv4 Entity.get to dynamically fetch a list of entity types instead
  of using a hardcoded list.
231

232
233
- **APIv4 Explorer - Adjust 'Index' field to fit better on narrow screens
  ([23146](https://github.com/civicrm/civicrm-core/pull/23146))**
234

235
236
- **SearchKit - Fix joins when RelationshipCache is base search entity
  ([23066](https://github.com/civicrm/civicrm-core/pull/23066))**
237

238
239
- **SearchKit - Fix page size size
  ([22927](https://github.com/civicrm/civicrm-core/pull/22927))**
240

241
  Shrinks the page size input to fit on smaller screens or dashboards.
242

243
244
- **SearchKit - Fix "all selected" checkbox when selecting a single page
  ([23003](https://github.com/civicrm/civicrm-core/pull/23003))**
245

246
247
- **SearchKit - Ensure filters work with multiple search displays on a form
  ([23018](https://github.com/civicrm/civicrm-core/pull/23018))**
248

249
250
- **Afform - Fix collapsible style
  ([23011](https://github.com/civicrm/civicrm-core/pull/23011))**
251

252
253
- **Afform - reset managed entities when deleting a dashlet
  ([22957](https://github.com/civicrm/civicrm-core/pull/22957))**
254

255
256
- **Link to Google Maps over HTTPs
  ([23044](https://github.com/civicrm/civicrm-core/pull/23044))**
257

258
259
- **noexpand seems to never be assigned
  ([23005](https://github.com/civicrm/civicrm-core/pull/23005))**
260

261
262
263
- **During upgrade log that it ran the sql when there is just a sql file and no
  corresponding task
  ([22939](https://github.com/civicrm/civicrm-core/pull/22939))**
264

265
266
- **Fix OptionValue BAO to call pre/post hooks to prevent force-reset of managed
  option values ([23130](https://github.com/civicrm/civicrm-core/pull/23130))**
267

268
269
- **Copy Clear value in batch update process for radio button field
  ([22941](https://github.com/civicrm/civicrm-core/pull/22941))**
270

271
272
- **[WIP] Schema - Fix boolean fields in various tables
  ([22954](https://github.com/civicrm/civicrm-core/pull/22954))**
273

274
275
- **Prevent escaping on cancelInfo_show_ids
  ([23077](https://github.com/civicrm/civicrm-core/pull/23077))**
276

277
278
- **Do not default-escape upgrade linkes + Enotice fix on Extension screen
  ([23058](https://github.com/civicrm/civicrm-core/pull/23058))**
279

280
281
- **Fix notices on Task.tpl (grumpy mode)
  ([23006](https://github.com/civicrm/civicrm-core/pull/23006))**
282

283
284
- **Remove isset(taxAmount) from membership online receipt
  ([23017](https://github.com/civicrm/civicrm-core/pull/23017))**
285

286
287
- **SampleData - Fix missing option value names
  ([23000](https://github.com/civicrm/civicrm-core/pull/23000))**
288

289
290
- **Fix undefined index by making sure that is_template is always defined
  ([22993](https://github.com/civicrm/civicrm-core/pull/22993))**
291

292
293
- **Don't lose search criteria for smart group built with search builder
  ([23052](https://github.com/civicrm/civicrm-core/pull/23052))**
294

295
296
- **Fix double encoding of document title on Contact view form
  ([22928](https://github.com/civicrm/civicrm-core/pull/22928))**
297

298
299
- **Group Contact create -> fix to use post hook for subscription records
  ([22419](https://github.com/civicrm/civicrm-core/pull/22419))**
300

301
302
- **Make note date required when creating note
  ([22987](https://github.com/civicrm/civicrm-core/pull/22987))**
303

304
305
- **Respect zero value
  ([23016](https://github.com/civicrm/civicrm-core/pull/23016))**
306

307
308
- **E-notice fix on pdfLetter
  ([23007](https://github.com/civicrm/civicrm-core/pull/23007))**
309

310
311
- **Add chartEnabled to expectedSmartyVariables for reports
  ([23045](https://github.com/civicrm/civicrm-core/pull/23045))**
312

313
  Avoids another Smarty notice on reports which do not have charts enabled.
314

315
316
- **Re-fix enotice on templateSelected
  ([23008](https://github.com/civicrm/civicrm-core/pull/23008))**
317

318
319
- **Notices on import - consolidate mapping variables
  ([23119](https://github.com/civicrm/civicrm-core/pull/23119))**
320

321
322
- **Emit deprecated warning for typo version of hook_civicrm_links
  ([23117](https://github.com/civicrm/civicrm-core/pull/23117))**
323

324
325
- **Fix enotice, simplify text on Saved field mapping
  ([23114](https://github.com/civicrm/civicrm-core/pull/23114))**
326

327
328
- **Fixes issue with duplicate is_billing on inline address forms.
  ([22850](https://github.com/civicrm/civicrm-core/pull/22850))**
329

330
331
- **Fix incorrect use of icon argument for crmButton function
  ([23145](https://github.com/civicrm/civicrm-core/pull/23145))**
332

333
334
- **Fix smarty notices in billing form
  ([22992](https://github.com/civicrm/civicrm-core/pull/22992))**
335

336
337
- **Avoid PHP notices in activity search
  ([23093](https://github.com/civicrm/civicrm-core/pull/23093))**
338

339
340
- **Notice fixes in advanced search
  ([22956](https://github.com/civicrm/civicrm-core/pull/22956))**
341

342
343
- **Avoid trailing spaces in trigger output
  ([23069](https://github.com/civicrm/civicrm-core/pull/23069))**
344

345
346
- **Ensure formType is assigned to the template
  ([23078](https://github.com/civicrm/civicrm-core/pull/23078))**
347

348
349
- **Ensure pay_later variables assigned to template
  ([22971](https://github.com/civicrm/civicrm-core/pull/22971))**
350

351
352
- **Ensure some variables are assigned to the template
  ([22972](https://github.com/civicrm/civicrm-core/pull/22972))**
353

354
355
- **Ensure soft credit types are assigned to the template
  ([23037](https://github.com/civicrm/civicrm-core/pull/23037))**
356

357
358
- **Keep "EntityFile" records until after Symfony "delete" hooks fire
  ([23002](https://github.com/civicrm/civicrm-core/pull/23002))**
359

360
361
- **Fix property declarations
  ([22965](https://github.com/civicrm/civicrm-core/pull/22965))**
362

363
364
- **Schema - Fix boolean fields in civicrm_event and civicrm_contribution
  ([22925](https://github.com/civicrm/civicrm-core/pull/22925))**
365

366
367
- **Do not default escape 'create new' links
  ([22969](https://github.com/civicrm/civicrm-core/pull/22969))**
368

369
370
- **Do not escape hierarchical select
  ([22991](https://github.com/civicrm/civicrm-core/pull/22991))**
371

372
373
- **Enotice fix in grumpy smarty mode
 ([22970](https://github.com/civicrm/civicrm-core/pull/22970))**
374

375
376
- **Enotice fix (grumpy smarty)
  ([22988](https://github.com/civicrm/civicrm-core/pull/22988))**
377

378
379
- **Enotice fixes
  ([22989](https://github.com/civicrm/civicrm-core/pull/22989))**
380

381
382
- **Grumpy smarty - Never escape 'initHideBoxes'
  ([22990](https://github.com/civicrm/civicrm-core/pull/22990))**
383

384
385
- **Remove bad use of PHP assert, removed in PHP 8.0
  ([22981](https://github.com/civicrm/civicrm-core/pull/22981))**
386

387
388
- **Split mailing label formatting out from main format
  ([22463](https://github.com/civicrm/civicrm-core/pull/22463))**
389

390
### CiviCase
391

392
393
- **Fix issues with case sorting/searching from case dashboard
  ([21514](https://github.com/civicrm/civicrm-core/pull/21514))**
394

395
### CiviContribute
396

397
398
399
400
- **Accounting entries incorrect in a number of cases... especially with pending
  refunds and overpayments (Work towards
  [dev/financial#186](https://lab.civicrm.org/dev/financial/-/issues/186):
  [23076](https://github.com/civicrm/civicrm-core/pull/23076))**
401

402
  Do not display partially paid & partially refunded for selection on edit.
403

404
405
406
- **PCP: Account creation profile does not support contact image
  ([dev/core#2986](https://lab.civicrm.org/dev/core/-/issues/2986):
  [22223](https://github.com/civicrm/civicrm-core/pull/22223))**
407

408
409
- **Avoid PHP notices from smarty on pricefield table
  ([23046](https://github.com/civicrm/civicrm-core/pull/23046))**
410

411
412
- **Remove more isset from offline receipt
  ([23072](https://github.com/civicrm/civicrm-core/pull/23072))**
413

414
415
- **do not URL Encode parameters for PayFlowPro
  ([23054](https://github.com/civicrm/civicrm-core/pull/23054))**
416

417
418
- **Remove grumpy-mode-incompatible isset in payment notification
  ([23014](https://github.com/civicrm/civicrm-core/pull/23014))**
419

420
421
- **Cleanup variable assigns in ContributionPage confirm
  ([22902](https://github.com/civicrm/civicrm-core/pull/22902))**
422

423
424
425
- **First recurring payment (paypal ipn) - remove redundant status set,
  start_date change
  ([23081](https://github.com/civicrm/civicrm-core/pull/23081))**
426

427
428
- **Remove issets on pay_later_receipt
  ([23004](https://github.com/civicrm/civicrm-core/pull/23004))**
429

430
431
- **Simplify fix for smarty/php notice on contributionview
  ([22886](https://github.com/civicrm/civicrm-core/pull/22886))**
432

433
434
- **Add paymentstatus helpers for doPayment and separate return params
  ([22680](https://github.com/civicrm/civicrm-core/pull/22680))**
435

436
437
- **Expose payment processor error from PaymentProcessor.pay
  ([22900](https://github.com/civicrm/civicrm-core/pull/22900))**
438

439
440
- **Ensure pay_later_text is always assigned
  ([22977](https://github.com/civicrm/civicrm-core/pull/22977))**
441

442
443
- **Stop passing settings into getTaxLabel
  ([23040](https://github.com/civicrm/civicrm-core/pull/23040))**
444

445
446
- **Assign totalTaxAmount more consistently
  ([23038](https://github.com/civicrm/civicrm-core/pull/23038))**
447

448
### CiviEvent
449

450
451
- **Remove isset from event registration receipt
  ([23064](https://github.com/civicrm/civicrm-core/pull/23064))**
452

453
454
- **Add workflow template for offline event
  ([22904](https://github.com/civicrm/civicrm-core/pull/22904))**
455

456
457
- **Event Location fixes
  ([23041](https://github.com/civicrm/civicrm-core/pull/23041))**
458

459
460
- **Remove issets from event_offline_receipt pay_later_text
  ([23060](https://github.com/civicrm/civicrm-core/pull/23060))**
461

462
### CiviMail
463

464
465
466
467
- **After upgrade to 5.48.0 Error: Mailing cannot be sent. There are missing or
  invalid fields (subject,name,from_name,from_email,body)
  ([dev/mail#107](https://lab.civicrm.org/dev/mail/-/issues/107):
  [23141](https://github.com/civicrm/civicrm-core/pull/23141))**
468

469
470
- **CiviMail - Remove deprecated variable only used by Mosaico
  ([22689](https://github.com/civicrm/civicrm-core/pull/22689))**
471

472
473
- **Set limit to 0 when processing send sms task
  ([23166](https://github.com/civicrm/civicrm-core/pull/23166))**
474

475
### CiviMember
476

477
478
479
- **Recurring membership term is incorrect when using price sets
  ([dev/membership#41](https://lab.civicrm.org/dev/membership/-/issues/41):
  [22825](https://github.com/civicrm/civicrm-core/pull/22825))**
480

481
482
- **Calculate lifetime memberships more accurately
  ([22255](https://github.com/civicrm/civicrm-core/pull/22255))**
483

484
485
- **Enotice fix - membership search
  ([23136](https://github.com/civicrm/civicrm-core/pull/23136))**
486

487
## <a name="misc"></a>Miscellany
488

489
490
- **Add utils for managing schema to extension upgrader base class
  ([22955](https://github.com/civicrm/civicrm-core/pull/22955))**
491

492
493
- **add classes to the membership userdashboard page
  ([23021](https://github.com/civicrm/civicrm-core/pull/23021))**
494

495
496
- **Replace incorrect class comment
  ([23043](https://github.com/civicrm/civicrm-core/pull/23043))**
497

498
499
- **Finish conversion of static function to non-static
  ([23042](https://github.com/civicrm/civicrm-core/pull/23042))**
500

501
502
- **Bump minimist from 1.2.5 to 1.2.6
  ([23090](https://github.com/civicrm/civicrm-core/pull/23090))**
503

504
505
- **Optimise isCustomDateField
  ([22943](https://github.com/civicrm/civicrm-core/pull/22943))**
506

507
508
- **Access invoice_prefix setting directly
  ([23039](https://github.com/civicrm/civicrm-core/pull/23039))**
509

510
511
- **Fix function calls to be non-static
  ([23122](https://github.com/civicrm/civicrm-core/pull/23122))**
512

513
514
- **Fully deprecate `getTokenDetails`
  ([22483](https://github.com/civicrm/civicrm-core/pull/22483))**
515

516
517
- **regenerate civicrm_generated
  ([22917](https://github.com/civicrm/civicrm-core/pull/22917))**
518

519
520
- **Test cleanup (minor)
  ([23112](https://github.com/civicrm/civicrm-core/pull/23112))**
521

522
523
- **Simplify class inheritance
  ([23121](https://github.com/civicrm/civicrm-core/pull/23121))**
524

525
526
- **Tpl cleanup - whitespace, wrong closing tag
  ([23124](https://github.com/civicrm/civicrm-core/pull/23124))**
527

528
529
- **Consolidate MapTable.tpl
  ([23138](https://github.com/civicrm/civicrm-core/pull/23138))**
530

531
532
- **Test cleanup, deprecate ContributionSoft::retrieve
  ([23106](https://github.com/civicrm/civicrm-core/pull/23106))**
533

534
535
- **Cleanup unnecessary variables
  ([23111](https://github.com/civicrm/civicrm-core/pull/23111))**
536

537
538
- **Remove use of deprecated FILTER_SANITIZE_STRING
  ([22982](https://github.com/civicrm/civicrm-core/pull/22982))**
539

540
541
- **Remove unnecessary pass-by-ref
  ([23110](https://github.com/civicrm/civicrm-core/pull/23110))**
542

543
544
- **Remove unused variable
  ([23113](https://github.com/civicrm/civicrm-core/pull/23113))**
545

546
547
- **Remove double return statement
  ([23108](https://github.com/civicrm/civicrm-core/pull/23108))**
548

549
550
- **Remove use of overrideDefaultCurrency method from eventInfo page.
  ([22802](https://github.com/civicrm/civicrm-core/pull/22802))**
551

552
553
- **Remove good intentions
  ([23126](https://github.com/civicrm/civicrm-core/pull/23126))**
554

555
556
- **Remove unused private variables
  ([23123](https://github.com/civicrm/civicrm-core/pull/23123))**
557

558
559
- **Remove 'in-between' class
  ([23133](https://github.com/civicrm/civicrm-core/pull/23133))**
560

561
562
- **Remove unused property
  ([23137](https://github.com/civicrm/civicrm-core/pull/23137))**
563

564
565
- **Remove unnecessary pass-by-ref
  ([23132](https://github.com/civicrm/civicrm-core/pull/23132))**
566

567
568
- **Rename test class to reflect form
  ([22903](https://github.com/civicrm/civicrm-core/pull/22903))**
569

570
571
- **Test usability fix
  ([23096](https://github.com/civicrm/civicrm-core/pull/23096))**
572

573
574
- **Cleanup FinancialAccount BAO to use `writeRecord` and deprecate `add`
  ([23079](https://github.com/civicrm/civicrm-core/pull/23079))**
575

576
577
- **[REF] Update Composer compile plugin
  ([23088](https://github.com/civicrm/civicrm-core/pull/23088))**
578

579
580
581
- **[REF] Create polyfill function for array_key_first which only exists in
  php7.3 and onwards
  ([23095](https://github.com/civicrm/civicrm-core/pull/23095))**
582

583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
- **[REF] Extract & stdise AmountBlockIsActive
  ([22291](https://github.com/civicrm/civicrm-core/pull/22291))**

- **(REF) Schema - Fix boolean fields in various tables - Split commits
  ([23134](https://github.com/civicrm/civicrm-core/pull/23134))**

- **REF - Split upgrade SQL into multiple tasks
  ([22950](https://github.com/civicrm/civicrm-core/pull/22950))**

- **[REF] APIv4 - Use new class_args metadata to remove special handing
  ([22853](https://github.com/civicrm/civicrm-core/pull/22853))**

- **REF Cleanup activity getBespokeTokens()
  ([22974](https://github.com/civicrm/civicrm-core/pull/22974))**

- **[REF] Deprecate BAO_Contact::retrieve
  ([22966](https://github.com/civicrm/civicrm-core/pull/22966))**

- **[NFC] - Compatibility for PHP-7.4/PHP-8
  ([22962](https://github.com/civicrm/civicrm-core/pull/22962))**

- **[NFC] Superficial cleanup
  ([22907](https://github.com/civicrm/civicrm-core/pull/22907))**

- **[NFC] Fix URL documenting Batch entity
  ([23062](https://github.com/civicrm/civicrm-core/pull/23062))**
609
610
611
612
613

## <a name="credits"></a>Credits

This release was developed by the following code authors:

614
615
616
617
618
619
620
621
622
623
624
AGH Strategies - Alice Frumin, Andie Hunt; Blackfly Solutions - Alan Dixon;
BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive -
Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten;
CiviDesk - Yashodha Chaku; Dave D; Future Processing - Adrian; Fuzion - Luke
Stewart; Ginkgo Street Labs - Michael Z Daryabeygi; iXiam - Vangelis Pantazis;
JMA Consulting - Monish Deb, Seamus Lee; Klangsoft - David Reedy Jr; Megaphone
Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Oxfam
Germany - Thomas Schüttler; PERORA SRL - Samuele Masetto; Progressive Technology
Project - Jamie McClelland; Skvare - Sunil Pawar; Tadpole Collective - Kevin
Cristiano; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen
McNaughton
625
626
627
628

Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:

629
630
631
632
Agileware - Justin Freeman; ALL IN APPLI; Artful Robot - Rich Lott;
Australian Greens - John Twyman; Betty Dolfing; Coop SymbioTIC - Mathieu Lutfy,
Samuel Vanhove, Shane Bill; Francesc Bassas i Bullich; JMA Consulting - Joe
Murray; Richard van Oosterhout; Semper IT - Karin Gerritsen;
633
634
635
636
637
638

## <a name="feedback"></a>Feedback

These release notes are edited by Alice Frumin and Andie Hunt.  If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.