| *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
+### CiviCRM Core
-### Core CiviCRM
+- **Add Entity Reference custom field type (implementing EntityRef QuickForm
+ element type)
+ ([dev/core#3721](https://lab.civicrm.org/dev/core/-/issues/3721):
+ [25471](https://github.com/civicrm/civicrm-core/pull/25471))**
+
+ Adds a new type of custom field "EntityReference" which creates an
+ autocomplete widget.
+
+- **Add 'SavePoint' to import to statusBounce back to
+ ([25602](https://github.com/civicrm/civicrm-core/pull/25602))**
-- **Load submitted `fieldSeparator` on back on `Import Datasource` screen ([25758](https://github.com/civicrm/civicrm-core/pull/25758))**
+ Adds a 'SavePoint' to import so that the user can be bounced back to the save
+ point if the import fails later down the road.
-- **Remove the correct extraneous field separator field ([25753](https://github.com/civicrm/civicrm-core/pull/25753))**
+- **SearchKit: Decide on available actions per display (funded)
+ ([dev/core#4118](https://lab.civicrm.org/dev/core/-/issues/4118):
+ [25521](https://github.com/civicrm/civicrm-core/pull/25521))**
-- **PayPal Prp IPN - Fix incorrect option_group update ([25724](https://github.com/civicrm/civicrm-core/pull/25724))**
+ Allows the admin to limit the available choices of bulk actions (tasks) in a
+ Search Display.
-- **Fix for 5.59 upgrade on multilingual ([25733](https://github.com/civicrm/civicrm-core/pull/25733))**
+- **Make dedupe exceptions searchable in SearchKit
+ ([25522](https://github.com/civicrm/civicrm-core/pull/25522))**
-- **Contribution pages crash for logged-in users when CiviMember is disabled ([25729](https://github.com/civicrm/civicrm-core/pull/25729))**
+ Makes dedupe exceptions searchable in SearchKit.
-- **(dev/core#4147) Add test and fix for various flaky tokens ([25704](https://github.com/civicrm/civicrm-core/pull/25704))**
+- **Filter Searches by 'is_current' / expires_date (Work Towards
+ [dev/core#4117](https://lab.civicrm.org/dev/core/-/issues/4117):
+ [25516](https://github.com/civicrm/civicrm-core/pull/25516))**
-- **dev/core#4145 Prevent fatal on event sched reminders when CiviEvent enabled ([25703](https://github.com/civicrm/civicrm-core/pull/25703))**
+ Adds `is_current` filter to searches.
-- **Stricter typing in Apiv4 ([25706](https://github.com/civicrm/civicrm-core/pull/25706))**
+- **Log Smarty debug to it's own channel
+ ([25682](https://github.com/civicrm/civicrm-core/pull/25682))**
-- **Remove deprecated function calls to Event::del, Membership functions del, OptionValue ([25705](https://github.com/civicrm/civicrm-core/pull/25705))**
+ Makes it so output from smarty secure mode goes into it's own file.
-- **5.59 ([25702](https://github.com/civicrm/civicrm-core/pull/25702))**
+- **Allow OAuth redirect URI to be overridden in client or provider config
+ ([25445](https://github.com/civicrm/civicrm-core/pull/25445))**
-- **Remove deprecated use of $ids ([25698](https://github.com/civicrm/civicrm-core/pull/25698))**
+ Makes the oauth-client extension respect whatever Redirect URI is set in the
+ "client" or "provider" configuration.
-- **5.59 to master ([25699](https://github.com/civicrm/civicrm-core/pull/25699))**
+- **Make `activity_type_id` available to `links` hook, test
+ ([25565](https://github.com/civicrm/civicrm-core/pull/25565))**
-- **Delete long-deprecated functions ([25696](https://github.com/civicrm/civicrm-core/pull/25696))**
+ Improves hook_civicrm_links by making activity_type_id available (in relevant
+ contexts).
-- **Pull over a few more deprecations + blockDelete deprecation ([25695](https://github.com/civicrm/civicrm-core/pull/25695))**
+- **Add setting to disable Smarty in Scheduled reminders
+ ([dev/core#4100](https://lab.civicrm.org/dev/core/-/issues/4100):
+ [25444](https://github.com/civicrm/civicrm-core/pull/25444))**
-- **Address portions of deprecated code replacement ([25693](https://github.com/civicrm/civicrm-core/pull/25693))**
+ Adds a setting to disable Smarty in Scheduled reminders.
-- **Deprecations for Mailing::delete functions ([25691](https://github.com/civicrm/civicrm-core/pull/25691))**
+### CiviCase
-- **Deprecations for delete on ACL entities ([25690](https://github.com/civicrm/civicrm-core/pull/25690))**
+- **Afform: Allow selecting case for relationship
+ ([25618](https://github.com/civicrm/civicrm-core/pull/25618))**
-- **Remove deprecated functions from tests ([25688](https://github.com/civicrm/civicrm-core/pull/25688))**
+ Makes it so one can select a case for a relationship on Afforms.
-- **Remove 2020-deprecated handling of `legacyAddressCreate` ([25686](https://github.com/civicrm/civicrm-core/pull/25686))**
+### CiviContribute
-- **Remove function noisily deprecated when the world was young (2020) ([25685](https://github.com/civicrm/civicrm-core/pull/25685))**
+- **Add filter on pledge payment in contribution report templates
+ ([dev/core#4106](https://lab.civicrm.org/dev/core/-/issues/4106):
+ [25629](https://github.com/civicrm/civicrm-core/pull/25629))**
-- **Remove deprecated function call ([25684](https://github.com/civicrm/civicrm-core/pull/25684))**
+ Adds a pledge payment filter to the Contribution Detail and Summary reports.
-- **Afform - Filter autocomplete fields belonging to a search display ([25646](https://github.com/civicrm/civicrm-core/pull/25646))**
+- **PaymentProcessor - Use ajax refresh
+ ([25512](https://github.com/civicrm/civicrm-core/pull/25512))**
-- **dev/core#4146 Remove (old) Smarty-forward incompatible syntax from Address.tpl ([25669](https://github.com/civicrm/civicrm-core/pull/25669))**
+ Makes page refresh a bit nicer when changing payment processor types on the
+ admin form.
-- **Add gentle deprecation to `debug_log_message` ([25683](https://github.com/civicrm/civicrm-core/pull/25683))**
+### CiviMail
-- **Log Smarty debug to it's own channel ([25682](https://github.com/civicrm/civicrm-core/pull/25682))**
+- **HTML definition for subscription history date
+ ([25655](https://github.com/civicrm/civicrm-core/pull/25655))**
-- **Smarty notice fix on bank_account_number ([25680](https://github.com/civicrm/civicrm-core/pull/25680))**
+ Adds an HTML type to the "Group Membership Action Date" field so it can be
+ used in FormBuilder as a filter.
-- **Remove unnecessary pass-by-reference ([25678](https://github.com/civicrm/civicrm-core/pull/25678))**
+### Drupal Integration
-- **Remove code deprecated in 2018 ([25679](https://github.com/civicrm/civicrm-core/pull/25679))**
+- **Epic: Drupal 10 readiness (Work Towards
+ [dev/drupal#176](https://lab.civicrm.org/dev/drupal/-/issues/176):
+ [25499](https://github.com/civicrm/civicrm-core/pull/25499) and
+ [25054](https://github.com/civicrm/civicrm-core/pull/25054))**
-- **Remove empty on location - it should always be set now ([25675](https://github.com/civicrm/civicrm-core/pull/25675))**
+ Work towards drupal 10 readiness by allowing symfony 6.
-- **Afform: Allow selecting case for relationship ([25618](https://github.com/civicrm/civicrm-core/pull/25618))**
+- **CMS Database Integration - Per-table prefixes are no longer supported
+ ([dev/core#4028](https://lab.civicrm.org/dev/core/-/issues/4028):
+ [25328](https://github.com/civicrm/civicrm-core/pull/25328))**
-- **Fix e-notice pattern around location not defined in formButtons.tpl ([25668](https://github.com/civicrm/civicrm-core/pull/25668))**
+ Makes the CRM_Admin_Form_Setting_UF more CMS agnostic by removing the Drupal
+ 7 mapping table.
-- **closes core#4070 - respect default return path ([25309](https://github.com/civicrm/civicrm-core/pull/25309))**
+## <a name="bugs"></a>Bugs resolved
-- **dev/core#4127 move cms user parameters to userSystem ([25585](https://github.com/civicrm/civicrm-core/pull/25585))**
+### Core CiviCRM
-- **SearchKit - Clarify how to view SQL output ([25671](https://github.com/civicrm/civicrm-core/pull/25671))**
+- **Make 5.60 upgrade rerunnable
+ ([25950](https://github.com/civicrm/civicrm-core/pull/25950))**
-- **Remove unused variables ([25670](https://github.com/civicrm/civicrm-core/pull/25670))**
+- **Import search authorization issues
+ ([dev/core#4184](https://lab.civicrm.org/dev/core/-/issues/4184):
+ [25810](https://github.com/civicrm/civicrm-core/pull/25810))**
-- **Remove unused property - not used since import code refactor `_lineCount` ([25466](https://github.com/civicrm/civicrm-core/pull/25466))**
+- **Individual's Employer and Membership by Relationship Are Not Updated After
+ Merging Their Organization
+ ([dev/core#4156](https://lab.civicrm.org/dev/core/-/issues/4156):
+ [25778](https://github.com/civicrm/civicrm-core/pull/25778))**
-- **Remove conditional assignment around `is_deductible` ([25237](https://github.com/civicrm/civicrm-core/pull/25237))**
+- **Fatal error on merge
+ ([dev/core#4197](https://lab.civicrm.org/dev/core/-/issues/4197):
+ [25912](https://github.com/civicrm/civicrm-core/pull/25912))**
-- **Event test cleanup, fix test to use submitted form values, rather than require a lot of contorting ([25621](https://github.com/civicrm/civicrm-core/pull/25621))**
+- **Finish making legacycustomsearches optional (Work Towards
+ [dev/core#4112](https://lab.civicrm.org/dev/core/-/issues/4112):
+ [25392](https://github.com/civicrm/civicrm-core/pull/25392))**
-- **Extend testing for ContributionConfirm & consolidate `isSeparateMembershipPayment` ([25270](https://github.com/civicrm/civicrm-core/pull/25270))**
+ Privatize `prevNextCache` functions.
-- **Fix mixin to use `addTemplateDir` ([25667](https://github.com/civicrm/civicrm-core/pull/25667))**
+- **Administrator > Communications > Schedule Reminders error when CiviEvent
+ disabled ([dev/core#4145](https://lab.civicrm.org/dev/core/-/issues/4145):
+ [25703](https://github.com/civicrm/civicrm-core/pull/25703))**
-- **Add noisy deprecation to deprecated function, after universe search ([25662](https://github.com/civicrm/civicrm-core/pull/25662))**
+- **Upgrade Smarty
+ (Work Towards [dev/core#4146](https://lab.civicrm.org/dev/core/-/issues/4146):
+ [25669](https://github.com/civicrm/civicrm-core/pull/25669))**
-- **(NFC) crmURL - Add examples and whitespace. Crosslink docs. ([25665](https://github.com/civicrm/civicrm-core/pull/25665))**
+ Removes (old) Smarty-forward incompatible syntax from Address.tpl.
-- **Remove forward incompatible syntax from template ([25664](https://github.com/civicrm/civicrm-core/pull/25664))**
+- **When using PHP 8.1, the Contact token for the Address State / Province field
+ returns no value when used in Message Templates. Works fine on PHP 7.4
+ ([dev/core#4147](https://lab.civicrm.org/dev/core/-/issues/4147):
+ [25704](https://github.com/civicrm/civicrm-core/pull/25704))**
-- **Add `crmUrl function` to smarty in the standard way ([25661](https://github.com/civicrm/civicrm-core/pull/25661))**
+- **Fix for 5.59 upgrade on multilingual
+ ([25733](https://github.com/civicrm/civicrm-core/pull/25733))**
-- **run `civix update` on `recaptcha`, `legacyCustomSearches`, `financialacls` ([25663](https://github.com/civicrm/civicrm-core/pull/25663))**
+- **Load submitted `fieldSeparator` on back on `Import Datasource` screen
+ ([25758](https://github.com/civicrm/civicrm-core/pull/25758))**
-- **ext/* - General update to civix v23.02.0 ([25659](https://github.com/civicrm/civicrm-core/pull/25659))**
+- **API4: Allow save() to match on null values
+ ([24971](https://github.com/civicrm/civicrm-core/pull/24971))**
-- **Smarty - {htxt} blocks should not be evaluated unless needed ([25653](https://github.com/civicrm/civicrm-core/pull/25653))**
+- **API v4 explorer: boolean params don't render correctly for CV (short)
+ ([dev/core#4129](https://lab.civicrm.org/dev/core/-/issues/4129):
+ [25589](https://github.com/civicrm/civicrm-core/pull/25589))**
-- **HTML definition for subscription history date ([25655](https://github.com/civicrm/civicrm-core/pull/25655))**
+- **Stricter typing in Apiv4
+ ([25706](https://github.com/civicrm/civicrm-core/pull/25706))**
-- **5.59 ([25660](https://github.com/civicrm/civicrm-core/pull/25660))**
+- **Afform - Fix validateBySavedSearch
+ ([25822](https://github.com/civicrm/civicrm-core/pull/25822))**
-- **Notice fix on preferred_language, when null ([25656](https://github.com/civicrm/civicrm-core/pull/25656))**
+- **Afform: Fix broken syntax for saving reciprocal relationships
+ ([25620](https://github.com/civicrm/civicrm-core/pull/25620))**
-- **Remove legacy handling of locks for discontinued mysql/mariaDB versions ([25654](https://github.com/civicrm/civicrm-core/pull/25654))**
+- **Afform - Fix editing search filters nested within multiple containers
+ ([25742](https://github.com/civicrm/civicrm-core/pull/25742))**
-- **Event registration activity target ([25650](https://github.com/civicrm/civicrm-core/pull/25650))**
+- **Form Builder - autocomplete input does not use configured filtering
+ ([dev/core#4138](https://lab.civicrm.org/dev/core/-/issues/4138):
+ [25646](https://github.com/civicrm/civicrm-core/pull/25646))**
-- **Php8.x compatibility - do not try to count NULL ([25652](https://github.com/civicrm/civicrm-core/pull/25652))**
+- **Filter expired searches from search kit results
+ ([25568](https://github.com/civicrm/civicrm-core/pull/25568))**
-- **Smarty - Fix warnings about 'mb_truncate' modifier ([25651](https://github.com/civicrm/civicrm-core/pull/25651))**
+- **SearchKit - Fix handling of new Custom EntityReference fields
+ ([25927](https://github.com/civicrm/civicrm-core/pull/25927))**
-- **dev/core#4126 - Fix force-url parameters on case dashboard ([25649](https://github.com/civicrm/civicrm-core/pull/25649))**
+- **SearchKit - Clarify how to view SQL output
+ ([25671](https://github.com/civicrm/civicrm-core/pull/25671))**
-- **Allow (some) permissions with colons ([23782](https://github.com/civicrm/civicrm-core/pull/23782))**
+- **Always show "add more buttons" dropdown in searchkit view
+ ([25596](https://github.com/civicrm/civicrm-core/pull/25596))**
-- **Update Smarty addTemplateDir function signature to future smarty ([25248](https://github.com/civicrm/civicrm-core/pull/25248))**
+- **Make job ID accessible to searchkit for joblog
+ ([24746](https://github.com/civicrm/civicrm-core/pull/24746))**
-- **(dev/core#4106) Add filter on pledge payment in contribution report t… ([25629](https://github.com/civicrm/civicrm-core/pull/25629))**
+- **Add Activity Target consistently
+ ([dev/core#4142](https://lab.civicrm.org/dev/core/-/issues/4142):
+ [25650](https://github.com/civicrm/civicrm-core/pull/25650))**
-- **Reduce processing load in test `assertAPIFailure` ([25648](https://github.com/civicrm/civicrm-core/pull/25648))**
+- **Allow (some) permissions with colons
+ ([23782](https://github.com/civicrm/civicrm-core/pull/23782))**
-- **Deprecate unused, exception class with non-standard name-spacing ([25641](https://github.com/civicrm/civicrm-core/pull/25641))**
+- **Update Smarty addTemplateDir function signature to future smarty
+ ([25248](https://github.com/civicrm/civicrm-core/pull/25248))**
-- **Make job ID accessible to searchkit for joblog ([24746](https://github.com/civicrm/civicrm-core/pull/24746))**
+- **Add `crmUrl function` to smarty in the standard way
+ ([25661](https://github.com/civicrm/civicrm-core/pull/25661))**
-- **dev/core#4127 move Drupal stuff in getCiviSourceStorage to Drupal use… ([25587](https://github.com/civicrm/civicrm-core/pull/25587))**
+- **Reduce unneeded DNS queries during OAuth flow
+ ([25446](https://github.com/civicrm/civicrm-core/pull/25446))**
-- **Fix add version for civicrm_custom_field.fk_entity ([25642](https://github.com/civicrm/civicrm-core/pull/25642))**
+- **Angular Coder: Fix unescaping of quotes breaking attributes
+ ([25630](https://github.com/civicrm/civicrm-core/pull/25630))**
-- **Fix handling of invalid sql query during import ([25600](https://github.com/civicrm/civicrm-core/pull/25600))**
+- **EntityRef - Format custom field display value on QuickForms
+ ([25632](https://github.com/civicrm/civicrm-core/pull/25632))**
-- **5.59 to master ([25640](https://github.com/civicrm/civicrm-core/pull/25640))**
+- **getStatus() should be returning a string
+ ([25441](https://github.com/civicrm/civicrm-core/pull/25441))**
-- **Fix master-only regression - upgrade script is in wrong version ([25638](https://github.com/civicrm/civicrm-core/pull/25638))**
+- **Regression: Fix DB syntax error on Parse address scheduled job
+ ([25616](https://github.com/civicrm/civicrm-core/pull/25616))**
-- **dev/core#4127 move is_drupal to use userSystem logger ([25573](https://github.com/civicrm/civicrm-core/pull/25573))**
+- **update entity mapping logic for profile fields to include contact subtypes
+ ([25570](https://github.com/civicrm/civicrm-core/pull/25570))**
-- **5.59 ([25637](https://github.com/civicrm/civicrm-core/pull/25637))**
+- **Smarty {ts} - For extensions, use fallback similar to E::ts() and JS ts()
+ ([25383](https://github.com/civicrm/civicrm-core/pull/25383))**
-- **Add 'SavePoint' to import to statusBounce back to ([25602](https://github.com/civicrm/civicrm-core/pull/25602))**
+- **Disambiguate `Address.state_province_id:abbr` (PHP asort)
+ ([25552](https://github.com/civicrm/civicrm-core/pull/25552) and
+ [25550](https://github.com/civicrm/civicrm-core/pull/25550))**
-- **Move form specific code to the form ([25457](https://github.com/civicrm/civicrm-core/pull/25457))**
+- **Default to supporting partial locales
+ ([25063](https://github.com/civicrm/civicrm-core/pull/25063))**
-- **Make dedupe exceptions searchable in SearchKit ([25522](https://github.com/civicrm/civicrm-core/pull/25522))**
+- **Do not use reference for Object parameter, death to `_NULLObject`
+ ([25541](https://github.com/civicrm/civicrm-core/pull/25541))**
-- **E-notice fix Ical display ([25612](https://github.com/civicrm/civicrm-core/pull/25612))**
+- **only load dedupe rules for the chosen entity
+ ([25515](https://github.com/civicrm/civicrm-core/pull/25515))**
-- **dev/core#4112 Privatise `prevNextCache` functions ([25392](https://github.com/civicrm/civicrm-core/pull/25392))**
+- **A couple of minor smarty notice fixes
+ ([25514](https://github.com/civicrm/civicrm-core/pull/25514))**
-- **Reduce unneeded DNS queries during OAuth flow ([25446](https://github.com/civicrm/civicrm-core/pull/25446))**
+- **Use mysql DATABASE() function instead of php code
+ ([25530](https://github.com/civicrm/civicrm-core/pull/25530))**
-- **composer require --dev yoast/phpunit-polyfills ([25631](https://github.com/civicrm/civicrm-core/pull/25631))**
+- **Use `DATABASE()` function rather than lossa code
+ ([25528](https://github.com/civicrm/civicrm-core/pull/25528))**
-- **Extra deprecation for clarity on token function `convertPseudoConstantsUsingMetadata` ([25511](https://github.com/civicrm/civicrm-core/pull/25511))**
+- **Fix more schema checks to use mysql DATABASE() function, deprecate php
+ function ([25593](https://github.com/civicrm/civicrm-core/pull/25593))**
-- **Angular Coder: Fix unescaping of quotes breaking attributes ([25630](https://github.com/civicrm/civicrm-core/pull/25630))**
+- **Fix a couple more places to use mysql DATABASE() function
+ ([25537](https://github.com/civicrm/civicrm-core/pull/25537))**
-- **EntityRef - Format custom field display value on QuickForms ([25632](https://github.com/civicrm/civicrm-core/pull/25632))**
+- **Fix Scheduled reminders form to use tokenProcessor to get token list
+ ([25052](https://github.com/civicrm/civicrm-core/pull/25052))**
-- **Add new EntityReference custom field type ([25471](https://github.com/civicrm/civicrm-core/pull/25471))**
+- **fix the id help instead use class help
+ ([25487](https://github.com/civicrm/civicrm-core/pull/25487))**
-- **getStatus() should be returning a string ([25441](https://github.com/civicrm/civicrm-core/pull/25441))**
+- **Fix user profile file fields not saving.
+ ([80](https://github.com/civicrm/civicrm-drupal-8/pull/80))**
-- **Add setting to disable Smarty in scheduled reminders ([25444](https://github.com/civicrm/civicrm-core/pull/25444))**
+- **Fix fatal error on upgrade success screen
+ ([25554](https://github.com/civicrm/civicrm-core/pull/25554))**
-- **Regression: Fix DB syntax error on Parse address scheduled job ([25616](https://github.com/civicrm/civicrm-core/pull/25616))**
+- **Typo executequery => executeQuery
+ ([25539](https://github.com/civicrm/civicrm-core/pull/25539))**
-- **Afform: Fix broken syntax for saving reciprocal relationships ([25620](https://github.com/civicrm/civicrm-core/pull/25620))**
+- **Smarty - Fix warnings about 'mb_truncate' modifier
+ ([25651](https://github.com/civicrm/civicrm-core/pull/25651))**
-- **Always show "add more buttons" dropdown in searchkit view ([25596](https://github.com/civicrm/civicrm-core/pull/25596))**
+- **Smarty - {htxt} blocks should not be evaluated unless needed
+ ([25653](https://github.com/civicrm/civicrm-core/pull/25653))**
-- **[REF][PHP8.2] Remove unnecessary dynamic property ([25622](https://github.com/civicrm/civicrm-core/pull/25622))**
+- **Smarty notice fix
+ ([25544](https://github.com/civicrm/civicrm-core/pull/25544))**
-- **[REF][PHP8.2] Fix use of self in callables deprecation ([25625](https://github.com/civicrm/civicrm-core/pull/25625))**
+- **E-notice fix Ical display
+ ([25612](https://github.com/civicrm/civicrm-core/pull/25612))**
-- **[REF][PHP8.2] Tidy up properties on api_v3_GroupContactTest ([25626](https://github.com/civicrm/civicrm-core/pull/25626))**
+- **Fix e-notice pattern around location not defined in formButtons.tpl
+ ([25668](https://github.com/civicrm/civicrm-core/pull/25668))**
-- **[REF][PHP8.2] Tidy up properties in CRM_Event_BAO_EventPermissionsTest ([25623](https://github.com/civicrm/civicrm-core/pull/25623))**
+- **Fix Contact import e-notice on preview screen
+ ([25302](https://github.com/civicrm/civicrm-core/pull/25302))**
-- **(REF) Remove test reference to property which no longer exists ([25624](https://github.com/civicrm/civicrm-core/pull/25624))**
+- **Fix mixin to use `addTemplateDir`
+ ([25667](https://github.com/civicrm/civicrm-core/pull/25667))**
-- **Php8.2 test fix, remove one instance of undeclared property ([25619](https://github.com/civicrm/civicrm-core/pull/25619))**
+- **Fix add version for civicrm_custom_field.fk_entity
+ ([25642](https://github.com/civicrm/civicrm-core/pull/25642))**
-- **Stop loading unused `relatedObjects` ([25617](https://github.com/civicrm/civicrm-core/pull/25617))**
+- **Fix handling of invalid sql query during import
+ ([25600](https://github.com/civicrm/civicrm-core/pull/25600))**
-- **[NFC] doc block fix ([25610](https://github.com/civicrm/civicrm-core/pull/25610))**
+- **Enotice fix, pledge block on UserDashboard
+ ([25546](https://github.com/civicrm/civicrm-core/pull/25546))**
-- **dev/core#4127 move mailing workflow check to userSystem ([25586](https://github.com/civicrm/civicrm-core/pull/25586))**
+- **Notice fix on preferred_language, when null
+ ([25656](https://github.com/civicrm/civicrm-core/pull/25656))**
-- **Remove function deprecated a year ago ([25615](https://github.com/civicrm/civicrm-core/pull/25615))**
+### CiviCase
-- **Fix test to test the thing it was written to test ([25608](https://github.com/civicrm/civicrm-core/pull/25608))**
+- **PHP8: Delete Case link causes fatal error
+ ([dev/core#4190](https://lab.civicrm.org/dev/core/-/issues/4190):
+ [25849](https://github.com/civicrm/civicrm-core/pull/25849))**
-- **[NFC] php8.2 support in test class `ActivitySearchTest` ([25607](https://github.com/civicrm/civicrm-core/pull/25607))**
+- **CiviCase Dashboard exports all records instead of the results
+ ([dev/core#4126](https://lab.civicrm.org/dev/core/-/issues/4126):
+ [25649](https://github.com/civicrm/civicrm-core/pull/25649))**
-- **distmaker - Fix export of WordPress patches ([25599](https://github.com/civicrm/civicrm-core/pull/25599))**
+### CiviContribute
-- **Make private function private ([25604](https://github.com/civicrm/civicrm-core/pull/25604))**
+- **Around 5.49 pan_truncation and card_type_id (containing card type VISA/MC
+ and last 4 digits last four digits stopped getting recorded
+ ([dev/core#4029](https://lab.civicrm.org/dev/core/-/issues/4029):
+ [25963](https://github.com/civicrm/civicrm-core/pull/25963))**
-- **Disambiguate `Address.state_province_id:abbr` ([25550](https://github.com/civicrm/civicrm-core/pull/25550))**
+- **Contribution Confirm incorrectly debit card information even if using
+ credit card ([dev/core#4189](https://lab.civicrm.org/dev/core/-/issues/4189):
+ [25910](https://github.com/civicrm/civicrm-core/pull/25910))**
-- **update entity mapping logic for profile fields to include contact subtypes ([25570](https://github.com/civicrm/civicrm-core/pull/25570))**
+- **Import contribution fails if using soft-credit and a row has an empty field
+ ([dev/core#4166](https://lab.civicrm.org/dev/core/-/issues/4166):
+ [25806](https://github.com/civicrm/civicrm-core/pull/25806))**
-- **Allow OAuth redirect URI to be overridden in client or provider config ([25445](https://github.com/civicrm/civicrm-core/pull/25445))**
+- **Fix empty values of Note on Import contribution
+ ([25569](https://github.com/civicrm/civicrm-core/pull/25569))**
-- **(REF) Tidy up unused params in api_v3_ContributionSoftTest ([25322](https://github.com/civicrm/civicrm-core/pull/25322))**
+- **Fix for issue when optional contact_id is blank importing contributions
+ ([25897](https://github.com/civicrm/civicrm-core/pull/25897))**
-- **APIv4 - Limited support for casting ([25595](https://github.com/civicrm/civicrm-core/pull/25595))**
+- **New PaypalPro Recurring Payments (PPRP) creating duplicate contributions
+ and inaccurate status
+ ([dev/core#4158](https://lab.civicrm.org/dev/core/-/issues/4158):
+ [25775](https://github.com/civicrm/civicrm-core/pull/25775))**
-- **Remove unused constants left over from import cleanup ([25601](https://github.com/civicrm/civicrm-core/pull/25601))**
+- **PayPal Prp IPN - Fix incorrect option_group update
+ ([25724](https://github.com/civicrm/civicrm-core/pull/25724))**
-- **api4 explorer: make boolean params work in cv (short syntax) ([25589](https://github.com/civicrm/civicrm-core/pull/25589))**
+- **CiviContribute - Fix warning about 'suppressedEmails' when generating PDF
+ ([25576](https://github.com/civicrm/civicrm-core/pull/25576))**
-- **Disambiguate `Address.state_province_id:abbr` (PHP asort) ([25552](https://github.com/civicrm/civicrm-core/pull/25552))**
+- **Contribution pages crash for logged-in users when CiviMember is disabled
+ ([25729](https://github.com/civicrm/civicrm-core/pull/25729))**
-- **Filter expired searches from search kit results ([25568](https://github.com/civicrm/civicrm-core/pull/25568))**
+- **Enotice fix on userDashboard with contributions, replace deprecated
+ functions with api4v calls
+ ([24861](https://github.com/civicrm/civicrm-core/pull/24861))**
-- **Fix empty values of Note on Import contribution ([25569](https://github.com/civicrm/civicrm-core/pull/25569))**
+- **Smarty notice fix on bank_account_number
+ ([25680](https://github.com/civicrm/civicrm-core/pull/25680))**
-- **Deprecate unused `CRM_Core_BAO_UFField::copy()` function ([25594](https://github.com/civicrm/civicrm-core/pull/25594))**
+- **AJAX error when sorting soft credit by name or date
+ ([dev/core#4187](https://lab.civicrm.org/dev/core/-/issues/4187):
+ [25846](https://github.com/civicrm/civicrm-core/pull/25846))**
-- **dev/core#4127 move ipAddress to userSystem ([25572](https://github.com/civicrm/civicrm-core/pull/25572))**
+### CiviEvent
-- **Fix more schema checks to use mysql DATABASE() function, deprecate php function ([25593](https://github.com/civicrm/civicrm-core/pull/25593))**
+- **Can't create new events from a template using the API
+ ([dev/core#4205](https://lab.civicrm.org/dev/core/-/issues/4205):
+ [25932](https://github.com/civicrm/civicrm-core/pull/25932))**
-- **Remove empty function ([25592](https://github.com/civicrm/civicrm-core/pull/25592))**
+### CiviMail
-- **Fix Contact import e-notice on preview screen ([25302](https://github.com/civicrm/civicrm-core/pull/25302))**
+- **Mailing Summary Report: support pseudofields
+ ([25560](https://github.com/civicrm/civicrm-core/pull/25560))**
-- **dev/core#4127 use userSystem method to check for Views ([25571](https://github.com/civicrm/civicrm-core/pull/25571))**
+- **FlexMailer: Default Return Path not respected
+ ([dev/core#4070](https://lab.civicrm.org/dev/core/-/issues/4070):
+ [25309](https://github.com/civicrm/civicrm-core/pull/25309))**
-- **[REF] Fix undefined variable notice in WordPress tests ([25591](https://github.com/civicrm/civicrm-core/pull/25591))**
+### Drupal Integration
-- **5.59 ([25590](https://github.com/civicrm/civicrm-core/pull/25590))**
+- **is_drupal: move functionality that calls this deprecated variable to System
+ classes ([dev/core#4127](https://lab.civicrm.org/dev/core/-/issues/4127):
+ [25585](https://github.com/civicrm/civicrm-core/pull/25585),
+ [25571](https://github.com/civicrm/civicrm-core/pull/25571),
+ [25587](https://github.com/civicrm/civicrm-core/pull/25587),
+ [25573](https://github.com/civicrm/civicrm-core/pull/25573),
+ [25586](https://github.com/civicrm/civicrm-core/pull/25586) and
+ [25572](https://github.com/civicrm/civicrm-core/pull/25572))**
-- **5.59 ([25584](https://github.com/civicrm/civicrm-core/pull/25584))**
+### WordPress Integration
-- **5.59 ([25582](https://github.com/civicrm/civicrm-core/pull/25582))**
+- **distmaker - Fix export of WordPress patches
+ ([25599](https://github.com/civicrm/civicrm-core/pull/25599))**
-- **5.59 ([25581](https://github.com/civicrm/civicrm-core/pull/25581))**
+## <a name="misc"></a>Miscellany
-- **CiviContribute - Fix warning about 'suppressedEmails' when generating PDF ([25576](https://github.com/civicrm/civicrm-core/pull/25576))**
+- **Simplify steps of loading SimpleCacheTest from cache/integration-tests
+ ([25942](https://github.com/civicrm/civicrm-core/pull/25942))**
-- **Smarty {ts} - For extensions, use fallback similar to E::ts() and JS ts() ([25383](https://github.com/civicrm/civicrm-core/pull/25383))**
+- **composer require --dev yoast/phpunit-polyfills
+ ([25631](https://github.com/civicrm/civicrm-core/pull/25631))**
-- **Make `activity_type_id` available to `links` hook, test ([25565](https://github.com/civicrm/civicrm-core/pull/25565))**
+- **Move form specific code to the form
+ ([25457](https://github.com/civicrm/civicrm-core/pull/25457))**
-- **Make unshared `getTree` function private, remove never passed params ([25517](https://github.com/civicrm/civicrm-core/pull/25517))**
+- **Make private function private
+ ([25604](https://github.com/civicrm/civicrm-core/pull/25604))**
-- **5.59 to master ([25567](https://github.com/civicrm/civicrm-core/pull/25567))**
+- **Make unshared `getTree` function private, remove never passed params
+ ([25517](https://github.com/civicrm/civicrm-core/pull/25517))**
-- **Preliminary cleanup, comments, type hints ([25564](https://github.com/civicrm/civicrm-core/pull/25564))**
+- **APIv4 - Limited support for casting
+ ([25595](https://github.com/civicrm/civicrm-core/pull/25595))**
-- **dev/core#4076 split up the theme method ([25329](https://github.com/civicrm/civicrm-core/pull/25329))**
+- **Split up CRM_Utils_System_Base::theme
+ ([dev/core#4076](https://lab.civicrm.org/dev/core/-/issues/4076):
+ [25329](https://github.com/civicrm/civicrm-core/pull/25329))**
-- **Fix fatal error on upgrade success screen ([25554](https://github.com/civicrm/civicrm-core/pull/25554))**
+- **Preliminary cleanup, comments, type hints
+ ([25564](https://github.com/civicrm/civicrm-core/pull/25564))**
-- **Mailing Summary Report: support pseudofields ([25560](https://github.com/civicrm/civicrm-core/pull/25560))**
+- **run `civix update` on `recaptcha`, `legacyCustomSearches`, `financialacls`
+ ([25663](https://github.com/civicrm/civicrm-core/pull/25663))**
-- **[REF][PHP8.2] Remove use of dynamic properties in CRM_Contact_Form_Task_EmailTest ([25562](https://github.com/civicrm/civicrm-core/pull/25562))**
+- **ext - General update to civix v23.02.0
+ ([25659](https://github.com/civicrm/civicrm-core/pull/25659))**
-- **[REF][PHP8.2] Get rid of dynamic properties in CRM_Core_Payment_AuthorizeNetTest ([25561](https://github.com/civicrm/civicrm-core/pull/25561))**
+- **CiviCRM Stable Version bump
+ ([291](https://github.com/civicrm/civicrm-wordpress/pull/291))**
-- **[REF][PHP8.2] Stop use of dynamic property in AdditionalPaymentTest ([25559](https://github.com/civicrm/civicrm-core/pull/25559))**
+- **Post divide code tidy up
+ ([25195](https://github.com/civicrm/civicrm-core/pull/25195))**
-- **[REF][PHP8.2] Use variable instead of dynmaic property (CRM_Group_Page_AjaxTest) ([25558](https://github.com/civicrm/civicrm-core/pull/25558))**
+- **Add gentle deprecation to `debug_log_message`
+ ([25683](https://github.com/civicrm/civicrm-core/pull/25683))**
-- **[REF][PHP8.2] Declare property in CRM_Pledge_BAO_PledgeBlockTest ([25557](https://github.com/civicrm/civicrm-core/pull/25557))**
+- **Stop loading unused `relatedObjects`
+ ([25617](https://github.com/civicrm/civicrm-core/pull/25617))**
-- **[REF][PHP8.2] Declare property in CRM_Utils_FakeObject ([25556](https://github.com/civicrm/civicrm-core/pull/25556))**
+- **Bump dompdf/dompdf from 2.0.2 to 2.0.3
+ ([25520](https://github.com/civicrm/civicrm-core/pull/25520))**
-- **A couple of minor smarty notice fixes ([25514](https://github.com/civicrm/civicrm-core/pull/25514))**
+- **Add noisy deprecation to `replaceHookTokens`
+ ([25510](https://github.com/civicrm/civicrm-core/pull/25510))**
-- **Upgrade test to use more recent methodology for testing forms ([25551](https://github.com/civicrm/civicrm-core/pull/25551))**
+- **Deprecate unused, exception class with non-standard name-spacing
+ ([25641](https://github.com/civicrm/civicrm-core/pull/25641))**
-- **Smarty notice fix ([25544](https://github.com/civicrm/civicrm-core/pull/25544))**
+- **Fully deprecate `CRM_Utils_Token::getMembershipTokenDetails`,
+ `CRM_Utils_Token::replaceEntityTokens`
+ ([25507](https://github.com/civicrm/civicrm-core/pull/25507))**
-- **Remove always-NULL `$singleRecord` variable ([25519](https://github.com/civicrm/civicrm-core/pull/25519))**
+- **Extra deprecation for clarity on token function
+ `convertPseudoConstantsUsingMetadata`
+ ([25511](https://github.com/civicrm/civicrm-core/pull/25511))**
-- **Enotice fix, pledge block on UserDashboard ([25546](https://github.com/civicrm/civicrm-core/pull/25546))**
+- **Pull over a few more deprecations + blockDelete deprecation
+ ([25695](https://github.com/civicrm/civicrm-core/pull/25695))**
-- **SearchKit - Configurable action menu tasks per-search-display ([25521](https://github.com/civicrm/civicrm-core/pull/25521))**
+- **Address portions of deprecated code replacement
+ ([25693](https://github.com/civicrm/civicrm-core/pull/25693))**
-- **Do not use reference for Object parameter, death to `_NULLObject` ([25541](https://github.com/civicrm/civicrm-core/pull/25541))**
+- **Deprecate unused `CRM_Core_BAO_UFField::copy()` function
+ ([25594](https://github.com/civicrm/civicrm-core/pull/25594))**
-- **Remove invalid 'world_region' => 'India' from test ([25540](https://github.com/civicrm/civicrm-core/pull/25540))**
+- **Deprecations for Mailing::delete functions
+ ([25691](https://github.com/civicrm/civicrm-core/pull/25691))**
-- **Fix a couple more places to use mysql DATABASE() function ([25537](https://github.com/civicrm/civicrm-core/pull/25537))**
+- **Deprecations for delete on ACL entities
+ ([25690](https://github.com/civicrm/civicrm-core/pull/25690))**
-- **5.59 ([25538](https://github.com/civicrm/civicrm-core/pull/25538))**
+- **Fully deprecate legacy contributionTokens
+ ([25505](https://github.com/civicrm/civicrm-core/pull/25505))**
-- **Typo executequery => executeQuery ([25539](https://github.com/civicrm/civicrm-core/pull/25539))**
+- **Fully deprecate `CRM_Core_SelectValues::eventTokens()`
+ ([25509](https://github.com/civicrm/civicrm-core/pull/25509))**
-- **NFC cleanup in test class ([25524](https://github.com/civicrm/civicrm-core/pull/25524))**
+- **Fully deprecate `CRM_Core_SelectValues::membershipTokens()`
+ ([25506](https://github.com/civicrm/civicrm-core/pull/25506))**
-- **Use mysql DATABASE() function instead of php code ([25530](https://github.com/civicrm/civicrm-core/pull/25530))**
+- **Add noisy deprecation to deprecated function, after universe search
+ ([25662](https://github.com/civicrm/civicrm-core/pull/25662))**
-- **5.59 ([25531](https://github.com/civicrm/civicrm-core/pull/25531))**
+- **Remove legacy handling of locks for discontinued mysql/mariaDB versions
+ ([25654](https://github.com/civicrm/civicrm-core/pull/25654))**
-- **Use `DATABASE()` function rather than lossa code ([25528](https://github.com/civicrm/civicrm-core/pull/25528))**
+- **Remove forward incompatible syntax from template
+ ([25664](https://github.com/civicrm/civicrm-core/pull/25664))**
-- **Enotice fix on userDashboard with contributions, replace deprecated functions with api4v calls ([24861](https://github.com/civicrm/civicrm-core/pull/24861))**
+- **Remove conditional assignment around `is_deductible`
+ ([25237](https://github.com/civicrm/civicrm-core/pull/25237))**
-- **5.59 ([25526](https://github.com/civicrm/civicrm-core/pull/25526))**
+- **Remove unnecessary pass-by-reference
+ ([25678](https://github.com/civicrm/civicrm-core/pull/25678))**
-- **Bump dompdf/dompdf from 2.0.2 to 2.0.3 ([25520](https://github.com/civicrm/civicrm-core/pull/25520))**
+- **Remove empty on location - it should always be set now
+ ([25675](https://github.com/civicrm/civicrm-core/pull/25675))**
-- **Add noisy deprecation to `replaceHookTokens` ([25510](https://github.com/civicrm/civicrm-core/pull/25510))**
+- **Remove always-NULL `$singleRecord` variable
+ ([25519](https://github.com/civicrm/civicrm-core/pull/25519))**
-- **dev/core#4117 Add is_current to UserJob, Search ([25516](https://github.com/civicrm/civicrm-core/pull/25516))**
+- **Remove 2020-deprecated handling of `legacyAddressCreate`
+ ([25686](https://github.com/civicrm/civicrm-core/pull/25686))**
-- **Remove never-true IF ([25518](https://github.com/civicrm/civicrm-core/pull/25518))**
+- **Remove code deprecated in 2018
+ ([25679](https://github.com/civicrm/civicrm-core/pull/25679))**
-- **Remove interaction with complex legacy `getTree` function ([25395](https://github.com/civicrm/civicrm-core/pull/25395))**
+- **Remove function noisily deprecated when the world was young (2020)
+ ([25685](https://github.com/civicrm/civicrm-core/pull/25685))**
-- **only load dedupe rules for the chosen entity ([25515](https://github.com/civicrm/civicrm-core/pull/25515))**
+- **Remove deprecated function call
+ ([25684](https://github.com/civicrm/civicrm-core/pull/25684))**
-- **Post divide code tidy up ([25195](https://github.com/civicrm/civicrm-core/pull/25195))**
+- **Remove deprecated functions from tests
+ ([25688](https://github.com/civicrm/civicrm-core/pull/25688))**
-- **(dev/core#4028) make CRM_Admin_Form_Setting_UF more CMS agnostic ([25328](https://github.com/civicrm/civicrm-core/pull/25328))**
+- **Remove deprecated function calls to Event::del, Membership functions del,
+ OptionValue ([25705](https://github.com/civicrm/civicrm-core/pull/25705))**
-- **Fully deprecate `CRM_Utils_Token::getMembershipTokenDetails`, `CRM_Utils_Token::replaceEntityTokens` ([25507](https://github.com/civicrm/civicrm-core/pull/25507))**
+- **Remove function deprecated a year ago
+ ([25615](https://github.com/civicrm/civicrm-core/pull/25615))**
-- **PaymentProcessor - Use ajax refresh ([25512](https://github.com/civicrm/civicrm-core/pull/25512))**
+- **Remove deprecated use of $ids
+ ([25698](https://github.com/civicrm/civicrm-core/pull/25698))**
-- **Fully deprecate `CRM_Core_SelectValues::eventTokens()` ([25509](https://github.com/civicrm/civicrm-core/pull/25509))**
+- **Delete long-deprecated functions
+ ([25696](https://github.com/civicrm/civicrm-core/pull/25696))**
-- **Add extra test, comment how it could be used to fix bug ([25503](https://github.com/civicrm/civicrm-core/pull/25503))**
+- **Remove the correct extraneous field separator field
+ ([25753](https://github.com/civicrm/civicrm-core/pull/25753))**
-- **Remove unused variable ([25508](https://github.com/civicrm/civicrm-core/pull/25508))**
+- **Remove never-true IF
+ ([25518](https://github.com/civicrm/civicrm-core/pull/25518))**
-- **Fully deprecate `CRM_Core_SelectValues::membershipTokens()` ([25506](https://github.com/civicrm/civicrm-core/pull/25506))**
+- **Remove unused constants left over from import cleanup
+ ([25601](https://github.com/civicrm/civicrm-core/pull/25601))**
-- **Fully deprecate legacy contributionTokens ([25505](https://github.com/civicrm/civicrm-core/pull/25505))**
+- **Remove interaction with complex legacy `getTree` function
+ ([25395](https://github.com/civicrm/civicrm-core/pull/25395))**
-- **API4: Allow save() to match on null values ([24971](https://github.com/civicrm/civicrm-core/pull/24971))**
+- **Remove empty function
+ ([25592](https://github.com/civicrm/civicrm-core/pull/25592))**
-- **Fix Scheduled reminders form to use tokenProcessor to get token list ([25052](https://github.com/civicrm/civicrm-core/pull/25052))**
+- **Remove unused variable
+ ([25508](https://github.com/civicrm/civicrm-core/pull/25508))**
-- **Default to supporting partial locales ([25063](https://github.com/civicrm/civicrm-core/pull/25063))**
+- **Remove unused variables
+ ([25670](https://github.com/civicrm/civicrm-core/pull/25670))**
-- **fix the id help instead use class help ([25487](https://github.com/civicrm/civicrm-core/pull/25487))**
+- **Remove unused property - not used since import code refactor `_lineCount`
+ ([25466](https://github.com/civicrm/civicrm-core/pull/25466))**
-- **[REF][PHP8.2] Refactor properties on CRM_Event_Form_SearchTest ([25501](https://github.com/civicrm/civicrm-core/pull/25501))**
+- **(REF) Tidy up unused params in api_v3_ContributionSoftTest
+ ([25322](https://github.com/civicrm/civicrm-core/pull/25322))**
-- **[REF][PHP8.2] Declare dynamic property in two SMS tests ([25502](https://github.com/civicrm/civicrm-core/pull/25502))**
+- **[REF] Fix undefined variable notice in WordPress tests
+ ([25591](https://github.com/civicrm/civicrm-core/pull/25591))**
-- **dev/drupal#176 - allow symfony 6 ([25499](https://github.com/civicrm/civicrm-core/pull/25499))**
+- **(REF) Remove test reference to property which no longer exists
+ ([25624](https://github.com/civicrm/civicrm-core/pull/25624))**
-- **(REF) Remove unused setup from AdhocMailingTest ([25500](https://github.com/civicrm/civicrm-core/pull/25500))**
+- **(REF) Remove unused setup from AdhocMailingTest
+ ([25500](https://github.com/civicrm/civicrm-core/pull/25500))**
-- **dev/drupal#176 - Move cache/integrationtest only used for testing into require-dev ([25054](https://github.com/civicrm/civicrm-core/pull/25054))**
+- **[REF] Add support for composer installers v2 which seems to be needed for
+ d10 ([79](https://github.com/civicrm/civicrm-drupal-8/pull/79))**
-- **Fix user profile file fields not saving. ([80](https://github.com/civicrm/civicrm-drupal-8/pull/80))**
+- **Php8.x compatibility - do not try to count NULL
+ ([25652](https://github.com/civicrm/civicrm-core/pull/25652))**
-- **[REF] Add support for composer installers v2 which seems to be needed… ([79](https://github.com/civicrm/civicrm-drupal-8/pull/79))**
+- **[REF][PHP8.2] Remove use of dynamic properties in
+ CRM_Contact_Form_Task_EmailTest
+ ([25562](https://github.com/civicrm/civicrm-core/pull/25562))**
-- **update CiviCrmTestBase setup() method declaration to match BrowserTestBase ([78](https://github.com/civicrm/civicrm-drupal-8/pull/78))**
+- **[REF][PHP8.2] Get rid of dynamic properties in
+ CRM_Core_Payment_AuthorizeNetTest
+ ([25561](https://github.com/civicrm/civicrm-core/pull/25561))**
-- **CiviCRM Stable Version bump ([291](https://github.com/civicrm/civicrm-wordpress/pull/291))**
+- **[REF][PHP8.2] Stop use of dynamic property in AdditionalPaymentTest
+ ([25559](https://github.com/civicrm/civicrm-core/pull/25559))**
-- **5.59 ([290](https://github.com/civicrm/civicrm-wordpress/pull/290))**
+- **[REF][PHP8.2] Use variable instead of dynmaic property
+ (CRM_Group_Page_AjaxTest)
+ ([25558](https://github.com/civicrm/civicrm-core/pull/25558))**
-## <a name="misc"></a>Miscellany
+- **[REF][PHP8.2] Declare property in CRM_Pledge_BAO_PledgeBlockTest
+ ([25557](https://github.com/civicrm/civicrm-core/pull/25557))**
+
+- **[REF][PHP8.2] Declare property in CRM_Utils_FakeObject
+ ([25556](https://github.com/civicrm/civicrm-core/pull/25556))**
+
+- **[REF][PHP8.2] Refactor properties on CRM_Event_Form_SearchTest
+ ([25501](https://github.com/civicrm/civicrm-core/pull/25501))**
+
+- **[REF][PHP8.2] Declare dynamic property in two SMS tests
+ ([25502](https://github.com/civicrm/civicrm-core/pull/25502))**
+
+- **[REF][PHP8.2] Remove unnecessary dynamic property
+ ([25622](https://github.com/civicrm/civicrm-core/pull/25622))**
+
+- **[REF][PHP8.2] Fix use of self in callables deprecation
+ ([25625](https://github.com/civicrm/civicrm-core/pull/25625))**
+
+- **[REF][PHP8.2] Tidy up properties on api_v3_GroupContactTest
+ ([25626](https://github.com/civicrm/civicrm-core/pull/25626))**
+
+- **[REF][PHP8.2] Tidy up properties in CRM_Event_BAO_EventPermissionsTest
+ ([25623](https://github.com/civicrm/civicrm-core/pull/25623))**
+
+- **update CiviCrmTestBase setup() method declaration to match BrowserTestBase
+ ([78](https://github.com/civicrm/civicrm-drupal-8/pull/78))**
+
+- **(NFC) crmURL - Add examples and whitespace. Crosslink docs.
+ ([25665](https://github.com/civicrm/civicrm-core/pull/25665))**
+
+- **[NFC] php8.2 support in test class `ActivitySearchTest`
+ ([25607](https://github.com/civicrm/civicrm-core/pull/25607))**
+
+- **NFC cleanup in test class
+ ([25524](https://github.com/civicrm/civicrm-core/pull/25524))**
+
+- **(NFC) Version Check Test - Fix multi-user and concurrent execution
+ [25909](https://github.com/civicrm/civicrm-core/pull/25909)**
+
+- **[NFC] doc block fix
+ ([25610](https://github.com/civicrm/civicrm-core/pull/25610))**
+
+- **Fix test to test the thing it was written to test
+ ([25608](https://github.com/civicrm/civicrm-core/pull/25608))**
+
+- **Event test cleanup, fix test to use submitted form values, rather than
+ require a lot of contorting
+ ([25621](https://github.com/civicrm/civicrm-core/pull/25621))**
+
+- **Remove invalid 'world_region' => 'India' from test
+ ([25540](https://github.com/civicrm/civicrm-core/pull/25540))**
+
+- **Php8.2 test fix, remove one instance of undeclared property
+ ([25619](https://github.com/civicrm/civicrm-core/pull/25619))**
+
+- **Extend testing for ContributionConfirm & consolidate
+ `isSeparateMembershipPayment`
+ ([25270](https://github.com/civicrm/civicrm-core/pull/25270))**
+
+- **Upgrade test to use more recent methodology for testing forms
+ ([25551](https://github.com/civicrm/civicrm-core/pull/25551))**
+
+- **Add extra test, comment how it could be used to fix bug
+ ([25503](https://github.com/civicrm/civicrm-core/pull/25503))**
+
+- **Reduce processing load in test `assertAPIFailure`
+ ([25648](https://github.com/civicrm/civicrm-core/pull/25648))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andie Hunt; anemirovsky; BrightMinded Ltd - Bradley Taylor; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; dependabot[bot]; ES-Progress - Sandor Semsey; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; JMA Consulting - Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley Taylor;
+CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC -
+Mathieu Lutfy; Dave D; ES-Progress - Sandor Semsey; Freeform Solutions - Herb
+van den Dool; Fuzion - Jitendra Purohit; Giant Rabbit - Anthony Nemirovsky;
+iXiam - Luciano Spiegel; JMA Consulting - Seamus Lee; Lemniscus - Noah Miller;
+Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
+PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland;
+Skvare - Mark Hanna; Tadpole Collective - Kevin Cristiano; Third Sector
+Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen
+McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Francis Whittle, Justin Freeman; Andreas Howiller; BeccaTregenna; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart; Jens Schuppe; JMA Consulting - Joe Murray, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg; MJW Consulting - Matthew Wire; Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
+Agileware - Francis Whittle, Justin Freeman; Andreas Howiller; Becca Tregenna;
+Blackfly Solutions - Alan Dixon; Fuzion - Luke Stewart; Jens Schuppe;
+JMA Consulting - Joe Murray; Megaphone Technology Consulting - Brienne Kordis;
+Squiffle Consulting - Aidan Saunders; Stephen Palmstrom
## <a name="feedback"></a>Feedback