Merge pull request #23889 from eileenmcnaughton/offline_cur
[civicrm-core.git] / release-notes / 5.45.0.md
1 # CiviCRM 5.45.0
2
3 Released January 5, 2022
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12
13 ## <a name="synopsis"></a>Synopsis
14
15 | *Does this version...?* | |
16 |:--------------------------------------------------------------- |:-------:|
17 | Fix security vulnerabilities? | no |
18 | **Change the database schema?** | **yes** |
19 | **Alter the API?** | **yes** |
20 | Require attention to configuration options? | no |
21 | Fix problems installing or upgrading to a previous version? | no |
22 | **Introduce features?** | **yes** |
23 | **Fix bugs?** | **yes** |
24
25 ## <a name="features"></a>Features
26
27 ### Core CiviCRM
28
29 - **Add CiviX class in Core? (Work Towards
30 [civix#175](https://github.com/totten/civix/issues/175):
31 [22198](https://github.com/civicrm/civicrm-core/pull/22198) and
32 [22199](https://github.com/civicrm/civicrm-core/pull/22199))**
33
34 Adds support for mixins to civix and updates core extensions to use them.
35
36 - **Escape-on-Input => Escape-on-Output (Work Towards
37 [dev/core#1328](https://lab.civicrm.org/dev/core/-/issues/1328):
38 [21956](https://github.com/civicrm/civicrm-core/pull/21956))**
39
40 Adds option to enable escape-on-output.
41
42 - **APIv4 Explorer - Optionally view results in PHP format
43 ([22010](https://github.com/civicrm/civicrm-core/pull/22010))**
44
45 Improves the APIv4 Explorer UX by showing output in PHP format as well as
46 JSON.
47
48 - **APIv4 - Add SortableEntity type which auto-adjusts weights
49 ([22137](https://github.com/civicrm/civicrm-core/pull/22137))**
50
51 Gives APIv4 the ability to manage the "weight" of certain entities.
52
53 - **APIv4 - Add export action for managed entities
54 ([22014](https://github.com/civicrm/civicrm-core/pull/22014))**
55
56 Adds a new APIv4 export action which generates an exportable array suitable
57 for use in a .mgd.php file.
58
59 - **APIv4 - Opt-in more ManagedEntity types
60 ([22068](https://github.com/civicrm/civicrm-core/pull/22068))**
61
62 Adds the ManagedEntity trait to a number of entities that are commonly used
63 for configuration, making it possible to work with them as APIv4 managed
64 entities.
65
66 - **SearchKit - Animated loading skeleton
67 ([22019](https://github.com/civicrm/civicrm-core/pull/22019))**
68
69 Shows a wireframe "skeleton" while loading results in SearchKit. Improves the
70 user perception of load times.
71
72 - **SearchKit - tabbed display for custom vs packaged searches
73 ([21986](https://github.com/civicrm/civicrm-core/pull/21986))**
74
75 Splits the SearchKit admin UI in to 2 tabs - one for custom (locally-created)
76 searches, and one for packaged searches (defined in extensions). Adds a
77 "revert" button for packaged searches.
78
79 - **SearchKit - Add default text/image to displays; support custom file fields
80 ([21992](https://github.com/civicrm/civicrm-core/pull/21992))**
81
82 Allows for "placeholder" text in a search display when a column value is
83 empty. Also works for image fields. Image fields now support custom file
84 fields to display images out-of-the-box.
85
86 - **SearchKit - Add drag-sortable weight functionality
87 ([22081](https://github.com/civicrm/civicrm-core/pull/22081))**
88
89 Allows SearchKit table displays to be drag-sortable.
90
91 - **SearchKit - enable search by case role
92 ([22121](https://github.com/civicrm/civicrm-core/pull/22121))**
93
94 Permits searching for contacts by case role in SearchKit.
95
96 - **SearchKit - Allow searches of OptionValues, LocationTypes, CustomFields
97 ([22151](https://github.com/civicrm/civicrm-core/pull/22151))**
98
99 Flips the switch on a few entities to be searchable in SearchKit, with an eye
100 toward more UIs being built with it.
101
102 - **SearchKit - Improve UX for refresh after editing
103 ([22125](https://github.com/civicrm/civicrm-core/pull/22125))**
104
105 Makes editing records faster and easier, and fixes a bug where the pager
106 count would not be correctly updated.
107
108 - **SearchKit - Improve search listing UI
109 ([22114](https://github.com/civicrm/civicrm-core/pull/22114))**
110
111 Makes a few improvements to the main SearchKit screen (the tabbed listing of
112 Saved Searches) specifically:
113
114 - More responsive switching between tabs
115 - Bookmarkable urls for each tab
116 - Fixes the "modified" column for packaged searches, only showing a value if
117 the packaged version has been overridden
118 - Only shows "revert" button when a packaged search has been overridden
119
120 - **Update Afform & search kit info
121 ([22126](https://github.com/civicrm/civicrm-core/pull/22126))**
122
123 Updates SearchKit and Afform info.xml files with more helpful and less
124 confusing titles, descriptions and links.
125
126 - **Afform - Add table of submission results
127 ([22009](https://github.com/civicrm/civicrm-core/pull/22009))**
128
129 Uses a SearchDisplay in an Afform to display form submissions.
130
131 - **Afform - Display the extension in which an Afform is packaged
132 ([21960](https://github.com/civicrm/civicrm-core/pull/21960))**
133
134 Displays extension name in the UI for packaged Afforms.
135
136 - **Make more hardcoded strings available for translation
137 ([21994](https://github.com/civicrm/civicrm-core/pull/21994))**
138
139 Improves translation.
140
141 - **Alter default frequency for scheduled reminders job
142 ([dev/core#2916](https://lab.civicrm.org/dev/core/-/issues/2916):
143 [21835](https://github.com/civicrm/civicrm-core/pull/21835))**
144
145 Changes the scheduled reminder job to default to run hourly instead of daily.
146
147 - **Display higher severity status checks first
148 ([22143](https://github.com/civicrm/civicrm-core/pull/22143))**
149
150 Improves user experience on the status page by displaying highest severity
151 status checks first.
152
153 - **Sort list of extensions alphabetically in 'Extensions ok' check
154 ([22142](https://github.com/civicrm/civicrm-core/pull/22142))**
155
156 Improves user experience by sorting the list of extensions alphabetically in
157 the 'Extensions ok' check.
158
159 ## <a name="bugs"></a>Bugs resolved
160
161 ### Core CiviCRM
162
163 - **Email to Activity processing: If there's a matching org contact and no
164 matching individual, then file on the org instead of creating a new individual
165 ([dev/core#2872](https://lab.civicrm.org/dev/core/-/issues/2872):
166 [21983](https://github.com/civicrm/civicrm-core/pull/21983))**
167
168 - **Activity redirects to search instead of view
169 ([dev/core#2894](https://lab.civicrm.org/dev/core/-/issues/2894):
170 [22088](https://github.com/civicrm/civicrm-core/pull/22088))**
171
172 - **Can't save extra custom fields when inline and required
173 ([dev/core#2912](https://lab.civicrm.org/dev/core/-/issues/2912):
174 [21936](https://github.com/civicrm/civicrm-core/pull/21936))**
175
176 - **Hidden submit buttons are confusing for keyboard users
177 ([dev/core#2919](https://lab.civicrm.org/dev/core/-/issues/2919):
178 [21854](https://github.com/civicrm/civicrm-core/pull/21854))**
179
180 - **some PDFs hard-code format to "a3 landscape", overriding default PDF format
181 ([dev/core#2959](https://lab.civicrm.org/dev/core/-/issues/2959):
182 [22098](https://github.com/civicrm/civicrm-core/pull/22098))**
183
184 - **All custom fields broken on edit forms
185 ([dev/core#2973](https://lab.civicrm.org/dev/core/-/issues/2973):
186 [22178](https://github.com/civicrm/civicrm-core/pull/22178))**
187
188 - **APIv4 Export - Fix logic for exporting pseudoconstant syntax
189 ([22201](https://github.com/civicrm/civicrm-core/pull/22201))**
190
191 - **APIv4 - Add fixes & tests for domain-specific managed entities
192 ([22173](https://github.com/civicrm/civicrm-core/pull/22173))**
193
194 - **Api v4 contact delete bug
195 ([dev/core#2757](https://lab.civicrm.org/dev/core/-/issues/2757):
196 [21232](https://github.com/civicrm/civicrm-core/pull/21232))**
197
198 - **APIv4 - Delete unused OptionList trait
199 ([22158](https://github.com/civicrm/civicrm-core/pull/22158))**
200
201 - **APIv4 - Treat navigation permissions as array, add pseudoconstant for
202 operator ([22160](https://github.com/civicrm/civicrm-core/pull/22160))**
203
204 - **APIv4 - Fix checkAccess for CiviCase or other entities with nonstandard
205 class names ([22090](https://github.com/civicrm/civicrm-core/pull/22090))**
206
207 - **SearchKit with Form Builder when viewed on the front-end displays a CiviCRM
208 breadcrumb trail which can duplicate the existing website breadcrumb trail
209 ([22087](https://github.com/civicrm/civicrm-core/pull/22087))**
210
211 - **SearchKit - Fix undefined variable for searches of Afforms etc.
212 ([22218](https://github.com/civicrm/civicrm-core/pull/22218))**
213
214 - **[Smarty variables] Consistently assign isAdmin at php layer
215 ([22189](https://github.com/civicrm/civicrm-core/pull/22189))**
216
217 - **Smarty variables] Remove isset from a.net
218 ([22191](https://github.com/civicrm/civicrm-core/pull/22191))**
219
220 - **[Smarty variables] remove isset from Mail accounts
221 ([22190](https://github.com/civicrm/civicrm-core/pull/22190))**
222
223 - **[Smarty variables] Remove another isset - user dashboard
224 ([22181](https://github.com/civicrm/civicrm-core/pull/22181))**
225
226 - **Smarty variables] Remove isset from relationship tab
227 ([22177](https://github.com/civicrm/civicrm-core/pull/22177))**
228
229 - **[Smarty variables] [CiviCase] remove isset from case dashboard
230 ([22176](https://github.com/civicrm/civicrm-core/pull/22176))**
231
232 - **[Smarty variables] - remove isset
233 ([22185](https://github.com/civicrm/civicrm-core/pull/22185))**
234
235 - **[Smarty variables] Fix contribution tab to work with escape by default
236 ([22179](https://github.com/civicrm/civicrm-core/pull/22179))**
237
238 - **[Smarty variables] The last isset....
239 ([22196](https://github.com/civicrm/civicrm-core/pull/22196))**
240
241 - **Smarty variables] Prevent settings form assigned html from being escaped
242 ([22165](https://github.com/civicrm/civicrm-core/pull/22165))**
243
244 - **[Smarty variable][Civicase] remove isset
245 ([22175](https://github.com/civicrm/civicrm-core/pull/22175))**
246
247 - **[Smarty variables] Remove isset from add new group form
248 ([22184](https://github.com/civicrm/civicrm-core/pull/22184))**
249
250 - **[Smarty Variables] Remove isset from location type form
251 ([22167](https://github.com/civicrm/civicrm-core/pull/22167))**
252
253 - **[Smarty variables] Remove issets from scheduled job screen
254 ([22166](https://github.com/civicrm/civicrm-core/pull/22166))**
255
256 - **[Smarty variables] [custom data form] Template notice cleanup - make sane
257 ([22138](https://github.com/civicrm/civicrm-core/pull/22138))**
258
259 - **[Smarty variables] [report test]Ensure smarty variables are consistently
260 assigned in report
261 ([22147](https://github.com/civicrm/civicrm-core/pull/22147))**
262
263 - **[Smarty variables] [Activity form] Ensure separation,tag are assigned to
264 the template ([22152](https://github.com/civicrm/civicrm-core/pull/22152))**
265
266 - **[Smarty variables] Specify isRepeatingEntity when including
267 ConfirmRepeatMode.tpl
268 ([22155](https://github.com/civicrm/civicrm-core/pull/22155))**
269
270 - **[Smarty variables] Ensure groupElementType is always set
271 ([22074](https://github.com/civicrm/civicrm-core/pull/22074))**
272
273 - **[Smarty variables] [contact summary] Assign variable to determine whether
274 to show email signature field
275 ([22132](https://github.com/civicrm/civicrm-core/pull/22132))**
276
277 - **[Smarty variables] Use always-assigned isTagSet to determine if is tagset
278 ([22154](https://github.com/civicrm/civicrm-core/pull/22154))**
279
280 - **[Smarty variables] [Activity form] Ensure activityTypeFile is always
281 assigned ([22153](https://github.com/civicrm/civicrm-core/pull/22153))**
282
283 - **Remove issets from Activity search screen
284 ([22180](https://github.com/civicrm/civicrm-core/pull/22180))**
285
286 - **Remove isset checks on isForm
287 ([22174](https://github.com/civicrm/civicrm-core/pull/22174))**
288
289 - **Remove isset from custom data tpls
290 ([22124](https://github.com/civicrm/civicrm-core/pull/22124))**
291
292 - **Remove issets from Options.tpl
293 ([22079](https://github.com/civicrm/civicrm-core/pull/22079))**
294
295 - **Remove a bunch of isset from options.tpl
296 ([22111](https://github.com/civicrm/civicrm-core/pull/22111))**
297
298 - **Remove isset from Datasource.tpl
299 ([21988](https://github.com/civicrm/civicrm-core/pull/21988))**
300
301 - **Remove smarty isset in favour of always set
302 ([22084](https://github.com/civicrm/civicrm-core/pull/22084))**
303
304 - **Escape-on-output: Cleanup addCampaignToSearch, remove isset
305 ([22035](https://github.com/civicrm/civicrm-core/pull/22035))**
306
307 - **OptionValue - Fix checking if domain is set
308 ([22095](https://github.com/civicrm/civicrm-core/pull/22095))**
309
310 - **Fix all the issets that affect ability to load contact summary page
311 ([22030](https://github.com/civicrm/civicrm-core/pull/22030))**
312
313 - **Remove use of isset for info.tpl
314 ([22028](https://github.com/civicrm/civicrm-core/pull/22028))**
315
316 - **Ensure smarty variable formTpl is set
317 ([22018](https://github.com/civicrm/civicrm-core/pull/22018))**
318
319 - **Enotice fixes - ensure a couple more variables are consistently assigned
320 ([22148](https://github.com/civicrm/civicrm-core/pull/22148))**
321
322 - **Fix broken extension page smarty assignment
323 ([22168](https://github.com/civicrm/civicrm-core/pull/22168))**
324
325 - **Ensure custom fields properties are assigned to the template
326 ([22139](https://github.com/civicrm/civicrm-core/pull/22139))**
327
328 - **Ensure context is always assigned
329 ([22141](https://github.com/civicrm/civicrm-core/pull/22141))**
330
331 - **FormBuilder - Hide configuration options that do not apply to certain form
332 types ([22127](https://github.com/civicrm/civicrm-core/pull/22127))**
333
334 - **Ensure CMSPrint variables are assigned to the template
335 ([22134](https://github.com/civicrm/civicrm-core/pull/22134))**
336
337 - **Ensure tab headers are assigned, fix widget form test
338 ([22135](https://github.com/civicrm/civicrm-core/pull/22135))**
339
340 - **Ensure buildForm is called to assign values
341 ([22128](https://github.com/civicrm/civicrm-core/pull/22128))**
342
343 - **Update Fields.tpl
344 ([22129](https://github.com/civicrm/civicrm-core/pull/22129))**
345
346 - **Add Colombia missing state
347 ([22007](https://github.com/civicrm/civicrm-core/pull/22007))**
348
349 - **Use getEntityNameForTable() instead of getClassForTable(), as this might
350 yield ambiguous results
351 ([22116](https://github.com/civicrm/civicrm-core/pull/22116))**
352
353 - **Suppresses error logging on every page load when open_basedir restriction
354 in effect: File(/CRM/Core/Smarty/plugins/) is not within the allowed path(s)
355 ([21589](https://github.com/civicrm/civicrm-core/pull/21589))**
356
357 - **Bypass any default escaping for blog, getting started
358 ([22119](https://github.com/civicrm/civicrm-core/pull/22119))**
359
360 - **Do not use default escaping on address display
361 ([22120](https://github.com/civicrm/civicrm-core/pull/22120))**
362
363 - **Throw spaghetti
364 ([22070](https://github.com/civicrm/civicrm-core/pull/22070))**
365
366 - **Allow "Download chart" text to be translated.
367 ([22106](https://github.com/civicrm/civicrm-core/pull/22106))**
368
369 - **Contribution amounts configuration page is borked when translation contains
370 apostrophe ([22091](https://github.com/civicrm/civicrm-core/pull/22091))**
371
372 - **Use smarty:nodefaults with smarty.get
373 ([22082](https://github.com/civicrm/civicrm-core/pull/22082))**
374
375 - **Ensure masterAddress is always assigned
376 ([22076](https://github.com/civicrm/civicrm-core/pull/22076))**
377
378 - **Ensure paramSubType is always set
379 ([22075](https://github.com/civicrm/civicrm-core/pull/22075))**
380
381 - **Do not check is context is set, should always be
382 ([22069](https://github.com/civicrm/civicrm-core/pull/22069))**
383
384 - **Fix typo in smarty template "gender_display"
385 ([22066](https://github.com/civicrm/civicrm-core/pull/22066))**
386
387 - **Ensure context is always set
388 ([22056](https://github.com/civicrm/civicrm-core/pull/22056))**
389
390 - **Ensure contactTag is always set
391 ([22055](https://github.com/civicrm/civicrm-core/pull/22055))**
392
393 - **php8 - fix for breadcrumb fails during tests
394 ([22059](https://github.com/civicrm/civicrm-core/pull/22059))**
395
396 - **Mark a few more token functions as deprected
397 ([22044](https://github.com/civicrm/civicrm-core/pull/22044))**
398
399 - **Ensure gender_display is always set
400 ([22047](https://github.com/civicrm/civicrm-core/pull/22047))**
401
402 - **ManagedEntities - Track modification and auto-update
403 ([21989](https://github.com/civicrm/civicrm-core/pull/21989))**
404
405 - **Ensure userRecordUrl is always set- fixes enotice with escape-on-output
406 ([22042](https://github.com/civicrm/civicrm-core/pull/22042))**
407
408 - **Fix tabs getting overwritten by double foreach loop
409 ([22040](https://github.com/civicrm/civicrm-core/pull/22040))**
410
411 - **Ensure imageUrl is always set
412 ([22031](https://github.com/civicrm/civicrm-core/pull/22031))**
413
414 - **Escape-on-output-proof enotice fixes
415 ([22036](https://github.com/civicrm/civicrm-core/pull/22036))**
416
417 - **Do not smarty encode quicksearch html
418 ([22033](https://github.com/civicrm/civicrm-core/pull/22033))**
419
420 - **Ensure action is set when loading contactFooter
421 ([22029](https://github.com/civicrm/civicrm-core/pull/22029))**
422
423 - **Flip logic for determining if $section variable is set.
424 ([22027](https://github.com/civicrm/civicrm-core/pull/22027))**
425
426 - **Ensure beginHookFormElements is assigned
427 ([22000](https://github.com/civicrm/civicrm-core/pull/22000))**
428
429 - **CRM_Utils_File::isChildPath - Fix checking of non-existent paths
430 ([22021](https://github.com/civicrm/civicrm-core/pull/22021))**
431
432 - **Ensure hookContentPlacement is assigned
433 ([22001](https://github.com/civicrm/civicrm-core/pull/22001))**
434
435 - **Ensure that keys are set in tabValues before hitting smarty
436 ([21991](https://github.com/civicrm/civicrm-core/pull/21991))**
437
438 - **Extract getGroupOrganizationUrl & ensure always assigned
439 ([22002](https://github.com/civicrm/civicrm-core/pull/22002))**
440
441 - **Avoid default escaping for blog titles
442 ([22172](https://github.com/civicrm/civicrm-core/pull/22172))**
443
444 - **PHP 8 compat - no optional param before required
445 ([22210](https://github.com/civicrm/civicrm-core/pull/22210))**
446
447 - **tools/mixin/bin/test-all - Fix guard for EXT_DIR
448 ([22204](https://github.com/civicrm/civicrm-core/pull/22204))**
449
450 - **DebugSubscriber - Fix test-suite compatibility with XDebug 3
451 ([22197](https://github.com/civicrm/civicrm-core/pull/22197))**
452
453 - **ManagedEntities - Fix permission error during uninstallation
454 (regression-fix)
455 ([22188](https://github.com/civicrm/civicrm-core/pull/22188))**
456
457 - **Fix two English strings
458 ([22097](https://github.com/civicrm/civicrm-core/pull/22097))**
459
460 - **OptionValue - Fix incorrect update of `is_default`
461 ([22089](https://github.com/civicrm/civicrm-core/pull/22089))**
462
463 - **Fix missing currency for event registration when configured via
464 "quick config" ([21966](https://github.com/civicrm/civicrm-core/pull/21966))**
465
466 - **don't overfill the prevnext cache when reserving for a survey.
467 ([22011](https://github.com/civicrm/civicrm-core/pull/22011))**
468
469 - **Guard against passing empty values to CRM_Core_DAO::getFieldValue()
470 ([21998](https://github.com/civicrm/civicrm-core/pull/21998))**
471
472 - **Tidy up title attributes
473 ([21995](https://github.com/civicrm/civicrm-core/pull/21995))**
474
475 - **Enotice fixes in debug.tpl that are compatible with default escaping
476 ([21940](https://github.com/civicrm/civicrm-core/pull/21940))**
477
478 - **Fix isForm to be always assigned, remove checks
479 ([21979](https://github.com/civicrm/civicrm-core/pull/21979))**
480
481 - **Enotice fixes
482 ([21987](https://github.com/civicrm/civicrm-core/pull/21987))**
483
484 - **Beautifier - avoid e_notice in php 7.4 when acting on first comment token
485 ([332](https://github.com/civicrm/civicrm-packages/pull/332))**
486
487 ### CiviCase
488
489 - **Assign cgCount in Case custom data form
490 ([22140](https://github.com/civicrm/civicrm-core/pull/22140))**
491
492 ### CiviContribute
493
494 - **Can't filter by anything other than contribution status in Contribution
495 Aggregate by Relationship CiviReport
496 ([dev/report#77](https://lab.civicrm.org/dev/report/-/issues/77):
497 [22041](https://github.com/civicrm/civicrm-core/pull/22041),
498 [22024](https://github.com/civicrm/civicrm-core/pull/22024),
499 [22015](https://github.com/civicrm/civicrm-core/pull/22015),
500 [22016](https://github.com/civicrm/civicrm-core/pull/22016) and
501 [22025](https://github.com/civicrm/civicrm-core/pull/22025))**
502
503 - **Using GHC as a default currency causes a fatal error with Brick/Money
504 ([dev/financial#184](https://lab.civicrm.org/dev/financial/-/issues/184):
505 [21751](https://github.com/civicrm/civicrm-core/pull/21751))**
506
507 Fixes the currency names for Ghana and Belarus.
508
509 - **Repeat Contributions CiviReport warnings: Formatting non-numeric values is
510 no longer supported
511 ([dev/core#2982](https://lab.civicrm.org/dev/core/-/issues/2982):
512 [22216](https://github.com/civicrm/civicrm-core/pull/22216))**
513
514 - **Expose contribution custom fields in LYBUNT report
515 ([dev/core#2951](https://lab.civicrm.org/dev/core/-/issues/2951):
516 [22038](https://github.com/civicrm/civicrm-core/pull/22038))**
517
518 - **fix unit plural in contribution page
519 ([21944](https://github.com/civicrm/civicrm-core/pull/21944))**
520
521 - **Update PayPalImpl.php - action on style test failure
522 ([22112](https://github.com/civicrm/civicrm-core/pull/22112))**
523
524 - **Check the billing fields returned by each payment processor
525 ([20811](https://github.com/civicrm/civicrm-core/pull/20811))**
526
527 ### CiviEvent
528
529 - **Participant Listing report filters incorrectly on role ID
530 ([dev/report#18](https://lab.civicrm.org/dev/report/-/issues/18):
531 [21975](https://github.com/civicrm/civicrm-core/pull/21975))**
532
533 - **Remove broken dynamic title from event template
534 ([22113](https://github.com/civicrm/civicrm-core/pull/22113))**
535
536 - **CRM/Event/BAO/Event: Fix ts usage on selfservice_preposition
537 ([22136](https://github.com/civicrm/civicrm-core/pull/22136))**
538
539 - **Notice error Deprecated function CRM_Event_BAO_Event::checkPermission
540 ([dev/core#1529](https://lab.civicrm.org/dev/core/-/issues/1529):
541 [22017](https://github.com/civicrm/civicrm-core/pull/22017))**
542
543 - **Custom data not available in the post hook after registering for an event
544 ([dev/core#2948](https://lab.civicrm.org/dev/core/-/issues/2948):
545 [22022](https://github.com/civicrm/civicrm-core/pull/22022))**
546
547 - **CiviCRM Event, remove the superfluous "Are you sure you want to delete this
548 Event?" confirmation for the Event delete action
549 ([22122](https://github.com/civicrm/civicrm-core/pull/22122))**
550
551 ### CiviMail
552
553 - **Fix unencoded mailing url query param in Mailing report
554 ([22008](https://github.com/civicrm/civicrm-core/pull/22008))**
555
556 - **CiviCRM Message Template, HTML Format and Text Format fields are listed in
557 a different order on the Default Message Template
558 ([22110](https://github.com/civicrm/civicrm-core/pull/22110))**
559
560 - **Fix message templates screen to work with escape enabled by default
561 ([22118](https://github.com/civicrm/civicrm-core/pull/22118))**
562
563 ### CiviMember
564
565 - **CiviCRM Membership Status can never be deleted when logging is enabled
566 ([22032](https://github.com/civicrm/civicrm-core/pull/22032))**
567
568 - **Fix membership test to use full flow
569 ([22162](https://github.com/civicrm/civicrm-core/pull/22162))**
570
571 ### Drupal Integration
572
573 - **Add back in body classes for themeing.
574 ([68](https://github.com/civicrm/civicrm-drupal-8/pull/68))**
575
576 ### WordPress Integration
577
578 - **CiviCRM WordPress shortcode remove the display of default text and instead
579 just return blank if the shortcode cannot be rendered.
580 ([262](https://github.com/civicrm/civicrm-wordpress/pull/262))**
581
582 - **Resolve conflict with AIOSEO stomping on CiviCRM Shortcode
583 ([263](https://github.com/civicrm/civicrm-wordpress/pull/263))**
584
585 - **Prevent fatal error when the "the_title" filter has only one param
586 ([261](https://github.com/civicrm/civicrm-wordpress/pull/261))**
587
588 ## <a name="misc"></a>Miscellany
589
590 - **APIv4 ConformanceTest - Demonstrate entity APIs which fail to emit
591 `hook_civicrm_post(delete)`
592 ([22205](https://github.com/civicrm/civicrm-core/pull/22205))**
593
594 - **Move responsibilty for ensuring greeting parameters are set to
595 `ensureGreetingParamsAreSet`
596 ([21912](https://github.com/civicrm/civicrm-core/pull/21912))**
597
598 - **Remove unused variable
599 ([21933](https://github.com/civicrm/civicrm-core/pull/21933))**
600
601 - **Remove obsolete showVisibility
602 ([22102](https://github.com/civicrm/civicrm-core/pull/22102))**
603
604 - **Remove empty check previously commented to be meaningless
605 ([22164](https://github.com/civicrm/civicrm-core/pull/22164))**
606
607 - **[REF] Remove support for not-passed 'pledge' value
608 ([21908](https://github.com/civicrm/civicrm-core/pull/21908))**
609
610 - **[REF] - Switch BAOs to use standard delete function which calls hooks
611 ([22207](https://github.com/civicrm/civicrm-core/pull/22207))**
612
613 - **[REF] Remove usage of deprecated jqXHR.error in jQuery code
614 ([21919](https://github.com/civicrm/civicrm-core/pull/21919))**
615
616 - **[REF] Preliminary cleanup in update greeting
617 ([21909](https://github.com/civicrm/civicrm-core/pull/21909))**
618
619 - **REF: Switch to debug level logging for lock debugging
620 ([22026](https://github.com/civicrm/civicrm-core/pull/22026))**
621
622 - **[REF] Fix Pledge Test failing on php8 by ensuring all payments have a
623 status assigned and that customGroup is always assigned to the template and
624 updating test to pass in some additional form values
625 ([22037](https://github.com/civicrm/civicrm-core/pull/22037))**
626
627 - **[REF] Add in missing province for Philippines and update names to match ISO
628 ([22005](https://github.com/civicrm/civicrm-core/pull/22005))**
629
630 - **[REF] "Your browser session has expired and we are unable to complete your
631 form submission" on all D9.2 anonymous sessions
632 ([dev/drupal#169](https://lab.civicrm.org/dev/drupal/-/issues/169):
633 [22080](https://github.com/civicrm/civicrm-core/pull/22080)
634 and [335](https://github.com/civicrm/civicrm-packages/pull/335))**
635
636 - **[NFC] Update System Uft8mb4 check to handle for the fact that MySQL8
637 outputs utf8mb3 when the charset has been set to utf8 as utf8mb3 is the
638 underlyling charset for utf8
639 ([22221](https://github.com/civicrm/civicrm-core/pull/22221))**
640
641 - **[NFC] Remove Selenium WebTest code from CiviMailUtils
642 ([22219](https://github.com/civicrm/civicrm-core/pull/22219))**
643
644 - **(NFC) tools/mixin/bin/test-all - Work-around segfault in CI
645 ([22215](https://github.com/civicrm/civicrm-core/pull/22215))**
646
647 - **[NFC] Fix test failures for testRelativeDateRanges
648 ([22209](https://github.com/civicrm/civicrm-core/pull/22209))**
649
650 - **[NFC] Add missing calls to parent::setUp and tearDown in unit tests
651 ([22073](https://github.com/civicrm/civicrm-core/pull/22073))**
652
653 - **[NFC] Array formatting
654 ([22067](https://github.com/civicrm/civicrm-core/pull/22067))**
655
656 - **[NFC] ENsure that formTpl is assigned in CRM_Custom_Form_OptionTest
657 ([22065](https://github.com/civicrm/civicrm-core/pull/22065))**
658
659 - **[NFC] php8 assign formTpl in HookTest test
660 ([22061](https://github.com/civicrm/civicrm-core/pull/22061))**
661
662 - **[NFC] php8 - set smarty null defaults for CRM_Core_SessionTest
663 ([22048](https://github.com/civicrm/civicrm-core/pull/22048))**
664
665 - **[NFC] php8 - fix test fails for CRM_Contact_Page_View_UserDashBoardTest
666 ([22023](https://github.com/civicrm/civicrm-core/pull/22023))**
667
668 - **[NFC] Fix test issue about trying to do array offset on NULL in Payment
669 ProcessorFormTest
670 ([22020](https://github.com/civicrm/civicrm-core/pull/22020))**
671
672 - **[NFC] Add in unit test to demonstate issue with API
673 ([dev/mail#103](https://lab.civicrm.org/dev/mail/-/issues/103):
674 [22045](https://github.com/civicrm/civicrm-core/pull/22045))**
675
676 - **[NFC] Additional Fix on UserDashBoard Tests to assign action value to
677 dashboard ([22034](https://github.com/civicrm/civicrm-core/pull/22034))**
678
679 - **Test fix - use more 'real' rendering function
680 ([22123](https://github.com/civicrm/civicrm-core/pull/22123))**
681
682 - **Fix more tests to use full flow
683 ([22161](https://github.com/civicrm/civicrm-core/pull/22161))**
684
685 - **[Test] Fix tests to use form helper
686 ([22157](https://github.com/civicrm/civicrm-core/pull/22157))**
687
688 - **[Test] Test cleanup to use full-form methods
689 ([22156](https://github.com/civicrm/civicrm-core/pull/22156))**
690
691 ## <a name="credits"></a>Credits
692
693 This release was developed by the following code authors:
694
695 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
696 BrightMinded Ltd - Bradley Taylor; Christian Wach; CiviCoop - Jaap Jansma;
697 CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp -
698 Lisandro; Coop SymbioTIC - Mathieu Lutfy; CSES (Chelmsford Science and
699 Engineering Society) - Adam Wood; Dave D; Digitalcourage - Detlev Sieber;
700 homotechsual - Mikey O'Toole; Jens Schuppe; JMA Consulting - Monish Deb, Seamus
701 Lee; joapta; Joinery - Allen Shaw; Lighthouse Consulting and Design - Brian
702 Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting -
703 Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project -
704 Jamie McClelland; Third Sector Design - Kurund Jalmi, William Mortada;
705 Wikimedia Foundation - Eileen McNaughton
706
707 Most authors also reviewed code for this release; in addition, the following
708 reviewers contributed their comments:
709
710 Arnaud Broes; Artful Robot - Rich Lott; Asylum Seekers Centre; Australian
711 Greens - John Twyman; Betty Dolfing; Blackfly Solutions - Alan Dixon; Carlos
712 Capote; Guydn; JMA Consulting - Joe Murray; Lemniscus - Noah Miller; netzih;
713 Nicol Wistreich; Richard van Oosterhout; Skvare - Sunil Pawar; Tadpole
714 Collective - Kevin Cristiano;
715
716 ## <a name="feedback"></a>Feedback
717
718 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
719 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
720 and contact `@agh1`.