Merge pull request #23894 from eileenmcnaughton/off_it
[civicrm-core.git] / release-notes / 5.48.0.md
CommitLineData
37b373fe
AH
1# CiviCRM 5.48.0
2
691762bc 3Released April 6, 2022
37b373fe 4
691762bc 5- **[Synopsis](#synopsis)**
37b373fe
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
691762bc
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
44b27e42
AF
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| Require attention to configuration options? | no |
21533e64 20| **Fix problems installing or upgrading to a previous version?** | **yes** |
44b27e42
AF
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
37b373fe
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
44b27e42
AF
28- **Add civicrm_admin_ui extension
29 ([22628](https://github.com/civicrm/civicrm-core/pull/22628))**
37b373fe 30
44b27e42
AF
31 Adds a new bundled extension `civicrm_admin_ui`. This extension replaces 2
32 screens with SearchDisplay Afforms: Custom field groups and Custom fields.
37b373fe 33
44b27e42
AF
34- **Add deprecation notice to APIv3 Explorer
35 ([22811](https://github.com/civicrm/civicrm-core/pull/22811))**
37b373fe 36
44b27e42 37 Adds a notice to the APIv3 explorer to encourage users to use APIv4 instead.
37b373fe 38
44b27e42
AF
39- **Apiv4 entity parity (Work Towards
40 [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486):
41 [22754](https://github.com/civicrm/civicrm-core/pull/22754),
42 [22823](https://github.com/civicrm/civicrm-core/pull/22823),
43 [22624](https://github.com/civicrm/civicrm-core/pull/22624) and
44 [22799](https://github.com/civicrm/civicrm-core/pull/22799))**
37b373fe 45
44b27e42
AF
46 Adds "Extension", "Mailing", "MailingGroup" and "MailingJob" entities to
47 APIv4.
37b373fe 48
44b27e42
AF
49- **APIv4 - Add tableName to Entity.get output
50 ([22829](https://github.com/civicrm/civicrm-core/pull/22829))**
37b373fe 51
44b27e42
AF
52 Adds `tableName` to the APIv4 Entity.get action output, improving
53 flexibility for virtual entities.
37b373fe 54
44b27e42
AF
55- **APIv4 Explorer - Add REST syntax
56 ([22722](https://github.com/civicrm/civicrm-core/pull/22722))**
37b373fe 57
44b27e42 58 Displays REST syntax in the APIv4 Explorer.
37b373fe 59
44b27e42
AF
60- **APIv4 - Add metadata about class args
61 ([22831](https://github.com/civicrm/civicrm-core/pull/22831))**
37b373fe 62
44b27e42
AF
63 The CustomValue API is a virtual entity, where multiple api entities all get
64 routed to the same class by virtue of all sharing the prefix "Custom_" and
65 pass a class arg to the php factory functions e.g.
66 CustomValue::get('MyCustomGroup').
37b373fe 67
44b27e42
AF
68 Instead of hard-coding this idea into the API Explorer now it's part of the
69 entity metadata so that other APIs, notaby ECK, can use a similar pattern.
37b373fe 70
44b27e42
AF
71- **APIv4 Explorer - Add "copy" button to quickly copy code to clipboard
72 ([22896](https://github.com/civicrm/civicrm-core/pull/22896))**
37b373fe 73
44b27e42 74 Makes it easy to select and copy generated APIv4 Explorer code.
37b373fe 75
44b27e42
AF
76- **SearchKit - Update APIv3 Extension.get to use APIv4
77 ([22788](https://github.com/civicrm/civicrm-core/pull/22788))**
37b373fe 78
44b27e42
AF
79 Updates SearchKit code to use newer version of the API when calling
80 Extension.get.
37b373fe 81
44b27e42
AF
82- **SearchKit - Use crmDialogButtons for task popups
83 ([22790](https://github.com/civicrm/civicrm-core/pull/22790))**
37b373fe 84
44b27e42
AF
85 Updates the buttons in SearchKit action popups to use standard dialog button
86 formatting.
37b373fe 87
44b27e42 88- **SearchKit - Add 'merge contacts' task
21533e64
AH
89 ([22768](https://github.com/civicrm/civicrm-core/pull/22768) and
90 [23035](https://github.com/civicrm/civicrm-core/pull/23035))**
37b373fe 91
44b27e42 92 Adds a "merge contacts" task to SearchKit.
37b373fe 93
44b27e42
AF
94- **SearchKit - Customizable "No Results" text
95 ([22770](https://github.com/civicrm/civicrm-core/pull/22770))**
37b373fe 96
44b27e42 97 Makes it so users can customize the "No Results" text in SearchKit.
37b373fe 98
44b27e42
AF
99- **SearchKit - Improve import UI to handle update & preview the import
100 ([22699](https://github.com/civicrm/civicrm-core/pull/22699))**
37b373fe 101
44b27e42
AF
102 SearchKit has an import/export SavedSearch feature which allows you to
103 copy/paste api code in JSON format. This change enables update as well as create,
104 and improves that UI to give better user feedback about what will happen when
105 the import is run.
37b373fe 106
44b27e42
AF
107- **SearchKit - Support relative dates and datepicker with the DATE() sql fn
108 ([22783](https://github.com/civicrm/civicrm-core/pull/22783))**
37b373fe 109
44b27e42
AF
110 Allows one to pick a relative or calendar date in conjunction with the DATE
111 ONLY field transformation.
37b373fe 112
44b27e42
AF
113- **Civi\Api4\Queue - Allow use with hook_managed
114 ([22796](https://github.com/civicrm/civicrm-core/pull/22796))**
37b373fe 115
44b27e42 116 Flags the entity Queue so that it can be used with hook_managed.
37b373fe 117
44b27e42
AF
118- **Define more usable queue DX for multithreaded background work (Work Towards
119 [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304):
120 [22812](https://github.com/civicrm/civicrm-core/pull/22812))**
37b373fe 121
44b27e42
AF
122 Expands the schema for civicrm_queue (et al). By configuring properties on
123 civicrm_queue (et al), you can tell a generic queue-agent how to handle items
124 from this queue.
37b373fe 125
44b27e42
AF
126- **ManagedEntities - Allow "match" param to convert existing records to …
127 ([22883](https://github.com/civicrm/civicrm-core/pull/22883))**
37b373fe 128
44b27e42
AF
129 This can help ease the pain of declaring managed entities which may or may not
130 already exist - now they can be matched by name or other unique identifier.
37b373fe 131
21533e64
AH
132- **Database update from 5.47.2 to 5.47.3 fails with a non en_US database.
133 ([dev/core#3135](https://lab.civicrm.org/dev/core/-/issues/3151):
134 [23063](https://github.com/civicrm/civicrm-core/pull/23063))**
135
44b27e42 136### CiviContribute
37b373fe 137
44b27e42
AF
138- **Add basic contribution example base for contribution workflows
139 ([22636](https://github.com/civicrm/civicrm-core/pull/22636))**
37b373fe 140
44b27e42 141 Makes it so that one can preview Contribution Message Templates.
37b373fe 142
21533e64
AH
143- **Remove time component from the {contribution.receive_date} token
144 ([dev/core#3072](https://lab.civicrm.org/dev/core/-/issues/3072):
145 [23071](https://github.com/civicrm/civicrm-core/pull/23071))**
146
44b27e42 147### CiviEvent
37b373fe 148
44b27e42
AF
149- **Introduce a way to link event participants from the associated booking.
150 ([dev/user-interface#45](https://lab.civicrm.org/dev/user-interface/-/issues/45):
151 [22732](https://github.com/civicrm/civicrm-core/pull/22732))**
37b373fe 152
44b27e42 153 Introduces a way to navigate to participants from the contribution view.
37b373fe 154
44b27e42 155### CiviMail
37b373fe 156
44b27e42
AF
157- **Mailing - Add `serialize` and `add` to `template_options` field
158 ([22785](https://github.com/civicrm/civicrm-core/pull/22785))**
37b373fe 159
44b27e42
AF
160 Improves the mailing schema metadata for template_options and template_type
161 fields.
37b373fe 162
44b27e42
AF
163- **Start phasing out 'preferred_mail_format' (Work Towards
164 [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866):
165 [22775](https://github.com/civicrm/civicrm-core/pull/22775),
166 [22633](https://github.com/civicrm/civicrm-core/pull/22633) and
167 [22635](https://github.com/civicrm/civicrm-core/pull/22635))**
37b373fe 168
44b27e42
AF
169 Ignores preferred mail format when sending a message. Instead sends both html
170 and plain text versions and lets the email client decide which to show.
171 Removes `preferred_mail_format` from email trait.
37b373fe 172
44b27e42 173### Drupal Integraton
37b373fe 174
44b27e42
AF
175- **civicrm.drush.inc - Add 'civicrm-pipe' subcommand
176 ([70](https://github.com/civicrm/civicrm-drupal-8/pull/70))**
37b373fe 177
44b27e42 178 Adds support for the subcommand `drush civicrm-pipe` (`drush cvpipe`).
37b373fe 179
44b27e42 180## <a name="bugs"></a>Bugs resolved
37b373fe 181
44b27e42 182### Core CiviCRM
37b373fe 183
21533e64
AH
184- **Update DOMPDF to 1.2.1 and update composer-compile-plugin as per master
185 ([23102](https://github.com/civicrm/civicrm-core/pull/23102))**
186
44b27e42
AF
187- **Contact Logging Detail report crashes when a contribution and contact are
188 updated together
189 ([dev/report#85](https://lab.civicrm.org/dev/report/-/issues/85):
190 [22242](https://github.com/civicrm/civicrm-core/pull/22242))**
37b373fe 191
44b27e42
AF
192- **Warning: is_dir(): open_basedir restriction in effect
193 ([dev/core#2927](https://lab.civicrm.org/dev/core/-/issues/2927):
194 [22277](https://github.com/civicrm/civicrm-core/pull/22277))**
37b373fe 195
44b27e42 196 Avoids flooding logs with `open_basedir` in effect.
37b373fe 197
21533e64
AH
198- **Filter summary no longer appearing on results for Reports
199 ([dev/core#3153](https://lab.civicrm.org/dev/core/-/issues/3153):
200 [23086](https://github.com/civicrm/civicrm-core/pull/23086))**
201
44b27e42
AF
202- **Switch extension downloader and extensions feed to use Guzzle HTTP library
203 ([21097](https://github.com/civicrm/civicrm-core/pull/21097))**
37b373fe 204
44b27e42
AF
205 This fixes some situations (eg. shared servers with open_basedir restrictions
206 in effect) where zip file was not downloaded properly and extension could not
207 be updated. It also means that we are no longer using our custom
208 CRM_Utils_HttpClient::fetch() function from within civicrm core.
37b373fe 209
44b27e42
AF
210- **RC Error: Call to undefined method
211 CRM_Contact_Page_View_Summary::addExpectedSmartyVariables()
212 ([dev/core#3104](https://lab.civicrm.org/dev/core/-/issues/3104):
213 [22897](https://github.com/civicrm/civicrm-core/pull/22897))**
37b373fe 214
44b27e42
AF
215- **Post-upgrade messages no longer being displayed
216 ([dev/core#3119](https://lab.civicrm.org/dev/core/-/issues/3119):
217 [22985](https://github.com/civicrm/civicrm-core/pull/22985))**
37b373fe 218
44b27e42
AF
219- **CiviReport - Title and Statistics appearing at top and bottom of reports
220 ([dev/core#3126](https://lab.civicrm.org/dev/core/-/issues/3126):
221 [22976](https://github.com/civicrm/civicrm-core/pull/22976))**
37b373fe 222
44b27e42
AF
223- **APIv4 - Fix setting/getting a multi-record customfield with date+time
224 ([22731](https://github.com/civicrm/civicrm-core/pull/22731))**
37b373fe 225
44b27e42
AF
226- **APIv4 - Fix typo in Entity.getFields
227 ([22776](https://github.com/civicrm/civicrm-core/pull/22776))**
37b373fe 228
44b27e42
AF
229- **Fix apiv4 Contribution delete & all line items
230 ([22749](https://github.com/civicrm/civicrm-core/pull/22749))**
37b373fe 231
44b27e42
AF
232- **Fix API4 Explorer undefined variable error
233 ([22849](https://github.com/civicrm/civicrm-core/pull/22849))**
37b373fe 234
44b27e42 235- **Afform - Fix saving and editing entity blocks
21533e64
AH
236 ([22963](https://github.com/civicrm/civicrm-core/pull/22963),
237 [22986](https://github.com/civicrm/civicrm-core/pull/22986), and
238 [23104](https://github.com/civicrm/civicrm-core/pull/23104))**
37b373fe 239
44b27e42
AF
240- **Afform Gui - Fix selecting html element of text box
241 ([22929](https://github.com/civicrm/civicrm-core/pull/22929))**
37b373fe 242
21533e64
AH
243- **Afform - fix missing submit actions
244 ([23024](https://github.com/civicrm/civicrm-core/pull/23024))**
245
44b27e42
AF
246- **SearchKit - Fix support for non-DAO entities
247 ([22764](https://github.com/civicrm/civicrm-core/pull/22764))**
37b373fe 248
21533e64
AH
249- **Fix deleting afforms when deleting saved search
250 ([22997](https://github.com/civicrm/civicrm-core/pull/22997))**
251
252 A typo in the code was preventing afforms from being deleted with a
253 corresponding saved search, and may have led to afforms being deleted
254 incorrectly.
255
256- **SearchKit - Fix multi-valued afform filters
257 ([23012](https://github.com/civicrm/civicrm-core/pull/23012))**
258
259 Fixes a SearchKit regression causing multi-select afform filters to stop
260 working.
261
262- **Search Kit: Unable to Aggregate on a Custom Field
263 ([dev/core#3143](https://lab.civicrm.org/dev/core/-/issues/3143):
264 [23070](https://github.com/civicrm/civicrm-core/pull/23070))**
265
44b27e42
AF
266- **Only acl line items based on contribution
267 ([22870](https://github.com/civicrm/civicrm-core/pull/22870))**
37b373fe 268
44b27e42 269 Ensures ACL query on line items only joins `entity_id` to contributions.
37b373fe 270
44b27e42
AF
271- **Add handling for civimember disabled
272 ([22864](https://github.com/civicrm/civicrm-core/pull/22864))**
37b373fe 273
44b27e42
AF
274- **Revert membership debug handling in IPN
275 ([22475](https://github.com/civicrm/civicrm-core/pull/22475))**
37b373fe 276
44b27e42
AF
277- **Format money in custom fields once, on the tpl layer
278 ([22728](https://github.com/civicrm/civicrm-core/pull/22728))**
37b373fe 279
44b27e42
AF
280- **New Individual: Unfilled fields "Custom Email Greeting", "Custom Postal
281 Greeting", "Custom Addressee" are hidden
282 ([dev/core#483](https://lab.civicrm.org/dev/core/-/issues/483):
283 [22380](https://github.com/civicrm/civicrm-core/pull/22380))**
37b373fe 284
44b27e42
AF
285- **Fix regression with flexible merging of contact information
286 ([22720](https://github.com/civicrm/civicrm-core/pull/22720))**
37b373fe 287
44b27e42
AF
288- **Recent update to {receipt_text} token gives warning in system check after
289 upgrade ([22821](https://github.com/civicrm/civicrm-core/pull/22821))**
37b373fe 290
44b27e42
AF
291- **Remove "Search Builder" from menubar on new installs.
292 ([22778](https://github.com/civicrm/civicrm-core/pull/22778))**
37b373fe 293
44b27e42
AF
294- **Pseudoconstants - Fix and improve handling of option callbacks
295 ([22730](https://github.com/civicrm/civicrm-core/pull/22730))**
37b373fe 296
44b27e42
AF
297- **Refresh entity list after updating custom group (self_hook_*)
298 ([22868](https://github.com/civicrm/civicrm-core/pull/22868))**
37b373fe 299
44b27e42
AF
300- **Avoid null column showing on groups search page
301 ([22724](https://github.com/civicrm/civicrm-core/pull/22724))**
37b373fe 302
44b27e42
AF
303- **Call to undefined function civicrm_api3_create_error() in
304 civicrm/civicrm/CRM/Core/Page/AJAX/Attachment.php:65
305 ([22872](https://github.com/civicrm/civicrm-core/pull/22872))**
37b373fe 306
44b27e42
AF
307- **Fix backward-compatability for new method in CRM_Contact_BAO_Query_Hook
308 ([22933](https://github.com/civicrm/civicrm-core/pull/22933))**
37b373fe 309
44b27e42
AF
310- **Fix submit handling of thousands when creating data entry batch
311 ([22772](https://github.com/civicrm/civicrm-core/pull/22772))**
37b373fe 312
44b27e42
AF
313- **Avoid PHP undefined index notices on extension pages
314 ([22848](https://github.com/civicrm/civicrm-core/pull/22848))**
37b373fe 315
44b27e42
AF
316- **Fix issues with PHP GetText and 0 length files
317 ([22842](https://github.com/civicrm/civicrm-core/pull/22842))**
37b373fe 318
44b27e42
AF
319- **Remove reference to undefined variable in
320 CRM_Contact_Form_Inline_CommunicationPreferences
321 ([22840](https://github.com/civicrm/civicrm-core/pull/22840))**
37b373fe 322
44b27e42
AF
323- **Mark methods which are only used statically as static
324 ([22844](https://github.com/civicrm/civicrm-core/pull/22844))**
37b373fe 325
44b27e42
AF
326- **Use valid syntax for self-closing br elements
327 ([22711](https://github.com/civicrm/civicrm-core/pull/22711))**
37b373fe 328
44b27e42
AF
329- **civicrm_handler_filter_pseudo_constant - Guard against old or inactive
330 pseudoconstants ([656](https://github.com/civicrm/civicrm-drupal/pull/656))**
37b373fe 331
44b27e42
AF
332- **Contact token should show contact's info instead of logged in contact
333 ([22874](https://github.com/civicrm/civicrm-core/pull/22874))**
37b373fe 334
44b27e42
AF
335- **Fixes fatal error - function doesn't exist
336 ([275](https://github.com/civicrm/civicrm-wordpress/pull/275))**
37b373fe 337
44b27e42 338- **Notice fixes ([22706](https://github.com/civicrm/civicrm-core/pull/22706))**
37b373fe 339
44b27e42
AF
340- **Some more notice fixes in smarty
341 ([22745](https://github.com/civicrm/civicrm-core/pull/22745))**
37b373fe 342
44b27e42
AF
343- **Enotice fixes
344 ([22719](https://github.com/civicrm/civicrm-core/pull/22719))**
37b373fe 345
44b27e42 346- **Enotice fix ([22707](https://github.com/civicrm/civicrm-core/pull/22707))**
37b373fe 347
44b27e42
AF
348- **Mark AJAX methods as static
349 ([22895](https://github.com/civicrm/civicrm-core/pull/22895))**
37b373fe 350
44b27e42
AF
351- **Avoid e-notices on pages with tabs
352 ([22892](https://github.com/civicrm/civicrm-core/pull/22892))**
37b373fe 353
44b27e42
AF
354- **Flush the metadata cache when the domain is edited
355 ([22637](https://github.com/civicrm/civicrm-core/pull/22637))**
37b373fe 356
44b27e42
AF
357- **Remove broken call to function_exists in CRM_Utils_String::isUtf8
358 ([22803](https://github.com/civicrm/civicrm-core/pull/22803))**
37b373fe 359
44b27e42
AF
360- **Avoid PHP notices on the UF settings page.
361 ([22667](https://github.com/civicrm/civicrm-core/pull/22667))**
37b373fe 362
44b27e42
AF
363- **Fix deprecated warnings, smary grumpy-mode issues in legacy searches
364 ([22742](https://github.com/civicrm/civicrm-core/pull/22742))**
37b373fe 365
44b27e42
AF
366- **Return array for setdefaults
367 ([22948](https://github.com/civicrm/civicrm-core/pull/22948))**
37b373fe 368
44b27e42 369### CiviCase
37b373fe 370
44b27e42
AF
371- **CiviCase - Call hooks when creating relationships
372 ([22814](https://github.com/civicrm/civicrm-core/pull/22814))**
37b373fe 373
44b27e42 374 Ensures hooks are called when creating case relationships.
37b373fe 375
44b27e42 376### CiviContribute
37b373fe 377
44b27e42
AF
378- **Bypass grumpy mode for contribution search totals & criteria
379 ([22744](https://github.com/civicrm/civicrm-core/pull/22744))**
37b373fe 380
44b27e42
AF
381- **Clean return values for dummy payment processor
382 ([22679](https://github.com/civicrm/civicrm-core/pull/22679))**
37b373fe 383
44b27e42
AF
384- **Adjust css class for payment processor to use `-`
385 ([22763](https://github.com/civicrm/civicrm-core/pull/22763))**
37b373fe 386
44b27e42
AF
387- **Fix pledge default on contribution page when the site has a WR for
388 "contribution" ([22801](https://github.com/civicrm/civicrm-core/pull/22801))**
37b373fe 389
44b27e42
AF
390- **Format money on transaction list
391 ([22438](https://github.com/civicrm/civicrm-core/pull/22438))**
37b373fe 392
44b27e42
AF
393- **Deprecate civicrm_contribution_recur.trxn_id
394 ([21539](https://github.com/civicrm/civicrm-core/pull/21539))**
37b373fe 395
44b27e42
AF
396- **php notices on contributionview
397 ([22866](https://github.com/civicrm/civicrm-core/pull/22866))**
37b373fe 398
44b27e42
AF
399- **php/smarty notices on contribution view part 2
400 ([22869](https://github.com/civicrm/civicrm-core/pull/22869))**
37b373fe 401
44b27e42
AF
402- **smarty/php notices on contribution view part 4
403 ([22894](https://github.com/civicrm/civicrm-core/pull/22894))**
37b373fe 404
44b27e42
AF
405- **Cleanup on contribution view
406 ([22698](https://github.com/civicrm/civicrm-core/pull/22698))**
37b373fe 407
44b27e42
AF
408- **Contribution view page crashes if you don't have event permissions
409 ([dev/core#3094](https://lab.civicrm.org/dev/core/-/issues/3094):
410 [22865](https://github.com/civicrm/civicrm-core/pull/22865))**
37b373fe 411
44b27e42 412### CiviEvent
37b373fe 413
44b27e42
AF
414- **Don't perform event timezone check if CiviEvent is disabled
415 ([22898](https://github.com/civicrm/civicrm-core/pull/22898))**
37b373fe 416
44b27e42 417## CiviGrant
37b373fe 418
44b27e42
AF
419- **CiviGrant - Don't auto-create any grant types
420 ([22913](https://github.com/civicrm/civicrm-core/pull/22913))**
37b373fe 421
21533e64
AH
422- **Grant checkbox in display prefs does nothing anymore
423 ([dev/core#3159](https://lab.civicrm.org/dev/core/-/issues/3159):
424 [23105](https://github.com/civicrm/civicrm-core/pull/23105))**
425
44b27e42
AF
426- **Views - CiviGrant is now an extension
427 ([654](https://github.com/civicrm/civicrm-drupal/pull/654))**
37b373fe 428
44b27e42
AF
429 Updates the Drupal Views integration to recognize that CiviGrant is now an
430 extension.
37b373fe 431
44b27e42 432### CiviMail
37b373fe 433
44b27e42
AF
434- **Move check for mailing workflow permisisons to BAO layer
435 ([22766](https://github.com/civicrm/civicrm-core/pull/22766))**
37b373fe 436
44b27e42
AF
437- **BAO_Mailing::create - stop passing by reference
438 ([22753](https://github.com/civicrm/civicrm-core/pull/22753))**
37b373fe 439
44b27e42
AF
440- **add checkPerm
441 ([22818](https://github.com/civicrm/civicrm-core/pull/22818))**
37b373fe 442
44b27e42
AF
443 Adds checkPerm to crmMailingSimpleDirective, enables ability of permission
444 checking in composer mail.
37b373fe 445
44b27e42
AF
446- **A/B testing report should show unique opens, not total opens
447 ([dev/core#2100](https://lab.civicrm.org/dev/core/-/issues/2100):
448 [20093](https://github.com/civicrm/civicrm-core/pull/20093))**
37b373fe 449
44b27e42
AF
450- **Mailing Report: do not recalculate the recipients when the count is zero
451 ([22800](https://github.com/civicrm/civicrm-core/pull/22800))**
37b373fe 452
21533e64
AH
453- **5.44+ Unsubscribe from Smart Group form generates excessive process load
454 ([dev/core#3031](https://lab.civicrm.org/dev/core/-/issues/3031):
455 [23051](https://github.com/civicrm/civicrm-core/pull/23051))**
456
457 This splits the select query in two when checking if a contact was subscribed
458 to one or more groups.
459
44b27e42 460### CiviMember
37b373fe 461
21533e64
AH
462- **New Membership fails when price set present but not selected
463 ([dev/core#3134](https://lab.civicrm.org/dev/core/-/issues/3134):
464 [23027](https://github.com/civicrm/civicrm-core/pull/23027))**
465
44b27e42
AF
466- **Fixes for smarty grumpy mode with membership
467 ([22752](https://github.com/civicrm/civicrm-core/pull/22752))**
37b373fe 468
44b27e42
AF
469- **Cleanup on Offline Membership Receipts (ensures variables present across
470 flows) ([22736](https://github.com/civicrm/civicrm-core/pull/22736))**
37b373fe 471
44b27e42 472## <a name="misc"></a>Miscellany
37b373fe 473
44b27e42
AF
474- **Move acl check for contributionView to the extension
475 ([22684](https://github.com/civicrm/civicrm-core/pull/22684))**
37b373fe 476
44b27e42
AF
477- **Move financial acls for membership to extension
478 ([22677](https://github.com/civicrm/civicrm-core/pull/22677))**
37b373fe 479
44b27e42
AF
480- **APIv4 - remove unnecessary field from System::check
481 ([22748](https://github.com/civicrm/civicrm-core/pull/22748))**
37b373fe 482
44b27e42
AF
483- **APIv4 - Add fixme about filtering custom fields by sub-type
484 ([22827](https://github.com/civicrm/civicrm-core/pull/22827))**
37b373fe 485
44b27e42
AF
486- **Cleanup around taxTerm assignment
487 ([22422](https://github.com/civicrm/civicrm-core/pull/22422))**
37b373fe 488
44b27e42
AF
489- **RecurForms test fixes
490 ([22784](https://github.com/civicrm/civicrm-core/pull/22784))**
37b373fe 491
44b27e42
AF
492- **Update unit test to use exception
493 ([22787](https://github.com/civicrm/civicrm-core/pull/22787))**
37b373fe 494
44b27e42
AF
495- **Added Cancel Recur Subscription test & setter for `supports` on Dummy
496 processor ([21895](https://github.com/civicrm/civicrm-core/pull/21895))**
37b373fe 497
44b27e42
AF
498- **Move HookInterface to \Civi\Core namespace
499 ([22834](https://github.com/civicrm/civicrm-core/pull/22834))**
37b373fe 500
44b27e42
AF
501- **Cody tidy in CRM_Core_State
502 ([22841](https://github.com/civicrm/civicrm-core/pull/22841))**
37b373fe 503
44b27e42
AF
504- **Remove reference to undefined variable
505 ([22839](https://github.com/civicrm/civicrm-core/pull/22839))**
37b373fe 506
44b27e42
AF
507- **added as a contributor
508 ([22876](https://github.com/civicrm/civicrm-core/pull/22876))**
37b373fe 509
44b27e42
AF
510- **Remove unused parameter, pass-by-ref
511 ([22756](https://github.com/civicrm/civicrm-core/pull/22756))**
37b373fe 512
44b27e42
AF
513- **Bump karma from 6.3.14 to 6.3.16
514 ([22875](https://github.com/civicrm/civicrm-core/pull/22875))**
37b373fe 515
44b27e42
AF
516- **Bump karma from 6.3.4 to 6.3.14
517 ([22758](https://github.com/civicrm/civicrm-core/pull/22758))**
37b373fe 518
44b27e42
AF
519- **Bump ajv from 6.6.1 to 6.12.6
520 ([22761](https://github.com/civicrm/civicrm-core/pull/22761))**
37b373fe 521
44b27e42
AF
522- **Remove unit tests based on older framework
523 ([71](https://github.com/civicrm/civicrm-drupal-8/pull/71))**
37b373fe 524
44b27e42
AF
525- **REF - Use function to get component name from permission
526 ([22688](https://github.com/civicrm/civicrm-core/pull/22688))**
37b373fe 527
44b27e42
AF
528- **[REF] Simplify Location::getValues
529 ([22757](https://github.com/civicrm/civicrm-core/pull/22757))**
37b373fe 530
44b27e42
AF
531- **[REF] Fix issue where spaces in payment_processor_type.name field cau…
532 ([22760](https://github.com/civicrm/civicrm-core/pull/22760))**
37b373fe 533
44b27e42
AF
534- **[REF] Cleanup billingBlock.js
535 ([22713](https://github.com/civicrm/civicrm-core/pull/22713))**
37b373fe 536
44b27e42
AF
537- **[REF] Results of running npm audit fix
538 ([22773](https://github.com/civicrm/civicrm-core/pull/22773))**
37b373fe 539
44b27e42
AF
540- **[REF] - Deprecate & delegate BAO::retrieve functions
541 ([22543](https://github.com/civicrm/civicrm-core/pull/22543))**
37b373fe 542
44b27e42
AF
543- **REF Deprecate API3 _ipn_process_transaction()
544 ([22488](https://github.com/civicrm/civicrm-core/pull/22488))**
37b373fe 545
44b27e42
AF
546- **(REF) CRM_Queue_Queue_* - Retain a copy of `$queueSpec`
547 ([22797](https://github.com/civicrm/civicrm-core/pull/22797))**
37b373fe 548
44b27e42
AF
549- **(REF) CRM_Queue_Task - Tighter signature
550 ([22794](https://github.com/civicrm/civicrm-core/pull/22794))**
37b373fe 551
44b27e42
AF
552- **[REF] Remove old require_once statements made obsolete by autoloader
553 ([22792](https://github.com/civicrm/civicrm-core/pull/22792))**
37b373fe 554
44b27e42
AF
555- **[REF] Simplification in Contact::getValues
556 ([22765](https://github.com/civicrm/civicrm-core/pull/22765))**
37b373fe 557
44b27e42
AF
558- **[REF] Fix css code style issues
559 ([22807](https://github.com/civicrm/civicrm-core/pull/22807))**
37b373fe 560
44b27e42
AF
561- **[REF] Remove unused api v2 function
562 ([22819](https://github.com/civicrm/civicrm-core/pull/22819))**
37b373fe 563
44b27e42
AF
564- **[REF] Update Guzzlehttp/psr7 version to be 1.8.5
565 ([22998](https://github.com/civicrm/civicrm-core/pull/22998))**
37b373fe 566
44b27e42
AF
567- **[REF] Rename SoftDeleteEntity -> SoftDeleteActionTrait
568 ([22944](https://github.com/civicrm/civicrm-core/pull/22944))**
569
570- **[REF] APIv4 - use entityTypes event to load custom records
571 ([22824](https://github.com/civicrm/civicrm-core/pull/22824))**
572
573- **[REF] Cleanup docblocks & unused vars in Membership BAO
574 ([22665](https://github.com/civicrm/civicrm-core/pull/22665))**
575
576- **(NFC) tests/phpunit/CRM/Queue - Add common `@group`
577 ([22795](https://github.com/civicrm/civicrm-core/pull/22795))**
578
579- **[NFC] Rename RecurForms test class
580 ([22820](https://github.com/civicrm/civicrm-core/pull/22820))**
581
582- **[NFC] Batch entry - Avoid warnings when performing math on empty string.
583 ([22715](https://github.com/civicrm/civicrm-core/pull/22715))**
584
585- **(NFC) contributor-key.yml - Fix syntax error
586 ([22921](https://github.com/civicrm/civicrm-core/pull/22921))**
587
588- **(NFC) LoggingDetailTest - Improve reliability of test
589 ([22867](https://github.com/civicrm/civicrm-core/pull/22867))**
590
591- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day
592 ([22860](https://github.com/civicrm/civicrm-core/pull/22860))**
593
594- **[NFC] Basic case create test with org
595 ([22846](https://github.com/civicrm/civicrm-core/pull/22846))**
37b373fe
AH
596
597## <a name="credits"></a>Credits
598
599This release was developed by the following code authors:
600
44b27e42
AF
601AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley
602Taylor;Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman
603Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Luke Stewart;
604Grype Digital Inc. - Md Rashedul Islam; JMA Consulting - Monish Deb, Seamus Lee;
605John Kingsnorth; Kartik Kathuria; Megaphone Technology Consulting - Jon
606Goldberg; MJW Consulting - Matthew Wire; Registered Nurses' Association of
607Ontario - Ian Wilson; Tadpole Collective - Kevin Cristiano; Wikimedia
608Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
37b373fe
AH
609
610Most authors also reviewed code for this release; in addition, the following
611reviewers contributed their comments:
612
44b27e42
AF
613Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan
614Dixon; Bluehorn Digital - Matt Glaman; CiviCoop - Jaap Jansma; CiviDesk -
615Yashodha Chaku; Progressive Technology Project - Jamie McClelland; Semper IT -
616Karin Gerritsen; Skvare - Mark Hanna
691762bc
AH
617
618## <a name="feedback"></a>Feedback
619
620These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
621to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
622and contact `@agh1`.