| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities? | |
-| Change the database schema? | |
-| Alter the API? | |
-| Require attention to configuration options? | |
-| Fix problems installing or upgrading to a previous version? | |
-| Introduce features? | |
-| Fix bugs? | |
+| 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
-## <a name="bugs"></a>Bugs resolved
-
### Core CiviCRM
-- **Fix recent breakage on membershipBlock.tpl ([26777](https://github.com/civicrm/civicrm-core/pull/26777))**
+- **Add LEFT, RIGHT and SUBSTRING SQL functions
+ ([26549](https://github.com/civicrm/civicrm-core/pull/26549))**
-- **Fix PHP errors on profiles and custom fields when using options per line ([26763](https://github.com/civicrm/civicrm-core/pull/26763))**
+ Adds LEFT, RIGHT and SUBSTRING SQL functions to APIv4.
-- **dev/core#4409 Use translation for default language, if exists ([26232](https://github.com/civicrm/civicrm-core/pull/26232))**
+- **Log server-side validation errors so it is easier to troubleshoot/debug
+ afform issues ([25533](https://github.com/civicrm/civicrm-core/pull/25533))**
-- **dev/core#4418 Add in Upgrade script to fix double json encoding ([26760](https://github.com/civicrm/civicrm-core/pull/26760))**
+ Makes it easier to debug in afform by logging server-side validation errors.
-- **[REF] dev/core#4418 Add in Unit test of submitting the form to ensure… ([26758](https://github.com/civicrm/civicrm-core/pull/26758))**
+- **Render Email input as type="email"
+ ([26705](https://github.com/civicrm/civicrm-core/pull/26705))**
-- **dev/core#4418 Fix Payment Processor accepted_credit_cards regression ([26755](https://github.com/civicrm/civicrm-core/pull/26755))**
+ Makes core email field inputs display as type=email.
-- **dev/core#4419 - Crash on membership tab of contribution page config (should go into 5.64) ([26757](https://github.com/civicrm/civicrm-core/pull/26757))**
+- **Specify 'match' in mgd.php files
+ ([26608](https://github.com/civicrm/civicrm-core/pull/26608))**
-- **crmCaseType: fix New Case Type link visiblity in obscure circumstances ([26749](https://github.com/civicrm/civicrm-core/pull/26749))**
+ Adds 'match' param to reduce conflicts when resolving managed entities.
-- **5.63 late / after release changes ([26753](https://github.com/civicrm/civicrm-core/pull/26753))**
+- **Towards consistency for displaying test entities. Stop hiding test entities
+ on some dashboards
+ ([23724](https://github.com/civicrm/civicrm-core/pull/23724))**
-- **[REF] Use writeRecord in the revert function of MessageTemplate to en… ([26754](https://github.com/civicrm/civicrm-core/pull/26754))**
+ Works towards consistent display of test entities by making all test entities
+ show up on the relevant contact summary tabs and not on the user dashboard.
-- **Remove unneeded and strange profile field save success alert ([26751](https://github.com/civicrm/civicrm-core/pull/26751))**
+- **Add weights to contact search actions
+ ([26719](https://github.com/civicrm/civicrm-core/pull/26719))**
-- **Split MembershipBlock.tpl into 2 ([26690](https://github.com/civicrm/civicrm-core/pull/26690))**
+ Adds weights to contact search actions so extensions can more easily
+ manipulate them.
-- **Make the `recur_id` field of Contributions available to FormBuilder ([26745](https://github.com/civicrm/civicrm-core/pull/26745))**
+- **Add weight to Group Links
+ ([26718](https://github.com/civicrm/civicrm-core/pull/26718))**
-- **dev/core#4413 Don't remove core component permissions when disabled ([26744](https://github.com/civicrm/civicrm-core/pull/26744))**
+ Adds weights to group links so that extensions can more easily manipulate
+ them.
-- **(dev/core#4391) Prohibit uninstallation of core components ([26743](https://github.com/civicrm/civicrm-core/pull/26743))**
+- **Add import listing for admins
+ ([26316](https://github.com/civicrm/civicrm-core/pull/26316))**
-- **NFC: Add debug level log message when afform submissions catch exceptions ([26741](https://github.com/civicrm/civicrm-core/pull/26741))**
+ Adds a searchkit search to display a list of imports run on the site for
+ admins only to the civiimport extension.
-- **Fix regression caused by 26620 ([26659](https://github.com/civicrm/civicrm-core/pull/26659))**
+- **Add All imports menu item for users with Administer Queues
+ ([26516](https://github.com/civicrm/civicrm-core/pull/26516))**
-- **Fix Translation to load related language more reliably ([26190](https://github.com/civicrm/civicrm-core/pull/26190))**
+ Adds a link to "All Imports" search to the menu bar for sites with the
+ civiimport extension enabled.
-- **Fix apiv4 bug on custom fields with spaces in name ([26740](https://github.com/civicrm/civicrm-core/pull/26740))**
+- **[WIP] civicrm_admin_ui Find contacts replacement
+ ([26381](https://github.com/civicrm/civicrm-core/pull/26381))**
-- **AdminUI: Convert Mail Accounts page civicrm/admin/mailSettings ([26733](https://github.com/civicrm/civicrm-core/pull/26733))**
+ When using the core AdminUI extension, replaces the "Find contacts" search
+ with a Search Kit + Form Builder version.
-- **Update related contribution trxn_id before sending email [must go into 5.64] ([26737](https://github.com/civicrm/civicrm-core/pull/26737))**
+- **Remove Search Builder link from search results
+ ([26670](https://github.com/civicrm/civicrm-core/pull/26670))**
-- **5.63 ([26738](https://github.com/civicrm/civicrm-core/pull/26738))**
+ Removes the link to Search Builder from Advanced Search and Find Contacts
+ results screens.
-- **Standalone login ux ([26684](https://github.com/civicrm/civicrm-core/pull/26684))**
+- **Add capitalize filter to tokens
+ ([26662](https://github.com/civicrm/civicrm-core/pull/26662))**
-- **Fix another place weight is not passed ([26736](https://github.com/civicrm/civicrm-core/pull/26736))**
+ Adds a token filter: capitalize, to apply title-case/name-case to token-values.
-- **Remove unused variables, fix a couple of == ([26734](https://github.com/civicrm/civicrm-core/pull/26734))**
+- **crmMoney filter - allow coercing locale
+ ([26383](https://github.com/civicrm/civicrm-core/pull/26383))**
-- **AdminUI: Convert Job Log page civicrm/admin/joblog ([26732](https://github.com/civicrm/civicrm-core/pull/26732))**
+ Adds a crmMoney filter to tokens, comparable to crmDate, for coercing money
+ into a particular format.
-- **Add weights to contact search actions ([26719](https://github.com/civicrm/civicrm-core/pull/26719))**
+- **Note Form: use EntityFormTrait and setEntityId for postProcess hooks
+ ([26686](https://github.com/civicrm/civicrm-core/pull/26686))**
-- **[NFC] Update test that's no longer doing what it was doing ([26725](https://github.com/civicrm/civicrm-core/pull/26725))**
+ Makes it easier for extension developers to use the postProcess hook when
+ notes are edited.
-- **REF - Replace CRM_Utils_Array::value with ?? ([26731](https://github.com/civicrm/civicrm-core/pull/26731))**
+- **Improve select for Add Navigation Menu Item > Parent
+ ([26550](https://github.com/civicrm/civicrm-core/pull/26550))**
-- **SearchKit - Fix check for smarty syntax in rewrite output ([26730](https://github.com/civicrm/civicrm-core/pull/26730))**
+ Improves the "Add Navigation Menu Item" parent field by making it a select2,
+ wider and the list ordered.
-- **Merged #26726 into master. ([26728](https://github.com/civicrm/civicrm-core/pull/26728))**
+- **AdminUI: Convert Job Log page civicrm/admin/joblog
+ ([26732](https://github.com/civicrm/civicrm-core/pull/26732))**
-- **Update Api.php to correct external_identifier to type STRING ([26726](https://github.com/civicrm/civicrm-core/pull/26726))**
+ Adds a "Job Log" page to the Admin UI extension.
-- **[REF] Autoformat php short array syntax ([26724](https://github.com/civicrm/civicrm-core/pull/26724))**
+- **AdminUI: Convert Mail Accounts page civicrm/admin/mailSettings
+ ([26733](https://github.com/civicrm/civicrm-core/pull/26733))**
-- **[REF] Remove unnecessary CRM_Utils_Array::value and use short array syntax ([26723](https://github.com/civicrm/civicrm-core/pull/26723))**
+ Adds a "Mail Accounts" page to the Admin UI extension.
-- **dev/joomla#51 Fix Joomla permissions warning ([26699](https://github.com/civicrm/civicrm-core/pull/26699))**
+- **Add select2s for Contribution, etc
+ ([26502](https://github.com/civicrm/civicrm-core/pull/26502))**
-- **#4360 #4384 fixing multiple regressions with path civicrm/contact/search ([26669](https://github.com/civicrm/civicrm-core/pull/26669))**
+ Improves user experience by changing old-school selects to select2s on the
+ following forms: Contribution, Manage Contribution Page, Manage Event
+ Registration, Payments, PCPs, Pledges.
-- **Remove now unsed createEvent test function from test baseClass ([26717](https://github.com/civicrm/civicrm-core/pull/26717))**
+- **Put link first in SearchDisplay Links options
+ ([26697](https://github.com/civicrm/civicrm-core/pull/26697))**
-- **Towards consistency for displaying test entities. Stop hiding test entities on some dashboards ([23724](https://github.com/civicrm/civicrm-core/pull/23724))**
+ Improves SearchKit -> SearchDisplay -> Links options user experience by
+ reordering the fields.
-- **Render Email input as type="email" ([26705](https://github.com/civicrm/civicrm-core/pull/26705))**
+- **Clarify dedupe rules as "Name or Email"
+ ([26673](https://github.com/civicrm/civicrm-core/pull/26673))**
-- **Add frontend_title to various data set up places ([26721](https://github.com/civicrm/civicrm-core/pull/26721))**
+ Renames the default Organizational and Household dedupe rules from "Name and
+ Email", to "Name or Email" which more accurately reflects how they work.
-- **Include `entityTrait` in `ContactTestTrait` ([26715](https://github.com/civicrm/civicrm-core/pull/26715))**
+- **Move last (hopefully) custom search classes to the extension, unhide
+ ([26664](https://github.com/civicrm/civicrm-core/pull/26664) and
+ [26660](https://github.com/civicrm/civicrm-core/pull/26660))**
-- **Remove some unused test functions ([26720](https://github.com/civicrm/civicrm-core/pull/26720))**
+ Unhides the Legacy Custom Search extension so that users can uninstall it.
-- **Drop unused table civicrm_action_mapping ([26646](https://github.com/civicrm/civicrm-core/pull/26646))**
+- **WorkflowMessage - Allow more dynamic-localized data. Unify language field.
+ ([26618](https://github.com/civicrm/civicrm-core/pull/26618) and
+ [26651](https://github.com/civicrm/civicrm-core/pull/26651))**
-- **Add weight to Group Links ([26718](https://github.com/civicrm/civicrm-core/pull/26718))**
+ Makes it possible for bespoke methods in WorkflowMessages to generate
+ localized content.
-- **SearchKit - Provide context information to subscribers ([26716](https://github.com/civicrm/civicrm-core/pull/26716))**
+- **Add deployID to civicrm.settings.php
+ ([26632](https://github.com/civicrm/civicrm-core/pull/26632))**
-- **Reduce PHP warnings with paymentBlock ([26505](https://github.com/civicrm/civicrm-core/pull/26505))**
+ Adds deployID to civicrm.settings.php file for redis implementations.
-- **Fix ChangeFeeSelectionTest to use eventCreatePaid ([26709](https://github.com/civicrm/civicrm-core/pull/26709))**
+- **Add Search Display of ACLs
+ ([26624](https://github.com/civicrm/civicrm-core/pull/26624),
+ [26627](https://github.com/civicrm/civicrm-core/pull/26627) and
+ [26617](https://github.com/civicrm/civicrm-core/pull/26617))**
-- **APIv4 - Add more metadata to CustomValue entities; use AutoService ([26710](https://github.com/civicrm/civicrm-core/pull/26710))**
+ Adds a search kit built search display of ACLs into the new admin ui extension
+ and associated metadata that is needed.
-- **[REF] Code cleanup; remove unused vars and remove CRM_Utils_Array::value ([26714](https://github.com/civicrm/civicrm-core/pull/26714))**
+- **Allow negative rules for ACLs
+ ([dev/core#3753](https://lab.civicrm.org/dev/core/-/issues/3753):
+ [26041](https://github.com/civicrm/civicrm-core/pull/26041))**
-- **Install SK as part of headless test baseline ([26712](https://github.com/civicrm/civicrm-core/pull/26712))**
+ Permits ACL rules that negate (deny) access.
-- **clearTempTables: fix condition for user_job check ([26696](https://github.com/civicrm/civicrm-core/pull/26696))**
+- **Add "priority" column to ACLs and support ACL rule precedence
+ ([26592](https://github.com/civicrm/civicrm-core/pull/26592) and
+ [26609](https://github.com/civicrm/civicrm-core/pull/26609))**
-- **CRM_Mailing_Form_Optout, CRM_Mailing_Form_Unsubscribe: change properties to protected from private ([26713](https://github.com/civicrm/civicrm-core/pull/26713))**
+ Adds the concept of a priority to ACL rules. This allows for allow or deny
+ rules to take precedence by the priority they are given.
-- **Don't show SQL text in SK if user does not have view debug permission ([26711](https://github.com/civicrm/civicrm-core/pull/26711))**
+- **Move standalone classes and standaloneusers extension into core
+ ([26684](https://github.com/civicrm/civicrm-core/pull/26684),
+ [26621](https://github.com/civicrm/civicrm-core/pull/26621) and
+ [26631](https://github.com/civicrm/civicrm-core/pull/26631))**
-- **SearchKit - Allow custom fields in join conditions ([26698](https://github.com/civicrm/civicrm-core/pull/26698))**
+ Adds support for Standalone builds.
-- **Use eventCreateUnpaid in participantCreate ([26708](https://github.com/civicrm/civicrm-core/pull/26708))**
+- **SearchKit - Provide context information to subscribers
+ ([26716](https://github.com/civicrm/civicrm-core/pull/26716))**
-- **Fix ACLPermissionTrait to use EventTest create function ([26707](https://github.com/civicrm/civicrm-core/pull/26707))**
+ Provides context information to subscribers in SearchKit.
-- **5.63 ([26706](https://github.com/civicrm/civicrm-core/pull/26706))**
+- **SearchKit - Allow custom fields in join conditions
+ ([26698](https://github.com/civicrm/civicrm-core/pull/26698))**
-- **Allow Drupal webstest user to view debug output ([26703](https://github.com/civicrm/civicrm-core/pull/26703))**
+ Allows custom fields in SearchKit join conditions.
-- **Fix debug permissions for API 4 Explorer debug ([26702](https://github.com/civicrm/civicrm-core/pull/26702))**
+- **SearchKit - Expose expires_date field to UI
+ ([26485](https://github.com/civicrm/civicrm-core/pull/26485))**
-- **Test cleanup in BAO_ParticipantTest ([26704](https://github.com/civicrm/civicrm-core/pull/26704))**
+ Exposes expires_date field to the SearchKit UI.
-- **[Tests] Fix a few more places to use eventTrait & remove `legacyEventCreate` ([26701](https://github.com/civicrm/civicrm-core/pull/26701))**
+- **API/SearchKit - Improve dynamic pseudoconstant lookups and ACL adminUI
+ ([26639](https://github.com/civicrm/civicrm-core/pull/26639))**
-- **Standalone - Track logged-in user object ([26672](https://github.com/civicrm/civicrm-core/pull/26672))**
+ Improves metadata in the ACL entity, metadata handling in the API, and the
+ new AdminUI "Manage ACL" screen.
-- **Put link first in SearchDisplay Links options ([26697](https://github.com/civicrm/civicrm-core/pull/26697))**
+- **APIv4 - Add EntitySet api for set-ops such as UNION
+ ([26536](https://github.com/civicrm/civicrm-core/pull/26536) and
+ [26583](https://github.com/civicrm/civicrm-core/pull/26583))**
-- **APIv4, Case API, configure options and suffixes for medium_id field ([25224](https://github.com/civicrm/civicrm-core/pull/25224))**
+ Makes it so one can use UNION in APIv4.
-- **Add calculated optout & unsub mailing stats to API 4 ([26694](https://github.com/civicrm/civicrm-core/pull/26694))**
+- **APIv4 - Remove gatekeeper permission check for AJAX endpoint (with tests)
+ ([26391](https://github.com/civicrm/civicrm-core/pull/26391))**
-- **Add calculated fields to API 4 for total mailing stats ([26689](https://github.com/civicrm/civicrm-core/pull/26689))**
+ Historically the AJAX api has required either 'access CiviCRM' or 'access
+ AJAX API' as a broad hedge against security vulnerabilities, but this
+ interferes with legitimate use-cases for anonymous users to make ajax
+ requests. Since http requests are allowed by anon, and many Civi pages now
+ contain ajax elements, this PR replaces that broad hedge with unit tests for
+ AJAX security.
-- **Don't check for PHP 5 on Mapping Settings ([26693](https://github.com/civicrm/civicrm-core/pull/26693))**
+- **APIv4 - Add more metadata to CustomValue entities; use AutoService
+ ([26710](https://github.com/civicrm/civicrm-core/pull/26710))**
-- **Typo correct for MailingEventReply.php ([26692](https://github.com/civicrm/civicrm-core/pull/26692))**
+ Metadata improvements for multi-record custom field pseudo-entities.
-- **replace deprecated functions in event fee form ([26691](https://github.com/civicrm/civicrm-core/pull/26691))**
+- **Afform - Enable search operators to be exposed on the form
+ ([26496](https://github.com/civicrm/civicrm-core/pull/26496))**
-- **Note Form: use EntityFormTrait and setEntityId for postProcess hooks ([26686](https://github.com/civicrm/civicrm-core/pull/26686))**
+ Allows search operators to be selectable on the form by the end-user in Form
+ Builder.
-- **CiviGrant - Support APIv4 autocompletes ([26687](https://github.com/civicrm/civicrm-core/pull/26687))**
+- **Form Builder - Clarify "Security" options
+ ([26581](https://github.com/civicrm/civicrm-core/pull/26581))**
-- **Add missing Mailing Events to API4: Delivered, Forward, Reply ([26683](https://github.com/civicrm/civicrm-core/pull/26683))**
+ Improves Form Builder user experience by clarifying Security options.
-- **crmAutocomplete - Fix endless loop (again) ([26681](https://github.com/civicrm/civicrm-core/pull/26681))**
+### CiviCampaign
-- **Fix ommitted port when constructing redirect URL ([26685](https://github.com/civicrm/civicrm-core/pull/26685))**
+- **Add apiv4 Survey entity
+ ([26653](https://github.com/civicrm/civicrm-core/pull/26653))**
-- **dev/core#4396 AdminUI Find contact using sort_name ([26682](https://github.com/civicrm/civicrm-core/pull/26682))**
+ Adds the Survey entity to Apiv4.
-- **[PHP8] Codegen - Don't generate invalid secondary emails ([26680](https://github.com/civicrm/civicrm-core/pull/26680))**
+- **Add survey tokens
+ ([26661](https://github.com/civicrm/civicrm-core/pull/26661))**
-- **Clarify dedupe rules as "Name or Email" ([26673](https://github.com/civicrm/civicrm-core/pull/26673))**
+ Adds email tokens for survey data.
-- **Add workflow message template for sign_petition, confirm petition ([26654](https://github.com/civicrm/civicrm-core/pull/26654))**
+- **Add workflow message template for sign_petition, confirm petition
+ ([26654](https://github.com/civicrm/civicrm-core/pull/26654))**
-- **Fix test to use created workflow ([26655](https://github.com/civicrm/civicrm-core/pull/26655))**
+ Adds workflow message template for sign_petition and confirm petition.
-- **(REF) Simplify some more installation data ([26675](https://github.com/civicrm/civicrm-core/pull/26675))**
+### CiviCase
-- **(dev/core#1615) Setup - Prepare to generate Joomla-style "civicrm.settings.php" ([26678](https://github.com/civicrm/civicrm-core/pull/26678))**
+- **APIv4, Case API, configure options and suffixes for medium_id field
+ ([25224](https://github.com/civicrm/civicrm-core/pull/25224))**
-- **distmaker - Add some options to speed up frequent rebuilds ([26677](https://github.com/civicrm/civicrm-core/pull/26677))**
+ Improves the APIv4 Case entity by making the options for `medium_id` a select
+ instead of a free text field.
-- **dev/core#3890 Rebuild smart groups included in mailing on scheduling ([24681](https://github.com/civicrm/civicrm-core/pull/24681))**
+### CiviContribute
-- **NFC: standardise ufId to ufID to avoid confusion ([26679](https://github.com/civicrm/civicrm-core/pull/26679))**
+- **[AuthorizeNetIPN] Use API for failure updates
+ ([26600](https://github.com/civicrm/civicrm-core/pull/26600))**
-- **Standalone - Generate proper HTTP response code for permission-errors ([26657](https://github.com/civicrm/civicrm-core/pull/26657))**
+ Improves AuthorizeNetIPN integration by using APIv4 to log Failure updates.
-- **Fix UTC offsets when retrieving timezone string in WordPress ([26604](https://github.com/civicrm/civicrm-core/pull/26604))**
+- **Make the `recur_id` field of Contributions available to FormBuilder
+ ([26745](https://github.com/civicrm/civicrm-core/pull/26745))**
-- **Delete unused tpl file ([26671](https://github.com/civicrm/civicrm-core/pull/26671))**
+ Makes the `recur_id` Contribution field available to FormBuilder.
-- **crmMoney filter - allow coercing locale ([26383](https://github.com/civicrm/civicrm-core/pull/26383))**
+### CiviEvent
-- **Ensure counties are properly imported even if ambiguous ([25989](https://github.com/civicrm/civicrm-core/pull/25989))**
+- **Add unit test cover + nl2br for location in event emails
+ ([26296](https://github.com/civicrm/civicrm-core/pull/26296))**
-- **Follow up to #26618 - set locale consistently when exporting model ([26651](https://github.com/civicrm/civicrm-core/pull/26651))**
+ Makes it so the html version of the event location token converts line breaks
+ to page breaks.
-- **Standalone - Fix some path calculations ([26649](https://github.com/civicrm/civicrm-core/pull/26649))**
+- **Expose a few more event fields as tokens
+ ([26575](https://github.com/civicrm/civicrm-core/pull/26575))**
-- **Standalone - Auto-enable user subsystem. Tweak default user. ([26643](https://github.com/civicrm/civicrm-core/pull/26643))**
+ Makes the following information available as tokens when sending participants
+ emails: `is_share`, `is_share:label`, `requires_approval`,
+ `requires_approval:label` and `fee_label.`
-- **Remove Search Builder link from search results ([26670](https://github.com/civicrm/civicrm-core/pull/26670))**
+- **Enhance examples to cover additional participants
+ ([26573](https://github.com/civicrm/civicrm-core/pull/26573))**
-- **5.63 ([26667](https://github.com/civicrm/civicrm-core/pull/26667))**
+ Adds additional examples to the event message templates preview and starts to
+ flesh out the data to present for them
-- **Admin UI - be like regular civi and don't show reserved custom groups ([26668](https://github.com/civicrm/civicrm-core/pull/26668))**
+### CiviMail
-- **Add survey tokens ([26661](https://github.com/civicrm/civicrm-core/pull/26661))**
+- **CiviMail - New autocompletes for selecting recipients
+ ([26585](https://github.com/civicrm/civicrm-core/pull/26585))**
-- **Move last (hopefully) custom search classes to the extension, unhide ([26664](https://github.com/civicrm/civicrm-core/pull/26664))**
+ Breaks the "Recipients" field when building a CiviMail mailing into a select
+ for groups to include and a select for groups to exclude.
-- **Fix actions on Relationship search using Searchkit ([26642](https://github.com/civicrm/civicrm-core/pull/26642))**
+- **Add missing Mailing Events to API4: Delivered, Forward, Reply
+ ([26683](https://github.com/civicrm/civicrm-core/pull/26683))**
-- **SearchKit - Reuse helpers from CRM_Core_Action ([26663](https://github.com/civicrm/civicrm-core/pull/26663))**
+ Adds the mailing events: Delivered, Forward and Reply to APIv4.
-- **Add capitalize filter to tokens ([26662](https://github.com/civicrm/civicrm-core/pull/26662))**
+- **Add calculated fields to API 4 for total mailing stats
+ ([26689](https://github.com/civicrm/civicrm-core/pull/26689) and
+ [26694](https://github.com/civicrm/civicrm-core/pull/26694))**
-- **Move Custom Group search test to extension, remove xml brittleness ([26660](https://github.com/civicrm/civicrm-core/pull/26660))**
+ Adds calculated fields to APIv4 for mailing stats, specifically: intended
+ recipients, successful deliveries, unique and total opens, unique and total
+ clicks, bounces, unsubscribes, opt outs, forwards and replies.
-- **[REF] Switch a bunch of core pages to use auto-links ([26658](https://github.com/civicrm/civicrm-core/pull/26658))**
+### Drupal Integration
-- **Standalone - Suppress debug output ([26656](https://github.com/civicrm/civicrm-core/pull/26656))**
+- **Allow Drupal webstest user to view debug output
+ ([26703](https://github.com/civicrm/civicrm-core/pull/26703))**
-- **Remove copy-and-paste comment ([26652](https://github.com/civicrm/civicrm-core/pull/26652))**
+ Makes it so the drupal webtest user can view debug output to make it easier
+ to debug.
-- **Add apiv4 Survey entity ([26653](https://github.com/civicrm/civicrm-core/pull/26653))**
+## <a name="bugs"></a>Bugs resolved
-- **REF - Auto-generate links for CRM_Core_Page_Basic ([26644](https://github.com/civicrm/civicrm-core/pull/26644))**
+### Core CiviCRM
-- **[Test] Clean up payment processors when cleaning up other related entities ([26640](https://github.com/civicrm/civicrm-core/pull/26640))**
+- **Make frontend_title consistently required and use it in all front end
+ presentations (Work Towards
+ [dev/core#4213](https://lab.civicrm.org/dev/core/-/issues/4213):
+ [26721](https://github.com/civicrm/civicrm-core/pull/26721))**
-- **Fix test to not use brittle xml, remove redundant crud tests ([26648](https://github.com/civicrm/civicrm-core/pull/26648))**
+ Adds `frontend_title` to various data set up places.
-- **REF - Code cleanup and notice fixes in scheduled reminders ([26647](https://github.com/civicrm/civicrm-core/pull/26647))**
+- **How to activate downloaded translations?
+ ([extensions/uplang#6](https://lab.civicrm.org/extensions/uplang/-/issues/6):
+ [26564](https://github.com/civicrm/civicrm-core/pull/26564))**
-- **Update UFJoin test to not use brittle xml set up ([26645](https://github.com/civicrm/civicrm-core/pull/26645))**
+ Fixes menu description translations on the Administration Console.
-- **Fix some test cleanup routines ([26634](https://github.com/civicrm/civicrm-core/pull/26634))**
+- **Migrate installers to "setup" API (Work Towards
+ [dev/core#1615](https://lab.civicrm.org/dev/core/-/issues/1615):
+ [26678](https://github.com/civicrm/civicrm-core/pull/26678) and
+ [26677](https://github.com/civicrm/civicrm-core/pull/26677))**
-- **Cleanup Apiv3-UfField test ([26638](https://github.com/civicrm/civicrm-core/pull/26638))**
+ Adds some distmaker options to speed up frequent rebuilds. Work towards
+ migrating the Joomla installer to use the setup api.
-- **(REF) Convert dynamic translations from `ts()` to `_ts()` ([26595](https://github.com/civicrm/civicrm-core/pull/26595))**
+- **OAUTH2 google doesn't seem to give you refresh tokens easily
+ ([dev/core#2184](https://lab.civicrm.org/dev/core/-/issues/2184):
+ [26531](https://github.com/civicrm/civicrm-core/pull/26531))**
-- **API/SearchKit - Improve dynamic pseudoconstant lookups and ACL adminU… ([26639](https://github.com/civicrm/civicrm-core/pull/26639))**
+- **Errors on merging contacts with websites
+ ([dev/core#2549](https://lab.civicrm.org/dev/core/-/issues/2549):
+ [26605](https://github.com/civicrm/civicrm-core/pull/26605))**
-- **5.63 to master ([26641](https://github.com/civicrm/civicrm-core/pull/26641))**
+- **Proposal: Create stub extensions for civicrm core + all components
+ (Work Towards [dev/core#3961](https://lab.civicrm.org/dev/core/-/issues/3961):
+ [26208](https://github.com/civicrm/civicrm-core/pull/26208))**
-- **Add Search Display of ACLs ([26624](https://github.com/civicrm/civicrm-core/pull/26624))**
+ Moves component Api4 files to component extensions.
-- **CiviMail - New autocompletes for selecting recipients ([26585](https://github.com/civicrm/civicrm-core/pull/26585))**
+- **Replace hard-coded call to legacyCustomSearch framework with a hook
+ ([dev/core#4056](https://lab.civicrm.org/dev/core/-/issues/4056):
+ [26611](https://github.com/civicrm/civicrm-core/pull/26611))**
-- **Update online event workflow template for more consistent participant amount data and preview-ability ([26574](https://github.com/civicrm/civicrm-core/pull/26574))**
+- **Finish making legacycustomsearches optional
+ (Work Towards [dev/core#4112](https://lab.civicrm.org/dev/core/-/issues/4112):
+ [26614](https://github.com/civicrm/civicrm-core/pull/26614) and
+ [26613](https://github.com/civicrm/civicrm-core/pull/26613))**
-- **Add deployID to civicrm.settings.php ([26632](https://github.com/civicrm/civicrm-core/pull/26632))**
+ Refactors code to move towards making legacycustomsearches optional.
-- **Fix group count for delete confirmation ([26625](https://github.com/civicrm/civicrm-core/pull/26625))**
+- **SearchKit/FormBuilder - handling monetary totals
+ ([dev/core#4207](https://lab.civicrm.org/dev/core/-/issues/4207):
+ [26498](https://github.com/civicrm/civicrm-core/pull/26498))**
-- **Very minor test cleanup ([26635](https://github.com/civicrm/civicrm-core/pull/26635))**
+- **AdminUI: Redirection after creating new profile and adding fields is
+ incorrect / not user friendly
+ ([dev/core#4254](https://lab.civicrm.org/dev/core/-/issues/4254):
+ [26470](https://github.com/civicrm/civicrm-core/pull/26470))**
-- **Contribution WorkflowTrait updates to support event template changes ([26633](https://github.com/civicrm/civicrm-core/pull/26633))**
+- **SearchKit + FormBuilder: In place edit using a list view
+ ([dev/core#4319](https://lab.civicrm.org/dev/core/-/issues/4319):
+ [26473](https://github.com/civicrm/civicrm-core/pull/26473))**
-- **standaloneusers - Update versioning ([26631](https://github.com/civicrm/civicrm-core/pull/26631))**
+ Fix in-place edit in SearchKit list and grid displays.
-- **WorkflowMessage - Allow more dynamic-localized data. Unify language field. ([26618](https://github.com/civicrm/civicrm-core/pull/26618))**
+- **GroupTest occasionally failing due to new test
+ ([dev/core#4327](https://lab.civicrm.org/dev/core/-/issues/4327):
+ [26478](https://github.com/civicrm/civicrm-core/pull/26478))**
-- **5.63 ([26630](https://github.com/civicrm/civicrm-core/pull/26630))**
+- **Prevent people from sneakily adding fields to your extension's reserved
+ custom groups by using the Move action
+ ([dev/core#4338](https://lab.civicrm.org/dev/core/-/issues/4338):
+ [26518](https://github.com/civicrm/civicrm-core/pull/26518))**
-- **Move standalone classes and standaloneusers extension into core ([26621](https://github.com/civicrm/civicrm-core/pull/26621))**
+- **SearchKit: two displays on dashboard using similar search incorrectly share
+ Total value -- variable leakage?
+ ([dev/core#4348](https://lab.civicrm.org/dev/core/-/issues/4348):
+ [26480](https://github.com/civicrm/civicrm-core/pull/26480))**
-- **Move recurring handling to recur function in PaypalIPN ([26560](https://github.com/civicrm/civicrm-core/pull/26560))**
+- **New Activity with custom radio field gives fatal error
+ ([dev/core#4355](https://lab.civicrm.org/dev/core/-/issues/4355):
+ [26517](https://github.com/civicrm/civicrm-core/pull/26517))**
-- **Don't show filtered from NaN on Groups when 0 groups found ([26629](https://github.com/civicrm/civicrm-core/pull/26629))**
+- **Verbiage changes on Find Groups screen
+ ([dev/core#4358](https://lab.civicrm.org/dev/core/-/issues/4358):
+ [26525](https://github.com/civicrm/civicrm-core/pull/26525))**
-- **CiviMail - Sundry cleanups ([26626](https://github.com/civicrm/civicrm-core/pull/26626))**
+- **Afforms fields are doubled
+ ([dev/core#4359](https://lab.civicrm.org/dev/core/-/issues/4359):
+ [26528](https://github.com/civicrm/civicrm-core/pull/26528))**
-- **Switch to Payment.create & repeattransaction in Authorize.net ([26620](https://github.com/civicrm/civicrm-core/pull/26620))**
+- **AdminUI: Advanced Search not accessible and Redirect after Search Actions
+ from Contacts in Group broken
+ ([dev/core#4360](https://lab.civicrm.org/dev/core/-/issues/4360) and
+ [dev/core#4384](https://lab.civicrm.org/dev/core/-/issues/4384):
+ [26669](https://github.com/civicrm/civicrm-core/pull/26669))**
-- **Fix some missing places where prioritisation is not incorporated ([26610](https://github.com/civicrm/civicrm-core/pull/26610))**
+- **Trigger-based logging schema reconciliation fails when a column is renamed
+ to a different upper/lower case
+ ([dev/core#4369](https://lab.civicrm.org/dev/core/-/issues/4369):
+ [26548](https://github.com/civicrm/civicrm-core/pull/26548))**
-- **Add Everyone acl role option value ([26627](https://github.com/civicrm/civicrm-core/pull/26627))**
+- **One of parameters (value: ) is not of the type CommaSeparatedIntegers for
+ lesser-permissioned users
+ ([dev/core#4383](https://lab.civicrm.org/dev/core/-/issues/4383):
+ [26577](https://github.com/civicrm/civicrm-core/pull/26577))**
-- **Group BAO - Remove secret param that was breaking groupNesting ([26623](https://github.com/civicrm/civicrm-core/pull/26623))**
+ Fixes a crash for lesser permissioned users.
-- **Fix ACLs to use the correct name of the civicrm_group table ([26615](https://github.com/civicrm/civicrm-core/pull/26615))**
+- **PHP 8 Compatibility Issue - strlen of array
+ ([dev/core#4387](https://lab.civicrm.org/dev/core/-/issues/4387):
+ [26598](https://github.com/civicrm/civicrm-core/pull/26598))**
-- **APIv4 Explorer - Fix regression in php generation ([26622](https://github.com/civicrm/civicrm-core/pull/26622))**
+- **Can't import using contact id
+ (Work Towards
+ [dev/core#4389](https://lab.civicrm.org/dev/core/-/issues/4389):
+ [26607](https://github.com/civicrm/civicrm-core/pull/26607))**
-- **dev/core#2549 ([26605](https://github.com/civicrm/civicrm-core/pull/26605))**
+ Improves import help text.
-- **Do not generate unshared variable in shared `processMessageTemplate` ([26567](https://github.com/civicrm/civicrm-core/pull/26567))**
+- **Installing a core extension results in an error
+ ([dev/core#4391](https://lab.civicrm.org/dev/core/-/issues/4391):
+ [26743](https://github.com/civicrm/civicrm-core/pull/26743))**
-- **Add in paths and new menu routes to support converting ACL page scree… ([26617](https://github.com/civicrm/civicrm-core/pull/26617))**
+- **AdminUI: Allow searching by "LastName, FirstName" in Find Contacts
+ ([dev/core#4396](https://lab.civicrm.org/dev/core/-/issues/4396):
+ [26682](https://github.com/civicrm/civicrm-core/pull/26682))**
-- **Update Recurring end_date when setting status to completed ([26616](https://github.com/civicrm/civicrm-core/pull/26616))**
+- **Translation for site default language not loaded
+ ([dev/core#4409](https://lab.civicrm.org/dev/core/-/issues/4409):
+ [26232](https://github.com/civicrm/civicrm-core/pull/26232))**
-- **dev/core#4112 Move utilities for full text search to the legacycustomsearches extension ([26613](https://github.com/civicrm/civicrm-core/pull/26613))**
+- **Disabling and re-enabling a core extension removes it from the navigation
+ menu and from SK
+ ([dev/core#4413](https://lab.civicrm.org/dev/core/-/issues/4413):
+ [26744](https://github.com/civicrm/civicrm-core/pull/26744))**
-- **dev/core#4389 Help text update for contact import dedupe option ([26607](https://github.com/civicrm/civicrm-core/pull/26607))**
+- **Membership tab on contribution page config broken
+ ([dev/core#4419](https://lab.civicrm.org/dev/core/-/issues/4419):
+ [26757](https://github.com/civicrm/civicrm-core/pull/26757))**
-- **Remove obsolete 'Basic ACLs' ([26612](https://github.com/civicrm/civicrm-core/pull/26612))**
+ Crash on membership tab of contribution page config.
-- **dev/core#4112 Move legacycustomsearch-only function to the extension-class `ContactIDSql` ([26614](https://github.com/civicrm/civicrm-core/pull/26614))**
+- **Admin UI - be like regular civi and don't show reserved custom groups
+ ([26668](https://github.com/civicrm/civicrm-core/pull/26668))**
-- **[AuthorizeNetIPN] Use API for failure updates ([26600](https://github.com/civicrm/civicrm-core/pull/26600))**
+- **AdminUI - Alter core forms to redirect to the new AdminUI afform pages
+ ([26479](https://github.com/civicrm/civicrm-core/pull/26479))**
-- **dev/core#4056 Move customSearch smart group sql generation to legacycustomsearches extension ([26611](https://github.com/civicrm/civicrm-core/pull/26611))**
+- **SearchKit - Fix check for smarty syntax in rewrite output
+ ([26730](https://github.com/civicrm/civicrm-core/pull/26730))**
-- **ACL - Ensure all priorities are unique ([26609](https://github.com/civicrm/civicrm-core/pull/26609))**
+- **SearchKit - Tidy up admin buttons and table header sort icons
+ ([26483](https://github.com/civicrm/civicrm-core/pull/26483))**
-- **Specify 'match' in mgd.php files ([26608](https://github.com/civicrm/civicrm-core/pull/26608))**
+- **Update Api.php to correct external_identifier to type STRING
+ ([26726](https://github.com/civicrm/civicrm-core/pull/26726) and
+ [26728](https://github.com/civicrm/civicrm-core/pull/26728))**
-- **Add "priority" column to ACLs and support ACL rule precedence ([26592](https://github.com/civicrm/civicrm-core/pull/26592))**
+- **APIv4 - Fix passing '0' as a function argument
+ ([26553](https://github.com/civicrm/civicrm-core/pull/26553))**
-- **[REF] CiviCase - Move more activity logic into case BAO via hook ([26591](https://github.com/civicrm/civicrm-core/pull/26591))**
+- **Make implicit TRUE permissions check explicit in API 4 Explorer for PHP
+ ([26514](https://github.com/civicrm/civicrm-core/pull/26514))**
-- **Switch to token for tax_exclusive_amount in offline receipt ([26602](https://github.com/civicrm/civicrm-core/pull/26602))**
+- **Standalone - Fix some path calculations
+ ([26649](https://github.com/civicrm/civicrm-core/pull/26649))**
-- **Fix e-notices in contribution_offline_receipt text by removing always-empty field ([26599](https://github.com/civicrm/civicrm-core/pull/26599))**
+- **Standalone - Auto-enable user subsystem. Tweak default user.
+ ([26643](https://github.com/civicrm/civicrm-core/pull/26643))**
-- **dev/core#4387 - CRM_Core_Form - Fix params passed to checkbox ([26598](https://github.com/civicrm/civicrm-core/pull/26598))**
+- **Standalone - Track logged-in user object
+ ([26672](https://github.com/civicrm/civicrm-core/pull/26672))**
-- **Remove unused functions from `AuthorizeNetIPN` ([26597](https://github.com/civicrm/civicrm-core/pull/26597))**
+- **Standalone - Generate proper HTTP response code for permission-errors
+ ([26657](https://github.com/civicrm/civicrm-core/pull/26657))**
-- **Simplify use of contribution - we are only looking at status ([26589](https://github.com/civicrm/civicrm-core/pull/26589))**
+- **Standalone - Suppress debug output
+ ([26656](https://github.com/civicrm/civicrm-core/pull/26656))**
-- **CiviImport - String fix ([26593](https://github.com/civicrm/civicrm-core/pull/26593))**
+- **Remove obsolete 'Basic ACLs'
+ ([26612](https://github.com/civicrm/civicrm-core/pull/26612))**
-- **CiviImport - Fix table description ([26590](https://github.com/civicrm/civicrm-core/pull/26590))**
+ Removes unused code for an old permissioning system that no longer
+ exists.
-- **Move sending of email to recur function ([26587](https://github.com/civicrm/civicrm-core/pull/26587))**
+- **Fix ACLs to use the correct name of the civicrm_group table
+ ([26615](https://github.com/civicrm/civicrm-core/pull/26615))**
-- **Why? ([26588](https://github.com/civicrm/civicrm-core/pull/26588))**
+- **Contribution WorkflowTrait updates to support event template changes
+ ([26633](https://github.com/civicrm/civicrm-core/pull/26633))**
-- **Extract getContributionRecur, clean up input input... ([26586](https://github.com/civicrm/civicrm-core/pull/26586))**
+- **Allows multiple Free Text fields to be added to form layout
+ ([25271](https://github.com/civicrm/civicrm-core/pull/25271))**
-- **APIv4 - Improve UNION field handling & add test coverage ([26583](https://github.com/civicrm/civicrm-core/pull/26583))**
+- **Converting CryptoException into status messages
+ ([dev/core#4308](https://lab.civicrm.org/dev/core/-/issues/4308):
+ [26444](https://github.com/civicrm/civicrm-core/pull/26444))**
-- **Form Builder - Clarify "Security" options ([26581](https://github.com/civicrm/civicrm-core/pull/26581))**
+ Fixes a white screen of death if you change the CIVICRM_CRED_KEYS variable
+ (or clone the site) and go to `/civicrm/admin/setting/smtp?reset=1`.
-- **Allows multiple Free Text fields to be added to form layout ([25271](https://github.com/civicrm/civicrm-core/pull/25271))**
+- **Remove 'Payment Amount (most recent)' column from membership report
+ ([26566](https://github.com/civicrm/civicrm-core/pull/26566))**
-- **Prevent erroneous GroupContact hooks for Contact already in group ([26523](https://github.com/civicrm/civicrm-core/pull/26523))**
+- **Add additional message to invoice template if present
+ ([26534](https://github.com/civicrm/civicrm-core/pull/26534))**
-- **Add self to contributors ([26584](https://github.com/civicrm/civicrm-core/pull/26584))**
+- **Expire notifications for Shared Address Contact Delete & Financial Types
+ ([26503](https://github.com/civicrm/civicrm-core/pull/26503))**
-- **Remove ids Variable that is dumb ([26582](https://github.com/civicrm/civicrm-core/pull/26582))**
+- **Don't add Contact to Domain Group on edit
+ ([26520](https://github.com/civicrm/civicrm-core/pull/26520))**
-- **Stop passing around object, just to get the id in Anet.ipn ([26562](https://github.com/civicrm/civicrm-core/pull/26562))**
+- **Don't check for PHP 5 on Mapping Settings
+ ([26693](https://github.com/civicrm/civicrm-core/pull/26693))**
-- **Call repeatTransation not completeOrder from repeatTransaction API ([26557](https://github.com/civicrm/civicrm-core/pull/26557))**
+- **Ensure counties are properly imported even if ambiguous
+ ([25989](https://github.com/civicrm/civicrm-core/pull/25989))**
-- **[PHP8] Fix warnings on activity and event management forms ([26432](https://github.com/civicrm/civicrm-core/pull/26432))**
+- **Show manually added Smart Groups on Contact edit
+ ([26521](https://github.com/civicrm/civicrm-core/pull/26521))**
-- **Duplicate the few lines of shared code between `completeOrder` into `repeatTransaction` ([26556](https://github.com/civicrm/civicrm-core/pull/26556))**
+- **Fix some missing places where prioritisation is not incorporated
+ ([26610](https://github.com/civicrm/civicrm-core/pull/26610))**
-- **Cleanup AdditionalPaymentTest to use event trait ([26570](https://github.com/civicrm/civicrm-core/pull/26570))**
+- **Group BAO - Remove secret param that was breaking groupNesting
+ ([26623](https://github.com/civicrm/civicrm-core/pull/26623))**
-- **Enhance examples to cover additional participants ([26573](https://github.com/civicrm/civicrm-core/pull/26573))**
+- **wrong hook params
+ ([26500](https://github.com/civicrm/civicrm-core/pull/26500))**
-- **Move code to complete `repeatTransation` into that function ([26555](https://github.com/civicrm/civicrm-core/pull/26555))**
+- **clearTempTables: fix condition for user_job check
+ ([26696](https://github.com/civicrm/civicrm-core/pull/26696))**
-- **APIv4 - Remove gatekeeper permission check for AJAX endpoint (with tests) ([26391](https://github.com/civicrm/civicrm-core/pull/26391))**
+- **Report on the most recent membership contribution, not the oldest
+ ([26111](https://github.com/civicrm/civicrm-core/pull/26111))**
-- **Show manually added Smart Groups on Contact edit ([26521](https://github.com/civicrm/civicrm-core/pull/26521))**
+- **Don't show SQL text in SK if user does not have view debug permission
+ ([26711](https://github.com/civicrm/civicrm-core/pull/26711))**
-- **Fix Invoice test to user EventTestTrait, require less in order API ([26543](https://github.com/civicrm/civicrm-core/pull/26543))**
+- **Fix group count for delete confirmation
+ ([26625](https://github.com/civicrm/civicrm-core/pull/26625))**
-- **Add LEFT, RIGHT and SUBSTRING SQL functions ([26549](https://github.com/civicrm/civicrm-core/pull/26549))**
+- **Fix actions on Relationship search using Searchkit
+ ([26642](https://github.com/civicrm/civicrm-core/pull/26642))**
-- **Misc ts fixes ([26565](https://github.com/civicrm/civicrm-core/pull/26565))**
+- **Fix debug permissions for API 4 Explorer debug
+ ([26702](https://github.com/civicrm/civicrm-core/pull/26702))**
-- **Remove unused line item variable from signature ([26571](https://github.com/civicrm/civicrm-core/pull/26571))**
+- **[PHP8] Codegen - Don't generate invalid secondary emails
+ ([26680](https://github.com/civicrm/civicrm-core/pull/26680))**
-- **Converts the CryptoExceptions into session messages. ([26444](https://github.com/civicrm/civicrm-core/pull/26444))**
+- **Don't show filtered from NaN on Groups when 0 groups found
+ ([26629](https://github.com/civicrm/civicrm-core/pull/26629))**
-- **Don't show pay_later processor on additional live Payment ([26578](https://github.com/civicrm/civicrm-core/pull/26578))**
+- **SchemaHandler - Fix nonstandard index capitalization + code cleanup
+ ([26282](https://github.com/civicrm/civicrm-core/pull/26282))**
-- **dev/core#4383 - Crash for lesser-permissioned users ([26577](https://github.com/civicrm/civicrm-core/pull/26577))**
+- **[PHP8] Fix warnings on activity and event management forms
+ ([26432](https://github.com/civicrm/civicrm-core/pull/26432))**
-- **Expose a few more event fields as tokens ([26575](https://github.com/civicrm/civicrm-core/pull/26575))**
+- **APIv4 Explorer - Fix regression in php generation
+ ([26622](https://github.com/civicrm/civicrm-core/pull/26622))**
-- **Superficial clean up in test class ([26559](https://github.com/civicrm/civicrm-core/pull/26559))**
+- **Do not generate unshared variable in shared `processMessageTemplate`
+ ([26567](https://github.com/civicrm/civicrm-core/pull/26567))**
-- **Fix lifetime membership with end date error message ([26558](https://github.com/civicrm/civicrm-core/pull/26558))**
+- **Add deprecation notice to legacy exception class aliases
+ ([26542](https://github.com/civicrm/civicrm-core/pull/26542))**
-- **dev/core#4048 Fatal error when changing membership type on membership with no contributions ([26554](https://github.com/civicrm/civicrm-core/pull/26554))**
+- **Fix for domains that have the string .css in them
+ ([26530](https://github.com/civicrm/civicrm-core/pull/26530))**
-- **APIv4 - Fix passing '0' as a function argument ([26553](https://github.com/civicrm/civicrm-core/pull/26553))**
+- **Smarty - When temporarily setting variable, fix cleanup for
+ previously-undefined values.
+ ([26465](https://github.com/civicrm/civicrm-core/pull/26465))**
-- **5.63 ([26572](https://github.com/civicrm/civicrm-core/pull/26572))**
+- **Lower-case field name uf_group.post_URL, cancel_URL
+ ([26460](https://github.com/civicrm/civicrm-core/pull/26460))**
-- **Remove duplicate test ([26568](https://github.com/civicrm/civicrm-core/pull/26568))**
+- **crmAutocomplete - Fix endless loop (again)
+ ([26681](https://github.com/civicrm/civicrm-core/pull/26681))**
-- **Permit ACL rules that negate (deny) access ([26041](https://github.com/civicrm/civicrm-core/pull/26041))**
+- **Fix ommitted port when constructing redirect URL
+ ([26685](https://github.com/civicrm/civicrm-core/pull/26685))**
-- **extensions/uplang#6 Fix menu description translations on the Administration Console ([26564](https://github.com/civicrm/civicrm-core/pull/26564))**
+- **SearchKit - Fix saving created/modified fields
+ ([26484](https://github.com/civicrm/civicrm-core/pull/26484))**
-- **Remove 'Payment Amount (most recent)' column from membership report ([26566](https://github.com/civicrm/civicrm-core/pull/26566))**
+- **Add deprecation warning and fix deprecated constructor call (followup to
+ #26398) ([26495](https://github.com/civicrm/civicrm-core/pull/26495))**
-- **Fix participantTest class to call createEventPaid ([26540](https://github.com/civicrm/civicrm-core/pull/26540))**
+- **Remove unneeded and strange profile field save success alert
+ ([26751](https://github.com/civicrm/civicrm-core/pull/26751))**
-- **5.63 ([26552](https://github.com/civicrm/civicrm-core/pull/26552))**
+- **Attempt to fix some form notices on Contact Edit form new contact
+ ([26481](https://github.com/civicrm/civicrm-core/pull/26481))**
-- **dev/core#4369 - fix upgrade for logging tables ([26548](https://github.com/civicrm/civicrm-core/pull/26548))**
+- **Fix PHP errors on profiles and custom fields when using options per line
+ ([26763](https://github.com/civicrm/civicrm-core/pull/26763))**
-- **Add deprecation notice to legacy exception class aliases ([26542](https://github.com/civicrm/civicrm-core/pull/26542))**
+- **Fix another place weight is not passed
+ ([26736](https://github.com/civicrm/civicrm-core/pull/26736))**
-- **Fix a couple more places to use the new event trait ([26486](https://github.com/civicrm/civicrm-core/pull/26486))**
+- **Fix Translation to load related language more reliably
+ ([26190](https://github.com/civicrm/civicrm-core/pull/26190))**
-- **dev/core#4319 SearchKit - Fix in-place editable in list/grid displays ([26473](https://github.com/civicrm/civicrm-core/pull/26473))**
+- **Fix apiv4 bug on custom fields with spaces in name
+ ([26740](https://github.com/civicrm/civicrm-core/pull/26740))**
-- **Improve select for Add Navigation Menu Item > Parent ([26550](https://github.com/civicrm/civicrm-core/pull/26550))**
+- **Prevent API errors when CiviEvent is disabled
+ ([26497](https://github.com/civicrm/civicrm-core/pull/26497))**
-- **Fix don't change membership status when saving a pending membership ([25385](https://github.com/civicrm/civicrm-core/pull/25385))**
+- **Prevent erroneous GroupContact hooks for Contact already in group
+ ([26523](https://github.com/civicrm/civicrm-core/pull/26523))**
-- **Php8-proof SMSCommonTest ([26545](https://github.com/civicrm/civicrm-core/pull/26545))**
+- **Stop passing around object, just to get the id in Anet.ipn
+ ([26562](https://github.com/civicrm/civicrm-core/pull/26562))**
-- **Add unit test cover + nl2br for location in event emails ([26296](https://github.com/civicrm/civicrm-core/pull/26296))**
+- **Misc ts fixes
+ ([26565](https://github.com/civicrm/civicrm-core/pull/26565))**
-- **Fix missing </table> tag on repeat event change confirm tpl. ([26547](https://github.com/civicrm/civicrm-core/pull/26547))**
+- **Remove unused line item variable from signature
+ ([26571](https://github.com/civicrm/civicrm-core/pull/26571))**
-- **APIv4 - Add EntitySet api for set-ops such as UNION ([26536](https://github.com/civicrm/civicrm-core/pull/26536))**
+- **CiviImport - String fix
+ ([26593](https://github.com/civicrm/civicrm-core/pull/26593))**
-- **SchemaHandler - Fix nonstandard index capitalization + code cleanup ([26282](https://github.com/civicrm/civicrm-core/pull/26282))**
+- **CiviImport - Fix table description
+ ([26590](https://github.com/civicrm/civicrm-core/pull/26590))**
-- **APIv4 - Deprecate unused event ([26537](https://github.com/civicrm/civicrm-core/pull/26537))**
+- **Move sending of email to recur function
+ ([26587](https://github.com/civicrm/civicrm-core/pull/26587))**
-- **Report on the most recent membership contribution, not the oldest ([26111](https://github.com/civicrm/civicrm-core/pull/26111))**
+### CiviCase
-- **Fix for domains that have the string .css in them ([26530](https://github.com/civicrm/civicrm-core/pull/26530))**
+- **crmCaseType: fix New Case Type link visibility in obscure circumstances
+ ([26749](https://github.com/civicrm/civicrm-core/pull/26749))**
-- **Add additional message to invoice template if present ([26534](https://github.com/civicrm/civicrm-core/pull/26534))**
+### CiviContribute
-- **Fix dev/core#4359 doubled Afform fields ([26528](https://github.com/civicrm/civicrm-core/pull/26528))**
+- **Accepted credit cards not saved when creating or editing a payment processor
+ ([dev/core#4418](https://lab.civicrm.org/dev/core/-/issues/4418):
+ [26760](https://github.com/civicrm/civicrm-core/pull/26760),
+ [26755](https://github.com/civicrm/civicrm-core/pull/26755) and
+ [26758](https://github.com/civicrm/civicrm-core/pull/26758))**
-- **Cleanup Email Invoice form to remove longest ever field label ([26533](https://github.com/civicrm/civicrm-core/pull/26533))**
+- **Call repeatTransation not completeOrder from repeatTransaction API
+ ([26557](https://github.com/civicrm/civicrm-core/pull/26557))**
-- **Fix dev/core#4207 - Handle currency symbol in SK aggregates ([26498](https://github.com/civicrm/civicrm-core/pull/26498))**
+- **Update Recurring end_date when setting status to completed
+ ([26616](https://github.com/civicrm/civicrm-core/pull/26616))**
-- **dev/core#2184 - OAUTH - make google always return a refresh token ([26531](https://github.com/civicrm/civicrm-core/pull/26531))**
+- **Switch to Payment.create & repeattransaction in Authorize.net
+ ([26620](https://github.com/civicrm/civicrm-core/pull/26620) and
+ [26659](https://github.com/civicrm/civicrm-core/pull/26659))**
-- **FlexMailer\Listener\OpenTracker: remove deprecated isLegacy check ([26526](https://github.com/civicrm/civicrm-core/pull/26526))**
+- **Don't show pay_later processor on additional live Payment
+ ([26578](https://github.com/civicrm/civicrm-core/pull/26578))**
-- **[TEST] APIv4 - Include CiviGrant in conformance tests ([26511](https://github.com/civicrm/civicrm-core/pull/26511))**
+- **Cleanup Email Invoice form to remove longest ever field label
+ ([26533](https://github.com/civicrm/civicrm-core/pull/26533))**
-- **(dev/core#4358) Verbiage changes on Find Groups screen ([26525](https://github.com/civicrm/civicrm-core/pull/26525))**
+- **Switch to token for tax_exclusive_amount in offline receipt
+ ([26602](https://github.com/civicrm/civicrm-core/pull/26602))**
-- **Don't add Contact to Domain Group on edit ([26520](https://github.com/civicrm/civicrm-core/pull/26520))**
+- **Fix e-notices in contribution_offline_receipt text by removing always-empty
+ field ([26599](https://github.com/civicrm/civicrm-core/pull/26599))**
-- **[REF] Don't add Contacts to Groups they are already Added to on Edit ([26519](https://github.com/civicrm/civicrm-core/pull/26519))**
+- **Update related contribution trxn_id before sending email
+ ([26737](https://github.com/civicrm/civicrm-core/pull/26737))**
-- **Add select2s for Contribution, etc ([26502](https://github.com/civicrm/civicrm-core/pull/26502))**
+- **Reduce PHP warnings on Contribution
+ ([26506](https://github.com/civicrm/civicrm-core/pull/26506))**
-- **dev/core#4338 - Prevent people from sneakily adding fields to your extension's reserved custom groups by using the Move action ([26518](https://github.com/civicrm/civicrm-core/pull/26518))**
+- **Reduce PHP warnings with paymentBlock
+ ([26505](https://github.com/civicrm/civicrm-core/pull/26505))**
-- **dev/core#4355 - Fix crash for radio custom fields ([26517](https://github.com/civicrm/civicrm-core/pull/26517))**
+### CiviEvent
-- **Add All imports menu item for users with Administer Queues ([26516](https://github.com/civicrm/civicrm-core/pull/26516))**
+- **Payment on Event Confirmation Page: Does not work when pay later is disabled
+ ([dev/core#4336](https://lab.civicrm.org/dev/core/-/issues/4336):
+ [26491](https://github.com/civicrm/civicrm-core/pull/26491))**
-- **Make implicit TRUE permissions check explicit in API 4 Explorer for PHP ([26514](https://github.com/civicrm/civicrm-core/pull/26514))**
+- **Fix missing </table> tag on repeat event change confirm tpl.
+ ([26547](https://github.com/civicrm/civicrm-core/pull/26547))**
-- **5.63 ([26515](https://github.com/civicrm/civicrm-core/pull/26515))**
+- **Fix e-notices on New Participant form, strict smarty
+ ([26487](https://github.com/civicrm/civicrm-core/pull/26487))**
-- **regen after 26499 and 26492 ([26512](https://github.com/civicrm/civicrm-core/pull/26512))**
+- **Fix PHP warnings on front end Register
+ ([26476](https://github.com/civicrm/civicrm-core/pull/26476))**
-- **Smarty - When temporarily setting variable, fix cleanup for previously-undefined values. ([26465](https://github.com/civicrm/civicrm-core/pull/26465))**
+- **replace deprecated functions in event fee form
+ ([26691](https://github.com/civicrm/civicrm-core/pull/26691))**
-- **Reduce PHP warnings on Contribution ([26506](https://github.com/civicrm/civicrm-core/pull/26506))**
+### CiviGrant
-- **Afform - Enable search operators to be exposed on the form ([26496](https://github.com/civicrm/civicrm-core/pull/26496))**
+- **CiviGrant - Support APIv4 autocompletes
+ ([26687](https://github.com/civicrm/civicrm-core/pull/26687))**
-- **Prevent API errors when CiviEvent is disabled ([26497](https://github.com/civicrm/civicrm-core/pull/26497))**
+### CiviMail
-- **[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters ([26508](https://github.com/civicrm/civicrm-core/pull/26508))**
+- **Rebuild smart group cache for specific smart groups included in mailing at
+ scheduling time
+ ([dev/core#3890](https://lab.civicrm.org/dev/core/-/issues/3890):
+ [24681](https://github.com/civicrm/civicrm-core/pull/24681))**
-- **Expire notifications for Shared Address Contact Delete & Financial Types ([26503](https://github.com/civicrm/civicrm-core/pull/26503))**
+- **Update online event workflow template for more consistent participant amount
+ data and preview-ability
+ ([26574](https://github.com/civicrm/civicrm-core/pull/26574))**
-- **[NFC] Change PHPDoc return type (findById) ([26504](https://github.com/civicrm/civicrm-core/pull/26504))**
+- **CRM_Mailing_Form_Optout, CRM_Mailing_Form_Unsubscribe: change properties to
+ protected from private
+ ([26713](https://github.com/civicrm/civicrm-core/pull/26713))**
-- **Add import listing for admins ([26316](https://github.com/civicrm/civicrm-core/pull/26316))**
+- **Typo correct for MailingEventReply.php
+ ([26692](https://github.com/civicrm/civicrm-core/pull/26692))**
-- **5.63 ([26501](https://github.com/civicrm/civicrm-core/pull/26501))**
+### CiviMember
-- **wrong hook params ([26500](https://github.com/civicrm/civicrm-core/pull/26500))**
+- **Fatal error when changing membership type, on membership with 0
+ contributions
+ ([dev/core#4048](https://lab.civicrm.org/dev/core/-/issues/4048):
+ [26554](https://github.com/civicrm/civicrm-core/pull/26554))**
-- **Fix e-notices on New Participant form, strict smarty ([26487](https://github.com/civicrm/civicrm-core/pull/26487))**
+- **Split MembershipBlock.tpl into 2
+ ([26690](https://github.com/civicrm/civicrm-core/pull/26690))**
-- **Add deprecation warning and fix deprecated constructor call (followup to #26398) ([26495](https://github.com/civicrm/civicrm-core/pull/26495))**
+- **Fix don't change membership status when saving a pending membership
+ ([25385](https://github.com/civicrm/civicrm-core/pull/25385))**
-- **[WIP] civicrm_admin_ui Find contacts replacement ([26381](https://github.com/civicrm/civicrm-core/pull/26381))**
+- **Fix lifetime membership with end date error message
+ ([26558](https://github.com/civicrm/civicrm-core/pull/26558))**
-- **dev/core#4336 Fix don't display payment fields on initial event registration form if payment on confirm is enabled ([26491](https://github.com/civicrm/civicrm-core/pull/26491))**
+- **Fix recent breakage on membershipBlock.tpl
+ ([26777](https://github.com/civicrm/civicrm-core/pull/26777))**
-- **5.63 ([26493](https://github.com/civicrm/civicrm-core/pull/26493))**
+### Joomla Integration
-- **Remove unreachable code in event registration templates for tax total ([26492](https://github.com/civicrm/civicrm-core/pull/26492))**
+- **Undefined variable $store in Joomla.php on line 56 -
+ CRM_Core_Permission_Joomla error
+ ([dev/joomla#51](https://lab.civicrm.org/dev/joomla/-/issues/51):
+ [26699](https://github.com/civicrm/civicrm-core/pull/26699))**
-- **UFGroup DAO is out of date ([26494](https://github.com/civicrm/civicrm-core/pull/26494))**
+### WordPress Integration
-- **Log server-side validation errors so it is easier to troubleshoot/debug afform issues ([25533](https://github.com/civicrm/civicrm-core/pull/25533))**
+- **Fix UTC offsets when retrieving timezone string in WordPress
+ ([298](https://github.com/civicrm/civicrm-wordpress/pull/298) and
+ [26604](https://github.com/civicrm/civicrm-core/pull/26604))**
-- **Remove stray semi-colon ([26490](https://github.com/civicrm/civicrm-core/pull/26490))**
+## <a name="misc"></a>Miscellany
-- **Remove obsolete comment ([26489](https://github.com/civicrm/civicrm-core/pull/26489))**
+- **Move recurring handling to recur function in PaypalIPN
+ ([26560](https://github.com/civicrm/civicrm-core/pull/26560))**
-- **AdminUI - Alter core forms to redirect to the new AdminUI afform pages ([26479](https://github.com/civicrm/civicrm-core/pull/26479))**
+- **CiviMail - Sundry cleanups
+ ([26626](https://github.com/civicrm/civicrm-core/pull/26626))**
-- **SearchKit - Expose expires_date field to UI ([26485](https://github.com/civicrm/civicrm-core/pull/26485))**
+- **UFGroup DAO is out of date
+ ([26494](https://github.com/civicrm/civicrm-core/pull/26494))**
-- **dev/core#4348 - Fix leaky variable in SearchKit traits ([26480](https://github.com/civicrm/civicrm-core/pull/26480))**
+- **Remove unused functions from `AuthorizeNetIPN`
+ ([26597](https://github.com/civicrm/civicrm-core/pull/26597))**
-- **SearchKit - Tidy up admin buttons and table header sort icons ([26483](https://github.com/civicrm/civicrm-core/pull/26483))**
+- **Simplify use of contribution - we are only looking at status
+ ([26589](https://github.com/civicrm/civicrm-core/pull/26589))**
-- **Lower-case field name uf_group.post_URL, cancel_URL ([26460](https://github.com/civicrm/civicrm-core/pull/26460))**
+- **Extract getContributionRecur, clean up input input...
+ ([26586](https://github.com/civicrm/civicrm-core/pull/26586))**
-- **SearchKit - Fix saving created/modified fields ([26484](https://github.com/civicrm/civicrm-core/pull/26484))**
+- **Drop unused table civicrm_action_mapping
+ ([26646](https://github.com/civicrm/civicrm-core/pull/26646))**
-- **Remove redundant variable declared in the parent class ([26482](https://github.com/civicrm/civicrm-core/pull/26482))**
+- **Remove copy-and-paste comment
+ ([26652](https://github.com/civicrm/civicrm-core/pull/26652))**
-- **Attempt to fix some form notices on Contact Edit form new contact ([26481](https://github.com/civicrm/civicrm-core/pull/26481))**
+- **Why?
+ ([26588](https://github.com/civicrm/civicrm-core/pull/26588))**
-- **dev/core#4254 - Add autoOpen feature to SearchKit 'addNew' button ([26470](https://github.com/civicrm/civicrm-core/pull/26470))**
+- **Remove ids Variable that is dumb
+ ([26582](https://github.com/civicrm/civicrm-core/pull/26582))**
-- **dev/core#3961 - Move component Api4 files to component extensions ([26208](https://github.com/civicrm/civicrm-core/pull/26208))**
+- **Fix a couple more places to use the new event trait
+ ([26486](https://github.com/civicrm/civicrm-core/pull/26486))**
-- **dev/core#4327 Possible fix for GroupTest occasional failures ([26478](https://github.com/civicrm/civicrm-core/pull/26478))**
+- **Move code to complete `repeatTransation` into that function
+ ([26555](https://github.com/civicrm/civicrm-core/pull/26555))**
-- **Use EventTest helpers (a few more places) ([26477](https://github.com/civicrm/civicrm-core/pull/26477))**
+- **APIv4 - Deprecate unused event
+ ([26537](https://github.com/civicrm/civicrm-core/pull/26537))**
-- **Fix PHP warnings on front end Register ([26476](https://github.com/civicrm/civicrm-core/pull/26476))**
+- **SearchKit - Reuse helpers from CRM_Core_Action
+ ([26663](https://github.com/civicrm/civicrm-core/pull/26663))**
-- **CiviEventDispatcher::dispatch() - add deprecation warning for deprecated event class ([26338](https://github.com/civicrm/civicrm-core/pull/26338))**
+- **Delete unused tpl file
+ ([26671](https://github.com/civicrm/civicrm-core/pull/26671))**
-- **Fix UTC offsets when retrieving timezone string in WordPress ([298](https://github.com/civicrm/civicrm-wordpress/pull/298))**
+- **Add self to contributors
+ ([26584](https://github.com/civicrm/civicrm-core/pull/26584))**
-- **Merge 5.63 to master ([297](https://github.com/civicrm/civicrm-wordpress/pull/297))**
+- **Duplicate the few lines of shared code between `completeOrder` into
+ `repeatTransaction`
+ ([26556](https://github.com/civicrm/civicrm-core/pull/26556))**
-- **[REF][PHP8.2] IDS fixes for dynamic property deprecation ([363](https://github.com/civicrm/civicrm-packages/pull/363))**
+- **FlexMailer\Listener\OpenTracker: remove deprecated isLegacy check
+ ([26526](https://github.com/civicrm/civicrm-core/pull/26526))**
-## <a name="misc"></a>Miscellany
+- **Remove unused variables, fix a couple of ==
+ ([26734](https://github.com/civicrm/civicrm-core/pull/26734))**
+
+- **Remove unreachable code in event registration templates for tax total
+ ([26492](https://github.com/civicrm/civicrm-core/pull/26492) and
+ [26512](https://github.com/civicrm/civicrm-core/pull/26512))**
+
+- **Remove stray semi-colon
+ ([26490](https://github.com/civicrm/civicrm-core/pull/26490))**
+
+- **Remove obsolete comment
+ ([26489](https://github.com/civicrm/civicrm-core/pull/26489))**
+
+- **Remove redundant variable declared in the parent class
+ ([26482](https://github.com/civicrm/civicrm-core/pull/26482))**
+
+- **CiviEventDispatcher::dispatch() - add deprecation warning for deprecated
+ event class ([26338](https://github.com/civicrm/civicrm-core/pull/26338))**
+
+- **REF - Auto-generate links for CRM_Core_Page_Basic
+ ([26644](https://github.com/civicrm/civicrm-core/pull/26644))**
+
+- **[REF] Don't add Contacts to Groups they are already Added to on Edit
+ ([26519](https://github.com/civicrm/civicrm-core/pull/26519))**
+
+- **[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters
+ ([26508](https://github.com/civicrm/civicrm-core/pull/26508))**
+
+- **[REF] Use writeRecord in the revert function of MessageTemplate to ensure
+ that pre and post hooks are called
+ ([26754](https://github.com/civicrm/civicrm-core/pull/26754))**
+
+- **REF - Replace CRM_Utils_Array::value with ??
+ ([26731](https://github.com/civicrm/civicrm-core/pull/26731))**
+
+- **[REF] Autoformat php short array syntax
+ ([26724](https://github.com/civicrm/civicrm-core/pull/26724))**
+
+- **[REF] Remove unnecessary CRM_Utils_Array::value and use short array syntax
+ ([26723](https://github.com/civicrm/civicrm-core/pull/26723))**
+
+- **[REF] Code cleanup; remove unused vars and remove CRM_Utils_Array::value
+ ([26714](https://github.com/civicrm/civicrm-core/pull/26714))**
+
+- **(REF) Simplify some more installation data
+ ([26675](https://github.com/civicrm/civicrm-core/pull/26675))**
+
+- **[REF] Switch a bunch of core pages to use auto-links
+ ([26658](https://github.com/civicrm/civicrm-core/pull/26658))**
+
+- **REF - Code cleanup and notice fixes in scheduled reminders
+ ([26647](https://github.com/civicrm/civicrm-core/pull/26647))**
+
+- **(REF) Convert dynamic translations from `ts()` to `_ts()`
+ ([26595](https://github.com/civicrm/civicrm-core/pull/26595))**
+
+- **[REF] CiviCase - Move more activity logic into case BAO via hook
+ ([26591](https://github.com/civicrm/civicrm-core/pull/26591))**
+
+- **[REF][PHP8.2] IDS fixes for dynamic property deprecation
+ ([363](https://github.com/civicrm/civicrm-packages/pull/363))**
+
+- **[NFC] Update test that's no longer doing what it was doing
+ ([26725](https://github.com/civicrm/civicrm-core/pull/26725))**
+
+- **NFC: standardise ufId to ufID to avoid confusion
+ ([26679](https://github.com/civicrm/civicrm-core/pull/26679))**
+
+- **[NFC] Change PHPDoc return type (findById)
+ ([26504](https://github.com/civicrm/civicrm-core/pull/26504))**
+
+- **NFC: Add debug level log message when afform submissions catch exceptions
+ ([26741](https://github.com/civicrm/civicrm-core/pull/26741))**
+
+- **Use EventTest helpers (a few more places)
+ ([26477](https://github.com/civicrm/civicrm-core/pull/26477))**
+
+- **Remove now unsed createEvent test function from test baseClass
+ ([26717](https://github.com/civicrm/civicrm-core/pull/26717))**
+
+- **Remove some unused test functions
+ ([26720](https://github.com/civicrm/civicrm-core/pull/26720))**
+
+- **Fix ChangeFeeSelectionTest to use eventCreatePaid
+ ([26709](https://github.com/civicrm/civicrm-core/pull/26709))**
+
+- **Install SK as part of headless test baseline
+ ([26712](https://github.com/civicrm/civicrm-core/pull/26712))**
+
+- **Fix participantTest class to call createEventPaid
+ ([26540](https://github.com/civicrm/civicrm-core/pull/26540))**
+
+- **[Test] Clean up payment processors when cleaning up other related entities
+ ([26640](https://github.com/civicrm/civicrm-core/pull/26640))**
+
+- **Use eventCreateUnpaid in participantCreate
+ ([26708](https://github.com/civicrm/civicrm-core/pull/26708))**
+
+- **Fix test to not use brittle xml, remove redundant crud tests
+ ([26648](https://github.com/civicrm/civicrm-core/pull/26648))**
+
+- **Update UFJoin test to not use brittle xml set up
+ ([26645](https://github.com/civicrm/civicrm-core/pull/26645))**
+
+- **Fix some test cleanup routines
+ ([26634](https://github.com/civicrm/civicrm-core/pull/26634))**
+
+- **Fix ACLPermissionTrait to use EventTest create function
+ ([26707](https://github.com/civicrm/civicrm-core/pull/26707))**
+
+- **Fix test to use created workflow
+ ([26655](https://github.com/civicrm/civicrm-core/pull/26655))**
+
+- **Remove duplicate test
+ ([26568](https://github.com/civicrm/civicrm-core/pull/26568))**
+
+- **Superficial clean up in test class
+ ([26559](https://github.com/civicrm/civicrm-core/pull/26559))**
+
+- **Very minor test cleanup
+ ([26635](https://github.com/civicrm/civicrm-core/pull/26635))**
+
+- **Test cleanup in BAO_ParticipantTest
+ ([26704](https://github.com/civicrm/civicrm-core/pull/26704))**
+
+- **[Tests] Fix a few more places to use eventTrait & remove `legacyEventCreate`
+ ([26701](https://github.com/civicrm/civicrm-core/pull/26701))**
+
+- **Cleanup AdditionalPaymentTest to use event trait
+ ([26570](https://github.com/civicrm/civicrm-core/pull/26570))**
+
+- **Fix Invoice test to user EventTestTrait, require less in order API
+ ([26543](https://github.com/civicrm/civicrm-core/pull/26543))**
+
+- **[TEST] APIv4 - Include CiviGrant in conformance tests
+ ([26511](https://github.com/civicrm/civicrm-core/pull/26511))**
+
+- **Include `entityTrait` in `ContactTestTrait`
+ ([26715](https://github.com/civicrm/civicrm-core/pull/26715))**
+
+- **Cleanup Apiv3-UfField test
+ ([26638](https://github.com/civicrm/civicrm-core/pull/26638))**
+
+- **Php8-proof SMSCommonTest
+ ([26545](https://github.com/civicrm/civicrm-core/pull/26545))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra Purohit, Mike Beck; iXiam - Vangelis Pantazis; JMA Consulting - Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Reflexive Communications - Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; The University of the West Indies - Howard Shand; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green
+AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Artful Robot - Rich
+Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor;
+Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep
+Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop
+SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra Purohit,
+Mike Beck; iXiam - Vangelis Pantazis; JMA Consulting - Seamus Lee; Megaphone
+Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
+Progressive Technology Project - Jamie McClelland; Reflexive Communications -
+Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin
+Cristiano; The University of the West Indies - Howard Shand; Wikimedia
+Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Justin Freeman; ALL IN APPLI admin; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; Christian Wach; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie McClelland; Reflexive Communications - Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; TobiasVoigt; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green; ziljah
+ALL IN APPLI admin; Fuzion - Luke Stewart; JMA Consulting - Monish Deb; Oxfam
+Germany - Thomas Schüttler; Tobias Voigt; ziljah
## <a name="feedback"></a>Feedback