# CiviCRM 6.12.0 Released March 4, 2026; - **[Synopsis](#synopsis)** - **[Features](#features)** - **[Bugs resolved](#bugs)** - **[Miscellany](#misc)** - **[Credits](#credits)** ## <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?** | **yes** | | **Fix problems installing or upgrading to a previous version?** | **yes** | | **Introduce features?** | **yes** | | **Fix bugs?** | **yes** | ## <a name="features"></a>Features ### Core CiviCRM - **Adding ability to output Confirmation Messages in HTML ([34498](https://github.com/civicrm/civicrm-core/pull/34498))** Adds the ability to use html in Afform Confirmation messages. - **SearchKit - Add GetMarkup api action ([34463](https://github.com/civicrm/civicrm-core/pull/34463))** Adds a new api action for SearchKit `GetMarkup` which generates the markup to embed a search display in a page. - **CustomGroup - Allow default values from url ([34456](https://github.com/civicrm/civicrm-core/pull/34456))** Enables contextual use of the Custom Group form, e.g. creating a custom group for a specific entity. - **Router - Test encoding of path chars. Align Standalone with everyone else. ([34248](https://github.com/civicrm/civicrm-core/pull/34248))** Makes the encoding of path chars consistent accross CMS's and Standalone. - **Force loading Smarty5 ([34484](https://github.com/civicrm/civicrm-core/pull/34484))** Ensures core only supports smarty5. - **PHP 8.4 compatibility (Work towards [dev/core#5409](https://lab.civicrm.org/dev/core/-/issues/5409): [92](https://github.com/civicrm/civicrm-joomla/pull/92), [694](https://github.com/civicrm/civicrm-drupal/pull/694), [197](https://github.com/civicrm/civicrm-backdrop/pull/197), [34520](https://github.com/civicrm/civicrm-core/pull/34520), [34465](https://github.com/civicrm/civicrm-core/pull/34465) and [355](https://github.com/civicrm/civicrm-wordpress/pull/355))** Increments recommended php version to 8.4. - **Quicksearch - trim input ([34529](https://github.com/civicrm/civicrm-core/pull/34529))** Trims whitsepace off the ends of search terms in the menubar quicksearch. - **Add a contact.checksum_raw token that does not include "cs=" ([dev/core#2225](https://lab.civicrm.org/dev/core/-/issues/2225): [34531](https://github.com/civicrm/civicrm-core/pull/34531))** Adds a new token `contact.checksum_raw` that provides just the checksum value without the "cs=". - **Afform - Add titles to metadata ([34567](https://github.com/civicrm/civicrm-core/pull/34567))** Adds a few more field titles to the Afform API metadata. - **api: MessageTemplate.send - Return specific SMTP error messages ([34505](https://github.com/civicrm/civicrm-core/pull/34505))** Improves error reporting in the MessageTemplate.send API by returning specific SMTP error messages instead of a generic failure message. - **Add return value handling for MessageTemplate.send API ([34504](https://github.com/civicrm/civicrm-core/pull/34504))** Improves the MessageTemplate.send API by properly handling the return value from CRM_Core_BAO_MessageTemplate::sendTemplate() and returning appropriate success or error responses. It also enhances the API documentation with detailed return value specifications. - **Riverlea - add stream preview/edit to admin page ([32344](https://github.com/civicrm/civicrm-core/pull/32344))** Add stream listing/previewing/editing to the Riverlea settings page. Rename the page "Theme Settings" ### CiviContribute - **Update online receipts to use same product tokens as offline ([34556](https://github.com/civicrm/civicrm-core/pull/34556) and [34565](https://github.com/civicrm/civicrm-core/pull/34565))** More token replacements. - **Order API: Support recurring contributions ([34523](https://github.com/civicrm/civicrm-core/pull/34523))** Adds support for creating and using existing recurring contributions in the Order API. - **Generate Contribution examples with Pending status ([34488](https://github.com/civicrm/civicrm-core/pull/34488))** When using the Message Administration extension, workflow messages can be previewed. Contributions with various statuses are available - this adds Pending contributions. ### Joomla Integration - **Joomla 5 compatibility (Work Towards [dev/joomla#54](https://lab.civicrm.org/dev/joomla/-/issues/54): [95](https://github.com/civicrm/civicrm-joomla/pull/95), [93](https://github.com/civicrm/civicrm-joomla/pull/93) and [90](https://github.com/civicrm/civicrm-joomla/pull/90))** Work towards Joomla 5 compatibility. ### Standalone Integration - **Standalone - Implement role access functions ([34615](https://github.com/civicrm/civicrm-core/pull/34615))** Adds missing functions to Standalone that are present in Wordpress, Drupal, etc. This allows CiviReport to control access by role, as it does for other CMSs. ## <a name="bugs"></a>Bugs resolved ### Core CiviCRM - **Save preferred_language from contact summary ([34882](https://github.com/civicrm/civicrm-core/pull/34882))** - **Upgrade (6.0=>6.11) encounters failures with civiimport ([dev/core#6356](https://lab.civicrm.org/dev/core/-/issues/6356): [34948](https://github.com/civicrm/civicrm-core/pull/34948))** - **show/hide for activity assignee notification activity types filter not working ([dev/core#6351](https://github.com/civicrm/civicrm-core/pull/34877): [34877](https://github.com/civicrm/civicrm-core/pull/34877))** - **Custom required Contact Reference field on Membership not required ([dev/core#5469](https://lab.civicrm.org/dev/core/-/issues/5469): [34568](https://github.com/civicrm/civicrm-core/pull/34568))** - **Can't save preferences in 6.9 if a preference is defined in civicrm.settings.php ([dev/core#6251](https://lab.civicrm.org/dev/core/-/issues/6251): [34444](https://github.com/civicrm/civicrm-core/pull/34444))** - **SearchKit - Download Spreadsheet Excel hangs when you have date listed columns ([dev/core#6273](https://lab.civicrm.org/dev/core/-/issues/6273): [34511](https://github.com/civicrm/civicrm-core/pull/34511))** - **Dashlet Permission Check Ignoring Legacy Reports ACL Group/Role Settings ([dev/core#6290](https://lab.civicrm.org/dev/core/-/issues/6290): [34630](https://github.com/civicrm/civicrm-core/pull/34630))** - **Front-end User Dashboard stopped working ([dev/core#6296](https://lab.civicrm.org/dev/core/-/issues/6296): [34777](https://github.com/civicrm/civicrm-core/pull/34777))** - **Link to own user account broken from CiviCRM contact page ([dev/core#6299](https://lab.civicrm.org/dev/core/-/issues/6299): [34631](https://github.com/civicrm/civicrm-core/pull/34631))** - **Afform/River - Panel pane title hides text from below ([dev/core#6326](https://lab.civicrm.org/dev/core/-/issues/6326): [34778](https://github.com/civicrm/civicrm-core/pull/34778))** - **API_Wrapper - Fix autoloading ([34839](https://github.com/civicrm/civicrm-core/pull/34839))** - **Fix Filter Fields for entities without <entity>_type_id ([34830](https://github.com/civicrm/civicrm-core/pull/34830))** - **Afform: Tag causes "Invalid cache key: Illegal characters" ([dev/core#6353](https://lab.civicrm.org/dev/core/-/issues/6353): [34887](https://github.com/civicrm/civicrm-core/pull/34887))** - **AfformMetadataInjector blanks out non string attribute values ([dev/core#6207](https://lab.civicrm.org/dev/core/-/issues/6207): [34892](https://github.com/civicrm/civicrm-core/pull/34892))** - **Afform - Fix "Store Values" in search display filters ([34803](https://github.com/civicrm/civicrm-core/pull/34803))** - **Afform - Add missing proximity search input type ([34809](https://github.com/civicrm/civicrm-core/pull/34809))** Fixes a bug where the "Location" input type was perceived as missing by FormBuilder. - **fix Afform JWT token replacement ([34729](https://github.com/civicrm/civicrm-core/pull/34729))** - **Afform css is not loaded when quick edit opened for a 2nd time from autocomplete ([dev/core#6187](https://lab.civicrm.org/dev/core/-/issues/6187): [33987](https://github.com/civicrm/civicrm-core/pull/33987))** - **Forms - Remove special handling for old widgets ([34684](https://github.com/civicrm/civicrm-core/pull/34684))** - **Disable Check Permissions when updating UserJob on Preview screen when importing to ensure users without administer CiviCRM can import contacts ([34666](https://github.com/civicrm/civicrm-core/pull/34666))** - **CRM.url - protect from null ([34655](https://github.com/civicrm/civicrm-core/pull/34655))** - **Api4 - support summing boolean fields ([34599](https://github.com/civicrm/civicrm-core/pull/34599))** When using SUM sql function on a boolean field, the result value is interpreted as a boolean, and displayed as "Yes" for any non-zero value, or "No" for zero value - **Prioritize earliest contact id when finding match ([34601](https://github.com/civicrm/civicrm-core/pull/34601))** - **Reduce file-conflict risk. Trim require_once expressions. ([34618](https://github.com/civicrm/civicrm-core/pull/34618))** - **Get merged to contact for batch entry imports, so we don't import to deleted contact ([34594](https://github.com/civicrm/civicrm-core/pull/34594))** - **allow Search Displays to use all columns from their Saved Search ([34178](https://github.com/civicrm/civicrm-core/pull/34178))** - **Extensions - Multiple updates for `enable-when-satisfied` / `parent` warning ([34593](https://github.com/civicrm/civicrm-core/pull/34593))** - **Fix regression from #34309 ([34597](https://github.com/civicrm/civicrm-core/pull/34597))** - **Navigation items can disappear fairly randomly due to logic bug. ([dev/core#6285](https://lab.civicrm.org/dev/core/-/issues/6285): [34588](https://github.com/civicrm/civicrm-core/pull/34588))** - **Save date format on User Job, when set on the data source form ([34572](https://github.com/civicrm/civicrm-core/pull/34572))** - **Do not assign currency in sendEmail code ([34558](https://github.com/civicrm/civicrm-core/pull/34558))** - **Replace deprecated createFromFileObject() with Writer::from() ([34514](https://github.com/civicrm/civicrm-core/pull/34514))** - **Move assignment of profile fields for Contribution & Membership Online templates to WorkflowMessage subsystem, add preview ([34575](https://github.com/civicrm/civicrm-core/pull/34575))** - **Address php8.5 deprecation notices ([34547](https://github.com/civicrm/civicrm-core/pull/34547))** - **Replace deprecated output() with download() ([34516](https://github.com/civicrm/civicrm-core/pull/34516))** - **8.5 [trace] => #0 /home/homer/buildkit/build/build-7/web/core/CRM/Core/DAO.php(3070): PHPUnit\Util\ErrorHandler->__invoke(8192, 'Using null as a...', '/home/homer/bui...', 3070) ([34538](https://github.com/civicrm/civicrm-core/pull/34538))** - **Remove some php 8.5 deprecations ([34551](https://github.com/civicrm/civicrm-core/pull/34551))** - **PHP 8.5 deprecation ([34540](https://github.com/civicrm/civicrm-core/pull/34540))** - **Fix deprecation (php 8.5) ([34533](https://github.com/civicrm/civicrm-core/pull/34533))** - **Fix some php 8.5 notices ([34619](https://github.com/civicrm/civicrm-core/pull/34619))** - **PHP 8.5 deprecation fix ([34620](https://github.com/civicrm/civicrm-core/pull/34620))** - **PHP 8.5 - Fix warning on EntityMetadataBase::getSqlOptions() ([34501](https://github.com/civicrm/civicrm-core/pull/34501))** - **PHP 8.5 - Fix warning in ContactType::getAllContactTypes() ([34502](https://github.com/civicrm/civicrm-core/pull/34502))** - **PHP 8.5 - Fix warning in Civi\Core\Url ([34497](https://github.com/civicrm/civicrm-core/pull/34497))** - **PHP 8.5 - Fix warnings about setAccessible() ([34535](https://github.com/civicrm/civicrm-core/pull/34535))** - **SearchKit - Fix counting matched results ([34749](https://github.com/civicrm/civicrm-core/pull/34749))** - **SearchKit admin - fix adding custom display columns after reload ([34738](https://github.com/civicrm/civicrm-core/pull/34738))** - **SearchKit - Only use first search field in default sort ([34592](https://github.com/civicrm/civicrm-core/pull/34592))** - **SearchKit - Fix tokens in toolbar for multivalued field ([34475](https://github.com/civicrm/civicrm-core/pull/34475))** - **CustomGroup - Collapse wysywyg inputs on form to save space ([34458](https://github.com/civicrm/civicrm-core/pull/34458))** - **ChartKit - reimplement trailing debounce in getResultsPronto ([34276](https://github.com/civicrm/civicrm-core/pull/34276))** - **chart_kit - apply label color setting more consistently ([34471](https://github.com/civicrm/civicrm-core/pull/34471))** - **AuthX - Fix capitalization of permissions ([34625](https://github.com/civicrm/civicrm-core/pull/34625))** - **Method League\Csv\Reader::fetchOne() is deprecated since league/csv:.9.0, use League\Csv\Reader::nth() instead ([34517](https://github.com/civicrm/civicrm-core/pull/34517))** - **Fix wrapping for long search criteria ([34652](https://github.com/civicrm/civicrm-core/pull/34652))** - **River: fixes typo that breaks dropdown-link hover styling ([34940](https://github.com/civicrm/civicrm-core/pull/34940))** - **River: Resets toggle padding for front-end ([34880](https://github.com/civicrm/civicrm-core/pull/34880)** - **River: Improves padding on accordion inside dashboard dashlet & removes a few unused bits ([34675](https://github.com/civicrm/civicrm-core/pull/34675))** - **River: '--crm-info-color-on-dark' was being called but not defined, replaces for something that is ([34493](https://github.com/civicrm/civicrm-core/pull/34493))** - **regen to fix demo status check messages about message templates ([34752](https://github.com/civicrm/civicrm-core/pull/34752))** - **typo - probably ([34587](https://github.com/civicrm/civicrm-core/pull/34587))** - **fix typo in upgrade step ([34769](https://github.com/civicrm/civicrm-core/pull/34769))** - **Php 8.4 deprecation fix ([122](https://github.com/civicrm/civicrm-drupal-8/pull/122))** - **DB_DataObject - Fix for PHP 8.5, another ([432](https://github.com/civicrm/civicrm-packages/pull/432))** - **DB_DataObject - Fix for PHP 8.5 ([430](https://github.com/civicrm/civicrm-packages/pull/430))** - **PHP 8.4 - Fix warnings/failures for PHP_IDS ([429](https://github.com/civicrm/civicrm-packages/pull/429))** - **scssphp - Fix warnings. Update v1.10.3 => v1.13.0 ([34513](https://github.com/civicrm/civicrm-core/pull/34513))** ### CiviCampaign - **PR #33318 breaks Campaign Surveys ([dev/core#6258](https://lab.civicrm.org/dev/core/-/issues/6258): [34805](https://github.com/civicrm/civicrm-core/pull/34805))** ### CiviContribute - **Contribution page layout mildly broken ([dev/core#6318](https://lab.civicrm.org/dev/core/-/issues/6318): [34952](https://github.com/civicrm/civicrm-core/pull/34952) and [34958](https://github.com/civicrm/civicrm-core/pull/34958))** - **Cannot use entities' names with Order.create and line items (api4) ([dev/core#6217](https://lab.civicrm.org/dev/core/-/issues/6217): [34508](https://github.com/civicrm/civicrm-core/pull/34508))** - **Move valid status transition check from API3 to Contribution BAO ([34473](https://github.com/civicrm/civicrm-core/pull/34473))** - **Remove code for deleting soft credits from front end form ([34623](https://github.com/civicrm/civicrm-core/pull/34623))** - **Fix Line_item is set twice in short succession ([34641](https://github.com/civicrm/civicrm-core/pull/34641))** - **Stop assigning and add warning for financialTypeName, contributionTypeName ([34638](https://github.com/civicrm/civicrm-core/pull/34638))** - **Let the ThankYou page access the value directly ([34670](https://github.com/civicrm/civicrm-core/pull/34670))** - **Remove handling for contribution to be not pending since it is always pending ([34677](https://github.com/civicrm/civicrm-core/pull/34677))** - **Price sets are picking the wrong financial type. Also sometimes charge double-tax because of it. ([dev/financial#235](https://lab.civicrm.org/dev/financial/-/issues/235): [34792](https://github.com/civicrm/civicrm-core/pull/34792))** - **Javascript to hide the invoice-related config fields when invoicing not enabled has gone missing ([dev/financial#239](https://lab.civicrm.org/dev/financial/-/issues/239): [34811](https://github.com/civicrm/civicrm-core/pull/34811))** - **Fix ContributionPageConfirm to create lineitems right the first time ([34685](https://github.com/civicrm/civicrm-core/pull/34685))** - **Notice fix when a premium with options AND a premium without options configured ([34580](https://github.com/civicrm/civicrm-core/pull/34580))** - **Move Confirm pledge tests to full form flow & fix bug exposed ([34586](https://github.com/civicrm/civicrm-core/pull/34586))** - **Cannot import 'Amount Label' ([dev/core#6339](https://lab.civicrm.org/dev/core/-/issues/6339): [34796](https://github.com/civicrm/civicrm-core/pull/34796))** ### CiviEvent - **SearchKit - Make participant statuses searchable by non-admins ([34499](https://github.com/civicrm/civicrm-core/pull/34499))** - **System Message Template preview crashes with fatal error when CiviEvent component is disabled ([dev/core#6349](https://lab.civicrm.org/dev/core/-/issues/6349): [34957](https://github.com/civicrm/civicrm-core/pull/34957))** - **Regression - Confirmation step on paid events error and compatibility with 'Show event payment on confirm' ([dev/core#6271](https://lab.civicrm.org/dev/core/-/issues/6271): [34970](https://github.com/civicrm/civicrm-core/pull/34970))** - **Event, Send Receipt action does not work, affects CiviCRM 6.12.x back to 6.9.2 ([34969](https://github.com/civicrm/civicrm-core/pull/34969))** ### CiviGrant - **SearchKit - Add support for optional tokens ([34428](https://github.com/civicrm/civicrm-core/pull/34428))** Fixes the CiviGrant dashboard create link by making the contact id in the url optional. - **CiviGrant - Fix missing charts on dashboard ([34756](https://github.com/civicrm/civicrm-core/pull/34756))** ### CiviMember - **Custom Fields admin screen throws error when CiviMember component disabled ([dev/core#6337](https://lab.civicrm.org/dev/core/-/issues/6337): [34788](https://github.com/civicrm/civicrm-core/pull/34788))** - **CiviMember - Membership changes without payment ([dev/core#6208](https://lab.civicrm.org/dev/core/-/issues/6208): [34342](https://github.com/civicrm/civicrm-core/pull/34342))** - **Fix array_sum type issue for MembershipBlock PHP83 ([34476](https://github.com/civicrm/civicrm-core/pull/34476))** ### Drupal Integration - **Switch to using non deprecated class references in civicrm_api drush function and return out of the function after setting error using drush_set_error to avoid notice about undefined variable ([695](https://github.com/civicrm/civicrm-drupal/pull/695))** ### WordPress Integration - **Fix CRM_Utils_System_WordPress::createUser() to return expected FALSE on failure ([34487](https://github.com/civicrm/civicrm-core/pull/34487))** - **Avoid fatal error in WP-CLI install command ([356](https://github.com/civicrm/civicrm-wordpress/pull/356))** ## <a name="misc"></a>Miscellany - **Use getSubmittedValue to retrieve the submitted premium options ([34561](https://github.com/civicrm/civicrm-core/pull/34561))** - **Consolidate handling of currency parameter & get parameters for payment processor consistently ([34570](https://github.com/civicrm/civicrm-core/pull/34570))** - **Cleanup ACL form show/hide code ([34600](https://github.com/civicrm/civicrm-core/pull/34600))** - **Take copy of pcp function ([34602](https://github.com/civicrm/civicrm-core/pull/34602))** - **Copy activity creation code to Confirm, comment & simplify ([34603](https://github.com/civicrm/civicrm-core/pull/34603))** - **Take copy of ContributionPage::SetValues ([34639](https://github.com/civicrm/civicrm-core/pull/34639))** - **Move assignment of honor profile & soft credit info to Workflow Message subsystem ([34640](https://github.com/civicrm/civicrm-core/pull/34640))** - **SchemaHelperInterface: Set default value for argument in @method ([34654](https://github.com/civicrm/civicrm-core/pull/34654))** - **Consolidate handling of is_email_receipt in Confirm form ([34590](https://github.com/civicrm/civicrm-core/pull/34590))** - **Pass isSecondPayment in in more transparent way ([34661](https://github.com/civicrm/civicrm-core/pull/34661))** - **Api4 - Code cleanup; remove unused function, add type hints ([34595](https://github.com/civicrm/civicrm-core/pull/34595))** - **Extract getExistingMembership(), setting renewalMode, add membership_id to line items early ([34668](https://github.com/civicrm/civicrm-core/pull/34668))** - **Use apiv4 for contribution update ([34678](https://github.com/civicrm/civicrm-core/pull/34678))** - **composer.json - Make dependency on psr/http-client more explicit ([34534](https://github.com/civicrm/civicrm-core/pull/34534))** - **Consolidate handling of payment_processor_id ([34581](https://github.com/civicrm/civicrm-core/pull/34581))** - **Afform - Update js code syntax ([34526](https://github.com/civicrm/civicrm-core/pull/34526))** - **Upgrade Guzzle HTTP stack and related dependencies ([34545](https://github.com/civicrm/civicrm-core/pull/34545))** - **Upgrading ezyang/htmlpurifier (v4.17.0 => v4.19.0) ([34530](https://github.com/civicrm/civicrm-core/pull/34530))** - **Update crm.ajax.js, allow ES11 ([34546](https://github.com/civicrm/civicrm-core/pull/34546))** - **Upgrade phpsec to 3, add backward compatibility ([34532](https://github.com/civicrm/civicrm-core/pull/34532))** - **Upgrading behat/mink (v1.11.0 => v1.13.0) ([34519](https://github.com/civicrm/civicrm-core/pull/34519))** - **Upgrade dmore/chrome-mink-driver 2.9.3 => 2.10.0) ([34518](https://github.com/civicrm/civicrm-core/pull/34518))** - **Update Smarty 5 v5.3.1 to v5.7.0 ([431](https://github.com/civicrm/civicrm-packages/pull/431))** - **Bump firebase/php-jwt from 6.11.1 to 7.0.0 ([34867](https://github.com/civicrm/civicrm-core/pull/34867))** - **Bump qs from 6.14.1 to 6.14.2 ([34819](https://github.com/civicrm/civicrm-core/pull/34819))** - **Extract getMembershipCustomFields, pass around less ([34653](https://github.com/civicrm/civicrm-core/pull/34653))** - **Extract getMembershipSource ([34681](https://github.com/civicrm/civicrm-core/pull/34681))** - **Extract isPayLater() on Confirm form ([34679](https://github.com/civicrm/civicrm-core/pull/34679))** - **Extract & consolidate getPaymentInstrumentID() ([34683](https://github.com/civicrm/civicrm-core/pull/34683))** - **Stop passing around always NULL value ([34650](https://github.com/civicrm/civicrm-core/pull/34650))** - **Add deprecation comment on processPriceSet ([34489](https://github.com/civicrm/civicrm-core/pull/34489))** - **Deprecate being broken ([34691](https://github.com/civicrm/civicrm-core/pull/34691))** - **Remove pcp-notify-send from unreachable code point ([34669](https://github.com/civicrm/civicrm-core/pull/34669))** - **Remove early setting of doPayment values ([34662](https://github.com/civicrm/civicrm-core/pull/34662))** - **Finish extraction of MembershipPayment from OrderCompleteSubscriber ([34667](https://github.com/civicrm/civicrm-core/pull/34667))** - **Remove email handling for variable now handled in workflow template ([34660](https://github.com/civicrm/civicrm-core/pull/34660))** - **Remove always NULL parameter ([34562](https://github.com/civicrm/civicrm-core/pull/34562))** - **Remove deprecated curl_close() ([34539](https://github.com/civicrm/civicrm-core/pull/34539))** - **Remove status check obsolete since Smarty5 upgrade ([34461](https://github.com/civicrm/civicrm-core/pull/34461))** - **Stop calculating and assigning unused customGroup ([34649](https://github.com/civicrm/civicrm-core/pull/34649))** - **Start extracting `getFinancialTypeID()` ([34439](https://github.com/civicrm/civicrm-core/pull/34439))** - **Stop passing membership type, access when needed ([34690](https://github.com/civicrm/civicrm-core/pull/34690))** - **Remove legacy doPayment parameters ([34564](https://github.com/civicrm/civicrm-core/pull/34564))** - **Remove params ([34569](https://github.com/civicrm/civicrm-core/pull/34569))** - **remove files used by CiviHR ([34460](https://github.com/civicrm/civicrm-core/pull/34460))** - **Further tidy up pcp handling ([34616](https://github.com/civicrm/civicrm-core/pull/34616))** - **Upgrade dompdf packages ([34528](https://github.com/civicrm/civicrm-core/pull/34528))** - **Update brick libraries to latest point version ([34527](https://github.com/civicrm/civicrm-core/pull/34527))** - **Unshare & refactor code to get PCP values on contribution page ([34598](https://github.com/civicrm/civicrm-core/pull/34598))** - **Remove unnused param, returned form from handlePledge ([34563](https://github.com/civicrm/civicrm-core/pull/34563))** - **Remove extraneous code now on_behalf profile is assigned by WorkflowMessage class ([34643](https://github.com/civicrm/civicrm-core/pull/34643))** - **Remove onBehalfAddress assign ([34578](https://github.com/civicrm/civicrm-core/pull/34578))** - **Remove always-true IFs ([34607](https://github.com/civicrm/civicrm-core/pull/34607))** - **Remove always-true parameter ([34645](https://github.com/civicrm/civicrm-core/pull/34645))** - **Remove code for never set value ([34642](https://github.com/civicrm/civicrm-core/pull/34642))** - **Remove fieldTypes filter on on-behalf fields for email ([34574](https://github.com/civicrm/civicrm-core/pull/34574))** - **Remove 2022 deprecated getHonorContacts ([34637](https://github.com/civicrm/civicrm-core/pull/34637))** - **Remove code cautiously deprecated rather than deleted in 2024 ([34398](https://github.com/civicrm/civicrm-core/pull/34398))** - **Remove unused variable ([34478](https://github.com/civicrm/civicrm-core/pull/34478))** - **[REF] SearchKit - Code cleanup, less lo-dash ([34453](https://github.com/civicrm/civicrm-core/pull/34453))** - **REF: Consistency for Afform Autofill code ([34267](https://github.com/civicrm/civicrm-core/pull/34267))** - **[REF] Convert CRM_Core_BAO_Block::getValues to API4 ([32737](https://github.com/civicrm/civicrm-core/pull/32737))** - **REF: Tests: Don't create two contributions when API version = 4 ([34479](https://github.com/civicrm/civicrm-core/pull/34479))** - **(NFC) Fix age test ([34949](https://github.com/civicrm/civicrm-core/pull/34949))** - **(NFC) UrlFacadeTest - Emit more debug info about failures ([34491](https://github.com/civicrm/civicrm-core/pull/34491))** - **Api4 - Add another partial date test ([34596](https://github.com/civicrm/civicrm-core/pull/34596))** - **Fix tests to call form with full form flow ([34566](https://github.com/civicrm/civicrm-core/pull/34566))** - **CRM_Utils_DateTest - Accept new+old abbreviation formats ([34515](https://github.com/civicrm/civicrm-core/pull/34515))** - **(PHP 8.4) FormatTest - Fix failures ([34490](https://github.com/civicrm/civicrm-core/pull/34490))** - **Test clean up towards moving all confirm tests to ConfirmTest ([34583](https://github.com/civicrm/civicrm-core/pull/34583))** - **Test clean up towards moving all confirm tests to ConfirmTest ([34573](https://github.com/civicrm/civicrm-core/pull/34573))** - **Test standardisation ([34582](https://github.com/civicrm/civicrm-core/pull/34582))** - **ElavonTest - Skip test on PHP 8.1 and Drupal 9 (Guzzle 6) ([34555](https://github.com/civicrm/civicrm-core/pull/34555))** - **Fix test to call form using full flow ([34579](https://github.com/civicrm/civicrm-core/pull/34579))** - **Mark tests that regularly fail as ornery ([32526](https://github.com/civicrm/civicrm-core/pull/32526))** - **Revert "ElavonTest - Skip test on PHP 8.1 and Drupal 9 (Guzzle 6)" ([34577](https://github.com/civicrm/civicrm-core/pull/34577))** - **Move some more tests to full form flow ([34658](https://github.com/civicrm/civicrm-core/pull/34658))** - **Fix test fails - figuring out membership end dates is hard ([34647](https://github.com/civicrm/civicrm-core/pull/34647))** - **Consolidate another ConfirmTest onto that class, full form flow ([34622](https://github.com/civicrm/civicrm-core/pull/34622))** - **Consolidate getFinancialID() ([34571](https://github.com/civicrm/civicrm-core/pull/34571))** - **Convert Contribution test to Payment::create ([34612](https://github.com/civicrm/civicrm-core/pull/34612))** - **Convert ContributionRecur test to Payment::create ([34611](https://github.com/civicrm/civicrm-core/pull/34611))** - **Convert membership test to Payment::create ([34610](https://github.com/civicrm/civicrm-core/pull/34610))** - **Move another test to full form flow ([34686](https://github.com/civicrm/civicrm-core/pull/34686))** - **Migrate test to full form flow ([34676](https://github.com/civicrm/civicrm-core/pull/34676))** - **Remove some test helper code ([34680](https://github.com/civicrm/civicrm-core/pull/34680))** - **Migrate another test to ConfirmTest ([34672](https://github.com/civicrm/civicrm-core/pull/34672))** - **Move another test to full form flow ([34671](https://github.com/civicrm/civicrm-core/pull/34671))** ## <a name="credits"></a>Credits This release was developed by the following code authors: AGH Strategies - Alice Frumin; Artful Robot - Rich Lott; Benjamin W; Christian Wach; CiviCRM - Coleman Watts, Tim Otten; Coop SymbioTIC - Shane Bill; CSES (Chelmsford Science and Engineering Society) - Adam Wood; Dave D; Francesc Bassas i Bullich; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; NIAB - Stuart; Nicol Wistreich; PERORA SRL - Samuele Masetto; Richard Baugh; Squiffle Consulting - Aidan Saunders; Systopia - Dominic Tubach; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: Circle Interactive - Angela Jackson; Coop SymbioTIC - Mathieu Lutfy; Fuzion - Luke Stewart; JMA Consulting - Celine Nicolas; Progressive Technology Project - Jamie McClelland; Sjoerd Langkemper; Skvare - Mark Hanna; Third Sector Design - William Mortada