Priceset 2nd half
[civicrm-core.git] / release-notes / 5.52.0.md
1 # CiviCRM 5.52.0
2
3 Released August 3, 2022
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? | no |
20 | Fix problems installing or upgrading to a previous version? | no |
21 | **Introduce features?** | **yes** |
22 | **Fix bugs?** | **yes** |
23
24 ## <a name="features"></a>Features
25
26 ### Core CiviCRM
27
28 - **Allow UFMatch to be used in SearchKit - this allows you to filter by eg.
29 'has a CMS account'
30 ([23723](https://github.com/civicrm/civicrm-core/pull/23723))**
31
32 Makes the UFMatch entity available in SearchKit.
33
34 - **message_admin - Enable another preview mode ("HTML (Raw)")
35 ([23810](https://github.com/civicrm/civicrm-core/pull/23810))**
36
37 Adds another preview mode to message_admin. This is similar to the "HTML"
38 preview, except it shows the raw HTML (with syntax highlighting) which may
39 help debugging fiddly edits to the markup.
40
41 - **Start phasing out 'preferred_mail_format'
42 (Work Towards [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866):
43 [23856](https://github.com/civicrm/civicrm-core/pull/23856))**
44
45 Ignores preferred_mail_format, sends both mail formats instead of just
46 preferred.
47
48 - **End of life planning for MySQL server 5.0 - 5.6
49 ([dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681):
50 [23615](https://github.com/civicrm/civicrm-core/pull/23615))**
51
52 Update requirements to MySQL 5.7+ and MariaDB 10.2+.
53
54 - **navigation: cleanup less frequently used New items
55 ([23831](https://github.com/civicrm/civicrm-core/pull/23831))**
56
57 Improves user experience by removing some less frequently used menu items
58 (only impacts new installations).
59
60 - **Add crmRegions to contact headers and associated inline forms
61 ([23419](https://github.com/civicrm/civicrm-core/pull/23419))**
62
63 Improve consistency of regions on CiviCRM pages and forms.
64
65 - **Angular - Support popping up an afform or other ang module via ajax modal
66 ([23924](https://github.com/civicrm/civicrm-core/pull/23924))**
67
68 Allows Afforms to work as modal dialogs.
69
70 - **Afform - Allow picking icon for tab, add CrmUiIconPicker widget
71 ([23919](https://github.com/civicrm/civicrm-core/pull/23919))**
72
73 Allows users to configure an Icon for their Afform Tab.
74
75 - **APIv4 - Enable exporting profiles with custom fields
76 ([23825](https://github.com/civicrm/civicrm-core/pull/23825))**
77
78 Improves APIv4 by enabling exporting profiles with custom fields.
79
80 - **New domain token base_url
81 ([23852](https://github.com/civicrm/civicrm-core/pull/23852))**
82
83 Adds a new domain token `base_url`.
84
85 - **Add second currency example
86 ([23889](https://github.com/civicrm/civicrm-core/pull/23889))**
87
88 Adds an example for the message admin ui.
89
90 - **Upgrader - Apply extension updates after core updates (Work towards
91 [dev/core#3490](https://lab.civicrm.org/dev/core/-/issues/3490):
92 [24040](https://github.com/civicrm/civicrm-core/pull/24040))**
93
94 Shows additional notice about running extension upgrades.
95
96 - **Lack of hooks to detect when a "CustomOption" is deleted
97 ([dev/core#3668](https://lab.civicrm.org/dev/core/-/issues/3668):
98 [23834](https://github.com/civicrm/civicrm-core/pull/23834))**
99
100 Calls hooks when deleting an option value from CustomOption.
101
102 ### CiviCase
103
104 - **Feature request - Filter case activities to only activity types in civicase
105 ([dev/core#3709](https://lab.civicrm.org/dev/core/-/issues/3709):
106 [23937](https://github.com/civicrm/civicrm-core/pull/23937))**
107
108 Makes the activity search filter on manage case less unwieldy.
109
110 ### CiviContribute
111
112 - **Add hook to modify 'contribution payment links'
113 ([23790](https://github.com/civicrm/civicrm-core/pull/23790))**
114
115 Makes it so one can modify 'contribution payment links' via
116 hook_civicrm_links.
117
118 - **Invoice Workflow template - add domain tokens
119 ([23806](https://github.com/civicrm/civicrm-core/pull/23806))**
120
121 Adds domain tokens to the Invoice workflow template.
122
123 - **Make it clear what "record refund" form does
124 ([23792](https://github.com/civicrm/civicrm-core/pull/23792))**
125
126 Adds more help text to the Record Refund form.
127
128 ### CiviGrant
129
130 - **Grants appear in afform
131 ([23899](https://github.com/civicrm/civicrm-core/pull/23899))**
132
133 Adds the Grant entity to Afform.
134
135 ### Drupal Integration
136
137 - **Allow installing on drupal 10
138 ([73](https://github.com/civicrm/civicrm-drupal-8/pull/73))**
139
140 Lists CiviCRM as Drupal 10 compatible.
141
142 ### WordPress Integration
143
144 - **Introduce "Permissions and Capabilities" metabox and functionality
145 ([279](https://github.com/civicrm/civicrm-wordpress/pull/279))**
146
147 Makes it so all CiviCRM permissions can be exposed as capabilities in
148 WordPress via an optional custom role called "CiviCRM Admin".
149
150 ## <a name="bugs"></a>Bugs resolved
151
152 ### Core CiviCRM
153
154 - **HTML entities in iCalendar export
155 ([dev/core#1541](https://lab.civicrm.org/dev/core/-/issues/1541):
156 [23638](https://github.com/civicrm/civicrm-core/pull/23638),
157 [23855](https://github.com/civicrm/civicrm-core/pull/23855) and
158 [23840](https://github.com/civicrm/civicrm-core/pull/23840))**
159
160 Fixes random invalid utf8 issues when exporting iCalendar files.
161
162 - **ical/ics files generated by Civi are not compatible with Outlook during
163 Daylight Savings
164 ([dev/core#2887](https://lab.civicrm.org/dev/core/-/issues/2887):
165 [23808](https://github.com/civicrm/civicrm-core/pull/23808))**
166
167 - **PHP 8.1 (Work Towards
168 [dev/core#3181](https://lab.civicrm.org/dev/core/-/issues/3181):
169 [23947](https://github.com/civicrm/civicrm-core/pull/23947))**
170
171 Compatibility fixes for GLOBALS in PHP 8.1.
172
173 - **Greenwich theme: transparent background on pop-ups
174 ([dev/core#3432](https://lab.civicrm.org/dev/core/-/issues/3432):
175 [23873](https://github.com/civicrm/civicrm-core/pull/23873))**
176
177 - **Sorting/paging Advanced Search results corrupts search criteria
178 ([dev/core#3495](https://lab.civicrm.org/dev/core/-/issues/3495):
179 [23697](https://github.com/civicrm/civicrm-core/pull/23697))**
180
181 Fixes fields with wildcards in Advanced Search.
182
183 - **Fix sorting by mapping type
184 ([dev/core#3717](https://lab.civicrm.org/dev/core/-/issues/3717):
185 [23942](https://github.com/civicrm/civicrm-core/pull/23942))**
186
187 Fixes sorting on import/export Mapping page so that it is sorted by mapping
188 type.
189
190 - **CRM_Report_Form: set _from and _where as public for the alterReportVar hook
191 ([23912](https://github.com/civicrm/civicrm-core/pull/23912))**
192
193 - **Avoid multiple log files in multi-language environments
194 ([23722](https://github.com/civicrm/civicrm-core/pull/23722))**
195
196 - **Reset smarty-security after an exception
197 ([23891](https://github.com/civicrm/civicrm-core/pull/23891))**
198
199 Stops tests from getting befuddled.
200
201 - **Fix import falling over when a note is included
202 ([23968](https://github.com/civicrm/civicrm-core/pull/23968))**
203
204 - **Always return boolean from initialize method
205 ([278](https://github.com/civicrm/civicrm-wordpress/pull/278))**
206
207 - **Smarty notice fix
208 ([23963](https://github.com/civicrm/civicrm-core/pull/23963))**
209
210 - **Enotice fix
211 ([23945](https://github.com/civicrm/civicrm-core/pull/23945))**
212
213 - **Do not escape error message
214 ([23964](https://github.com/civicrm/civicrm-core/pull/23964))**
215
216 - **hook_civicrm_geocoderFormat does not alter address components
217 ([dev/core#3756](https://lab.civicrm.org/dev/core/-/issues/3756):
218 [24067](https://github.com/civicrm/civicrm-core/pull/24067))**
219
220 - **Scheduled Reminders: Some tokens defined by extensions may not evaluate
221 ([24115](https://github.com/civicrm/civicrm-core/pull/24115))**
222
223 This resolves a problem where certain tokens would work when sending an
224 email activity but not in scheduled reminders. Originally observed with
225 the membership tokens in `nz.co.fuzion.civitoken`.
226
227 ### CiviCase
228
229 - **On "My Contact Dashboard", what is the Manage Case link in the relationships
230 section supposed to do?
231 (Work Towards [dev/core#2983](https://lab.civicrm.org/dev/core/-/issues/2983):
232 [23832](https://github.com/civicrm/civicrm-core/pull/23832))**
233
234 Make static function static - AJAX::caseDetails().
235
236 - **Fixed fatal error on update multiple case
237 ([23853](https://github.com/civicrm/civicrm-core/pull/23853))**
238
239 ### CiviContribute
240
241 - **Contacts with "Access CiviContribute" but not "edit contributions" can no
242 longer view contributions
243 ([dev/core#3725](https://lab.civicrm.org/dev/core/-/issues/3725):
244 [23965](https://github.com/civicrm/civicrm-core/pull/23965))**
245
246 - **Additional Details section on Recurring Contribution template edit screen
247 doesn't load anymore
248 ([dev/financial#199](https://lab.civicrm.org/dev/financial/-/issues/199):
249 [23774](https://github.com/civicrm/civicrm-core/pull/23774))**
250
251 - **Ensure apiv3 params are converted at the line item level
252 ([23892](https://github.com/civicrm/civicrm-core/pull/23892))**
253
254 - **Unassigned variable in invoice message template
255 ([23872](https://github.com/civicrm/civicrm-core/pull/23872))**
256
257 - **Fix double organization name in invoice, use token
258 ([23816](https://github.com/civicrm/civicrm-core/pull/23816))**
259
260 - **Personal Campaign Pages (PCP) incorrectly displays "Don't list my
261 contribution in the honour roll"
262 ([23871](https://github.com/civicrm/civicrm-core/pull/23871))**
263
264 - **Fix calculation and assignment of taxAmount on contribution page
265 confirmation ([23346](https://github.com/civicrm/civicrm-core/pull/23346))**
266
267 - **Subscription Amount change not respected in Paypal
268 ([23084](https://github.com/civicrm/civicrm-core/pull/23084))**
269
270 - **Remove another instance of pledges using contribution option group
271 ([23962](https://github.com/civicrm/civicrm-core/pull/23962))**
272
273 - **only check batch currency match when adding a financial_trxn
274 ([23741](https://github.com/civicrm/civicrm-core/pull/23741))**
275
276 - **Upgrade script for contribution_recur amount, fix loading
277 ([23929](https://github.com/civicrm/civicrm-core/pull/23929))**
278
279 - **Fix bug whereby editing contribution_recur.amount was not updating
280 single-line-item-template-contributions
281 ([23809](https://github.com/civicrm/civicrm-core/pull/23809))**
282
283 - **Cannot submit credit cards via backend form (on certain configurations)
284 ([dev/core#3774](https://lab.civicrm.org/dev/core/-/issues/3774):
285 [#24144](https://github.com/civicrm/civicrm-core/pull/24144))**
286
287 ### CiviEvent
288
289 - **Scheduled Reminder limited by Participant Role fails if any participant has
290 multiple roles
291 ([dev/core#3369](https://lab.civicrm.org/dev/core/-/issues/3369):
292 [23602](https://github.com/civicrm/civicrm-core/pull/23602))**
293
294 - **Alternate to 23826 - Events RSS feed does not output a pubDate for each
295 Event ([23850](https://github.com/civicrm/civicrm-core/pull/23850))**
296
297 ### CiviMail
298
299 - **CiviMail "DB error": suspected core bug relating to attachment replace api
300 ([dev/core#2198](https://lab.civicrm.org/dev/core/-/issues/2198):
301 [23776](https://github.com/civicrm/civicrm-core/pull/23776))**
302
303 Fixes "Error - DB error - unknown error" error when trying to send a test
304 mailing.
305
306 ### Drupal Integration
307
308 - **Drupal service 'site.path' is deprecated in drupal 9 and will be removed in
309 drupal 10 ([dev/drupal#167](https://lab.civicrm.org/dev/drupal/-/issues/167):
310 [21809](https://github.com/civicrm/civicrm-core/pull/21809))**
311
312 ### WordPress Integration
313
314 - **Enable the 'notify' parameter for WordPress user creation
315 ([23879](https://github.com/civicrm/civicrm-core/pull/23879))**
316
317 Ensures that Wordpress respects the user creation `notify` parameter which
318 says whether or not to notify the user that an account has been created.
319
320 - **Add missing template file
321 ([280](https://github.com/civicrm/civicrm-wordpress/pull/280))**
322
323 ## <a name="misc"></a>Miscellany
324
325 - **RepeatTransaction - separate out repeat pledge handling from completeOrder
326 ([23931](https://github.com/civicrm/civicrm-core/pull/23931))**
327
328 - **Cleanup repeattransaction
329 ([23928](https://github.com/civicrm/civicrm-core/pull/23928))**
330
331 - **chore: Set permissions for GitHub actions
332 ([23799](https://github.com/civicrm/civicrm-core/pull/23799))**
333
334 - **Move the cache for `CRM_Extension_Browser` out of the filesystem and use a
335 `SqlGroup` instead
336 ([dev/core#3542](https://lab.civicrm.org/dev/core/-/issues/3542):
337 [23768](https://github.com/civicrm/civicrm-core/pull/23768))**
338
339 - **Exceptions - What could possibly go wrong?
340 ([23471](https://github.com/civicrm/civicrm-core/pull/23471))**
341
342 - **Replace more assigns with tokens in invoice, add tests
343 ([23829](https://github.com/civicrm/civicrm-core/pull/23829))**
344
345 - **Improve code comments for Activity: parent_id and source_record_id
346 ([dev/core#3691](https://lab.civicrm.org/dev/core/-/issues/3691):
347 [23878](https://github.com/civicrm/civicrm-core/pull/23878)
348 and [23886](https://github.com/civicrm/civicrm-core/pull/23886))**
349
350 - **Attempt to make function more readable by extracting in-line function
351 ([23847](https://github.com/civicrm/civicrm-core/pull/23847))**
352
353 - **AngularJS - Remove UI-Utils library
354 ([23749](https://github.com/civicrm/civicrm-core/pull/23749))**
355
356 - **Upgrader - Add snapshots for 5.52's data modifications
357 ([24039](https://github.com/civicrm/civicrm-core/pull/24039))**
358
359 - **[REF] Upgrade DOMPDF to 2.x branch
360 ([24038](https://github.com/civicrm/civicrm-core/pull/24038))**
361
362 - **[REF] Replace packages/html2txt with Composer package
363 ([dev/core#3676](https://lab.civicrm.org/dev/core/-/issues/3676):
364 [23971](https://github.com/civicrm/civicrm-core/pull/23971))**
365
366 - **REF - Remove unneeded return from private fn, add comments
367 ([23967](https://github.com/civicrm/civicrm-core/pull/23967))**
368
369 - **[REF] Follow on from #23749 and remove refernece to ui-utils from karama
370 conf ([23846](https://github.com/civicrm/civicrm-core/pull/23846))**
371
372 - **(REF) TokenProcessor - Tweak error message
373 ([23813](https://github.com/civicrm/civicrm-core/pull/23813))**
374
375 - **[REF] Remove param that has a set value
376 ([23797](https://github.com/civicrm/civicrm-core/pull/23797))**
377
378 - **[REF][PHP8.1] Fix default values which triggeres deprecation notices in
379 php8.1 ([23926](https://github.com/civicrm/civicrm-core/pull/23926))**
380
381 - **[REF][PHP8.1] Add in type hints to fix deprecations and add in
382 #[\ReturnTypeWillChange] where type hint would be transversable or mixed for
383 php7 compatability
384 ([23925](https://github.com/civicrm/civicrm-core/pull/23925))**
385
386 - **[REF][PHP8.1] Fix deprecations where by calling trait static functions when
387 not from a class that implements the trait is deprecated
388 ([23960](https://github.com/civicrm/civicrm-core/pull/23960))**
389
390 - **[REF][PHP8.1] Another set of fixes for passing in NULL values to php string
391 or preg replace functions
392 ([23935](https://github.com/civicrm/civicrm-core/pull/23935))**
393
394 - **[REF][PHP8.1] Update Brick/Math to a version that works with php8.1
395 ([23938](https://github.com/civicrm/civicrm-core/pull/23938))**
396
397 - **[REF][PHP8.1] Upgrade Symfony to 4.x for WP, Drupal7, Backdrop, Joomla
398 ([23913](https://github.com/civicrm/civicrm-core/pull/23913))**
399
400 - **[REF][PHP8.1] Stop Passing NULL values into mb_strlen in DAO and strpos in
401 API validate string function
402 ([23922](https://github.com/civicrm/civicrm-core/pull/23922))**
403
404 - **[REF] [PHP8.1] Replace usage of smarty's date_filter to ensure we don't call
405 strftime which is deprecated in php8.1
406 ([23800](https://github.com/civicrm/civicrm-core/pull/23800))**
407
408 - **[REF][PHP8.1] Upgrade Pear/mail_mime package to support php8.1
409 ([23923](https://github.com/civicrm/civicrm-core/pull/23923))**
410
411 - **[REF][PHP8.1] Ensure that NULL is not passed to substr in
412 CRM_Utils_File::addTrailingSlash
413 ([23914](https://github.com/civicrm/civicrm-core/pull/23914))**
414
415 - **[REF][PHP8.1] Fix issue where is meant to be a string in preg_match_all
416 ([345](https://github.com/civicrm/civicrm-packages/pull/345))**
417
418 - **[REF][PHP8.1] Replace a couple of calls in Smarty code to strftime to the
419 equivilant using date to fix deprecation notices
420 ([344](https://github.com/civicrm/civicrm-packages/pull/344))**
421
422 - **(NFC) mgd-php@1 - Add example+assertions for new case-type
423 ([23961](https://github.com/civicrm/civicrm-core/pull/23961))**
424
425 - **(NFC) case-xml@1 - Add example+assertions of new activity-type
426 ([23959](https://github.com/civicrm/civicrm-core/pull/23959))**
427
428 - **[NFC] Restore handling for deprecations in phpunit test runs
429 ([23988](https://github.com/civicrm/civicrm-core/pull/23988))**
430
431 - **(NFC) SoapTest - Skip this test on Drupal8+ and Backdrop
432 ([23975](https://github.com/civicrm/civicrm-core/pull/23975))**
433
434 - **(NFC) Expand docblocks for hook_install and hook_postInstall
435 ([23901](https://github.com/civicrm/civicrm-core/pull/23901))**
436
437 - **NFC: Fix PHP notice on ContributionRecurSelector.tpl
438 ([23791](https://github.com/civicrm/civicrm-core/pull/23791))**
439
440 - **[NFC] Add code comment about triggerinfo "variables"
441 ([23930](https://github.com/civicrm/civicrm-core/pull/23930))**
442
443 - **Remove another no-run test from SyntaxConformance
444 ([23738](https://github.com/civicrm/civicrm-core/pull/23738))**
445
446 - **Civi\Test - Fix leak in active module-list for headless test
447 ([23991](https://github.com/civicrm/civicrm-core/pull/23991))**
448
449 - **Minor test cleanup
450 ([23894](https://github.com/civicrm/civicrm-core/pull/23894))**
451
452 - **(REF) WorkflowMessageTest - Use dataProvider
453 ([23811](https://github.com/civicrm/civicrm-core/pull/23811))**
454
455 - **WorkflowMessageTest - Fix weird inconsistency in resolving `@dataProvider`
456 ([23916](https://github.com/civicrm/civicrm-core/pull/23916))**
457
458 - **WorkflowMessageTest - Re-enable skipped test
459 ([23885](https://github.com/civicrm/civicrm-core/pull/23885))**
460
461 ## <a name="credits"></a>Credits
462
463 This release was developed by the following code authors:
464
465 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin
466 Freeman; Benjamin W; Business & Code - Alain Benbassat; Christian Wach; Circle
467 Interactive - Pradeep Nayak; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman
468 Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; Davis Media Access -
469 Darrick Servis; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart;
470 IProSoft; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; Megaphone
471 Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
472 nathannaveen; Oxfam Germany - Thomas Schüttler; Wikimedia Foundation - Eileen
473 McNaughton
474
475 Most authors also reviewed code for this release; in addition, the following
476 reviewers contributed their comments:
477
478 AGH Strategies - Chris Garaffa; Artful Robot - Rich Lott; Betty Dolfing;
479 Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma; CiviDesk - Yashodha
480 Chaku; DevApp - Adam Kwiatkowski; Fuzion - Peter Davis; iXiam - Luciano Spiegel;
481 JMA Consulting - Joe Murray; Lighthouse Consulting and Design - Brian
482 Shaughnessy; MC3 - Graham Mitchell; Nicol Wistreich; Squiffle Consulting - Aidan
483 Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund
484 Jalmi
485
486 ## <a name="feedback"></a>Feedback
487
488 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
489 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
490 and contact `@agh1`.