3 Released December 1, 2021
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | no |
17 | **Change the database schema?** | **yes** |
18 | **Alter the API?** | **yes** |
19 | **Require attention to configuration options?** | **yes** |
20 | **Fix problems installing or upgrading to a previous version?** | **yes** |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
24 ## <a name="features"></a>Features
28 - **APIv4 - Add managed entity functionality
29 ([21955](https://github.com/civicrm/civicrm-core/pull/21955))**
31 APIv4 support for managed entities.
33 - **APIv4 - Add 'match' param to save action
34 ([21857](https://github.com/civicrm/civicrm-core/pull/21857))**
36 Adds a 'match' param to the APIv4 save action.
38 - **RelationshipCache - Add case_id column
39 ([21845](https://github.com/civicrm/civicrm-core/pull/21845))**
41 Makes it possible to show case relationships in SearchKit.
43 - **SearchKit - Support download formats xlsx, ods, pdf
44 ([21351](https://github.com/civicrm/civicrm-core/pull/21351))**
46 Extends download format support for SearchKit to include xlsx, ods and pdf.
48 - **SearchKit - default displays and ACL-aware links
49 ([21929](https://github.com/civicrm/civicrm-core/pull/21929) and
50 [22108](https://github.com/civicrm/civicrm-core/pull/22108))**
52 Gives every SavedSearch an auto-generated table display, and makes use
53 of it in the UI to more conveniently view or embed a saved search without
54 needing to manually create a display. In the UI it's referred to as the
55 "Search results table" to emphasize the fact that it's the same table as
56 shown on the "compose search" screen, and is not configurable like other
59 - **SearchKit server-side rendering
60 ([21820](https://github.com/civicrm/civicrm-core/pull/21820))**
62 Improves SearchKit by doing more of the rendering work server-side. This
63 allows for more nuanced permission checks of actions, better rendering of
64 spreadsheets, and opens the door for advanced token formatting.
66 - **User experience improvement - CiviCRM Manage Events page, expand the Find
67 Events criteria by default
68 ([21953](https://github.com/civicrm/civicrm-core/pull/21953))**
70 Improves user experience on the Manage Events page by making the Find Events
71 Criteria open by default.
73 - **add 'minute' as recurring unit
74 ([21893](https://github.com/civicrm/civicrm-core/pull/21893))**
76 Adds minute as a recurring unit option.
78 ### Wordpress Integration
80 - **Introduce "Shortcode Display Mode" setting and functionality
81 ([258](https://github.com/civicrm/civicrm-wordpress/pull/258))**
83 Introduces a new metabox with a "Shortcode Display Mode" setting.
85 ## <a name="bugs"></a>Bugs resolved
89 - **DB upgrade fails for 5.15->5.36
90 ([dev/core#2550](https://lab.civicrm.org/dev/core/-/issues/2550):
91 [21997](https://github.com/civicrm/civicrm-core/pull/21997))**
93 - **Meta - token usage 5.43 standardisation effort (Work Towards
94 [dev/core#2864](https://lab.civicrm.org/dev/core/-/issues/2864):
95 [21816](https://github.com/civicrm/civicrm-core/pull/21816) and
96 [21847](https://github.com/civicrm/civicrm-core/pull/21847)**
98 Removes call to getTokenDetails from Contribute pdf letter and standardizes
99 two pledge templates to use tokens.
101 - **Message about dependent extensions when installing an extension uses "key"
103 ([dev/core#2876](https://lab.civicrm.org/dev/core/-/issues/2876):
104 [21852](https://github.com/civicrm/civicrm-core/pull/21852))**
106 - **Emails can't resolve tokens for non-contact components for recipients added
107 to the list after email form was opened
108 ([dev/core#2895](https://lab.civicrm.org/dev/core/-/issues/2895):
109 [21815](https://github.com/civicrm/civicrm-core/pull/21815))**
111 - **Remove reference to CiviCRM forum in HTTP error message
112 ([dev/core#2903](https://lab.civicrm.org/dev/core/-/issues/2903):
113 [21844](https://github.com/civicrm/civicrm-core/pull/21844))**
115 - **Repair "Norwegian Bokmål"
116 ([dev/core#2909](https://lab.civicrm.org/dev/core/-/issues/2909):
117 [21974](https://github.com/civicrm/civicrm-core/pull/21974) and
118 [21813](https://github.com/civicrm/civicrm-core/pull/21813))**
120 - **APIv4 - Add backticks around fields in join criteria
121 ([22051](https://github.com/civicrm/civicrm-core/pull/22051))**
123 - **APIv4 - Fix performance drag caused by getInfoItem calling the API
124 ([21920](https://github.com/civicrm/civicrm-core/pull/21920))**
126 - **SearchKit - Fix permission to access default display and download
127 spreadsheets ([21977](https://github.com/civicrm/civicrm-core/pull/21977))**
129 - **SearchKit - Fix incorrect pager count when using filters
130 ([21967](https://github.com/civicrm/civicrm-core/pull/21967))**
132 - **SearchKit - Conditional style rules for rows/cells
133 ([21947](https://github.com/civicrm/civicrm-core/pull/21947))**
135 - **Use null variables rather than isset in Core_Block
136 ([21957](https://github.com/civicrm/civicrm-core/pull/21957))**
138 - **GroupContactCache: Drop temp table *after* releasing lock
139 ([21942](https://github.com/civicrm/civicrm-core/pull/21942))**
141 - **Ensure no_licence is assigned for drop.tpl
142 ([21934](https://github.com/civicrm/civicrm-core/pull/21934))**
144 - **Handling for intermittent Im->getfields error
145 ([21952](https://github.com/civicrm/civicrm-core/pull/21952))**
147 - **Avoid hardcoded text in error strings; make translatable
148 ([21948](https://github.com/civicrm/civicrm-core/pull/21948))**
150 - **Don't hardcode Period Type in Manage Premiums template.
151 ([21954](https://github.com/civicrm/civicrm-core/pull/21954))**
153 - **Avoid harcoded text in setStatus calls; make translatable
154 ([21949](https://github.com/civicrm/civicrm-core/pull/21949))**
156 - **Make miscellaneous strings translatable
157 ([21950](https://github.com/civicrm/civicrm-core/pull/21950))**
159 - **Make hardcoded labels passed to setTitle translatable
160 ([21917](https://github.com/civicrm/civicrm-core/pull/21917))**
162 - **Remove use of hardcoded strings in Dedupe templates
163 ([21843](https://github.com/civicrm/civicrm-core/pull/21843))**
165 - **Makes hardcoded placeholder strings translatable
166 ([21842](https://github.com/civicrm/civicrm-core/pull/21842))**
168 - **Make hardcoded strings translatable.
169 ([21810](https://github.com/civicrm/civicrm-core/pull/21810))**
171 - **Make error message translatable - remove tag tasks.
172 ([21904](https://github.com/civicrm/civicrm-core/pull/21904))**
174 - **Make error messages translatable.
175 ([21905](https://github.com/civicrm/civicrm-core/pull/21905))**
177 - **Ensure communityMessages is assigned to the template.
178 ([21951](https://github.com/civicrm/civicrm-core/pull/21951))**
180 - **Accessibility: Fix label associations for DepupeFind template.
181 ([21946](https://github.com/civicrm/civicrm-core/pull/21946))**
183 - **Searchkit: can't use HAVING
184 ([dev/core#2954](https://lab.civicrm.org/dev/core/-/issues/2954):
185 [22130](https://github.com/civicrm/civicrm-core/pull/22130) and
186 [dev/report#83](https://lab.civicrm.org/dev/report/-/issues/83):
187 [22170](https://github.com/civicrm/civicrm-core/pull/22170))**
189 This resolves a 5.43.0 regression in the SearchKit UI where the `HAVING`
190 clause could not handle functions.
192 - **Updates centering of text and tables for Workflow Message Templates
193 ([21888](https://github.com/civicrm/civicrm-core/pull/21888),
194 [21890](https://github.com/civicrm/civicrm-core/pull/21890),
195 [21889](https://github.com/civicrm/civicrm-core/pull/21889),
196 [21861](https://github.com/civicrm/civicrm-core/pull/21861),
197 [21887](https://github.com/civicrm/civicrm-core/pull/21887),
198 [21860](https://github.com/civicrm/civicrm-core/pull/21860),
199 [21886](https://github.com/civicrm/civicrm-core/pull/21886),
200 [21859](https://github.com/civicrm/civicrm-core/pull/21859),
201 [21883](https://github.com/civicrm/civicrm-core/pull/21883),
202 [21881](https://github.com/civicrm/civicrm-core/pull/21881),
203 [21885](https://github.com/civicrm/civicrm-core/pull/21885),
204 [21862](https://github.com/civicrm/civicrm-core/pull/21862),
205 [21884](https://github.com/civicrm/civicrm-core/pull/21884),
206 [21882](https://github.com/civicrm/civicrm-core/pull/21882),
207 [21871](https://github.com/civicrm/civicrm-core/pull/21871),
208 [21879](https://github.com/civicrm/civicrm-core/pull/21879),
209 [21870](https://github.com/civicrm/civicrm-core/pull/21870),
210 [21880](https://github.com/civicrm/civicrm-core/pull/21880),
211 [21869](https://github.com/civicrm/civicrm-core/pull/21869),
212 [21877](https://github.com/civicrm/civicrm-core/pull/21877),
213 [21872](https://github.com/civicrm/civicrm-core/pull/21872),
214 [21875](https://github.com/civicrm/civicrm-core/pull/21875),
215 [21873](https://github.com/civicrm/civicrm-core/pull/21873),
216 [21874](https://github.com/civicrm/civicrm-core/pull/21874),
217 [21876](https://github.com/civicrm/civicrm-core/pull/21876),
218 [21878](https://github.com/civicrm/civicrm-core/pull/21878),
219 [21850](https://github.com/civicrm/civicrm-core/pull/21850) and
220 [21863](https://github.com/civicrm/civicrm-core/pull/21863))**
222 - **Add help tip to comment block
223 ([21902](https://github.com/civicrm/civicrm-core/pull/21902))**
225 - **Use HTML_Purifier from composer and rely on autoloader
226 ([334](https://github.com/civicrm/civicrm-packages/pull/334))**
228 - **Use HTMLPurifier from composer instead of packages
229 ([21620](https://github.com/civicrm/civicrm-core/pull/21620))**
231 - **Change DAO's that have `'default' => 'NULL'` into `'default' => NULL`,
232 i.e. true NULL ([21573](https://github.com/civicrm/civicrm-core/pull/21573))**
234 - **Correct CMS name on profile UF group types
235 ([21900](https://github.com/civicrm/civicrm-core/pull/21900))**
237 - **Prevent Undefined Index PHP notices with Afform entity metadata without an
238 icon ([21898](https://github.com/civicrm/civicrm-core/pull/21898))**
240 - **Export - Fix undefined tpl var
241 ([21891](https://github.com/civicrm/civicrm-core/pull/21891))**
243 - **typo fixes ([21868](https://github.com/civicrm/civicrm-core/pull/21868))**
245 - **Add alt attribute to image on PCPInfo template.
246 ([21808](https://github.com/civicrm/civicrm-core/pull/21808))**
248 - **Miscellaneous spelling fixes
249 ([21918](https://github.com/civicrm/civicrm-core/pull/21918))**
251 - **Fix unreplaced template vars in civicrm.settings.php when using wp-cli
252 installer ([257](https://github.com/civicrm/civicrm-wordpress/pull/257))**
254 - **$sid doesn't get set on upgrade runFinish
255 ([21798](https://github.com/civicrm/civicrm-core/pull/21798))**
257 - **Do not find references for empty values
258 ([21799](https://github.com/civicrm/civicrm-core/pull/21799))**
260 - **Fix hookTokens to be clearable outside the class
261 ([21836](https://github.com/civicrm/civicrm-core/pull/21836))**
263 - **Use SVG for 'Empowered by' logo
264 ([21841](https://github.com/civicrm/civicrm-core/pull/21841))**
268 - **Stop flushing caches on enable civiCampaign
269 ([21833](https://github.com/civicrm/civicrm-core/pull/21833))**
273 - **Financial record processing - extract to new class to faciliate cleanup
274 (Work Towards [dev/core#2715](https://lab.civicrm.org/dev/core/-/issues/2715):
275 [21391](https://github.com/civicrm/civicrm-core/pull/21391))**
277 Removes the mystery `self::_trxns` property.
279 - **Add financial validation check (to the extent we can)
280 ([21848](https://github.com/civicrm/civicrm-core/pull/21848))**
284 - **ensure events with single quotes can be share via social
285 ([21811](https://github.com/civicrm/civicrm-core/pull/21811))**
287 - **event token values missing from pdf export from participant search
288 ([dev/core#2947](https://lab.civicrm.org/dev/core/-/issues/2947):
289 [22046](https://github.com/civicrm/civicrm-core/pull/22046))**
293 - **Handle checking smartgroups when generating list of groups to unsubscribe
294 ([21176](https://github.com/civicrm/civicrm-core/pull/21176))**
296 - **CiviCRM APIv3, Improve API Exception error message when trying to subscribe
297 to a non-Public Mailing Group
298 ([21697](https://github.com/civicrm/civicrm-core/pull/21697))**
300 - **OAUTH2 account creation broken
301 ([dev/mail#105](https://lab.civicrm.org/dev/mail/-/issues/105):
302 [22169](https://github.com/civicrm/civicrm-core/pull/22169))**
306 - **Membership status update breaks if override is removed
307 ([dev/core#2974](https://lab.civicrm.org/dev/core/-/issues/2974):
308 [22182](https://github.com/civicrm/civicrm-core/pull/22182))**
310 ### Drupal Integration
312 - **"Your browser session has expired and we are unable to complete your form
313 submission" on all D9.2 anonymous sessions
314 ([dev/drupal#169](https://lab.civicrm.org/dev/drupal/-/issues/169):
315 [22071](https://github.com/civicrm/civicrm-core/pull/22071))**
317 - **Prevent autoload conflicts if HTML_Purifier is already in Drupal libraries
318 ([649](https://github.com/civicrm/civicrm-drupal/pull/649))**
320 ### Joomla Integration
322 - **Fatal error on visiting CiviCRM paths having `task` query param in it twice
323 ([dev/joomla#36](https://lab.civicrm.org/dev/joomla/-/issues/36):
324 [21922](https://github.com/civicrm/civicrm-core/pull/21922))**
326 ### WordPress Integration
328 - **Displaying map for contact address causes WP error
329 ([dev/core#2942](https://lab.civicrm.org/dev/core/-/issues/2942):
330 [21980](https://github.com/civicrm/civicrm-core/pull/21980))**
332 - **Resources are not loaded for nested shortcodes - breaks usage
333 with Divi, Avada, etc.
334 ([dev/wordpress#105](https://lab.civicrm.org/dev/wordpress/-/issues/105):
335 [259](https://github.com/civicrm/civicrm-wordpress/pull/259))**
337 ## <a name="misc"></a>Miscellany
339 - **Switch replaceGreetingTokens over
340 ([21790](https://github.com/civicrm/civicrm-core/pull/21790))**
342 - **Simplify usage of getting domain from email
343 ([21925](https://github.com/civicrm/civicrm-core/pull/21925))**
345 - **AllCoreTables - Allow virtual entities to share a DAO class
346 ([21853](https://github.com/civicrm/civicrm-core/pull/21853))**
348 - **Restrict "Oops" to administrative errors
349 ([21838](https://github.com/civicrm/civicrm-core/pull/21838))**
351 - **Update docblock for alterPaymentProcessorParams because rawParams might be
352 a payment propertyBag
353 ([21897](https://github.com/civicrm/civicrm-core/pull/21897))**
355 - **Fix cleanup on test, also NFC cleanup
356 ([21910](https://github.com/civicrm/civicrm-core/pull/21910))**
358 - **Fix unreplaced template vars in civicrm.settings.php when using legacy
359 installer ([21692](https://github.com/civicrm/civicrm-core/pull/21692))**
361 - **Remove use of spacer.gif img elements in CRM_Utils_Weight
362 ([21807](https://github.com/civicrm/civicrm-core/pull/21807))**
364 - **Remove reference to CiviCRM forum in HTTP error message
365 ([21840](https://github.com/civicrm/civicrm-core/pull/21840))**
367 - **Remove unnecessary pass-by-reference
368 ([21903](https://github.com/civicrm/civicrm-core/pull/21903))**
370 - **Remove unused function
371 ([21928](https://github.com/civicrm/civicrm-core/pull/21928))**
373 - **Remove unused function from GroupContactCache
374 ([21938](https://github.com/civicrm/civicrm-core/pull/21938))**
376 - **Remove "Connections" from navigation menu
377 ([21930](https://github.com/civicrm/civicrm-core/pull/21930))**
379 - **Remove calls to CRM_Utils_Token::getDomainTokenReplacement
380 ([21964](https://github.com/civicrm/civicrm-core/pull/21964))**
382 - **Remove remaining usages of contact & domain values in participant templates
383 ([21963](https://github.com/civicrm/civicrm-core/pull/21963))**
385 - **Remove call to getTokenDetails
386 ([21972](https://github.com/civicrm/civicrm-core/pull/21972))**
388 - **Remove another call to getTokenDetails
389 ([21794](https://github.com/civicrm/civicrm-core/pull/21794))**
391 - **Add in 5.43.1 and 5.43.2 Release Notes
392 ([22085](https://github.com/civicrm/civicrm-core/pull/22085))**
394 - **[REF] Parameter simplification
395 ([21804](https://github.com/civicrm/civicrm-core/pull/21804))**
397 - **[Ref] Make functions private to protect them
398 ([21915](https://github.com/civicrm/civicrm-core/pull/21915))**
400 - **[REF] Move another function to the FinancialProcessor
401 ([21914](https://github.com/civicrm/civicrm-core/pull/21914))**
403 - **[REF] Update date formatting in the html template to match the text
404 template and regenerate civicrm_generated file
405 ([21961](https://github.com/civicrm/civicrm-core/pull/21961))**
407 - **[REF] Regenerate generated civicrm file after recent template updates
408 ([21970](https://github.com/civicrm/civicrm-core/pull/21970))**
410 - **[REF] Skip testCutesyTokenData on php8 for the moment
411 ([22043](https://github.com/civicrm/civicrm-core/pull/22043))**
413 - **[REF] Upgrade CKEditor to 4.17
414 ([22092](https://github.com/civicrm/civicrm-core/pull/22092))**
416 - **[REF] CRM_Core_Menu - Fix syntax, undefined variables, unused code,
417 pass-by-ref ([21926](https://github.com/civicrm/civicrm-core/pull/21926))**
419 - **Improve tests around the Order.create API and membership
420 ([21892](https://github.com/civicrm/civicrm-core/pull/21892))**
422 - **Convert more tests to use full form flow
423 ([21931](https://github.com/civicrm/civicrm-core/pull/21931))**
425 - **Fix test to use postProcess flow
426 ([21849](https://github.com/civicrm/civicrm-core/pull/21849))**
428 - **Preparatory cleanup in test class
429 ([21846](https://github.com/civicrm/civicrm-core/pull/21846))**
431 - **Add test for selvSvcUpdate, switch to using tokens
432 ([21937](https://github.com/civicrm/civicrm-core/pull/21937))**
434 - **Add test for selvsvctransfer, remove use of `$contact` from template
435 ([21855](https://github.com/civicrm/civicrm-core/pull/21855))**
437 - **[NFC] [Tests] remove code smell - unnecessary double quotes
438 ([21932](https://github.com/civicrm/civicrm-core/pull/21932))**
440 - **[NFC] [REF] Test class cleanup
441 ([21921](https://github.com/civicrm/civicrm-core/pull/21921))**
443 - **(NFC) Fix quote style for valid HTML - notifications.tpl
444 ([21791](https://github.com/civicrm/civicrm-core/pull/21791))**
446 - **Fix a few more tests to use a more realistic flow
447 ([21907](https://github.com/civicrm/civicrm-core/pull/21907))**
449 - **Fix more tests to use the full form flow
450 ([21906](https://github.com/civicrm/civicrm-core/pull/21906))**
452 ## <a name="credits"></a>Credits
454 This release was developed by the following code authors:
456 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle,
457 Justin Freeman; BrightMinded Ltd - Bradley Taylor; Christian Wach;
458 CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Dave D;
459 Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit;
460 Jens Schuppe; JMA Consulting - Seamus Lee; Maria; Megaphone Technology
461 Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive
462 Technology Project - Jamie McClelland; Skvare - Sunil Pawar;
463 Wikimedia Foundation - Eileen McNaughton
465 Most authors also reviewed code for this release; in addition, the following
466 reviewers contributed their comments:
468 Artful Robot - Rich Lott; Australian Greens - John Twyman;
469 Coop SymbioTIC - Mathieu Lutfy; Fuzion - Peter Davis;
470 JMA Consulting - Monish Deb; Semper IT - Karin Gerritsen;
471 Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi
473 ## <a name="feedback"></a>Feedback
475 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
476 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm