# CiviCRM 5.38.0
Released June 2, 2021
- **[Bugs resolved](#bugs)**
## <a name="synopsis"></a>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?** | **yes** |
| **Introduce features?** | **yes** |
| **Fix bugs?** | **yes** |
## <a name="features"></a>Features
### Core CiviCRM
- **Civi::log()->debug() should only log if debugging is enabled
Makes it easier to route log messages based on their topic (e.g.
CiviContribute-related logs vs CiviMail-related logs).
- **We should not be auto-generating 5.xx.beta1.mysql.tpl files
Streamlines the upgrader by removing a number of empty upgrade steps.
- **SearchBuilder: contact search for tags with child-tags broken when using '='
Adds unit test for SearchBuilder fix.
- **Import the base upgrader
Moves the extension upgrader, base upgrader class to core.
- **Add contact source column in some Reports
Improves reports by adding a contact source column option.
- **SearchKit - Make contribution tasks available as actions
Improves the SearchKit UI by making contribution tasks available as actions.
- **Move reCAPTCHA to core extension (Work Towards
Code cleanup in preparation of moving reCAPTCHA to its own extension.
- **Api4 Services - Lazy-load subscriber-objects
Improves loading of APIv4 subscriber objects.
- **Authx - Retain authentication outcome/metadata
Improves the internal APIs for Authx. Authx supports additional ways to
authenticate requests (e.g. passwords, API keys, JWTs). With this patchset, we
have an internal way to see how the user was authenticated, e.g.
- **Increase civicrm_queue_item.data field size
Changes the data type for the `data` column on the `civicrm_queue_item` table
from TEXT to LONGTEXT.
- **Include more data in error message
More explicit error messaging.
- **Add 'contact-actions-ribbon' region
Adds a region to the top of the contact summary screen where action buttons
- **Add pager to bottom of Manage Contribution Pages
Improves the UI by adding a pager to the Manage Contribution Pages form.
- **Add installments to propertyBag
Adds installments property to propertyBag.
- **Define return parameters for doPayment (Work Towards
Ensures the core doPayment function returns payment_status.
- **Add support for receipt task outside the search process
Adds support for url-based receipt sending.
- **Make it possible to make a copy of a draft mailing
Allow re-use mailing of draft mailings and adhoc mailings.
### Drupal Integration
- **In Drupal8, CMS intergration don't show table mapping
Hides table mapping for Drupal8 integrations because it is not necessary.
- **Consider joining the GitHub Sponsors program (Work Towards
Add FUNDING.yml to display a SPONSOR link that directs to c.o.
## <a name="bugs"></a>Bugs resolved
### Core CiviCRM
- **Create User Record now hides the Password field and uses the check
isUserRegistrationPermitted - which prevents Administrators from setting
passwords for new Users
This restores the ability for administrators to set passwords for new users on
the Create User Record form.
- **Activity Type and Case Type not being combined correctly in Advanced Search
Ensures when running an advanced search that displays related contacts with case
parameters set, only contacts related to the relevant cases are displayed.
- **Upgrade CKEditor to be 4.16.1
Change log is here https://github.com/ckeditor/ckeditor4/blob/major/CHANGES.md
- **Fix invalidate cache for smart groups
Method CRM_Contact_BAO_GroupContactCache::invalidateGroupContactCache() is
described as touching smart groups but there is no condition for smart groups.
- **APIv4 - Fix unserialize settings
Fixes a bug in the APIv4 "Setting" entity where serialized values were not
getting returned properly.
- **Globally reset angular hashPrefix
Globally reset the AngularJS hash prefix for consistency across all modules
and pages in CiviCRM.
- **PayPal fails to create contribution following duplicate merge when
membership record has been deleted
Stop passing membership id into recur notify.
- **Afform - Set default position for contact layout editor
Makes Afform blocks appear in their default positions in the "System Default"
layout in Contact Summary Editor 2.0+.
- **Search Kit links improvements
Fixes some problems with creating links in Search Kit and improves the UX
around editing links.
- **Uninstall for `org.civicrm.search` extension fails
Renames the extension org.civicrm.search to org.civicrm.search_kit.
- **Redundant indexes (Work Towards
Removes a couple of indexes on the id field as they are duplicates.
- **system workflow template uses backend URL
- **Unable to send transactional email to more than 2 recipients if there is an
- **Afform - Fix saving joined entities (email, address, phone, etc)
- **Afform - Fix loading entities from url args
- **Afform - Improve integration with ContactLayout editor
- **Afform - include Generic.html by default
- **SearchKit - Fix updating Entity Ref fields
- **SearchKit - Exclude serialized fields from implicit join selection
- **SearchKit - Fix display of contact reference fields (single-value)
- **APIv4 - Setting api misc fixes & tests
- **Save entities created by api v4 to managed
- **APIv4 - Fix Setting api to work with index param
- **Fix enotice when Log service is swapped out
- **Fix PayPal IPN URL and WordPress URLs when Permalinks are set to "Plain"
- **fix capitalization to allow proper access to 'access AJAX API' perm.
- **Fix a copy-and-paste error in the field definitions for OAuthSysToken
- **Fixes issue with state/province & country not translating values
- **Enotice fix ((https://github.com/civicrm/civicrm-core/pull/20122))**
- **Extensions - Setup `<classloader>` during installation
- **Extensions - Setup <classloader> during "enable" and "uninstall"
- **Fix for importing preferred language (and other fields) by label
- **Fix AuthX Setting Labels
- **Removed limit of 25 groups and past mailings
- **When generating boilerplate code from xml, make error text more helpful and
- **File CustomField: avoid renaming an empty file
- **Calling UFGroup.create to update a profile without specifying is_active=1
disables the profile
- **CiviReport does not localize custom fields of type Number
- **Autocomplete-select custom field (Multi-Select=true) values with checked are
reset in case of form rule errors
- **Search kit: Links to case (and other) activities go to the wrong form
- **Empty extension requires tag misevaluated
- **Clarify scheduled reminder options: Event Start Date -> Event Start, etc
- **Errors on merging contacts with websites
- **Set html type of campaign fields
Cleanup metadata for the campaign_id field.
- **Petition confirmation email places space at end of confirmation URL
Remove trailing white space in url.
- **APIv4 - Don't show campaign_id in getFields if campaign component disabled
- **Undefined index: contribution in
Fixes an undefined index error after sending thank-you emails/letters for
- **CiviCRM 5.35.1, truncation of money values where $1,000 donation is recorded
as $1 which appears to be truncating at the thousand separator when using the
Australian (AU) and US Locale
Default to not cleaning money for order.create api.
- **Recurring contributions label on contribution pages is unstylable text,
leading to problems with themes
- **Fix money formatting opps
- **Make reCAPTCHA not conditional on paymentprocessor on contribution page
- **Contribution.sendconfirmation API3 function should return
- **Suppress legacy warnings by default in propertyBag to allow transition to
propertyBag without hitting legacy warnings on unconverted payment processors
- **Make it clear that doDirectPayment/doTransferCheckout are deprecated and
should not be used
- **Fix Payment.create to update (recalculate) contribution fee_amount
- **Cannot "Transfer or Cancel" event participant as admin user
- **Set the smarty variables for mem_status and mem_join_date for back-end
- **Membership form Remove check for installments as not on the form (copied
from shared code)
### Drupal integration
- **Make APIv4 Subscribers Public to fix D9 install
Fixes a "The "Civi_Api4_Event_Subscriber_PermissionCheckSubscriber" service or
alias has been removed..." failure on the D9 demo install.
- **Fix Drupal8 CiviCRM menu translation on multilingual (and ajax calls)
### Joomla integration
- **Cannot edit CiviCRM Joomla permissions (access control) in 5.37.0
### Wordpress Integration
- **WordPress - redirect after login from event registration or contribution
- **Update WP permission page for new string array keys
## <a name="misc"></a>Miscellany
- **Add amount as standard property to PaymentPropertyBag
- **Use propertyBag in doPayment
- **Move tpl assignment to email function
- **Initial refactor of PayPal core processor to stop using
- **Convert Dummy payment processor to use doPayment function
- **Switch to Call contribution api
- **Alter dedupe code to call api rather than bao->save()
- **Fix the MOST out-of-date parts of the afform readme
- **oauth-client - Add test for existing Auth Code flow behavior
- **add me ((https://github.com/civicrm/civicrm-core/pull/20183))**
- **Make send letter function available to searchkit, individual contributions
- **Extract sales tax test config to a trait
- **APIv4 - Remove unnecessary custom getActions class
- **APIv4 - Remove unnecessary class override (handled by generic)
- **APIv4 - Improve entity name lookup
- **APIv4 - Deprecate nonstandard syntax for implicit joins
- **Extract out getReceiveDate
- **Simplify mailing check
- **Remove unused functions
- **Replace string org.civicrm.search -> org.civicrm.search_kit
- **Move more functions to the pdfLetter class
- **Remove apparent copy & paste from Contribution pdf letter function
- **Remove reference to trxn_id, not on form, from previously shared code
- **Add deprected warning to apparently unused functions
- **[REF] Add strict types to Utils_Mail::Send
- **REF Cleanup ReCAPTCHA code
- **[REF] Post move cleanup - switch from $form to $this
- **REF reCAPTCHA Simplify buildCustom function on Registration form
- **REF reCAPTCHA Simplify buildCustom function on Signature form
- **[REF] Minor tidy up - use writeRecord
- **[REF] Move more functions back to pdfLetter class
- **[REF] Fix Security status check urls to work on WordPress
- **[REF] Move functions back to class that uses it
- **[Ref] Simplify getMembershipParameters
- **(REF) Payflow Pro - Migrate code into a core extension
- **[REF] Minor code cleanup
- **[REF] Complete decommissioning of
- **[REF] Cleanup interaction with membership & membership id
- **[REF] Fix error where entryURL does not contain id of the contributio…
- **[REF] Simplify interaction with contributionRecur
- **[REF] Minor tidy up
- **[REF] Remove redundant code
- **[REF] [ipn] Simplification around contributionRecur ID
- **REF Update Pear/log to fix issues with install CiviCRM on Drupal 9.2
- **[REF] [Towards membership api] extract getContributionSource
- **[REF] [Towards membership api] Simplify determination on contribution recur
contact id ((https://github.com/civicrm/civicrm-core/pull/19902))**
- **[Ref] One more place to use total fn
- **[NFC] Consistency fix when defining CIVICRM_TEST
- **[NFC] [Test] Minor preliminary cleanup
- **[NFC] [Test] Preliminary cleanup
- **[NFC] Code cleanup, docblocks, strict comparison, type hints
- **[NFC] code cleanups in test class
- **[NFC] Regenerate Grant DAO
- **[NFC/Unit Test] - Help avoid problems when using assertApproxEquals with
integers instead of fractions
- **(NFC) Fix possible flacky tests by splitting the parts of the checksum
- **Add unit test for core#19628
## <a name="credits"></a>Credits
This release was developed by the following code authors:
AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin
Freeman; Benjamin W; Caltha - Tomasz Pietrzkowski; Christian Wach; CiviCoop -
Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid, Omar Abu
Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich;
Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting - Monish
Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Wildsight - Lars SG;
Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO -
Mikey O'Toole; MJW Consulting - Matthew Wire; Olivier Hertrich; Progressive
Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders;
Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
Artful Robot - Rich Lott; Australian Greens - John Twyman; Caltha - Tomasz
Pietrzkowski; Christian Wach; CiviCoop - Jaap Jansma; CiviDesk - Yashodha Chaku;
JMA Consulting - Edsel Lopez, Joe Murray; Richard van Oosterhout; Semper IT -
Karin Gerritsen; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole
Collective - Kevin Cristiano; Web Access - Kurund Jalmi
## <a name="feedback"></a>Feedback
These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.