Released April 3, 2025
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 |
-
Possibility to add SearchKit to Case Summary Screen (dev/core#5729: 32074)
Moves two screens to use Form Builder specifically: a tab on the Manage Event screen and a block on the Case Summary.
-
Add icons to CiviCRM menu (32165)
Adds some icons to the CiviCRM-logo menu.
-
Remove "Cleanup Caches and Update Paths" page, leave a Clear Caches button and deprecate update/reset paths (31981)
Removes the "Cleanup Caches and Update Paths" page and replaces it with a menu button to clear caches.
-
SK: Use the custom column names from the DB Entity Display UI for creating the actual column names (dev/core#5614: 31919)
When creating a saved-search, one may define a "DB Entity" (eg SQL TABLE or VIEW derived from the query). This update allows the administrator to define the SQL column names.
-
search_kit - render classes settings key for non-table search displays (32262)
Makes it easier to target styles in a search kit packaged using *.mgd.php.
-
SearchKit - Get inline-edit working for contact primary phone/email/address (32070)
Makes it so one can inline edit primary phone, email and address in SearcKit displays.
-
Core/File - Decouple file download links from the entityFile table (32290 and 32303)
Simplifies the creation of links to file downloads, and modernizes the file hash generator.
-
Provide File system as alternative cache storage for CRM_Utils_Cache_Interface (dev/core#5734: 32069 and 32140)
Makes File system available an alternative cache storage option.
-
Make import template fields editable (Work Towards dev/core#5634: 31580)
Adds a new table
ImportTemplateField
to the schema for use by CiviImport. -
RiverLea: fixes illegible Bootstrap bg region in dark-mode (GL:#112) (32126)
User experience improvement in dark mode.
-
Proposal: Phase out public profile fields and profile listings (Work towards dev/core#4808: 32148)
Removes the "Return to listing" link shown when one submits a profile form.
-
Api4 - Use global cache for entityFields (32210)
Api4 performance improvement: fewer calls to getFields, more caching.
-
Optimize dedupe query in finder flow - speed improvement (32304)
Improves performance when deduping.
-
Improve performance of financial ACL where clause (31976)
Improves performance for financial ACLs.
-
Possible performance improvement: When a custom field is disabled, automatically uncheck the searchable box and remove the db index (dev/core#4923: 32027)
Performance improvement when a custom field is disabled.
-
Tokens: Exclude/add additional recurring tokens for scheduled reminders (dev/core#5578: 31579)
Adds new tokens related to recurring contributions for scheduled reminders specifically: "Next Scheduled Contribution Date", "Failure Count (to check and display something if it's true)" and "Failure Retry Date"
-
Contribution Page Widget restructure and cleanup (32120)
Improves user experience of the Contribution page widget settings tab.
-
"Maintenance mode" (dev/core#5387: 31893)
Adds Maintenance Mode checks to scheduled jobs and REST api.
-
Generate URLs faster - another attempt (98)
Performance improvement for drupal 8 when generating urls.
-
Add svg logo asset - use for Standalone login (32153)
Adds a svg logo and uses it on the standalone login screen.
-
Standalone password reset email template (31850)
Sets up password reset email template for standalone sites.
-
Standaloneusers - move password reset email to managed record (32110)
Moves password reset email to a managed record instead of a bespoke approach.
-
Standalone: more user friendly error when credentials are invalid (31965)
Improves user experience when when a user enters invalid login credentials.
-
Extensions - Built-in upgrader is prone to coherency bugs (dev/core#5700: 32285)
-
Fix form validation error for street address (32416)
-
Upgrade to 6.0 fails during "Migrate from_email_address option group to SiteEmailAddress entity" (dev/core#5805: 32431)
-
Custom Fields data not saved when using the "Submit Credit Card Membership" form (dev/core#5708: 32437)
-
Searchkit: filter to Current User is reset (dev/core#5766: 32450)
-
"Expected to find one Address record, but there were zero." error when a user with limited permissions views a related contact (dev/core#5718: 32453)
-
Click on "Payment Processors" in "Configuration Checklist" causes fatal error (dev/core#5715: 32445)
-
"Invalid session" message no longer appears, results in fatal error (dev/core#5808: 32449)
-
TypeError: Unsupported operand types: string - int (dev/core#5767: 32462)
-
Performance regression: FormBuilder custom field blocks increase page load time 4-5x (dev/core#5804: 32427)
-
filter empty contact IDs from legacydedupefinder SQL (32486)
-
"Options per line" not respected (again) (dev/core#5716: 32380)
-
Manage ACLs Page: ACLs of mode "Deny" show as "Allow" (dev/core#5722: 31984)
-
Relationship tab shows relationships when relationship type is disabled (dev/core#5735: 32166)
-
Searchkit: when there are 2 buttons set, it is not possible de change the order of the buttons in a buttons set (dev/core#5754: 32203)
-
Incorrect participant records are cancelled by 'Contribution cancel actions' core extension (dev/core#5764: 32258)
-
Crash when doing certain things if you had civigrant enabled but no longer do (dev/core#5779: 32323)
-
AdminUI - Fix hiding disabled fields in custom field tabs (32469)
-
afform - block user input during prefilling (32090)
-
Form Builder - Support uploading files with "secret link" (JWT) (31993)
Fixes a 403 error on
Afform.submitFiles
. -
Remove the Financial Type from contribution and event receipts, update Billing Address label (32211 and 32247)
Improves the contribution and event receipts by removing the financial type and renaming the label "Billing Name and Address" to just "Billing Address".
-
riverlea - fix checkbox-list in hackneybrook dark mode (32389)
-
RiverLea Thames Dark Mode / Extensions colour fix (32393)
-
CRM_Utils_String - Fix convertStringToSnakeCase to prevent double underscores (32075)
-
Upgrade 5.45 to 6.0 fails during
financialacls_civicrm_permission()
(dev/core#5794: 32377) -
Fix dedupe query wrangling to combine queries where 2 fields in the same table are always used together (30591)
-
FormBuilder - DisplayOnly fields cannot be required (32034)
-
Deprecate legacy parameters to Address::format() (31982)
-
CustomGroup - When deleting an entity, remove references from customGroupExtends (32186)
-
File - Fix links that do not include entityId (32326)
-
Stop wrangling sub_type in contact import (32294)
-
Fix error message for invalid step (32295)
-
Fix undefined array key error in Smarty (32308)
-
Api4 - Fix typo in code (32042)
-
Fix notice by switching to apiv4 (32039)
-
Fix intermittent ExpiredToken error when Iframe patches applied (341)
-
Use local variable instead of protected property (32000)
-
Shimmy - Fix deprecated php implicit null (32114)
-
Php 8.x deprecation fixes (32112)
- CiviCase - Fix links and breadcrumbs when viewing case without cid in url (32058)
-
Check contribution tab exists before marking it as valid (32425)
-
When financial account is the same before and after, treat payment method changes the same as for financial type changes (dev/financial#230: 32062)
-
Financial Entity Account selection dropdowns offer disabled accounts (dev/financial#231: 32085 and 32084)
-
Api4 - Fix sql renderer for contribution calculated fields (32184)
-
Fix notices when rendering advanced search as contributions (32072)
-
Fix failure to permit actions on deleted contributions (move) - use apiv4 (32135)
-
Ensure modelProps has contributionID (32064)
- Tell-a-friend tab on events not working - just displays manage events page (dev/core#5780: 32434)
-
Tracking URL not modified after changing case & trailing whitespace (dev/core#5331: 32204 and 30626)
-
CiviMail: Cron job for inbound-emails fails with "API... does not exist" (dev/core#5788: 32337)
-
Avoid fatal error editing CiviMail when current user missing email (32037)
-
Get Membership Contribution from LineItem instead of MembershipPayment (32244)
-
Fix Membership import inline with fixes on participant, contribution (32379)
-
Fix Membership import to not require start_date if id supplied (32177)
-
Fix membership import to update without requiring membership_type_id (31995)
-
Fix recent updates to import member to align with import activity (32300)
-
PHAR Loading - Enable PharStreamWrapper on Backdrop CMS (32310)
Fix a problem affecting CiviCRM-Backdrop where some extensions fail to load. Symptoms vary, but it generally presents as a "class not found".
-
League/csv 9.7.4 Conflicts with Drupal/csv_serialization needing 9.16 (dev/core#5556: 32107)
-
Drupal8::isMaintenceMode() - Don't crash on new/clean sites (32327)
- Joomla: Upgrade from 5.82=>6.0 fails with incomplete file removal (dev/core#5787: 32335)
-
specify light mode for civicrm.css to fix Standalone logo in Greenwich (32286)
-
standaloneusers - remove unused password attribute from afform User entity (32296)
-
standalone error handler caused error (32183)
- Fix intermittent ExpiredToken error when Iframe patches applied (31997)
-
Update oauth packages for PHP8.3/8.4 official support (32199)
-
Update tplanner/when for type hints (32076)
-
Upgrading typo3/phar-stream-wrapper (v3.1.8 => v4.0.0) (32132)
-
Add polyfill for php 8.3 & 8.4 (32128)
-
Update firebase/php-jwt v6.4.0 to v6.11.0 (32113)
-
php8.4 support fgetcsv (32133)
-
Convert custom data import to apiv4 (32250)
-
Update Membership import to use apiv4 (32202)
-
Finish upgrading participant import to apvi4 (32123)
-
Add function for setting max query execution time to core (32231)
-
Separate legacy
fillTable
out from 'to-keep' finder code (32117) -
Simplify updatedAmount calculation in LineItem changeFeeSelections() (32240)
-
Simplify params to legacyProcessMembership (32224)
-
Simplify tab count calculation (32242)
-
Civi::rebuild() - Consolidate super-functions rebuildMenuAndCaches, flushCache, and cleanupCaches (32065)
-
Add comment to batch (32223)
-
Clarify that entity_table is always civicrm_participant (32225)
-
Move query code to the FinderOptimizer class (32283)
-
Further clean up in dedupe query builder (32284)
-
CustomGroup - Remove unnecessary workaround for contact types (32180)
-
Remove Enum from validTypes list; call deprecatedFunctionWarning (32217)
-
Remove function noisily deprecated in 2022 (32237)
-
Remove deprecated code path from 2020 (32124)
-
Update comments on setting property on admin forms (32299)
-
Fix comment for getCMSPermissionsUrlParams (32293)
-
Tidy up opt out handling in contact import (32277)
-
Extract part of function that is shared between old path & new (32031)
-
Unused variable/function call (32232)
-
Remove some contact_type wrangling from previously shared code (32274)
-
Remove unused functions, old comments (32273)
-
Remove redundant custom field handling in contact import (32265)
-
Remove unused function (32238)
-
Remove function deprecated in 2023, no universe usages found (32192)
-
Remove more do-nothing code (32236)
-
Remove do-nothing legacy code (32235)
-
OptionGroup - Deprecate isDomainOptionGroup function (31989)
-
Decommission thresholdQuery, only call legacy hook from backward compat extension (31996)
-
Do legacy param setting in the legacy callers (32030)
-
Import code consolidation, membership import (31943)
-
Clean up contact matching in Membership import (32028)
-
UtilsArray - Refactor out uses of deprecated CRM_Utils_Array::value (31990)
-
[REF] CRM/Utils - Use str_contains instead of strpos (32156)
-
[REF] CRM/Export - Use str_contains instead of strpos (32162)
-
[REF] CRM/Event - Use str_contains instead of strpos (32161)
-
[REF] CRM/Profile - Use str_contains instead of strpos (32163)
-
[REF] CRM/Contribute - Use str_contains instead of strpos (32159)
-
[REF] Api3 - Use str_contains instead of strpos (32151)
-
[REF] CRM/Mailing - Use str_contains instead of strpos (32160)
-
[REF] CRM/Core - Use str_contains instead of strpos (32157)
-
[REF] CRM/Misc - Use str_contains instead of strpos (32164)
-
[REF] Ext - Use str_contains instead of strpos (32158)
-
[REF] Civi - Use str_contains instead of strpos (32154)
-
[REF] Api4 - Use str_contains instead of strpos (32152)
-
[REF] Tests - Use str_contains instead of strpos (32145)
-
[REF] Misc - Use str_starts_with instead of strpos (32144)
-
[REF] Complete separation of the legacydedupefinder from the core code to keep (32119)
-
[REF] Tests - Use str_starts_with instead of strpos (32097)
-
[REF] Afform - Use str_starts_with instead of strpos (32098)
-
[REF] Misc - Use str_starts_with instead of strpos (32096)
-
[REF] Api4 - Use str_starts_with instead of strpos (32094)
-
[REF] SearchKit - Use str_starts_with instead of strpos (32099)
-
[REF] CiviImport - Use str_starts_with instead of strpos (32100)
-
[REF] CRM/Core - Use str_starts_with instead of strpos (32102)
-
[REF] CRM/Utils - Use str_starts_with instead of strpos (32103)
-
[REF] Civi/misc - Use str_starts_with instead of strpos (32095)
-
[REF] Api3 - Use str_starts_with instead of strpos (32093)
-
[REF] CRM/Financial - Use str_starts_with instead of strpos (32104)
-
(REF) CRM_Queue_TaskHandler - Use constant+comments to highlight wiring (32233)
-
[REF] Config - Clarify that directories have trailing slashes (32312)
-
(REF) Remove dead code (re: CIVICRM_UF_HEAD) (32254)
-
[REF] Ensure that Reply-To header is appropriately quoted if copying from the from address as well (32278)
-
[REF] Api4 - Performance tweak: less looping in selectArray() (32272)
-
[REF] Faster pseudoconstant name lookups (32261)
-
[REF] CRM/Contact - Use str_contains instead of strpos (32155)
-
[REF] Ensure that ContactId is passed through on Mailing Event Emails to mailParams hook (32179)
-
[REF] Reduce API calls to get subtypes (32230)
-
(REF) Queue - Extract better helper for batch operations (31908)
-
[REF] Use random_bytes instead of uniqid/rand for random hex strings (32205)
-
[REF] CRM/Core - Refactor out uses of deprecated CRM_Utils_Array::value (32010)
-
[REF] CRM/Custom - Refactor out uses of deprecated CRM_Utils_Array::value (32011)
-
[REF] ext/payments - Refactor out uses of deprecated CRM_Utils_Array::value (32023)
-
[REF] Contact - Refactor out uses of deprecated CRM_Utils_Array::value (32008)
-
[REF] CRM/Price - Refactor out uses of deprecated CRM_Utils_Array::value (32015)
-
[REF] Relationship - Refactor out uses of deprecated CRM_Utils_Array::value (32007)
-
[REF] Campaign - Refactor out uses of deprecated CRM_Utils_Array::value (32006)
-
[REF] CRM/Member - Refactor out uses of deprecated CRM_Utils_Array::value (32014)
-
[REF] CRM/Report/Form/ - Refactor out uses of deprecated CRM_Utils_Array::value (32018)
-
[REF] ext/eventcart - Refactor out uses of deprecated CRM_Utils_Array::value (32024)
-
[REF] CRM/SMS - Refactor out uses of deprecated CRM_Utils_Array::value (32020)
-
Ref clean up contact lookup handling in Participant import (30583)
-
[REF] CRM/Utils - Refactor out uses of deprecated CRM_Utils_Array::value (32016)
-
[REF] CRM/Report - Refactor out uses of deprecated CRM_Utils_Array::value (32017)
-
[REF] CRM/Tag - Refactor out uses of deprecated CRM_Utils_Array::value (32019)
-
[REF] Batch - Refactor out uses of deprecated CRM_Utils_Array::value. (32005)
-
[REF] CRM/Contribute - Refactor out uses of deprecated CRM_Utils_Array (32009)
-
[REF] ext/civigrant - Refactor out uses of deprecated CRM_Utils_Array::value (32021)
-
[REF] CRM/Misc - Refactor out uses of deprecated CRM_Utils_Array::value. (32013)
-
[REF] ext/ckeditor4 - Refactor out uses of deprecated CRM_Utils_Array::value (32022)
-
[REF] Badge - Refactor out uses of deprecated CRM_Utils_Array::value. (32004)
-
[REF] ext/legacycustomsearches - Refactor out uses of deprecated CRM_ Code cleanup to stop using deprecated function. (32026)
-
[REF] ext/misc - Refactor out uses of deprecated CRM_Utils_Array::value (32025)
-
[REF] Admin - Refactor out uses of deprecated CRM_Utils_Array::value (32003)
-
[REF] CRM/Activity - Refactor out uses of deprecated CRM_Utils_Array::value. (32002)
-
[REF] Bin - Refactor out uses of deprecated CRM_Utils_Array::value (32001)
-
[REF] Api3 - Refactor out uses of deprecated CRM_Utils_Array::value. (31999)
-
[REF] Use tokenProcessor to render display name (31983)
-
[REF] Member/Pledge - Refactor out uses of deprecated CRM_Utils_Array::value (32052)
-
[REF] Remove unused variables (32045)
-
[REF] CiviContribute - Refactor out uses of deprecated CRM_Utils_Array::value (32050)
-
[REF] CRM/Misc - Refactor out uses of deprecated CRM_Utils_Array::value (32053)
-
[REF] CRM/Event - Refactor out uses of deprecated CRM_Utils_Array::value (32012)
-
[REF] api/v3 - Refactor out uses of deprecated CRM_Utils_Array::value (32046)
-
[REF] CRM/Case - Refactor out uses of deprecated CRM_Utils_Array::value (32051)
-
[REF] CRM/Activity - Refactor out uses of deprecated CRM_Utils_Array::value (32049)
-
[REF] Refactor redundant
isset()
s to use null coalescing operator (??) (32044) -
[REF] CRM/Event - Refactor out uses of deprecated CRM_Utils_Array::value (32048)
-
[REF] CRM/Report - Refactor out uses of deprecated CRM_Utils_Array::value (32047)
-
[REF] CRM/Event - Use str_starts_with instead of strpos (32105)
-
[REF] CRM/Misc - Use str_starts_with instead of strpos (32106)
-
[REF] - Simplify redundant calls to
empty()
function (32043) -
[REF] Ext/misc - Use str_starts_with instead of strpos (32101)
-
[NFC] 6.1 release notes first pass (32447)
-
NFC: Remove MembershipPayment from comment (32241)
-
Follow on fix with a test (32309)
-
Ensure that RuntimeException is appropriately appropriately described as in root namespace (32315)
-
Pacify SqlFunctionTest. Encode limitations of APIv4 TIMESTAMPDIFF(). (32340)
-
Fix a few test clean places (32298)
-
Add test for opt out handling on import, ready for cleanup (32276)
-
UnitTests - Allow mocking date/time functions in sql (32188)
-
Fix failing ParticipantTest (32216)
-
Revert "adjust test" (32198)
-
Switch sampleContact test function to private (32171)
-
Use Mock Handler in A.net test (32197)
-
Support apiv4 in test functions individualCreate, organizationCreate, householdCreate (32174)
-
Fix test to reflect 6.1 changes to mapping ([32508(#32508))
-
Add upgrade test (32509)
-
Minor test cleanups (32301)
This release was developed by the following code authors:
AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Benjamin W; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; Coop SymbioTIC - Mathieu Lutfy, Shane Bill; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; Sjoerd Langkemper; Squiffle Consulting - Aidan Saunders; Third Sector Design - Kurund Jalmi, William Mortada; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments:
civiservice.de - Andreas Howiller; Daniel Strum; JMA Consulting - Edsel Lopez; Joinery - Allen Shaw; Matt5K; Mosier Consulting - Justin Mosier; Tadpole Collective - Kevin Cristiano