# CiviCRM 5.52.0
Released August 3, 2022
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | no |
| **Change the database schema?** | **yes** |
| **Alter the API?** | **yes** |
| Require attention to configuration options? | no |
| Fix problems installing or upgrading to a previous version? | no |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## Features
### Core CiviCRM
- **Allow UFMatch to be used in SearchKit - this allows you to filter by eg.
'has a CMS account'
([23723](https://github.com/civicrm/civicrm-core/pull/23723))**
Makes the UFMatch entity available in SearchKit.
- **message_admin - Enable another preview mode ("HTML (Raw)")
([23810](https://github.com/civicrm/civicrm-core/pull/23810))**
Adds another preview mode to message_admin. This is similar to the "HTML"
preview, except it shows the raw HTML (with syntax highlighting) which may
help debugging fiddly edits to the markup.
- **Start phasing out 'preferred_mail_format'
(Work Towards [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866):
[23856](https://github.com/civicrm/civicrm-core/pull/23856))**
Ignores preferred_mail_format, sends both mail formats instead of just
preferred.
- **End of life planning for MySQL server 5.0 - 5.6
([dev/core#1681](https://lab.civicrm.org/dev/core/-/issues/1681):
[23615](https://github.com/civicrm/civicrm-core/pull/23615))**
Update requirements to MySQL 5.7+ and MariaDB 10.2+.
- **navigation: cleanup less frequently used New items
([23831](https://github.com/civicrm/civicrm-core/pull/23831))**
Improves user experience by removing some less frequently used menu items
(only impacts new installations).
- **Add crmRegions to contact headers and associated inline forms
([23419](https://github.com/civicrm/civicrm-core/pull/23419))**
Improve consistency of regions on CiviCRM pages and forms.
- **Angular - Support popping up an afform or other ang module via ajax modal
([23924](https://github.com/civicrm/civicrm-core/pull/23924))**
Allows Afforms to work as modal dialogs.
- **Afform - Allow picking icon for tab, add CrmUiIconPicker widget
([23919](https://github.com/civicrm/civicrm-core/pull/23919))**
Allows users to configure an Icon for their Afform Tab.
- **APIv4 - Enable exporting profiles with custom fields
([23825](https://github.com/civicrm/civicrm-core/pull/23825))**
Improves APIv4 by enabling exporting profiles with custom fields.
- **New domain token base_url
([23852](https://github.com/civicrm/civicrm-core/pull/23852))**
Adds a new domain token `base_url`.
- **Add second currency example
([23889](https://github.com/civicrm/civicrm-core/pull/23889))**
Adds an example for the message admin ui.
- **Upgrader - Apply extension updates after core updates (Work towards
[dev/core#3490](https://lab.civicrm.org/dev/core/-/issues/3490):
[24040](https://github.com/civicrm/civicrm-core/pull/24040))**
Shows additional notice about running extension upgrades.
- **Lack of hooks to detect when a "CustomOption" is deleted
([dev/core#3668](https://lab.civicrm.org/dev/core/-/issues/3668):
[23834](https://github.com/civicrm/civicrm-core/pull/23834))**
Calls hooks when deleting an option value from CustomOption.
### CiviCase
- **Feature request - Filter case activities to only activity types in civicase
([dev/core#3709](https://lab.civicrm.org/dev/core/-/issues/3709):
[23937](https://github.com/civicrm/civicrm-core/pull/23937))**
Makes the activity search filter on manage case less unwieldy.
### CiviContribute
- **Add hook to modify 'contribution payment links'
([23790](https://github.com/civicrm/civicrm-core/pull/23790))**
Makes it so one can modify 'contribution payment links' via
hook_civicrm_links.
- **Invoice Workflow template - add domain tokens
([23806](https://github.com/civicrm/civicrm-core/pull/23806))**
Adds domain tokens to the Invoice workflow template.
- **Make it clear what "record refund" form does
([23792](https://github.com/civicrm/civicrm-core/pull/23792))**
Adds more help text to the Record Refund form.
### CiviGrant
- **Grants appear in afform
([23899](https://github.com/civicrm/civicrm-core/pull/23899))**
Adds the Grant entity to Afform.
### Drupal Integration
- **Allow installing on drupal 10
([73](https://github.com/civicrm/civicrm-drupal-8/pull/73))**
Lists CiviCRM as Drupal 10 compatible.
### WordPress Integration
- **Introduce "Permissions and Capabilities" metabox and functionality
([279](https://github.com/civicrm/civicrm-wordpress/pull/279))**
Makes it so all CiviCRM permissions can be exposed as capabilities in
WordPress via an optional custom role called "CiviCRM Admin".
## Bugs resolved
### Core CiviCRM
- **HTML entities in iCalendar export
([dev/core#1541](https://lab.civicrm.org/dev/core/-/issues/1541):
[23638](https://github.com/civicrm/civicrm-core/pull/23638),
[23855](https://github.com/civicrm/civicrm-core/pull/23855) and
[23840](https://github.com/civicrm/civicrm-core/pull/23840))**
Fixes random invalid utf8 issues when exporting iCalendar files.
- **ical/ics files generated by Civi are not compatible with Outlook during
Daylight Savings
([dev/core#2887](https://lab.civicrm.org/dev/core/-/issues/2887):
[23808](https://github.com/civicrm/civicrm-core/pull/23808))**
- **PHP 8.1 (Work Towards
[dev/core#3181](https://lab.civicrm.org/dev/core/-/issues/3181):
[23947](https://github.com/civicrm/civicrm-core/pull/23947))**
Compatibility fixes for GLOBALS in PHP 8.1.
- **Greenwich theme: transparent background on pop-ups
([dev/core#3432](https://lab.civicrm.org/dev/core/-/issues/3432):
[23873](https://github.com/civicrm/civicrm-core/pull/23873))**
- **Sorting/paging Advanced Search results corrupts search criteria
([dev/core#3495](https://lab.civicrm.org/dev/core/-/issues/3495):
[23697](https://github.com/civicrm/civicrm-core/pull/23697))**
Fixes fields with wildcards in Advanced Search.
- **Fix sorting by mapping type
([dev/core#3717](https://lab.civicrm.org/dev/core/-/issues/3717):
[23942](https://github.com/civicrm/civicrm-core/pull/23942))**
Fixes sorting on import/export Mapping page so that it is sorted by mapping
type.
- **CRM_Report_Form: set _from and _where as public for the alterReportVar hook
([23912](https://github.com/civicrm/civicrm-core/pull/23912))**
- **Avoid multiple log files in multi-language environments
([23722](https://github.com/civicrm/civicrm-core/pull/23722))**
- **Reset smarty-security after an exception
([23891](https://github.com/civicrm/civicrm-core/pull/23891))**
Stops tests from getting befuddled.
- **Fix import falling over when a note is included
([23968](https://github.com/civicrm/civicrm-core/pull/23968))**
- **Always return boolean from initialize method
([278](https://github.com/civicrm/civicrm-wordpress/pull/278))**
- **Smarty notice fix
([23963](https://github.com/civicrm/civicrm-core/pull/23963))**
- **Enotice fix
([23945](https://github.com/civicrm/civicrm-core/pull/23945))**
- **Do not escape error message
([23964](https://github.com/civicrm/civicrm-core/pull/23964))**
- **hook_civicrm_geocoderFormat does not alter address components
([dev/core#3756](https://lab.civicrm.org/dev/core/-/issues/3756):
[24067](https://github.com/civicrm/civicrm-core/pull/24067))**
- **Scheduled Reminders: Some tokens defined by extensions may not evaluate
([24115](https://github.com/civicrm/civicrm-core/pull/24115))**
This resolves a problem where certain tokens would work when sending an
email activity but not in scheduled reminders. Originally observed with
the membership tokens in `nz.co.fuzion.civitoken`.
### CiviCase
- **On "My Contact Dashboard", what is the Manage Case link in the relationships
section supposed to do?
(Work Towards [dev/core#2983](https://lab.civicrm.org/dev/core/-/issues/2983):
[23832](https://github.com/civicrm/civicrm-core/pull/23832))**
Make static function static - AJAX::caseDetails().
- **Fixed fatal error on update multiple case
([23853](https://github.com/civicrm/civicrm-core/pull/23853))**
### CiviContribute
- **Contacts with "Access CiviContribute" but not "edit contributions" can no
longer view contributions
([dev/core#3725](https://lab.civicrm.org/dev/core/-/issues/3725):
[23965](https://github.com/civicrm/civicrm-core/pull/23965))**
- **Additional Details section on Recurring Contribution template edit screen
doesn't load anymore
([dev/financial#199](https://lab.civicrm.org/dev/financial/-/issues/199):
[23774](https://github.com/civicrm/civicrm-core/pull/23774))**
- **Ensure apiv3 params are converted at the line item level
([23892](https://github.com/civicrm/civicrm-core/pull/23892))**
- **Unassigned variable in invoice message template
([23872](https://github.com/civicrm/civicrm-core/pull/23872))**
- **Fix double organization name in invoice, use token
([23816](https://github.com/civicrm/civicrm-core/pull/23816))**
- **Personal Campaign Pages (PCP) incorrectly displays "Don't list my
contribution in the honour roll"
([23871](https://github.com/civicrm/civicrm-core/pull/23871))**
- **Fix calculation and assignment of taxAmount on contribution page
confirmation ([23346](https://github.com/civicrm/civicrm-core/pull/23346))**
- **Subscription Amount change not respected in Paypal
([23084](https://github.com/civicrm/civicrm-core/pull/23084))**
- **Remove another instance of pledges using contribution option group
([23962](https://github.com/civicrm/civicrm-core/pull/23962))**
- **only check batch currency match when adding a financial_trxn
([23741](https://github.com/civicrm/civicrm-core/pull/23741))**
- **Upgrade script for contribution_recur amount, fix loading
([23929](https://github.com/civicrm/civicrm-core/pull/23929))**
- **Fix bug whereby editing contribution_recur.amount was not updating
single-line-item-template-contributions
([23809](https://github.com/civicrm/civicrm-core/pull/23809))**
- **Cannot submit credit cards via backend form (on certain configurations)
([dev/core#3774](https://lab.civicrm.org/dev/core/-/issues/3774):
[#24144](https://github.com/civicrm/civicrm-core/pull/24144))**
### CiviEvent
- **Scheduled Reminder limited by Participant Role fails if any participant has
multiple roles
([dev/core#3369](https://lab.civicrm.org/dev/core/-/issues/3369):
[23602](https://github.com/civicrm/civicrm-core/pull/23602))**
- **Alternate to 23826 - Events RSS feed does not output a pubDate for each
Event ([23850](https://github.com/civicrm/civicrm-core/pull/23850))**
### CiviMail
- **CiviMail "DB error": suspected core bug relating to attachment replace api
([dev/core#2198](https://lab.civicrm.org/dev/core/-/issues/2198):
[23776](https://github.com/civicrm/civicrm-core/pull/23776))**
Fixes "Error - DB error - unknown error" error when trying to send a test
mailing.
### Drupal Integration
- **Drupal service 'site.path' is deprecated in drupal 9 and will be removed in
drupal 10 ([dev/drupal#167](https://lab.civicrm.org/dev/drupal/-/issues/167):
[21809](https://github.com/civicrm/civicrm-core/pull/21809))**
### WordPress Integration
- **Enable the 'notify' parameter for WordPress user creation
([23879](https://github.com/civicrm/civicrm-core/pull/23879))**
Ensures that Wordpress respects the user creation `notify` parameter which
says whether or not to notify the user that an account has been created.
- **Add missing template file
([280](https://github.com/civicrm/civicrm-wordpress/pull/280))**
## Miscellany
- **RepeatTransaction - separate out repeat pledge handling from completeOrder
([23931](https://github.com/civicrm/civicrm-core/pull/23931))**
- **Cleanup repeattransaction
([23928](https://github.com/civicrm/civicrm-core/pull/23928))**
- **chore: Set permissions for GitHub actions
([23799](https://github.com/civicrm/civicrm-core/pull/23799))**
- **Move the cache for `CRM_Extension_Browser` out of the filesystem and use a
`SqlGroup` instead
([dev/core#3542](https://lab.civicrm.org/dev/core/-/issues/3542):
[23768](https://github.com/civicrm/civicrm-core/pull/23768))**
- **Exceptions - What could possibly go wrong?
([23471](https://github.com/civicrm/civicrm-core/pull/23471))**
- **Replace more assigns with tokens in invoice, add tests
([23829](https://github.com/civicrm/civicrm-core/pull/23829))**
- **Improve code comments for Activity: parent_id and source_record_id
([dev/core#3691](https://lab.civicrm.org/dev/core/-/issues/3691):
[23878](https://github.com/civicrm/civicrm-core/pull/23878)
and [23886](https://github.com/civicrm/civicrm-core/pull/23886))**
- **Attempt to make function more readable by extracting in-line function
([23847](https://github.com/civicrm/civicrm-core/pull/23847))**
- **AngularJS - Remove UI-Utils library
([23749](https://github.com/civicrm/civicrm-core/pull/23749))**
- **Upgrader - Add snapshots for 5.52's data modifications
([24039](https://github.com/civicrm/civicrm-core/pull/24039))**
- **[REF] Upgrade DOMPDF to 2.x branch
([24038](https://github.com/civicrm/civicrm-core/pull/24038))**
- **[REF] Replace packages/html2txt with Composer package
([dev/core#3676](https://lab.civicrm.org/dev/core/-/issues/3676):
[23971](https://github.com/civicrm/civicrm-core/pull/23971))**
- **REF - Remove unneeded return from private fn, add comments
([23967](https://github.com/civicrm/civicrm-core/pull/23967))**
- **[REF] Follow on from #23749 and remove refernece to ui-utils from karama
conf ([23846](https://github.com/civicrm/civicrm-core/pull/23846))**
- **(REF) TokenProcessor - Tweak error message
([23813](https://github.com/civicrm/civicrm-core/pull/23813))**
- **[REF] Remove param that has a set value
([23797](https://github.com/civicrm/civicrm-core/pull/23797))**
- **[REF][PHP8.1] Fix default values which triggeres deprecation notices in
php8.1 ([23926](https://github.com/civicrm/civicrm-core/pull/23926))**
- **[REF][PHP8.1] Add in type hints to fix deprecations and add in
#[\ReturnTypeWillChange] where type hint would be transversable or mixed for
php7 compatability
([23925](https://github.com/civicrm/civicrm-core/pull/23925))**
- **[REF][PHP8.1] Fix deprecations where by calling trait static functions when
not from a class that implements the trait is deprecated
([23960](https://github.com/civicrm/civicrm-core/pull/23960))**
- **[REF][PHP8.1] Another set of fixes for passing in NULL values to php string
or preg replace functions
([23935](https://github.com/civicrm/civicrm-core/pull/23935))**
- **[REF][PHP8.1] Update Brick/Math to a version that works with php8.1
([23938](https://github.com/civicrm/civicrm-core/pull/23938))**
- **[REF][PHP8.1] Upgrade Symfony to 4.x for WP, Drupal7, Backdrop, Joomla
([23913](https://github.com/civicrm/civicrm-core/pull/23913))**
- **[REF][PHP8.1] Stop Passing NULL values into mb_strlen in DAO and strpos in
API validate string function
([23922](https://github.com/civicrm/civicrm-core/pull/23922))**
- **[REF] [PHP8.1] Replace usage of smarty's date_filter to ensure we don't call
strftime which is deprecated in php8.1
([23800](https://github.com/civicrm/civicrm-core/pull/23800))**
- **[REF][PHP8.1] Upgrade Pear/mail_mime package to support php8.1
([23923](https://github.com/civicrm/civicrm-core/pull/23923))**
- **[REF][PHP8.1] Ensure that NULL is not passed to substr in
CRM_Utils_File::addTrailingSlash
([23914](https://github.com/civicrm/civicrm-core/pull/23914))**
- **[REF][PHP8.1] Fix issue where is meant to be a string in preg_match_all
([345](https://github.com/civicrm/civicrm-packages/pull/345))**
- **[REF][PHP8.1] Replace a couple of calls in Smarty code to strftime to the
equivilant using date to fix deprecation notices
([344](https://github.com/civicrm/civicrm-packages/pull/344))**
- **(NFC) mgd-php@1 - Add example+assertions for new case-type
([23961](https://github.com/civicrm/civicrm-core/pull/23961))**
- **(NFC) case-xml@1 - Add example+assertions of new activity-type
([23959](https://github.com/civicrm/civicrm-core/pull/23959))**
- **[NFC] Restore handling for deprecations in phpunit test runs
([23988](https://github.com/civicrm/civicrm-core/pull/23988))**
- **(NFC) SoapTest - Skip this test on Drupal8+ and Backdrop
([23975](https://github.com/civicrm/civicrm-core/pull/23975))**
- **(NFC) Expand docblocks for hook_install and hook_postInstall
([23901](https://github.com/civicrm/civicrm-core/pull/23901))**
- **NFC: Fix PHP notice on ContributionRecurSelector.tpl
([23791](https://github.com/civicrm/civicrm-core/pull/23791))**
- **[NFC] Add code comment about triggerinfo "variables"
([23930](https://github.com/civicrm/civicrm-core/pull/23930))**
- **Remove another no-run test from SyntaxConformance
([23738](https://github.com/civicrm/civicrm-core/pull/23738))**
- **Civi\Test - Fix leak in active module-list for headless test
([23991](https://github.com/civicrm/civicrm-core/pull/23991))**
- **Minor test cleanup
([23894](https://github.com/civicrm/civicrm-core/pull/23894))**
- **(REF) WorkflowMessageTest - Use dataProvider
([23811](https://github.com/civicrm/civicrm-core/pull/23811))**
- **WorkflowMessageTest - Fix weird inconsistency in resolving `@dataProvider`
([23916](https://github.com/civicrm/civicrm-core/pull/23916))**
- **WorkflowMessageTest - Re-enable skipped test
([23885](https://github.com/civicrm/civicrm-core/pull/23885))**
## Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin
Freeman; Benjamin W; Business & Code - Alain Benbassat; Christian Wach; Circle
Interactive - Pradeep Nayak; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman
Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy; Dave D; Davis Media Access -
Darrick Servis; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart;
IProSoft; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; Megaphone
Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
nathannaveen; Oxfam Germany - Thomas Schüttler; Wikimedia Foundation - Eileen
McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
AGH Strategies - Chris Garaffa; Artful Robot - Rich Lott; Betty Dolfing;
Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma; CiviDesk - Yashodha
Chaku; DevApp - Adam Kwiatkowski; Fuzion - Peter Davis; iXiam - Luciano Spiegel;
JMA Consulting - Joe Murray; Lighthouse Consulting and Design - Brian
Shaughnessy; MC3 - Graham Mitchell; Nicol Wistreich; Squiffle Consulting - Aidan
Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund
Jalmi
## Feedback
These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.