3 Released January 5, 2022
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
13 ## <a name="synopsis"></a>Synopsis
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** |
25 ## <a name="features"></a>Features
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))**
34 Adds support for mixins to civix and updates core extensions to use them.
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))**
40 Adds option to enable escape-on-output.
42 - **APIv4 Explorer - Optionally view results in PHP format
43 ([22010](https://github.com/civicrm/civicrm-core/pull/22010))**
45 Improves the APIv4 Explorer UX by showing output in PHP format as well as
48 - **APIv4 - Add SortableEntity type which auto-adjusts weights
49 ([22137](https://github.com/civicrm/civicrm-core/pull/22137))**
51 Gives APIv4 the ability to manage the "weight" of certain entities.
53 - **APIv4 - Add export action for managed entities
54 ([22014](https://github.com/civicrm/civicrm-core/pull/22014))**
56 Adds a new APIv4 export action which generates an exportable array suitable
57 for use in a .mgd.php file.
59 - **APIv4 - Opt-in more ManagedEntity types
60 ([22068](https://github.com/civicrm/civicrm-core/pull/22068))**
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
66 - **SearchKit - Animated loading skeleton
67 ([22019](https://github.com/civicrm/civicrm-core/pull/22019))**
69 Shows a wireframe "skeleton" while loading results in SearchKit. Improves the
70 user perception of load times.
72 - **SearchKit - tabbed display for custom vs packaged searches
73 ([21986](https://github.com/civicrm/civicrm-core/pull/21986))**
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.
79 - **SearchKit - Add default text/image to displays; support custom file fields
80 ([21992](https://github.com/civicrm/civicrm-core/pull/21992))**
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.
86 - **SearchKit - Add drag-sortable weight functionality
87 ([22081](https://github.com/civicrm/civicrm-core/pull/22081))**
89 Allows SearchKit table displays to be drag-sortable.
91 - **SearchKit - enable search by case role
92 ([22121](https://github.com/civicrm/civicrm-core/pull/22121))**
94 Permits searching for contacts by case role in SearchKit.
96 - **SearchKit - Allow searches of OptionValues, LocationTypes, CustomFields
97 ([22151](https://github.com/civicrm/civicrm-core/pull/22151))**
99 Flips the switch on a few entities to be searchable in SearchKit, with an eye
100 toward more UIs being built with it.
102 - **SearchKit - Improve UX for refresh after editing
103 ([22125](https://github.com/civicrm/civicrm-core/pull/22125))**
105 Makes editing records faster and easier, and fixes a bug where the pager
106 count would not be correctly updated.
108 - **SearchKit - Improve search listing UI
109 ([22114](https://github.com/civicrm/civicrm-core/pull/22114))**
111 Makes a few improvements to the main SearchKit screen (the tabbed listing of
112 Saved Searches) specifically:
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
120 - **Update Afform & search kit info
121 ([22126](https://github.com/civicrm/civicrm-core/pull/22126))**
123 Updates SearchKit and Afform info.xml files with more helpful and less
124 confusing titles, descriptions and links.
126 - **Afform - Add table of submission results
127 ([22009](https://github.com/civicrm/civicrm-core/pull/22009))**
129 Uses a SearchDisplay in an Afform to display form submissions.
131 - **Afform - Display the extension in which an Afform is packaged
132 ([21960](https://github.com/civicrm/civicrm-core/pull/21960))**
134 Displays extension name in the UI for packaged Afforms.
136 - **Make more hardcoded strings available for translation
137 ([21994](https://github.com/civicrm/civicrm-core/pull/21994))**
139 Improves translation.
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))**
145 Changes the scheduled reminder job to default to run hourly instead of daily.
147 - **Display higher severity status checks first
148 ([22143](https://github.com/civicrm/civicrm-core/pull/22143))**
150 Improves user experience on the status page by displaying highest severity
153 - **Sort list of extensions alphabetically in 'Extensions ok' check
154 ([22142](https://github.com/civicrm/civicrm-core/pull/22142))**
156 Improves user experience by sorting the list of extensions alphabetically in
157 the 'Extensions ok' check.
159 ## <a name="bugs"></a>Bugs resolved
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))**
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))**
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))**
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))**
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))**
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))**
188 - **APIv4 Export - Fix logic for exporting pseudoconstant syntax
189 ([22201](https://github.com/civicrm/civicrm-core/pull/22201))**
191 - **APIv4 - Add fixes & tests for domain-specific managed entities
192 ([22173](https://github.com/civicrm/civicrm-core/pull/22173))**
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))**
198 - **APIv4 - Delete unused OptionList trait
199 ([22158](https://github.com/civicrm/civicrm-core/pull/22158))**
201 - **APIv4 - Treat navigation permissions as array, add pseudoconstant for
202 operator ([22160](https://github.com/civicrm/civicrm-core/pull/22160))**
204 - **APIv4 - Fix checkAccess for CiviCase or other entities with nonstandard
205 class names ([22090](https://github.com/civicrm/civicrm-core/pull/22090))**
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))**
211 - **SearchKit - Fix undefined variable for searches of Afforms etc.
212 ([22218](https://github.com/civicrm/civicrm-core/pull/22218))**
214 - **[Smarty variables] Consistently assign isAdmin at php layer
215 ([22189](https://github.com/civicrm/civicrm-core/pull/22189))**
217 - **Smarty variables] Remove isset from a.net
218 ([22191](https://github.com/civicrm/civicrm-core/pull/22191))**
220 - **[Smarty variables] remove isset from Mail accounts
221 ([22190](https://github.com/civicrm/civicrm-core/pull/22190))**
223 - **[Smarty variables] Remove another isset - user dashboard
224 ([22181](https://github.com/civicrm/civicrm-core/pull/22181))**
226 - **Smarty variables] Remove isset from relationship tab
227 ([22177](https://github.com/civicrm/civicrm-core/pull/22177))**
229 - **[Smarty variables] [CiviCase] remove isset from case dashboard
230 ([22176](https://github.com/civicrm/civicrm-core/pull/22176))**
232 - **[Smarty variables] - remove isset
233 ([22185](https://github.com/civicrm/civicrm-core/pull/22185))**
235 - **[Smarty variables] Fix contribution tab to work with escape by default
236 ([22179](https://github.com/civicrm/civicrm-core/pull/22179))**
238 - **[Smarty variables] The last isset....
239 ([22196](https://github.com/civicrm/civicrm-core/pull/22196))**
241 - **Smarty variables] Prevent settings form assigned html from being escaped
242 ([22165](https://github.com/civicrm/civicrm-core/pull/22165))**
244 - **[Smarty variable][Civicase] remove isset
245 ([22175](https://github.com/civicrm/civicrm-core/pull/22175))**
247 - **[Smarty variables] Remove isset from add new group form
248 ([22184](https://github.com/civicrm/civicrm-core/pull/22184))**
250 - **[Smarty Variables] Remove isset from location type form
251 ([22167](https://github.com/civicrm/civicrm-core/pull/22167))**
253 - **[Smarty variables] Remove issets from scheduled job screen
254 ([22166](https://github.com/civicrm/civicrm-core/pull/22166))**
256 - **[Smarty variables] [custom data form] Template notice cleanup - make sane
257 ([22138](https://github.com/civicrm/civicrm-core/pull/22138))**
259 - **[Smarty variables] [report test]Ensure smarty variables are consistently
261 ([22147](https://github.com/civicrm/civicrm-core/pull/22147))**
263 - **[Smarty variables] [Activity form] Ensure separation,tag are assigned to
264 the template ([22152](https://github.com/civicrm/civicrm-core/pull/22152))**
266 - **[Smarty variables] Specify isRepeatingEntity when including
267 ConfirmRepeatMode.tpl
268 ([22155](https://github.com/civicrm/civicrm-core/pull/22155))**
270 - **[Smarty variables] Ensure groupElementType is always set
271 ([22074](https://github.com/civicrm/civicrm-core/pull/22074))**
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))**
277 - **[Smarty variables] Use always-assigned isTagSet to determine if is tagset
278 ([22154](https://github.com/civicrm/civicrm-core/pull/22154))**
280 - **[Smarty variables] [Activity form] Ensure activityTypeFile is always
281 assigned ([22153](https://github.com/civicrm/civicrm-core/pull/22153))**
283 - **Remove issets from Activity search screen
284 ([22180](https://github.com/civicrm/civicrm-core/pull/22180))**
286 - **Remove isset checks on isForm
287 ([22174](https://github.com/civicrm/civicrm-core/pull/22174))**
289 - **Remove isset from custom data tpls
290 ([22124](https://github.com/civicrm/civicrm-core/pull/22124))**
292 - **Remove issets from Options.tpl
293 ([22079](https://github.com/civicrm/civicrm-core/pull/22079))**
295 - **Remove a bunch of isset from options.tpl
296 ([22111](https://github.com/civicrm/civicrm-core/pull/22111))**
298 - **Remove isset from Datasource.tpl
299 ([21988](https://github.com/civicrm/civicrm-core/pull/21988))**
301 - **Remove smarty isset in favour of always set
302 ([22084](https://github.com/civicrm/civicrm-core/pull/22084))**
304 - **Escape-on-output: Cleanup addCampaignToSearch, remove isset
305 ([22035](https://github.com/civicrm/civicrm-core/pull/22035))**
307 - **OptionValue - Fix checking if domain is set
308 ([22095](https://github.com/civicrm/civicrm-core/pull/22095))**
310 - **Fix all the issets that affect ability to load contact summary page
311 ([22030](https://github.com/civicrm/civicrm-core/pull/22030))**
313 - **Remove use of isset for info.tpl
314 ([22028](https://github.com/civicrm/civicrm-core/pull/22028))**
316 - **Ensure smarty variable formTpl is set
317 ([22018](https://github.com/civicrm/civicrm-core/pull/22018))**
319 - **Enotice fixes - ensure a couple more variables are consistently assigned
320 ([22148](https://github.com/civicrm/civicrm-core/pull/22148))**
322 - **Fix broken extension page smarty assignment
323 ([22168](https://github.com/civicrm/civicrm-core/pull/22168))**
325 - **Ensure custom fields properties are assigned to the template
326 ([22139](https://github.com/civicrm/civicrm-core/pull/22139))**
328 - **Ensure context is always assigned
329 ([22141](https://github.com/civicrm/civicrm-core/pull/22141))**
331 - **FormBuilder - Hide configuration options that do not apply to certain form
332 types ([22127](https://github.com/civicrm/civicrm-core/pull/22127))**
334 - **Ensure CMSPrint variables are assigned to the template
335 ([22134](https://github.com/civicrm/civicrm-core/pull/22134))**
337 - **Ensure tab headers are assigned, fix widget form test
338 ([22135](https://github.com/civicrm/civicrm-core/pull/22135))**
340 - **Ensure buildForm is called to assign values
341 ([22128](https://github.com/civicrm/civicrm-core/pull/22128))**
343 - **Update Fields.tpl
344 ([22129](https://github.com/civicrm/civicrm-core/pull/22129))**
346 - **Add Colombia missing state
347 ([22007](https://github.com/civicrm/civicrm-core/pull/22007))**
349 - **Use getEntityNameForTable() instead of getClassForTable(), as this might
350 yield ambiguous results
351 ([22116](https://github.com/civicrm/civicrm-core/pull/22116))**
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))**
357 - **Bypass any default escaping for blog, getting started
358 ([22119](https://github.com/civicrm/civicrm-core/pull/22119))**
360 - **Do not use default escaping on address display
361 ([22120](https://github.com/civicrm/civicrm-core/pull/22120))**
364 ([22070](https://github.com/civicrm/civicrm-core/pull/22070))**
366 - **Allow "Download chart" text to be translated.
367 ([22106](https://github.com/civicrm/civicrm-core/pull/22106))**
369 - **Contribution amounts configuration page is borked when translation contains
370 apostrophe ([22091](https://github.com/civicrm/civicrm-core/pull/22091))**
372 - **Use smarty:nodefaults with smarty.get
373 ([22082](https://github.com/civicrm/civicrm-core/pull/22082))**
375 - **Ensure masterAddress is always assigned
376 ([22076](https://github.com/civicrm/civicrm-core/pull/22076))**
378 - **Ensure paramSubType is always set
379 ([22075](https://github.com/civicrm/civicrm-core/pull/22075))**
381 - **Do not check is context is set, should always be
382 ([22069](https://github.com/civicrm/civicrm-core/pull/22069))**
384 - **Fix typo in smarty template "gender_display"
385 ([22066](https://github.com/civicrm/civicrm-core/pull/22066))**
387 - **Ensure context is always set
388 ([22056](https://github.com/civicrm/civicrm-core/pull/22056))**
390 - **Ensure contactTag is always set
391 ([22055](https://github.com/civicrm/civicrm-core/pull/22055))**
393 - **php8 - fix for breadcrumb fails during tests
394 ([22059](https://github.com/civicrm/civicrm-core/pull/22059))**
396 - **Mark a few more token functions as deprected
397 ([22044](https://github.com/civicrm/civicrm-core/pull/22044))**
399 - **Ensure gender_display is always set
400 ([22047](https://github.com/civicrm/civicrm-core/pull/22047))**
402 - **ManagedEntities - Track modification and auto-update
403 ([21989](https://github.com/civicrm/civicrm-core/pull/21989))**
405 - **Ensure userRecordUrl is always set- fixes enotice with escape-on-output
406 ([22042](https://github.com/civicrm/civicrm-core/pull/22042))**
408 - **Fix tabs getting overwritten by double foreach loop
409 ([22040](https://github.com/civicrm/civicrm-core/pull/22040))**
411 - **Ensure imageUrl is always set
412 ([22031](https://github.com/civicrm/civicrm-core/pull/22031))**
414 - **Escape-on-output-proof enotice fixes
415 ([22036](https://github.com/civicrm/civicrm-core/pull/22036))**
417 - **Do not smarty encode quicksearch html
418 ([22033](https://github.com/civicrm/civicrm-core/pull/22033))**
420 - **Ensure action is set when loading contactFooter
421 ([22029](https://github.com/civicrm/civicrm-core/pull/22029))**
423 - **Flip logic for determining if $section variable is set.
424 ([22027](https://github.com/civicrm/civicrm-core/pull/22027))**
426 - **Ensure beginHookFormElements is assigned
427 ([22000](https://github.com/civicrm/civicrm-core/pull/22000))**
429 - **CRM_Utils_File::isChildPath - Fix checking of non-existent paths
430 ([22021](https://github.com/civicrm/civicrm-core/pull/22021))**
432 - **Ensure hookContentPlacement is assigned
433 ([22001](https://github.com/civicrm/civicrm-core/pull/22001))**
435 - **Ensure that keys are set in tabValues before hitting smarty
436 ([21991](https://github.com/civicrm/civicrm-core/pull/21991))**
438 - **Extract getGroupOrganizationUrl & ensure always assigned
439 ([22002](https://github.com/civicrm/civicrm-core/pull/22002))**
441 - **Avoid default escaping for blog titles
442 ([22172](https://github.com/civicrm/civicrm-core/pull/22172))**
444 - **PHP 8 compat - no optional param before required
445 ([22210](https://github.com/civicrm/civicrm-core/pull/22210))**
447 - **tools/mixin/bin/test-all - Fix guard for EXT_DIR
448 ([22204](https://github.com/civicrm/civicrm-core/pull/22204))**
450 - **DebugSubscriber - Fix test-suite compatibility with XDebug 3
451 ([22197](https://github.com/civicrm/civicrm-core/pull/22197))**
453 - **ManagedEntities - Fix permission error during uninstallation
455 ([22188](https://github.com/civicrm/civicrm-core/pull/22188))**
457 - **Fix two English strings
458 ([22097](https://github.com/civicrm/civicrm-core/pull/22097))**
460 - **OptionValue - Fix incorrect update of `is_default`
461 ([22089](https://github.com/civicrm/civicrm-core/pull/22089))**
463 - **Fix missing currency for event registration when configured via
464 "quick config" ([21966](https://github.com/civicrm/civicrm-core/pull/21966))**
466 - **don't overfill the prevnext cache when reserving for a survey.
467 ([22011](https://github.com/civicrm/civicrm-core/pull/22011))**
469 - **Guard against passing empty values to CRM_Core_DAO::getFieldValue()
470 ([21998](https://github.com/civicrm/civicrm-core/pull/21998))**
472 - **Tidy up title attributes
473 ([21995](https://github.com/civicrm/civicrm-core/pull/21995))**
475 - **Enotice fixes in debug.tpl that are compatible with default escaping
476 ([21940](https://github.com/civicrm/civicrm-core/pull/21940))**
478 - **Fix isForm to be always assigned, remove checks
479 ([21979](https://github.com/civicrm/civicrm-core/pull/21979))**
482 ([21987](https://github.com/civicrm/civicrm-core/pull/21987))**
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))**
489 - **Assign cgCount in Case custom data form
490 ([22140](https://github.com/civicrm/civicrm-core/pull/22140))**
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))**
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))**
507 Fixes the currency names for Ghana and Belarus.
509 - **Repeat Contributions CiviReport warnings: Formatting non-numeric values is
511 ([dev/core#2982](https://lab.civicrm.org/dev/core/-/issues/2982):
512 [22216](https://github.com/civicrm/civicrm-core/pull/22216))**
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))**
518 - **fix unit plural in contribution page
519 ([21944](https://github.com/civicrm/civicrm-core/pull/21944))**
521 - **Update PayPalImpl.php - action on style test failure
522 ([22112](https://github.com/civicrm/civicrm-core/pull/22112))**
524 - **Check the billing fields returned by each payment processor
525 ([20811](https://github.com/civicrm/civicrm-core/pull/20811))**
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))**
533 - **Remove broken dynamic title from event template
534 ([22113](https://github.com/civicrm/civicrm-core/pull/22113))**
536 - **CRM/Event/BAO/Event: Fix ts usage on selfservice_preposition
537 ([22136](https://github.com/civicrm/civicrm-core/pull/22136))**
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))**
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))**
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))**
553 - **Fix unencoded mailing url query param in Mailing report
554 ([22008](https://github.com/civicrm/civicrm-core/pull/22008))**
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))**
560 - **Fix message templates screen to work with escape enabled by default
561 ([22118](https://github.com/civicrm/civicrm-core/pull/22118))**
565 - **CiviCRM Membership Status can never be deleted when logging is enabled
566 ([22032](https://github.com/civicrm/civicrm-core/pull/22032))**
568 - **Fix membership test to use full flow
569 ([22162](https://github.com/civicrm/civicrm-core/pull/22162))**
571 ### Drupal Integration
573 - **Add back in body classes for themeing.
574 ([68](https://github.com/civicrm/civicrm-drupal-8/pull/68))**
576 ### WordPress Integration
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))**
582 - **Resolve conflict with AIOSEO stomping on CiviCRM Shortcode
583 ([263](https://github.com/civicrm/civicrm-wordpress/pull/263))**
585 - **Prevent fatal error when the "the_title" filter has only one param
586 ([261](https://github.com/civicrm/civicrm-wordpress/pull/261))**
588 ## <a name="misc"></a>Miscellany
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))**
594 - **Move responsibilty for ensuring greeting parameters are set to
595 `ensureGreetingParamsAreSet`
596 ([21912](https://github.com/civicrm/civicrm-core/pull/21912))**
598 - **Remove unused variable
599 ([21933](https://github.com/civicrm/civicrm-core/pull/21933))**
601 - **Remove obsolete showVisibility
602 ([22102](https://github.com/civicrm/civicrm-core/pull/22102))**
604 - **Remove empty check previously commented to be meaningless
605 ([22164](https://github.com/civicrm/civicrm-core/pull/22164))**
607 - **[REF] Remove support for not-passed 'pledge' value
608 ([21908](https://github.com/civicrm/civicrm-core/pull/21908))**
610 - **[REF] - Switch BAOs to use standard delete function which calls hooks
611 ([22207](https://github.com/civicrm/civicrm-core/pull/22207))**
613 - **[REF] Remove usage of deprecated jqXHR.error in jQuery code
614 ([21919](https://github.com/civicrm/civicrm-core/pull/21919))**
616 - **[REF] Preliminary cleanup in update greeting
617 ([21909](https://github.com/civicrm/civicrm-core/pull/21909))**
619 - **REF: Switch to debug level logging for lock debugging
620 ([22026](https://github.com/civicrm/civicrm-core/pull/22026))**
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))**
627 - **[REF] Add in missing province for Philippines and update names to match ISO
628 ([22005](https://github.com/civicrm/civicrm-core/pull/22005))**
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))**
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))**
641 - **[NFC] Remove Selenium WebTest code from CiviMailUtils
642 ([22219](https://github.com/civicrm/civicrm-core/pull/22219))**
644 - **(NFC) tools/mixin/bin/test-all - Work-around segfault in CI
645 ([22215](https://github.com/civicrm/civicrm-core/pull/22215))**
647 - **[NFC] Fix test failures for testRelativeDateRanges
648 ([22209](https://github.com/civicrm/civicrm-core/pull/22209))**
650 - **[NFC] Add missing calls to parent::setUp and tearDown in unit tests
651 ([22073](https://github.com/civicrm/civicrm-core/pull/22073))**
653 - **[NFC] Array formatting
654 ([22067](https://github.com/civicrm/civicrm-core/pull/22067))**
656 - **[NFC] ENsure that formTpl is assigned in CRM_Custom_Form_OptionTest
657 ([22065](https://github.com/civicrm/civicrm-core/pull/22065))**
659 - **[NFC] php8 assign formTpl in HookTest test
660 ([22061](https://github.com/civicrm/civicrm-core/pull/22061))**
662 - **[NFC] php8 - set smarty null defaults for CRM_Core_SessionTest
663 ([22048](https://github.com/civicrm/civicrm-core/pull/22048))**
665 - **[NFC] php8 - fix test fails for CRM_Contact_Page_View_UserDashBoardTest
666 ([22023](https://github.com/civicrm/civicrm-core/pull/22023))**
668 - **[NFC] Fix test issue about trying to do array offset on NULL in Payment
670 ([22020](https://github.com/civicrm/civicrm-core/pull/22020))**
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))**
676 - **[NFC] Additional Fix on UserDashBoard Tests to assign action value to
677 dashboard ([22034](https://github.com/civicrm/civicrm-core/pull/22034))**
679 - **Test fix - use more 'real' rendering function
680 ([22123](https://github.com/civicrm/civicrm-core/pull/22123))**
682 - **Fix more tests to use full flow
683 ([22161](https://github.com/civicrm/civicrm-core/pull/22161))**
685 - **[Test] Fix tests to use form helper
686 ([22157](https://github.com/civicrm/civicrm-core/pull/22157))**
688 - **[Test] Test cleanup to use full-form methods
689 ([22156](https://github.com/civicrm/civicrm-core/pull/22156))**
691 ## <a name="credits"></a>Credits
693 This release was developed by the following code authors:
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
707 Most authors also reviewed code for this release; in addition, the following
708 reviewers contributed their comments:
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;
716 ## <a name="feedback"></a>Feedback
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