# CiviCRM 6.16.0 Released July 8, 2026; - **[Synopsis](#synopsis)** - **[Features](#features)** - **[Bugs resolved](#bugs)** - **[Miscellany](#misc)** - **[Credits](#credits)** | *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 - **Make it easier to export SK ([dev/core#6517](https://lab.civicrm.org/dev/core/-/work_items/6517): [35765](https://github.com/civicrm/civicrm-core/pull/35765))** Makes it so one can export a searchkit from the SavedSearch edit screen. - **allow creating related records from SearchKit ([35665](https://github.com/civicrm/civicrm-core/pull/35665))** Improves searchkit by making it possible to create related records. - **Afform Conditional Select Options ([35572](https://github.com/civicrm/civicrm-core/pull/35572))** Adds the ability to specify options on a Select element to be conditionally shown based on data from the form. - **When import shows two contacts exist that match imported data, provide link to merge ([35686](https://github.com/civicrm/civicrm-core/pull/35686))** Adds a handy link to merge contacts when an import shows they are a match. - **Alphabetise local extensions on "CiviCRM Extensions" screen ([35813](https://github.com/civicrm/civicrm-core/pull/35813))** Improves user experience by Alphabetising the CiviCRM Extensions tab. - **Show group-related custom fields when you add a participant to a group ([35615](https://github.com/civicrm/civicrm-core/pull/35615))** Adds group-related custom fields when you add a participant to a group. - **SearchKit - Improve loading time ([dev/core#6506](https://lab.civicrm.org/dev/core/-/work_items/6506): [35701](https://github.com/civicrm/civicrm-core/pull/35701))** Searchkit performance improvements. - **Reduce repeated require_once calls for CPU performance improvement ([35639](https://github.com/civicrm/civicrm-core/pull/35639))** Performance improvement. - **Dispatch pre and post hooks from Afform api actions ([35800](https://github.com/civicrm/civicrm-core/pull/35800) and [35888](https://github.com/civicrm/civicrm-core/pull/35888))** Dispatches hooks on Afform create/save/update/revert. - **Afform - Add client-side token support ([dev/core#6308](https://lab.civicrm.org/dev/core/-/work_items/6308): [35562](https://github.com/civicrm/civicrm-core/pull/35562))** Allows tokens and html markup in formbuilder `label`, `help_pre`, `help_post` and rich content - **Afform translation: add support for multi-locale (not just multi-lingual) ([35026](https://github.com/civicrm/civicrm-core/pull/35026))** Enables the FormBuilder (afform) translation interfaces if there are multiple locales enabled (not just multi-lingual). - **Invoke contact pre and post hooks when editing custom fields from tab and inline ([35839](https://github.com/civicrm/civicrm-core/pull/35839) and [35820](https://github.com/civicrm/civicrm-core/pull/35820))** Invokes hooks when you are editing the custom fields in a modal from a tab and inline style custom group. - **Show custom fields on Email and Bulk Email type activities. ([35673](https://github.com/civicrm/civicrm-core/pull/35673))** Show custom fields on the activity types: Email and Bulk Email - **Add `postbox` for sending emails with Api4 ([35687](https://github.com/civicrm/civicrm-core/pull/35687))** Adds outbound_message extension for sending transactional emails with Api4. - **Improve contact summary performance by memoizing Afform placement per request ([35736](https://github.com/civicrm/civicrm-core/pull/35736))** Improves performance on the contact summary. - **Multilingual SK: Translate table column label ([33901](https://github.com/civicrm/civicrm-core/pull/33901) and [35782](https://github.com/civicrm/civicrm-core/pull/35782))** Work towards Multilingual SearchKit. - **Increase civicrm_tag.used_for column length to 512 ([35805](https://github.com/civicrm/civicrm-core/pull/35805))** The tag_used_for list is now longer and could potentially be longer than 64 chars. - **Afform style picker ([35768](https://github.com/civicrm/civicrm-core/pull/35768))** Adds a style selector to FormBuilder similar to the one in SearchKit displays. All field elements can set a custom CSS class. There's also an option group where you can add items to the list. - **Extension Queue: allow disabling of extensions and optional task title ([35787](https://github.com/civicrm/civicrm-core/pull/35787))** Makes it possible to use the Extension Queue Downloader so that extensions can be disabled (not just enabled/downloaded). Allows devs to set a custom title to tasks, so that they see a more human-friendly label, instead of say, "Enable org.foo.whatever". - **Dashboard - Improve layout and styling, add full-width columns ([35808](https://github.com/civicrm/civicrm-core/pull/35808))** Improves user experience on the dashboard. - **Feature Request: Add legal_name as a searchable field option in QuickSearch / Contact Autocomplete ([dev/core#6521](https://lab.civicrm.org/dev/core/-/work_items/6521): [35781](https://github.com/civicrm/civicrm-core/pull/35781))** Adds legal_name to the hardcoded list in getQuicksearchOptions() so it can be enabled via Search Preferences. ### CiviCase - **Case Dashboard Dashlet: replace links in table by a list of links ([35727](https://github.com/civicrm/civicrm-core/pull/35727))** Updates the markup of the Case Dashboard Dashlet Dasharoo with a list, so that it looks better in River. I suspect it's also better for screen-readers. ### CiviContribute - **Add Created/Modified Date to LineItem ([35496](https://github.com/civicrm/civicrm-core/pull/35496))** Adds Created and Modified Date to the Line item entity. ### CiviEvent - **SearchKit: Add register participants contact task ([35744](https://github.com/civicrm/civicrm-core/pull/35744))** Adds the missing SearchKit action metadata for the existing contact task “Register participants for event”. ### CiviMail - **Performance: writeToDB() in MailingJob causes excessive API calls during large mailings (250K+ recipients) ([35425](https://github.com/civicrm/civicrm-core/pull/35425))** Performance improvement for large mailings. ### CiviMember - **Add default Contact when Membership is added to a Form ([35785](https://github.com/civicrm/civicrm-core/pull/35785))** When adding a Membership to a FormBuilder form, add 'Contact' as a default field. - **Membership Type change reflected to ContributionRecur ([35963](https://github.com/civicrm/civicrm-core/pull/35963))** Ensure Membership Type change is reflected on connected contribution recur. ### WordPress Integration - **Updates to install into Wordpress with Composer ([32945](https://github.com/civicrm/civicrm-core/pull/32945))** Work towards making it possible to install CiviCRM into WordPress with Composer. ### Drupal Integration - **Drupal 12 Support - More BC Alternative ([127](https://github.com/civicrm/civicrm-drupal-8/pull/127))** Work towards drupal 12 support. - **Add ability for Drupal modules to listen to civi generated symfony events in Drupal modules ([128](https://github.com/civicrm/civicrm-drupal-8/pull/128))** Makes it so Drupal modules can listen to CiviCRM generated Symfony events. ## <a name="bugs"></a>Bugs resolved ### Core CiviCRM - **Api4 - Fix saving custom fields with default values ([36069](https://github.com/civicrm/civicrm-core/pull/36069))** - **Fix batch export download file ([36077](https://github.com/civicrm/civicrm-core/pull/36077))** - **Search Displays: improve the display of in-place-editable EntityReferences when at rest ([dev/core#4615](https://lab.civicrm.org/dev/core/-/work_items/4615): [35698](https://github.com/civicrm/civicrm-core/pull/35698))** Allow editable columns to use rewrite & implicit joins. - **Ensure that Priority is considered when processing Contact ACL Rules ([dev/core#5375](https://lab.civicrm.org/dev/core/-/work_items/5375): [30801](https://github.com/civicrm/civicrm-core/pull/30801))** - **Formbuilder: Values should support name rather than ID ([dev/core#6188](https://lab.civicrm.org/dev/core/-/work_items/6188): [34021](https://github.com/civicrm/civicrm-core/pull/34021))** - **Contact Image in Search Kit breaks when image has ampersands ([dev/core#6416](https://lab.civicrm.org/dev/core/-/work_items/6416): [35788](https://github.com/civicrm/civicrm-core/pull/35788))** - **After upgrade to 6.12 - Contribution Page creates new Membership even when Membership is not enabled ([dev/core#6431](https://lab.civicrm.org/dev/core/-/work_items/6431): [35773](https://github.com/civicrm/civicrm-core/pull/35773))** - **Proposal: Don't show blank custom fields on system workflow messages ([dev/core#6448](https://lab.civicrm.org/dev/core/-/work_items/6448): [35437](https://github.com/civicrm/civicrm-core/pull/35437))** - **dSearchKit: Can't save when DB Entity display contains pseudo-field like Current User ID ([dev/core#6485](https://lab.civicrm.org/dev/core/-/work_items/6485): [35613](https://github.com/civicrm/civicrm-core/pull/35613))** - **FormBuilder - token picker options broken when editing afformQuickEditHousehold ([dev/core#6498](https://lab.civicrm.org/dev/core/-/work_items/6498): [35690](https://github.com/civicrm/civicrm-core/pull/35690))** - **regen.sh not working anymore ([dev/core#6520](https://lab.civicrm.org/dev/core/-/work_items/6520): [35772](https://github.com/civicrm/civicrm-core/pull/35772))** - **ext_repo_url setting should allow admins to see that there are updates available but still prevent updates via the GUI ([dev/core#6526](https://lab.civicrm.org/dev/core/-/work_items/6526): [35818](https://github.com/civicrm/civicrm-core/pull/35818))** - **Crash on contact summary - exact conditions TBD ([dev/core#6549](https://lab.civicrm.org/dev/core/-/work_items/6549): [35856](https://github.com/civicrm/civicrm-core/pull/35856))** - **Apiv4 activity_target_id no longer accepts `=` operator ([dev/core#6564](https://lab.civicrm.org/dev/core/-/work_items/6564): [35937](https://github.com/civicrm/civicrm-core/pull/35937))** - **Upgrade issue - regression but edge case ([dev/core#6574](https://lab.civicrm.org/dev/core/-/work_items/6574): [36028](https://github.com/civicrm/civicrm-core/pull/36028))** - **Afform: Submission view keeps loading (schema[item.name]) ([dev/core#6576](https://lab.civicrm.org/dev/core/-/work_items/6576): [35948](https://github.com/civicrm/civicrm-core/pull/35948))** - **custom fields button title is goofy ([dev/core#6590](https://lab.civicrm.org/dev/core/-/work_items/6590): [36003](https://github.com/civicrm/civicrm-core/pull/36003))** - **SearchKit - Ensure rows are completely refreshed after inline edit ([35697](https://github.com/civicrm/civicrm-core/pull/35697))** - **SearchKit - Restore title on standalone search display page ([36056](https://github.com/civicrm/civicrm-core/pull/36056))** - **SearchKit - Restore action menu in search results ([36021](https://github.com/civicrm/civicrm-core/pull/36021))** - **SearchKit - Fix console errors for search filters ([35862](https://github.com/civicrm/civicrm-core/pull/35862))** - **SearchKit - Fix misc errors & notices ([36043](https://github.com/civicrm/civicrm-core/pull/36043))** - **SearchKit - Fix single params for legacy task links ([36033](https://github.com/civicrm/civicrm-core/pull/36033))** - **SearchKit - Bypass ACLs for entity displays and require super-admin permission ([35629](https://github.com/civicrm/civicrm-core/pull/35629))** Prevents a crash when rebuilding a SearchKit entity display from a cron job or when run by a less-permissioned user. Ensures consistent results of entity displays regardless of logged-in user. - **SearchKit - Require the user to name the search ([35700](https://github.com/civicrm/civicrm-core/pull/35700))** Supplying a default of "Contact Search by Standalone Admin" is pretty unhelpful. Better to require the user to give it a name. - **SearchKit - Consolidate title of Search Segments ([35769](https://github.com/civicrm/civicrm-core/pull/35769))** - **Preserve compatibility for IN, NOT IN, IS EMPTY and IS NOT EMPTY for activity contact fields ([35905](https://github.com/civicrm/civicrm-core/pull/35905))** - **SixFourteen: fix sql params ([36016](https://github.com/civicrm/civicrm-core/pull/36016))** - **Prevent white text on white bg for Available Dashlets header ([35912](https://github.com/civicrm/civicrm-core/pull/35912))** - **Remove ts from savedSearch settings strings ([35860](https://github.com/civicrm/civicrm-core/pull/35860))** - **maintain backward compat with = and != for activity contact fields ([35902](https://github.com/civicrm/civicrm-core/pull/35902))** - **Prevent angular error when using Existing Contact on a Search Formbuilder ([35897](https://github.com/civicrm/civicrm-core/pull/35897))** - **hook_civicrm_post - ensure uniform param types ([35891](https://github.com/civicrm/civicrm-core/pull/35891))** - **Prevent angular error when using Existing Contact on a Search FormBuilder ([35874](https://github.com/civicrm/civicrm-core/pull/35874))** - **Queue Runner - use refresh rather than back for retry icon ([35826](https://github.com/civicrm/civicrm-core/pull/35826))** - **Use isTestMode flag that can be set in session and provide warning message when form is in test mode ([35825](https://github.com/civicrm/civicrm-core/pull/35825))** - **Followup from pull/35275: authx credential parsing ([35734](https://github.com/civicrm/civicrm-core/pull/35734))** - **Update PHPSpreadsheet to latest version 5.5.0 to help with memory issues with excel files ([35333](https://github.com/civicrm/civicrm-core/pull/35333))** - **FormBuilder: Proximity filter should fill default units & not search until filled out ([dev/core#6525](https://lab.civicrm.org/dev/core/-/work_items/6525): [35796](https://github.com/civicrm/civicrm-core/pull/35796))** - **Pass the original params as they were added to hook_post when calling hook_postCommit ([35760](https://github.com/civicrm/civicrm-core/pull/35760))** - **Prevent email template failure if employer name or email contains apostrophe ([35742](https://github.com/civicrm/civicrm-core/pull/35742))** - **Don't apply maxlength rule to contact autocomplete when creating multiple relationships ([35732](https://github.com/civicrm/civicrm-core/pull/35732))** - **Don't check permissions for Entity::getfields when saving a related entity via Order API ([35642](https://github.com/civicrm/civicrm-core/pull/35642))** - **Clarify that send_receipt is coming from a form value ([35659](https://github.com/civicrm/civicrm-core/pull/35659))** - **Simplify batch entry form, remove unnecessary variables etc. ([35658](https://github.com/civicrm/civicrm-core/pull/35658))** - **Keep button declarations within CiviCRM scope ([35630](https://github.com/civicrm/civicrm-core/pull/35630))** - **HTMLInputCoder - Fix latent bug when transcoding array data ([35627](https://github.com/civicrm/civicrm-core/pull/35627))** - **Fix saving customfields in tests with legacy API4 ([35625](https://github.com/civicrm/civicrm-core/pull/35625))** - **use correct mysql cert constant objects for php version, resolve test deprecation failures for PHP8.5 ([35784](https://github.com/civicrm/civicrm-core/pull/35784))** - **Prevent issues if default dashlets are disabled ([35739](https://github.com/civicrm/civicrm-core/pull/35739))** - **Afform.submitFile - return uploaded file info to client ([35997](https://github.com/civicrm/civicrm-core/pull/35997))** - **Fix recaptcha2 on Afform ([35947](https://github.com/civicrm/civicrm-core/pull/35947))** - **Afform fix preview for additional extra fields ([35745](https://github.com/civicrm/civicrm-core/pull/35745))** - **Preventing buttons defaulting to submit ([36027](https://github.com/civicrm/civicrm-core/pull/36027))** - **Prevent af-repeat buttons defaulting to submit ([36013](https://github.com/civicrm/civicrm-core/pull/36013))** - **Afform - fix failures when using Afform extras with other input types ([35728](https://github.com/civicrm/civicrm-core/pull/35728))** - **Afform - Fix viewing form submissions ([35949](https://github.com/civicrm/civicrm-core/pull/35949))** - **Fix recaptcha2 on Afform ([35944](https://github.com/civicrm/civicrm-core/pull/35944))** - **AfformValidateEvent: setError->addError and add method setErrors ([35622](https://github.com/civicrm/civicrm-core/pull/35622))** - **Assign variables directly ([35664](https://github.com/civicrm/civicrm-core/pull/35664))** - **Re-try glob if empty the 1st time ([35801](https://github.com/civicrm/civicrm-core/pull/35801))** - **[php8] null instead of empty string - riverlea ([35685](https://github.com/civicrm/civicrm-core/pull/35685))** - **fix af-markup throwing errors on search forms because no af-form parent ([35679](https://github.com/civicrm/civicrm-core/pull/35679))** - **Remove unwanted whitespace from beginning of JobLog data ([35797](https://github.com/civicrm/civicrm-core/pull/35797))** - **Address log warning ([35928](https://github.com/civicrm/civicrm-core/pull/35928))** - **[php8] null array key - grouphierarchy ([35783](https://github.com/civicrm/civicrm-core/pull/35783))** - **[php8] semicolon in case statement ([442](https://github.com/civicrm/civicrm-packages/pull/442))** - **Notice fix ([35770](https://github.com/civicrm/civicrm-core/pull/35770))** - **Don't pass parameters by reference ([35607](https://github.com/civicrm/civicrm-core/pull/35607))** - **Fix using REGEXP on numbers in API4 Explorer ([35674](https://github.com/civicrm/civicrm-core/pull/35674))** - **Allow deleting SearchKit when entity doesn't exist ([35641](https://github.com/civicrm/civicrm-core/pull/35641))** - **don't crash when formatting a link on a SK with uppercase letters ([35972](https://github.com/civicrm/civicrm-core/pull/35972) and [35971](https://github.com/civicrm/civicrm-core/pull/35971))** - **FIX Unknown error in submission form with verification link ([35988](https://github.com/civicrm/civicrm-core/pull/35988))** - **Fixes an error uploading some images in KCFinder ([443](https://github.com/civicrm/civicrm-packages/pull/443))** - **Handle apiv4 custom Fields ([35653](https://github.com/civicrm/civicrm-core/pull/35653))** ### CiviCase - **AdminUI: Restore the Delete button in the Case Summary screen ([35758](https://github.com/civicrm/civicrm-core/pull/35758))** ### CiviContribute - **Special characters (', &, ", <, >) in Price Field labels render as raw HTML entities in select dropdown's default ([dev/core#6596](https://lab.civicrm.org/dev/core/-/work_items/6596): [36032](https://github.com/civicrm/civicrm-core/pull/36032))** - **Use API4 to create EntityFinancialTrxn and create in batch instead of individual queries ([35417](https://github.com/civicrm/civicrm-core/pull/35417))** - **Show HTML message when sending Invoice ([35587](https://github.com/civicrm/civicrm-core/pull/35587))** - **Fix disabling default donation afform ([35857](https://github.com/civicrm/civicrm-core/pull/35857))** - **Fix display of Financial Accounts on pre-AdminUI Financial Types screen ([35804](https://github.com/civicrm/civicrm-core/pull/35804))** ### CiviEvent - **Autocomplete - Fix autocomplete of event templates ([35977](https://github.com/civicrm/civicrm-core/pull/35977))** ### CiviMail - **Fix Group Fields On Mailing Screens ([34972](https://github.com/civicrm/civicrm-core/pull/34972))** ### CiviMember - **SearchKit membership row actions should be hidden for inherited memberships ([dev/core#6497](https://lab.civicrm.org/dev/core/-/work_items/6497): [35644](https://github.com/civicrm/civicrm-core/pull/35644))** - **Fix MessageTemplate preview for membership premiums ([35714](https://github.com/civicrm/civicrm-core/pull/35714))** - **Fix setting membership_num_terms ([35608](https://github.com/civicrm/civicrm-core/pull/35608))** - **Explicitly set API4 version for Membership BAO ([35628](https://github.com/civicrm/civicrm-core/pull/35628))** - **Move membership configuration links to extension ([35775](https://github.com/civicrm/civicrm-core/pull/35775))** Moves membership configuration links to extension ### CiviPledge - **CiviPledge: When new pledge is created within pledges tab of contact, "Pledge by" is not autofilled ([dev/core#6583](https://lab.civicrm.org/dev/core/-/work_items/6583): [35985](https://github.com/civicrm/civicrm-core/pull/35985))** ### Backdrop Integration - **Backdrop admin bar: double logo for CiviCRM link ([dev/core#6538](https://lab.civicrm.org/dev/core/-/work_items/6538): [35832](https://github.com/civicrm/civicrm-core/pull/35832))** - **Bring back civicrm_og_sync ([dev/backdrop#103](https://lab.civicrm.org/dev/backdrop/-/work_items/103): [35803](https://github.com/civicrm/civicrm-core/pull/35803))** Delete code which hasn't worked since Drupal 6. ### Joomla Integration - **Joomla 5 compatibility (Work towards [dev/core#54](https://lab.civicrm.org/dev/joomla/-/work_items/54): [99](https://github.com/civicrm/civicrm-joomla/pull/99) and [94](https://github.com/civicrm/civicrm-joomla/pull/94))** Cleans things up and works towards Joomla 5 compatibility. ### Standalone Integration - **Standalone: changing the language after installation of Standalone does not work completely ([dev/core#6449](https://lab.civicrm.org/dev/core/-/work_items/6449): [35551](https://github.com/civicrm/civicrm-core/pull/35551))** - **Can't add more than one role to standalone user via UI ([dev/core#6586](https://lab.civicrm.org/dev/core/-/work_items/6586): [35967](https://github.com/civicrm/civicrm-core/pull/35967))** ### WordPress Integration - **Fix WordPress "Skip to main content" and "Skip to toolbar" links ([35794](https://github.com/civicrm/civicrm-core/pull/35794))** - **Enable Sample Data to be loaded when activating CiviCRM ([363](https://github.com/civicrm/civicrm-wordpress/pull/363))** - **Prevent WordPress emoji script from loading on CiviCRM admin screens ([364](https://github.com/civicrm/civicrm-wordpress/pull/364))** ## <a name="misc"></a>Miscellany - **update distmaker to add current version as the stable tag in readme.txt ([35799](https://github.com/civicrm/civicrm-core/pull/35799))** - **Add GitHub Actions workflow for PR squash and rebase commands ([35836](https://github.com/civicrm/civicrm-core/pull/35836))** - **Start to be explicit about when deciding to use apiv3 ([35660](https://github.com/civicrm/civicrm-core/pull/35660))** - **Switch Batch Entry to v4 Order api ([35668](https://github.com/civicrm/civicrm-core/pull/35668))** - **riverlea - consolidate crm-input-border ([35645](https://github.com/civicrm/civicrm-core/pull/35645))** - **Apply patch to fix deprecation notice in unit tests using zetacomponents on php8.5 ([35811](https://github.com/civicrm/civicrm-core/pull/35811))** - **Fold legacyMembership process back into main function in Batch Entry ([35652](https://github.com/civicrm/civicrm-core/pull/35652))** - **Remove functions noisily deprecated in 2022 ([35712](https://github.com/civicrm/civicrm-core/pull/35712))** - **Add self to contributor-key.yml ([35806](https://github.com/civicrm/civicrm-core/pull/35806))** - **Update weasyprint to 2.7.0 ([36104](https://github.com/civicrm/civicrm-core/pull/36104))** - **Bump qs and body-parser ([35730](https://github.com/civicrm/civicrm-core/pull/35730))** - **Bump tmp from 0.2.4 to 0.2.7 ([35750](https://github.com/civicrm/civicrm-core/pull/35750))** - **Bump guzzlehttp/psr7 from 2.8.0 to 2.10.2 ([35913](https://github.com/civicrm/civicrm-core/pull/35913))** - **Bump phpseclib/phpseclib from 3.0.52 to 3.0.54 ([35981](https://github.com/civicrm/civicrm-core/pull/35981))** - **Deprecate calling completeorder with contribution status != Completed ([35604](https://github.com/civicrm/civicrm-core/pull/35604))** - **Add deprecation comment to function ([35654](https://github.com/civicrm/civicrm-core/pull/35654))** - **composer codebase, discover vendor directory for installation ([349](https://github.com/civicrm/civicrm-wordpress/pull/349))** - **Changes for Composer ([348](https://github.com/civicrm/civicrm-wordpress/pull/348))** - **Composer update guzzle/* ([36050](https://github.com/civicrm/civicrm-core/pull/36050))** - **regen after 35742 ([35764](https://github.com/civicrm/civicrm-core/pull/35764))** - **[NFC] Show messages in tests when statusBouncing ([35680](https://github.com/civicrm/civicrm-core/pull/35680))** - **[NFC] Remove debug line and stray additional ; ([35737](https://github.com/civicrm/civicrm-core/pull/35737))** - **NFC: Test only: Use Membership instead of this->_entity in test so it's easier to grep ([35694](https://github.com/civicrm/civicrm-core/pull/35694))** - **NFC: Add comments re contributionID in LineItem::changeFeeSelections ([35623](https://github.com/civicrm/civicrm-core/pull/35623))** - **REF: Refactor Order->save(), set Contribution.receive_date=ContributionRecur.start_date ([35523](https://github.com/civicrm/civicrm-core/pull/35523))** - **REF: Replace deprecated functions in LineItem::_recordAdjustedAmt ([35534](https://github.com/civicrm/civicrm-core/pull/35534))** - **REF - Remove unnecessary uses of CRM_Utils_Array::value ([200](https://github.com/civicrm/civicrm-backdrop/pull/200))** - **[PHP8.5] Fix notice error on running ECK unit tests ([36060](https://github.com/civicrm/civicrm-core/pull/36060))** - **Afform - Move unit test to better place ([35743](https://github.com/civicrm/civicrm-core/pull/35743))** - **Convert some test functions to apiv4 ([35637](https://github.com/civicrm/civicrm-core/pull/35637))** - **Tests / I18n - Fix PHP 8.5 warning during setup of PetitionTest ([35786](https://github.com/civicrm/civicrm-core/pull/35786))** - **Convert Membership Import test to use apiv4 for set up ([35638](https://github.com/civicrm/civicrm-core/pull/35638))** - **Convert test helper function to always use apiv4 ([35657](https://github.com/civicrm/civicrm-core/pull/35657))** - **Replace deprecated fn with Order api in unit test ([35655](https://github.com/civicrm/civicrm-core/pull/35655))** - **Remove unused variables from Membership test ([35656](https://github.com/civicrm/civicrm-core/pull/35656))** - **Force consistent search order result in failing test ([35669](https://github.com/civicrm/civicrm-core/pull/35669))** - **Find out cause of test fails ([35663](https://github.com/civicrm/civicrm-core/pull/35663))** - **Improve BatchEntry test - remove a couple of unnecessary sets ([35670](https://github.com/civicrm/civicrm-core/pull/35670))** ## <a name="credits"></a>Credits This release was developed by the following code authors: AGH Strategies - Alice Frumin; Agileware - Justin Freeman; Artful Robot - Rich Lott; Benjamin W; BrightMinded Ltd - Bradley Taylor; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; Colored Cow - Tarun Joshi; CompuCo - Muhammad Shahrukh; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; CSES (Chelmsford Science and Engineering Society) - Adam Wood; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA Consulting - Seamus Lee, Celine Nicolas, Yifei Zhou; Joinery - Allen Shaw; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Outlandish - Rasmus Winter; reubengrussell; Richard Baugh; Skvare - Mark Hanna, Sunil Pawar; Squiffle Consulting - Aidan Saunders; Stiftung Pfadfinden - Andreas Lietz; sushant-cividesk; 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: ASMAC (American Society of Music Arrangers and Composers) - Jeff Kellem; Australian Greens - John Twyman; CiviDesk - Nicolas Ganivet; civiservice.de - Detlev Sieber, Tobias Voigt; davemoreton; JMA Consulting - Edsel Lopez, Joe Murray; Nicol Wistreich