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