LocationType - Use standard delete function which calls hooks
[civicrm-core.git] / release-notes / 5.44.0.md
1 # CiviCRM 5.44.0
2
3 Released December 1, 2021
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
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** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **APIv4 - Add managed entity functionality
29 ([21955](https://github.com/civicrm/civicrm-core/pull/21955))**
30
31 APIv4 support for managed entities.
32
33 - **APIv4 - Add 'match' param to save action
34 ([21857](https://github.com/civicrm/civicrm-core/pull/21857))**
35
36 Adds a 'match' param to the APIv4 save action.
37
38 - **RelationshipCache - Add case_id column
39 ([21845](https://github.com/civicrm/civicrm-core/pull/21845))**
40
41 Makes it possible to show case relationships in SearchKit.
42
43 - **SearchKit - Support download formats xlsx, ods, pdf
44 ([21351](https://github.com/civicrm/civicrm-core/pull/21351))**
45
46 Extends download format support for SearchKit to include xlsx, ods and pdf.
47
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))**
51
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
57 displays.
58
59 - **SearchKit server-side rendering
60 ([21820](https://github.com/civicrm/civicrm-core/pull/21820))**
61
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.
65
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))**
69
70 Improves user experience on the Manage Events page by making the Find Events
71 Criteria open by default.
72
73 - **add 'minute' as recurring unit
74 ([21893](https://github.com/civicrm/civicrm-core/pull/21893))**
75
76 Adds minute as a recurring unit option.
77
78 ### Wordpress Integration
79
80 - **Introduce "Shortcode Display Mode" setting and functionality
81 ([258](https://github.com/civicrm/civicrm-wordpress/pull/258))**
82
83 Introduces a new metabox with a "Shortcode Display Mode" setting.
84
85 ## <a name="bugs"></a>Bugs resolved
86
87 ### Core CiviCRM
88
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))**
92
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)**
97
98 Removes call to getTokenDetails from Contribute pdf letter and standardizes
99 two pledge templates to use tokens.
100
101 - **Message about dependent extensions when installing an extension uses "key"
102 instead of label
103 ([dev/core#2876](https://lab.civicrm.org/dev/core/-/issues/2876):
104 [21852](https://github.com/civicrm/civicrm-core/pull/21852))**
105
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))**
110
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))**
114
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))**
119
120 - **APIv4 - Add backticks around fields in join criteria
121 ([22051](https://github.com/civicrm/civicrm-core/pull/22051))**
122
123 - **APIv4 - Fix performance drag caused by getInfoItem calling the API
124 ([21920](https://github.com/civicrm/civicrm-core/pull/21920))**
125
126 - **SearchKit - Fix permission to access default display and download
127 spreadsheets ([21977](https://github.com/civicrm/civicrm-core/pull/21977))**
128
129 - **SearchKit - Fix incorrect pager count when using filters
130 ([21967](https://github.com/civicrm/civicrm-core/pull/21967))**
131
132 - **SearchKit - Conditional style rules for rows/cells
133 ([21947](https://github.com/civicrm/civicrm-core/pull/21947))**
134
135 - **Use null variables rather than isset in Core_Block
136 ([21957](https://github.com/civicrm/civicrm-core/pull/21957))**
137
138 - **GroupContactCache: Drop temp table *after* releasing lock
139 ([21942](https://github.com/civicrm/civicrm-core/pull/21942))**
140
141 - **Ensure no_licence is assigned for drop.tpl
142 ([21934](https://github.com/civicrm/civicrm-core/pull/21934))**
143
144 - **Handling for intermittent Im->getfields error
145 ([21952](https://github.com/civicrm/civicrm-core/pull/21952))**
146
147 - **Avoid hardcoded text in error strings; make translatable
148 ([21948](https://github.com/civicrm/civicrm-core/pull/21948))**
149
150 - **Don't hardcode Period Type in Manage Premiums template.
151 ([21954](https://github.com/civicrm/civicrm-core/pull/21954))**
152
153 - **Avoid harcoded text in setStatus calls; make translatable
154 ([21949](https://github.com/civicrm/civicrm-core/pull/21949))**
155
156 - **Make miscellaneous strings translatable
157 ([21950](https://github.com/civicrm/civicrm-core/pull/21950))**
158
159 - **Make hardcoded labels passed to setTitle translatable
160 ([21917](https://github.com/civicrm/civicrm-core/pull/21917))**
161
162 - **Remove use of hardcoded strings in Dedupe templates
163 ([21843](https://github.com/civicrm/civicrm-core/pull/21843))**
164
165 - **Makes hardcoded placeholder strings translatable
166 ([21842](https://github.com/civicrm/civicrm-core/pull/21842))**
167
168 - **Make hardcoded strings translatable.
169 ([21810](https://github.com/civicrm/civicrm-core/pull/21810))**
170
171 - **Make error message translatable - remove tag tasks.
172 ([21904](https://github.com/civicrm/civicrm-core/pull/21904))**
173
174 - **Make error messages translatable.
175 ([21905](https://github.com/civicrm/civicrm-core/pull/21905))**
176
177 - **Ensure communityMessages is assigned to the template.
178 ([21951](https://github.com/civicrm/civicrm-core/pull/21951))**
179
180 - **Accessibility: Fix label associations for DepupeFind template.
181 ([21946](https://github.com/civicrm/civicrm-core/pull/21946))**
182
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))**
188
189 This resolves a 5.43.0 regression in the SearchKit UI where the `HAVING`
190 clause could not handle functions.
191
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))**
221
222 - **Add help tip to comment block
223 ([21902](https://github.com/civicrm/civicrm-core/pull/21902))**
224
225 - **Use HTML_Purifier from composer and rely on autoloader
226 ([334](https://github.com/civicrm/civicrm-packages/pull/334))**
227
228 - **Use HTMLPurifier from composer instead of packages
229 ([21620](https://github.com/civicrm/civicrm-core/pull/21620))**
230
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))**
233
234 - **Correct CMS name on profile UF group types
235 ([21900](https://github.com/civicrm/civicrm-core/pull/21900))**
236
237 - **Prevent Undefined Index PHP notices with Afform entity metadata without an
238 icon ([21898](https://github.com/civicrm/civicrm-core/pull/21898))**
239
240 - **Export - Fix undefined tpl var
241 ([21891](https://github.com/civicrm/civicrm-core/pull/21891))**
242
243 - **typo fixes ([21868](https://github.com/civicrm/civicrm-core/pull/21868))**
244
245 - **Add alt attribute to image on PCPInfo template.
246 ([21808](https://github.com/civicrm/civicrm-core/pull/21808))**
247
248 - **Miscellaneous spelling fixes
249 ([21918](https://github.com/civicrm/civicrm-core/pull/21918))**
250
251 - **Fix unreplaced template vars in civicrm.settings.php when using wp-cli
252 installer ([257](https://github.com/civicrm/civicrm-wordpress/pull/257))**
253
254 - **$sid doesn't get set on upgrade runFinish
255 ([21798](https://github.com/civicrm/civicrm-core/pull/21798))**
256
257 - **Do not find references for empty values
258 ([21799](https://github.com/civicrm/civicrm-core/pull/21799))**
259
260 - **Fix hookTokens to be clearable outside the class
261 ([21836](https://github.com/civicrm/civicrm-core/pull/21836))**
262
263 - **Use SVG for 'Empowered by' logo
264 ([21841](https://github.com/civicrm/civicrm-core/pull/21841))**
265
266 ### CiviCampaign
267
268 - **Stop flushing caches on enable civiCampaign
269 ([21833](https://github.com/civicrm/civicrm-core/pull/21833))**
270
271 ### CiviContribute
272
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))**
276
277 Removes the mystery `self::_trxns` property.
278
279 - **Add financial validation check (to the extent we can)
280 ([21848](https://github.com/civicrm/civicrm-core/pull/21848))**
281
282 ### CiviEvent
283
284 - **ensure events with single quotes can be share via social
285 ([21811](https://github.com/civicrm/civicrm-core/pull/21811))**
286
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))**
290
291 ### CiviMail
292
293 - **Handle checking smartgroups when generating list of groups to unsubscribe
294 ([21176](https://github.com/civicrm/civicrm-core/pull/21176))**
295
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))**
299
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))**
303
304 ### CiviMember
305
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))**
309
310 ### Drupal Integration
311
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))**
316
317 - **Prevent autoload conflicts if HTML_Purifier is already in Drupal libraries
318 ([649](https://github.com/civicrm/civicrm-drupal/pull/649))**
319
320 ### Joomla Integration
321
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))**
325
326 ### WordPress Integration
327
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))**
331
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))**
336
337 ## <a name="misc"></a>Miscellany
338
339 - **Switch replaceGreetingTokens over
340 ([21790](https://github.com/civicrm/civicrm-core/pull/21790))**
341
342 - **Simplify usage of getting domain from email
343 ([21925](https://github.com/civicrm/civicrm-core/pull/21925))**
344
345 - **AllCoreTables - Allow virtual entities to share a DAO class
346 ([21853](https://github.com/civicrm/civicrm-core/pull/21853))**
347
348 - **Restrict "Oops" to administrative errors
349 ([21838](https://github.com/civicrm/civicrm-core/pull/21838))**
350
351 - **Update docblock for alterPaymentProcessorParams because rawParams might be
352 a payment propertyBag
353 ([21897](https://github.com/civicrm/civicrm-core/pull/21897))**
354
355 - **Fix cleanup on test, also NFC cleanup
356 ([21910](https://github.com/civicrm/civicrm-core/pull/21910))**
357
358 - **Fix unreplaced template vars in civicrm.settings.php when using legacy
359 installer ([21692](https://github.com/civicrm/civicrm-core/pull/21692))**
360
361 - **Remove use of spacer.gif img elements in CRM_Utils_Weight
362 ([21807](https://github.com/civicrm/civicrm-core/pull/21807))**
363
364 - **Remove reference to CiviCRM forum in HTTP error message
365 ([21840](https://github.com/civicrm/civicrm-core/pull/21840))**
366
367 - **Remove unnecessary pass-by-reference
368 ([21903](https://github.com/civicrm/civicrm-core/pull/21903))**
369
370 - **Remove unused function
371 ([21928](https://github.com/civicrm/civicrm-core/pull/21928))**
372
373 - **Remove unused function from GroupContactCache
374 ([21938](https://github.com/civicrm/civicrm-core/pull/21938))**
375
376 - **Remove "Connections" from navigation menu
377 ([21930](https://github.com/civicrm/civicrm-core/pull/21930))**
378
379 - **Remove calls to CRM_Utils_Token::getDomainTokenReplacement
380 ([21964](https://github.com/civicrm/civicrm-core/pull/21964))**
381
382 - **Remove remaining usages of contact & domain values in participant templates
383 ([21963](https://github.com/civicrm/civicrm-core/pull/21963))**
384
385 - **Remove call to getTokenDetails
386 ([21972](https://github.com/civicrm/civicrm-core/pull/21972))**
387
388 - **Remove another call to getTokenDetails
389 ([21794](https://github.com/civicrm/civicrm-core/pull/21794))**
390
391 - **Add in 5.43.1 and 5.43.2 Release Notes
392 ([22085](https://github.com/civicrm/civicrm-core/pull/22085))**
393
394 - **[REF] Parameter simplification
395 ([21804](https://github.com/civicrm/civicrm-core/pull/21804))**
396
397 - **[Ref] Make functions private to protect them
398 ([21915](https://github.com/civicrm/civicrm-core/pull/21915))**
399
400 - **[REF] Move another function to the FinancialProcessor
401 ([21914](https://github.com/civicrm/civicrm-core/pull/21914))**
402
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))**
406
407 - **[REF] Regenerate generated civicrm file after recent template updates
408 ([21970](https://github.com/civicrm/civicrm-core/pull/21970))**
409
410 - **[REF] Skip testCutesyTokenData on php8 for the moment
411 ([22043](https://github.com/civicrm/civicrm-core/pull/22043))**
412
413 - **[REF] Upgrade CKEditor to 4.17
414 ([22092](https://github.com/civicrm/civicrm-core/pull/22092))**
415
416 - **[REF] CRM_Core_Menu - Fix syntax, undefined variables, unused code,
417 pass-by-ref ([21926](https://github.com/civicrm/civicrm-core/pull/21926))**
418
419 - **Improve tests around the Order.create API and membership
420 ([21892](https://github.com/civicrm/civicrm-core/pull/21892))**
421
422 - **Convert more tests to use full form flow
423 ([21931](https://github.com/civicrm/civicrm-core/pull/21931))**
424
425 - **Fix test to use postProcess flow
426 ([21849](https://github.com/civicrm/civicrm-core/pull/21849))**
427
428 - **Preparatory cleanup in test class
429 ([21846](https://github.com/civicrm/civicrm-core/pull/21846))**
430
431 - **Add test for selvSvcUpdate, switch to using tokens
432 ([21937](https://github.com/civicrm/civicrm-core/pull/21937))**
433
434 - **Add test for selvsvctransfer, remove use of `$contact` from template
435 ([21855](https://github.com/civicrm/civicrm-core/pull/21855))**
436
437 - **[NFC] [Tests] remove code smell - unnecessary double quotes
438 ([21932](https://github.com/civicrm/civicrm-core/pull/21932))**
439
440 - **[NFC] [REF] Test class cleanup
441 ([21921](https://github.com/civicrm/civicrm-core/pull/21921))**
442
443 - **(NFC) Fix quote style for valid HTML - notifications.tpl
444 ([21791](https://github.com/civicrm/civicrm-core/pull/21791))**
445
446 - **Fix a few more tests to use a more realistic flow
447 ([21907](https://github.com/civicrm/civicrm-core/pull/21907))**
448
449 - **Fix more tests to use the full form flow
450 ([21906](https://github.com/civicrm/civicrm-core/pull/21906))**
451
452 ## <a name="credits"></a>Credits
453
454 This release was developed by the following code authors:
455
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
464
465 Most authors also reviewed code for this release; in addition, the following
466 reviewers contributed their comments:
467
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
472
473 ## <a name="feedback"></a>Feedback
474
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
477 and contact `@agh1`.