[NFC] 5.61 release notes
authorAlice Frumin <alicefrumin@Alices-MBP-2.fios-router.home>
Fri, 28 Apr 2023 03:21:40 +0000 (23:21 -0400)
committerAlice Frumin <alicefrumin@Alices-MBP-2.fios-router.home>
Sat, 29 Apr 2023 20:16:56 +0000 (16:16 -0400)
contributor-key.yml
release-notes/5.61.0.md

index 1b17d3dad38d9eb7e4183da471b864b4cf8471eb..2263170b9fcb85d1b1be6e610784e7dd43cca36a 100644 (file)
 
 - name        : Anne Smale
 
+- github      : anthonyblond
+  name        : Anthony Blond
+  
 - github      : anthonylindsay
   name        : Anthony Lindsay
   organization: Annertech
 
 - github      : tapashdatta
 
+- github      : tbember
+  name        : Tiago Bember
+  organization: Giant Rabbit
+
 - github      : TBSliver
   name        : Tom Bloor
 
 - name        : William Gordon
   organization: British Humanist Association
 
+- github      : WebmasterBouclier
+
 - github      : webmaster-cses-org-uk
   name        : Adam Wood
   organization: CSES (Chelmsford Science and Engineering Society)
index cc4a0a997976b1a28696f2d3e7c2cfca67faafc3..6ebfc7f4b2a11c8c5ea23ca0dab933a7fe49a536 100644 (file)
@@ -13,540 +13,901 @@ Released May 3, 2023
 
 | *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?     |   no    |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
 ## <a name="features"></a>Features
 
 ### Core CiviCRM
 
-- **crm- Missing Summary ([25761](https://github.com/civicrm/civicrm-core/pull/25761))**
+- **Add template support for Imports
+  ([dev/core#4130](https://lab.civicrm.org/dev/core/-/issues/4130):
+  [25808](https://github.com/civicrm/civicrm-core/pull/25808))**
 
-## <a name="bugs"></a>Bugs resolved
+  This provides a nice-to-have functionality for non-Civi-Import imports - ie
+  the import can store details from the initial DataSource screen - anyone who
+  always has to remember to save dates will appreciate that. In addition for
+  Civi-import imports it can store more nuanced defaults for Civi-Import (which
+  works on the Contribution Import).
 
-### Core CiviCRM
+- **Define interfaces for interacting with newly cleaned up import code
+  (Work Towards [dev/core#3514](https://lab.civicrm.org/dev/core/-/issues/3514):
+  [25879](https://github.com/civicrm/civicrm-core/pull/25879))**
 
-- **dev/core#4249 Ensure that no deprecation logging occurs from groupPer… ([26099](https://github.com/civicrm/civicrm-core/pull/26099))**
+  Defines hook to alter data once it has been mapped but before work is done on
+  it.
 
-- **dev/core#4247 Ensure that Membership values are populated to prevent … ([26085](https://github.com/civicrm/civicrm-core/pull/26085))**
+- **Civi-Import - Add Template search
+  ([25939](https://github.com/civicrm/civicrm-core/pull/25939) and
+  [25957](https://github.com/civicrm/civicrm-core/pull/25957))**
 
-- **Updates pear/pear-core-minimal and guzzlehttp/psr7 ([26082](https://github.com/civicrm/civicrm-core/pull/26082))**
+  Adds a Civi Import Template Search.
 
-- **Fix dev/core#4240 - Saving entityReference field value via API ([26067](https://github.com/civicrm/civicrm-core/pull/26067))**
+- **Add links to search kits to import preview screen, when Civi-Import is
+  enabled ([25816](https://github.com/civicrm/civicrm-core/pull/25816))**
 
-- **Afform - Fix showing default values for EntityRef fields ([26008](https://github.com/civicrm/civicrm-core/pull/26008))**
+  Adds links to SearchKit user interface to the import screens when Civi-Import
+  is enabled.
 
-- **Type hints & strictness fixes within tests ([26013](https://github.com/civicrm/civicrm-core/pull/26013))**
+- **Civi-Import - improvements to the search display for imported rows
+  ([25977](https://github.com/civicrm/civicrm-core/pull/25977))**
 
-- **Remove an attention-span's worth of cvs info ([26012](https://github.com/civicrm/civicrm-core/pull/26012))**
+  Improves the Civi-Import user experience by disabling edit in place for
+  imported rows and reordering the contribution id and status message columns.
 
-- **[Test] Strictness fixes - `CiviUntTestBaseClass` ([26011](https://github.com/civicrm/civicrm-core/pull/26011))**
+- **Import data source Re-use already uploaded data, optionally on use of 'back'
+  button ([25787](https://github.com/civicrm/civicrm-core/pull/25787))**
 
-- **Strictness cleanups in test class ([26005](https://github.com/civicrm/civicrm-core/pull/26005))**
+  Improves user experience when importing data by storing the uploaded file so
+  you do not have to upload it again if you go back.
 
-- **Send SMS: fix invalid htxt tag error ([26010](https://github.com/civicrm/civicrm-core/pull/26010))**
+- **Add handling of `usage` to `DAO` generator
+  ([25874](https://github.com/civicrm/civicrm-core/pull/25874) and
+  [25934](https://github.com/civicrm/civicrm-core/pull/25934))**
 
-- **Afform - Support repeatable relationships ([25175](https://github.com/civicrm/civicrm-core/pull/25175))**
+  Adds handling of usage to DAO generator.
 
-- **Remove upgrade custom field handling from Dedupe code - previously shared function ([26004](https://github.com/civicrm/civicrm-core/pull/26004))**
+- **Afform - Support repeatable relationships
+  ([25175](https://github.com/civicrm/civicrm-core/pull/25175))**
 
-- **Clarify `entityID` types in Merger class ([26003](https://github.com/civicrm/civicrm-core/pull/26003))**
+  Supports creating multiple relationships at once using the "Repeatable"
+  feature in the relationship fields.
 
-- **Avoid potentially undefined var ([26001](https://github.com/civicrm/civicrm-core/pull/26001))**
+- **Afform - Allow contact created/modified date fields to be used as filters
+  ([25824](https://github.com/civicrm/civicrm-core/pull/25824))**
 
-- **When importing invalid campaigns they pass validation (only to fail on import) ([25988](https://github.com/civicrm/civicrm-core/pull/25988))**
+  Makes the contact created/modified date fields available as filter options for
+  relevant Afforms.
 
-- **Allow to disable an invalid relationship (eg. contact subtype was changed so no longer valid) ([25647](https://github.com/civicrm/civicrm-core/pull/25647))**
+- **Afform - Show file field values for existing entities
+  ([25294](https://github.com/civicrm/civicrm-core/pull/25294))**
 
-- **[Backport] Fix dedupe checking in afform for anonymous users ([25999](https://github.com/civicrm/civicrm-core/pull/25999))**
+  Improves the file-upload interface for existing entities.
 
-- **🥚 Payment API creates Activity with subject: "$x Offline Payment for Contribution" even when a payment was captured online ([25997](https://github.com/civicrm/civicrm-core/pull/25997))**
+- **Search kit - address issues
+  ([dev/core#4153](https://lab.civicrm.org/dev/core/-/issues/4153):
+  [25718](https://github.com/civicrm/civicrm-core/pull/25718))**
 
-- **Use label, where present for import field labels ([25991](https://github.com/civicrm/civicrm-core/pull/25991))**
+  Extends the address fields available for the PrimaryContact on search.
 
-- **Campaign - Make name index unique ([25995](https://github.com/civicrm/civicrm-core/pull/25995))**
+- **SearchKit - POC help text
+  ([24819](https://github.com/civicrm/civicrm-core/pull/24819))**
 
-- **[TESTS] Fix some campaign cleanup ([25996](https://github.com/civicrm/civicrm-core/pull/25996))**
+  Improves user experience by adding some Help tooltips to SearchKit (which also
+  serve as examples for developers).
 
-- **Fix url from just-merged PR ([25990](https://github.com/civicrm/civicrm-core/pull/25990))**
+- **SearchKit - Handle comma-separated values passed from Afform url
+  ([25827](https://github.com/civicrm/civicrm-core/pull/25827))**
 
-- **Fix enotice when using Civi-import ([25979](https://github.com/civicrm/civicrm-core/pull/25979))**
+  Allows multiple filter values to be passed through the url to a SearchKit
+  display.
 
-- **Civi-Import - Add Template search ([25939](https://github.com/civicrm/civicrm-core/pull/25939))**
+- **SearchKit - Add select options for MONTH date filter
+  ([25739](https://github.com/civicrm/civicrm-core/pull/25739))**
 
-- **Activity BAO - Remove unused classes/functions ([25971](https://github.com/civicrm/civicrm-core/pull/25971))**
+  Makes the "Month Only" field transformation in SearchKit into a dropdown
+  select.
 
-- **BAO - deprecate create for writeRecord: SavedSearch ([25973](https://github.com/civicrm/civicrm-core/pull/25973))**
+- **SearchKit - Add next_birthday calc field
+  ([25740](https://github.com/civicrm/civicrm-core/pull/25740))**
 
-- **BAO - Deprecate `setIsActive` BAO functions ([25976](https://github.com/civicrm/civicrm-core/pull/25976))**
+  Adds a Next Birthday Calc field to Searchkit.
 
-- **5.60 ([25986](https://github.com/civicrm/civicrm-core/pull/25986))**
+- **Speed up SearchKit results loading by 800ms
+  ([25408](https://github.com/civicrm/civicrm-core/pull/25408))**
 
-- **Civi-Import - improvements to the search display for imported rows ([25977](https://github.com/civicrm/civicrm-core/pull/25977))**
+  Improves loading times for SearchKit results.
 
-- **Minor fixes to Civi-Import screen, populating defaults, missing `ts` ([25980](https://github.com/civicrm/civicrm-core/pull/25980))**
+- **SearchKit - Pass entire record into `checkAccess`
+  ([25969](https://github.com/civicrm/civicrm-core/pull/25969))**
 
-- **5.60 to master ([25985](https://github.com/civicrm/civicrm-core/pull/25985))**
+   Makes SearchKit more efficient.
 
-- **[NFC] Don't have null values for required fields in Case test fixture ([25983](https://github.com/civicrm/civicrm-core/pull/25983))**
+- **Add new `\Civi\Exception\DBQueryException` & throw that rather than a
+  `PEAR_Exception`
+  ([25634](https://github.com/civicrm/civicrm-core/pull/25634))**
 
-- **BAO - deprecate create for writeRecord: SubscriptionHistory ([25974](https://github.com/civicrm/civicrm-core/pull/25974))**
+  Improves logging of database query issues.
 
-- **5.60 to master ([25978](https://github.com/civicrm/civicrm-core/pull/25978))**
+- **Log sending of Scheduled Reminders
+  ([25933](https://github.com/civicrm/civicrm-core/pull/25933))**
 
-- **BAO - deprecate create for writeRecord: ACL ([25970](https://github.com/civicrm/civicrm-core/pull/25970))**
+  Adds a log line to know which was the last Scheduled Reminder that was being
+  processed.
 
-- **Demolish the factory 🏭💥 ([25975](https://github.com/civicrm/civicrm-core/pull/25975))**
+- **Manage groups - add dedicated url for edit/delete group
+  ([25955](https://github.com/civicrm/civicrm-core/pull/25955))**
 
-- **SearchKit - Pass entire record into `checkAccess` ([25969](https://github.com/civicrm/civicrm-core/pull/25969))**
+  In preparation for a "manage groups" screen in the Admin UI (see #25899) this
+  updates the url for editing and deleting groups so it does not conflict with
+  the url for browsing groups.
 
-- **BAO - deprecate create for writeRecord: Batch ([25972](https://github.com/civicrm/civicrm-core/pull/25972))**
+- **Extend Authx functionality to support validation of externally generated
+  JWTs (Work Towards
+  [dev/core#3133](https://lab.civicrm.org/dev/core/-/issues/3133):
+  [25952](https://github.com/civicrm/civicrm-core/pull/25952))**
 
-- **(dev/core#4188) PHPUnit - Port TAP printer to v9.x ([25956](https://github.com/civicrm/civicrm-core/pull/25956))**
+  Adds support for using externally generated JWTs e.g. by Auth0 to authenticate
+  users using Authx
 
-- **Remove noisily deprecated code ([25965](https://github.com/civicrm/civicrm-core/pull/25965))**
+- **add locale param to smarty crmMoney()
+  ([25726](https://github.com/civicrm/civicrm-core/pull/25726))**
 
-- **5.60 to master ([25966](https://github.com/civicrm/civicrm-core/pull/25966))**
+  Adds new (optional) locale parameter to smarty function crmMoney().
 
-- **Fix master-only regression on loading membership changes ([25964](https://github.com/civicrm/civicrm-core/pull/25964))**
+- **AutoClean - Optionally allow explicit cleanup
+  ([25858](https://github.com/civicrm/civicrm-core/pull/25858))**
 
-- **Upgrade fix for url change ([25962](https://github.com/civicrm/civicrm-core/pull/25962))**
+  Allows some slightly different auto clean code-patterns that will give the
+  same functionality.
 
-- **dev/core#3133 - Extend Authx functionality to support validation of e… ([25952](https://github.com/civicrm/civicrm-core/pull/25952))**
+### CiviContribute
 
-- **CustomFields - drop unused 'javascript' column ([25958](https://github.com/civicrm/civicrm-core/pull/25958))**
+- **PaymentProcessor - Enter title instead of name on form, call hooks
+  ([25873](https://github.com/civicrm/civicrm-core/pull/25873))**
 
-- **Duplicate logging not needed for PEAR_Errors anymore ([25953](https://github.com/civicrm/civicrm-core/pull/25953))**
+  Adds a new "Frontend title" to Payment Processors for end-users, and redefines
+  "Title" as a backend field for admins.
 
-- **Manage groups - add dedicated url for edit/delete group ([25955](https://github.com/civicrm/civicrm-core/pull/25955))**
+### CiviEvent
 
-- **[REF] Refactor location-related BAOs to use `writeRecord` ([25944](https://github.com/civicrm/civicrm-core/pull/25944))**
+- **FormBuilder: Can't set participant status type
+  ([dev/core#4163](https://lab.civicrm.org/dev/core/-/issues/4163):
+  [25750](https://github.com/civicrm/civicrm-core/pull/25750))**
 
-- **Flush cache that holds schema links information when saving UserJob ([25959](https://github.com/civicrm/civicrm-core/pull/25959))**
+  Adds the `ParticipantStatusType` entity to APIv4.
 
-- **Import templates Set created_id, expires_date appropriately ([25957](https://github.com/civicrm/civicrm-core/pull/25957))**
+- ** Allow search on participant id
+  ([dev/core#4176](https://lab.civicrm.org/dev/core/-/issues/4176):
+  [25780](https://github.com/civicrm/civicrm-core/pull/25780))**
 
-- **dev/core#3804 - Fix recently performed activities on case dashboard when no upcoming exist ([25954](https://github.com/civicrm/civicrm-core/pull/25954))**
+  Adds a Participant ID search field to the Participant Search.
 
-- **Check presence of field, rather than extra smarty variable for whether to display the field ([25917](https://github.com/civicrm/civicrm-core/pull/25917))**
+### CiviPledge
 
-- **dev/core#4200 use org ID rather than assume it ([25906](https://github.com/civicrm/civicrm-core/pull/25906))**
+- **Add support for pledge tokens
+  ([dev/core#4079](https://lab.civicrm.org/dev/core/-/issues/4079):
+  [25851](https://github.com/civicrm/civicrm-core/pull/25851))**
 
-- **add locale param to smarty crmMoney() ([25726](https://github.com/civicrm/civicrm-core/pull/25726))**
+  Adds tokens for pledges.
 
-- **5.60 to master ([25951](https://github.com/civicrm/civicrm-core/pull/25951))**
+### Drupal Integration
 
-- **(dev/core#4188) phpunit.xml.dist - Make file compatible with phpunit8 + phpunit9 ([25946](https://github.com/civicrm/civicrm-core/pull/25946))**
+- **Expose "created date" to views
+  ([569](https://github.com/civicrm/civicrm-drupal/pull/569))**
 
-- **(dev/core#4188) Update CRM tests for phpunit9 compatibility ([25949](https://github.com/civicrm/civicrm-core/pull/25949))**
+  Allows date formatting options on the `created date` in views.
 
-- **(dev/core#4188) Update APIv3 tests for phpunit9 compatibility ([25948](https://github.com/civicrm/civicrm-core/pull/25948))**
+## <a name="bugs"></a>Bugs resolved
 
-- **(dev/core#4188) Update APIv4 tests for phpunit9 compatibility ([25947](https://github.com/civicrm/civicrm-core/pull/25947))**
+### Core CiviCRM
 
-- **PaymentProcessor - Enter title instead of name on form, call hooks ([25873](https://github.com/civicrm/civicrm-core/pull/25873))**
+- **Importing "No" values to Boolean field results in empty
+  ([dev/core#3937](https://lab.civicrm.org/dev/core/-/issues/3937):
+  [25900](https://github.com/civicrm/civicrm-core/pull/25900))**
 
-- **Refactor CRM_Core_BAO_Email to use DAO::writeRecord ([25937](https://github.com/civicrm/civicrm-core/pull/25937))**
+- **is_drupal: move functionality that calls this deprecated variable to System
+  classes  ([dev/core#4127](https://lab.civicrm.org/dev/core/-/issues/4127):
+  [25574](https://github.com/civicrm/civicrm-core/pull/25574))**
 
-- **Log sending of Scheduled Reminders ([25933](https://github.com/civicrm/civicrm-core/pull/25933))**
+  Move standalone profile modification to userSystem.
 
-- **[NFC] Remove extraneous NULL ([25941](https://github.com/civicrm/civicrm-core/pull/25941))**
+- **Possible issue with Token processor and Smarty
+  (Work Towards [dev/core#4137](https://lab.civicrm.org/dev/core/-/issues/4137):
+  [25727](https://github.com/civicrm/civicrm-core/pull/25727))**
 
-- **Merge forward 5.60-rc=>master ([25943](https://github.com/civicrm/civicrm-core/pull/25943))**
+  Ensures tokens filters are HTML-sensitive.
 
-- **Fix bug in just-merged upgrade code ([25940](https://github.com/civicrm/civicrm-core/pull/25940))**
+- **Notice on `isDuplicate` on profile form
+  ([dev/core#4144](https://lab.civicrm.org/dev/core/-/issues/4144):
+  [25657](https://github.com/civicrm/civicrm-core/pull/25657))**
 
-- **dev/core#4130 add template support for imports ([25808](https://github.com/civicrm/civicrm-core/pull/25808))**
+  Fixes a smarty notice on isDuplicate.
 
-- **5.60 to master ([25936](https://github.com/civicrm/civicrm-core/pull/25936))**
+- **User editable Message Templates, the Contact Action: Send an Email and the
+  Contact Action: Print Merge/Document cannot use any Smarty Tokens with the
+  crmDate function because CKEditor 4 unnecessarily HTML encodes single quotes
+  (') and double quotes (")
+  ([dev/core#4149](https://lab.civicrm.org/dev/core/-/issues/4149):
+  [25681](https://github.com/civicrm/civicrm-core/pull/25681))**
 
-- **dev/core#3514 Define hook to alter data once it has been mapped but before work is done on it. ([25879](https://github.com/civicrm/civicrm-core/pull/25879))**
+  Changes CKEditor 4 default to not encode HTML entities by default which breaks
+  Smarty syntax and prevents use of crmDate function
 
-- **Update Contribution Import to use apiv4 field names, prior to adding hooks ([25886](https://github.com/civicrm/civicrm-core/pull/25886))**
+- **Data integrity issue: Some number fields change their values during data
+  entry ([dev/core#4152](https://lab.civicrm.org/dev/core/-/issues/4152):
+  [25876](https://github.com/civicrm/civicrm-core/pull/25876))**
 
-- **Regenerate DAOs with usage from #25874 ([25934](https://github.com/civicrm/civicrm-core/pull/25934))**
+  Fixes custom data code to not cast to a float.
 
-- **Speed up SearchKit results loading by 800ms ([25408](https://github.com/civicrm/civicrm-core/pull/25408))**
+- **Import search authorization issues
+  ([dev/core#4184](https://lab.civicrm.org/dev/core/-/issues/4184):
+  [25811](https://github.com/civicrm/civicrm-core/pull/25811))**
 
-- **Extract `isMembershipPriceSet` (`useForMember`) ([25754](https://github.com/civicrm/civicrm-core/pull/25754))**
+  Permits access to template user jobs (imports).
 
-- **Add unit test cover for test offline mail receipt ([25929](https://github.com/civicrm/civicrm-core/pull/25929))**
+- **phpunit 9 compatibility
+  (Work Towards [dev/core#4188](https://lab.civicrm.org/dev/core/-/issues/4188):
+  [25947](https://github.com/civicrm/civicrm-core/pull/25947),
+  [25946](https://github.com/civicrm/civicrm-core/pull/25946),
+  [25949](https://github.com/civicrm/civicrm-core/pull/25949) and
+  [25956](https://github.com/civicrm/civicrm-core/pull/25956))**
 
-- **Fix import contribution url ([25907](https://github.com/civicrm/civicrm-core/pull/25907))**
+  Works towards phpunit 9 compatiablity by:
 
-- **[php8.2] Create getter for `renewalMembershipID`, remove if ([25833](https://github.com/civicrm/civicrm-core/pull/25833))**
+    - Updating CRM tests
+    - Updating APIv3 tests
+    - Updating APIv4 tests
+    - Porting TAP printer
+    - making the phpunit.xml.dist file compatible with phpunit8 + phpunit9
 
-- **CiviReport - Remove duplicate external identifier key in contact fields array, reduce notices ([25454](https://github.com/civicrm/civicrm-core/pull/25454))**
+- **Cannot set Entityref fields via APIv4 Explorer - on multi-value data
+  ([dev/core#4240](https://lab.civicrm.org/dev/core/-/issues/4240):
+  [26067](https://github.com/civicrm/civicrm-core/pull/26067))**
 
-- **[NFC] Test cleanup, prefer full form test flow ([25928](https://github.com/civicrm/civicrm-core/pull/25928))**
+- **blog warning: pass an array for included groups Caller:
+  CRM_ACL_API::groupPermission Array ( [civi.tag] => deprecated )
+  ([dev/core#4249](https://lab.civicrm.org/dev/core/-/issues/4249):
+  [26099](https://github.com/civicrm/civicrm-core/pull/26099))**
 
-- **Fix intermittant test fail ([25924](https://github.com/civicrm/civicrm-core/pull/25924))**
+  Ensures that no deprecation logging occurs from groupPermission having
+  includeGroups as NULL rather than an empty array.
 
-- **[REF][PHP8.2] Declare properties directly on CRM_Core_Form_EntityFormTrait ([25926](https://github.com/civicrm/civicrm-core/pull/25926))**
+- **[Backport] Fix dedupe checking in afform for anonymous users
+  ([25999](https://github.com/civicrm/civicrm-core/pull/25999))**
 
-- **[REF][PHP8.2] Convert dynamic property into a variable ([25925](https://github.com/civicrm/civicrm-core/pull/25925))**
+- **Afform - Required files causes form to never validate
+  ([dev/core#4121](https://lab.civicrm.org/dev/core/-/issues/4121):
+  [25666](https://github.com/civicrm/civicrm-core/pull/25666))**
 
-- **Stop passing `$this` as `$form` to previously shared, non-static, function ([25923](https://github.com/civicrm/civicrm-core/pull/25923))**
+- **Afform - set multi-select values from url
+  ([25832](https://github.com/civicrm/civicrm-core/pull/25832))**
 
-- **dev/core#4204 Show the Payment Agreement of the selected processor ([25918](https://github.com/civicrm/civicrm-core/pull/25918))**
+  Ensures that default values are set correctly for multi-valued fields
 
-- **[REF][PHP8.2] Remove unused dyanamic property ([25921](https://github.com/civicrm/civicrm-core/pull/25921))**
+- **Afform - Fix showing default values for EntityRef fields
+  ([26008](https://github.com/civicrm/civicrm-core/pull/26008))**
 
-- **5.60 to master ([25916](https://github.com/civicrm/civicrm-core/pull/25916))**
+- **Afform: Fix dedupe rules for anonymous users
+  ([25461](https://github.com/civicrm/civicrm-core/pull/25461))**
 
-- **dev/core#3937 Remove legacy code causing custom boolean import bug ([25900](https://github.com/civicrm/civicrm-core/pull/25900))**
+- **Api4 - Prevent developer error mixing up `addValue` with `addWhere`
+  ([25905](https://github.com/civicrm/civicrm-core/pull/25905))**
 
-- **UpdateConfigBackend: use api4 to flush the cache ([25913](https://github.com/civicrm/civicrm-core/pull/25913))**
+  Adds a sanity check in the api to prevent the common mistake of
+  accidentally using addValue as if it takes 3 arguments like addWhere.
 
-- **(dev/core#4176) Allow to search on participant id ([25780](https://github.com/civicrm/civicrm-core/pull/25780))**
+- **APIv4 - Show actions as deprecated in the Explorer
+  ([25402](https://github.com/civicrm/civicrm-core/pull/25402))**
 
-- **dev/core#4152 Fix custom data code to not cast to a float ([25876](https://github.com/civicrm/civicrm-core/pull/25876))**
+- **APIv4 - Support `match` in replaceAction
+  ([25770](https://github.com/civicrm/civicrm-core/pull/25770))**
 
-- **5.60 to master ([25911](https://github.com/civicrm/civicrm-core/pull/25911))**
+  Allows the `replaceAction` to support non-id matching, the same way as the
+  `saveAction` does.
 
-- **Api4 - Prevent developer error mixing up `addValue` with `addWhere` ([25905](https://github.com/civicrm/civicrm-core/pull/25905))**
+- **Remove an attention-span's worth of cvs info
+  ([26012](https://github.com/civicrm/civicrm-core/pull/26012))**
 
-- **Note API - Fix viewing, joining to, and updating Notes ([25672](https://github.com/civicrm/civicrm-core/pull/25672))**
+- **Send SMS: fix invalid htxt tag error
+  ([26010](https://github.com/civicrm/civicrm-core/pull/26010))**
 
-- **Code cleanup on aisle Hook ([25903](https://github.com/civicrm/civicrm-core/pull/25903))**
+- **Clarify `entityID` types in Merger class
+  ([26003](https://github.com/civicrm/civicrm-core/pull/26003))**
+
+- **When importing invalid campaigns they pass validation (only to fail on
+  import) ([25988](https://github.com/civicrm/civicrm-core/pull/25988))**
+
+- **Allow to disable an invalid relationship (eg. contact subtype was changed so
+  no longer valid)
+  ([25647](https://github.com/civicrm/civicrm-core/pull/25647))**
 
-- **Fix recently added import url ([25895](https://github.com/civicrm/civicrm-core/pull/25895))**
+- **Duplicate logging not needed for PEAR_Errors anymore
+  ([25953](https://github.com/civicrm/civicrm-core/pull/25953))**
 
-- **Show friendlier labels when Civi-Import enabled ([25896](https://github.com/civicrm/civicrm-core/pull/25896))**
+- **Flush cache that holds schema links information when saving UserJob
+  ([25959](https://github.com/civicrm/civicrm-core/pull/25959))**
 
-- **Fix Contact Import tests custom date testing, remove duplicate handling ([25898](https://github.com/civicrm/civicrm-core/pull/25898))**
+- **Check presence of field, rather than extra smarty variable for whether to
+  display the field
+  ([25917](https://github.com/civicrm/civicrm-core/pull/25917))**
 
-- **[NFC] hulk smash ([25902](https://github.com/civicrm/civicrm-core/pull/25902))**
+- **Note API - Fix viewing, joining to, and updating Notes
+  ([25672](https://github.com/civicrm/civicrm-core/pull/25672))**
 
-- **Deprecate CRM_Utils_Hook::$nullObject ([25901](https://github.com/civicrm/civicrm-core/pull/25901))**
+- **civicrm_cache - Replace wonky index
+  ([25885](https://github.com/civicrm/civicrm-core/pull/25885))**
 
-- **Add getter for dedupeRuleGroupID ([25894](https://github.com/civicrm/civicrm-core/pull/25894))**
+- **Remove preferred_mail_format from tokens
+  ([25883](https://github.com/civicrm/civicrm-core/pull/25883))**
 
-- **Add handling of `usage` to `DAO` generator ([25874](https://github.com/civicrm/civicrm-core/pull/25874))**
+- **SchemaHandler - Add IF EXISTS to dropTable function
+  ([25881](https://github.com/civicrm/civicrm-core/pull/25881))**
 
-- **Remove 2021 noisily deprecated pdfCommon function ([25887](https://github.com/civicrm/civicrm-core/pull/25887))**
+  Prevents errors in the same way `dropColumn` does by checking that it exists
+  before dropping.
 
-- **[NFC] Add metadata about import jobs to `MapField` form ([25891](https://github.com/civicrm/civicrm-core/pull/25891))**
+- **Make `Finder::tableQuery` private, after universe search
+  ([25859](https://github.com/civicrm/civicrm-core/pull/25859))**
 
-- **Remove references to deprecated `preferred_mail_format` in tests ([25890](https://github.com/civicrm/civicrm-core/pull/25890))**
+- **WorkflowMessage - Enable strict parsing of annotations
+  ([25818](https://github.com/civicrm/civicrm-core/pull/25818))**
 
-- **[REF][PHP8.2] Remove property which is no longer used ([25889](https://github.com/civicrm/civicrm-core/pull/25889))**
+- **Skip adding script when it won't have anything to run on
+  ([25882](https://github.com/civicrm/civicrm-core/pull/25882))**
 
-- **civicrm_cache - Replace wonky index ([25885](https://github.com/civicrm/civicrm-core/pull/25885))**
+- **Logging ReportDetail: update breadcrumb to use CiviCRM Home for
+  disambiguation with the "Home" Location Type translation.
+  ([25805](https://github.com/civicrm/civicrm-core/pull/25805))**
 
-- **CiviUnitTestCase (etal) - Resolve spooky interaction ([25855](https://github.com/civicrm/civicrm-core/pull/25855))**
+- **Relationship Cache check
+  ([25751](https://github.com/civicrm/civicrm-core/pull/25751))**
 
-- **Remove preferred_mail_format from tokens ([25883](https://github.com/civicrm/civicrm-core/pull/25883))**
+- **Change title of is_primary fields consistent with Email
+  ([25700](https://github.com/civicrm/civicrm-core/pull/25700))**
 
-- **don't create tagset markup if there's no tagset ([25884](https://github.com/civicrm/civicrm-core/pull/25884))**
+- **Unconditionally assign `quickConfig`, add helper for `getPriceSetID`
+  ([25719](https://github.com/civicrm/civicrm-core/pull/25719))**
 
-- **ensure delays from transactions don't cause cache race condition ([25673](https://github.com/civicrm/civicrm-core/pull/25673))**
+- **Fix dedupe finder performance issue on looking up table size
+  ([25527](https://github.com/civicrm/civicrm-core/pull/25527))**
 
-- **Move getSubmittedValues to `CRM_Core_Form` ([25877](https://github.com/civicrm/civicrm-core/pull/25877))**
+- **don't show USPS warning when USPS lookup disabled
+  ([25736](https://github.com/civicrm/civicrm-core/pull/25736))**
 
-- **Skip adding script when it won't have anything to run on ([25882](https://github.com/civicrm/civicrm-core/pull/25882))**
+- **field separator is a required field
+  ([25738](https://github.com/civicrm/civicrm-core/pull/25738))**
 
-- **SchemaHandler - Add IF EXISTS to dropTable function ([25881](https://github.com/civicrm/civicrm-core/pull/25881))**
+- **Use label, where present for import field labels
+  ([25991](https://github.com/civicrm/civicrm-core/pull/25991))**
 
-- **Use API4 to create 'Assign Case Role' activity ([25880](https://github.com/civicrm/civicrm-core/pull/25880))**
+- **Show friendlier labels when Civi-Import enabled
+  ([25896](https://github.com/civicrm/civicrm-core/pull/25896))**
 
-- **APIv4 - Show actions as deprecated in the Explorer ([25402](https://github.com/civicrm/civicrm-core/pull/25402))**
+- **Import link - fix search Import SearchDisplays to link to the created contact
+  ([25712](https://github.com/civicrm/civicrm-core/pull/25712))**
 
-- **Afform: Fix dedupe rules for anonymous users ([25461](https://github.com/civicrm/civicrm-core/pull/25461))**
+- **Hyphenate Civi-Import in the title/label
+  ([25474](https://github.com/civicrm/civicrm-core/pull/25474))**
 
-- **Add deprecations to unreachable code in previously shared function ([25779](https://github.com/civicrm/civicrm-core/pull/25779))**
+- **Filter 'My imports' to only show non-expired
+  ([25711](https://github.com/civicrm/civicrm-core/pull/25711))**
 
-- **Remove do-nothing noisily deprecated formatting code ([25878](https://github.com/civicrm/civicrm-core/pull/25878))**
+- **Update Import fix to leverage the new exception
+  ([25725](https://github.com/civicrm/civicrm-core/pull/25725))**
 
-- **[PHP8.2] Declare outputHandler property in reports ([25875](https://github.com/civicrm/civicrm-core/pull/25875))**
+- **Fix typing, comments in new StandardFilters class
+  ([25730](https://github.com/civicrm/civicrm-core/pull/25730))**
 
-- **CiviUnitTestCase - Degrade gracefully on older DBMS ([25872](https://github.com/civicrm/civicrm-core/pull/25872))**
+- **Minor fixes to Civi-Import screen, populating defaults, missing `ts`
+  ([25980](https://github.com/civicrm/civicrm-core/pull/25980))**
 
-- **Post split code cleanup ([25862](https://github.com/civicrm/civicrm-core/pull/25862))**
+- **Fix enotice when using Civi-import
+  ([25979](https://github.com/civicrm/civicrm-core/pull/25979))**
+  
+- **Fix cache clearing when import table is changed
+  ([25774](https://github.com/civicrm/civicrm-core/pull/25774))**
 
-- **[REF] Simplify import preProcess ([25869](https://github.com/civicrm/civicrm-core/pull/25869))**
+- **Worldregion - For API-entity-naming, prefer "WorldRegion"
+  ([25713](https://github.com/civicrm/civicrm-core/pull/25713))**
 
-- **Switch out the switch ([25868](https://github.com/civicrm/civicrm-core/pull/25868))**
+- **Pager missing on Aggregate By Relationship civireport
+  ([25721](https://github.com/civicrm/civicrm-core/pull/25721))**
 
-- **[REF] Minor code simplification - extract `getHighlightedFields` in Contribution import `MapField` ([25866](https://github.com/civicrm/civicrm-core/pull/25866))**
+- **Fix profile search listings columns are sometimes blank.
+  ([25782](https://github.com/civicrm/civicrm-core/pull/25782))**
 
-- **[NFC] Remove some no-longer-used properties on Contribution import parser ([25867](https://github.com/civicrm/civicrm-core/pull/25867))**
+- **Do not report missing triggers if the user cannot check them
+  ([25820](https://github.com/civicrm/civicrm-core/pull/25820))**
 
-- **dev/core#4079 Add Pledge Tokens ([25851](https://github.com/civicrm/civicrm-core/pull/25851))**
+- **don't create tagset markup if there's no tagset
+  ([25884](https://github.com/civicrm/civicrm-core/pull/25884))**
 
-- **[NFC] Minor tidy up in `MappingTest` ([25854](https://github.com/civicrm/civicrm-core/pull/25854))**
+- **ensure delays from transactions don't cause cache race condition
+  ([25673](https://github.com/civicrm/civicrm-core/pull/25673))**
 
-- **[Test][Php8.2] Fix undeclared properties & other housekeeping ([25852](https://github.com/civicrm/civicrm-core/pull/25852))**
+- **Fix bug in just-merged upgrade code
+  ([25940](https://github.com/civicrm/civicrm-core/pull/25940))**
 
-- **Make `Finder::tableQuery private`, after universe search ([25859](https://github.com/civicrm/civicrm-core/pull/25859))**
+- **Fix really annoying notice on mispelt variable name `$isCheked`
+  ([25759](https://github.com/civicrm/civicrm-core/pull/25759))**
 
-- **[REF][PHP8.2] Refactor api_v3_ParticipantPaymentTest ([25864](https://github.com/civicrm/civicrm-core/pull/25864))**
+- **Don't crash API4 if pseudoconstant lookups return nothing
+  ([25028](https://github.com/civicrm/civicrm-core/pull/25028))**
 
-- **[REF][PHP8.2] Refactor getParticipantOrderParams to never write a dynamic property ([25865](https://github.com/civicrm/civicrm-core/pull/25865))**
+- **Php8.2 stop accessing undefined form Property isQuickConfig in
+  `PriceField:addQuickFormElement`
+  ([25689](https://github.com/civicrm/civicrm-core/pull/25689))**
 
-- **[REF] Replace use of legacy `$dao->query()` with `CRM_Core_DAO::executeQuery()` ([25860](https://github.com/civicrm/civicrm-core/pull/25860))**
+- **Avoid type error in CRM_Core_Form on php 8
+  ([25853](https://github.com/civicrm/civicrm-core/pull/25853))**
 
-- **[REF][PHP8.2] Get rid of dynamic properties in CRM_Core_Payment_ProcessorFormTest ([25844](https://github.com/civicrm/civicrm-core/pull/25844))**
+- **CiviReport - Remove duplicate external identifier key in contact fields
+  array, reduce notices
+  ([25454](https://github.com/civicrm/civicrm-core/pull/25454))**
 
-- **AutoClean - Optionally allow explicit cleanup ([25858](https://github.com/civicrm/civicrm-core/pull/25858))**
+- **Stop passing `$this` as `$form` to previously shared, non-static, function
+  ([25923](https://github.com/civicrm/civicrm-core/pull/25923))**
 
-- **CiviUnitTestCase - During teardown, ensure that we cleanup locks ([25856](https://github.com/civicrm/civicrm-core/pull/25856))**
+- **Remove un-used, un-displayed button
+  ([25841](https://github.com/civicrm/civicrm-core/pull/25841))**
 
-- **[PHP8.2] Clean up in `apiv3_ParticipantTest` with view to 8.2 compatibility ([25801](https://github.com/civicrm/civicrm-core/pull/25801))**
+- **Avoid potentially undefined var
+  ([26001](https://github.com/civicrm/civicrm-core/pull/26001))**
 
-- **[PHP8.2] [Test] Remove use of (often undeclared) property `_invoiceID` in tests & one instance of `paymentProcessorID2` ([25799](https://github.com/civicrm/civicrm-core/pull/25799))**
+- **Smarty notice fix on Merge
+  ([25772](https://github.com/civicrm/civicrm-core/pull/25772))**
 
-- **Remove unused var ([25857](https://github.com/civicrm/civicrm-core/pull/25857))**
+- **APIv4 - Don't link to non-existent API entities
+  ([25743](https://github.com/civicrm/civicrm-core/pull/25743))**
 
-- **Avoid type error in CRM_Core_Form on php 8 ([25853](https://github.com/civicrm/civicrm-core/pull/25853))**
+### CiviCampaign
 
-- **dev/core#4184 Permit access to template user jobs (imports) ([25811](https://github.com/civicrm/civicrm-core/pull/25811))**
+- **Campaign - Make name index unique
+  ([25995](https://github.com/civicrm/civicrm-core/pull/25995))**
 
-- **5.60 ([25847](https://github.com/civicrm/civicrm-core/pull/25847))**
+### CiviCase
 
-- **PHP8 - Update symfony/var-dumper ([25850](https://github.com/civicrm/civicrm-core/pull/25850))**
+- **Civicase dashboard not displaying recently performed activities
+  ([dev/core#3804](https://lab.civicrm.org/dev/core/-/issues/3804):
+  [25954](https://github.com/civicrm/civicrm-core/pull/25954))**
 
-- **[PHP8.2] Remove unused setting on undeclared properties ([25831](https://github.com/civicrm/civicrm-core/pull/25831))**
+- **Case start_date/end_date are not datetime
+  ([25803](https://github.com/civicrm/civicrm-core/pull/25803))**
 
-- **[PHP8.2] Remove unused variabls from `Member_Form_Task_PDFLetter::postProcessMembers` ([25830](https://github.com/civicrm/civicrm-core/pull/25830))**
+### CiviContribute
 
-- **[REF] [php8.2] Remove unused parameters from `Contribute_PDFLetter::buildContributionArray` ([25829](https://github.com/civicrm/civicrm-core/pull/25829))**
+- **Fix bug in tax calculation when recurring overrides with a different value
+  ([25707](https://github.com/civicrm/civicrm-core/pull/25707))**
 
-- **dev/core#4000 Fix (old) regression - ensure only template contribution updates update recur ([25776](https://github.com/civicrm/civicrm-core/pull/25776))**
+- **🥚 Payment API creates Activity with subject: "$x Offline Payment for
+  Contribution" even when a payment was captured online
+  ([25997](https://github.com/civicrm/civicrm-core/pull/25997))**
 
-- **SearchKit - Handle comma-separated values passed from Afform url ([25827](https://github.com/civicrm/civicrm-core/pull/25827))**
+- **Direct Debit agreement is always/never shown depending on which payment
+  processor is the default
+  ([dev/core#4204](https://lab.civicrm.org/dev/core/-/issues/4204):
+  ([25918](https://github.com/civicrm/civicrm-core/pull/25918))**
 
-- **Deprecated `buildSavedMappingFields` noisily ([25842](https://github.com/civicrm/civicrm-core/pull/25842))**
+  Ensures the Payment Agreement of the selected processor is displayed (instead
+  of the payment agreement of the default payment processor).
 
-- **Remove un-used, un-displayed button ([25841](https://github.com/civicrm/civicrm-core/pull/25841))**
+- **only update `contributionRecur` when `templateContribution` is updated IF it
+  is actively marked as such
+  ([dev/core#4000](https://lab.civicrm.org/dev/core/-/issues/4000):
+  [25776](https://github.com/civicrm/civicrm-core/pull/25776))**
 
-- **Afform - Allow contact created/modified date fields to be used as filters ([25824](https://github.com/civicrm/civicrm-core/pull/25824))**
+- **Past campaigns are not to be assigned via batch update/update contributions
+  ([dev/core#4124](https://lab.civicrm.org/dev/core/-/issues/4124):
+  [25687](https://github.com/civicrm/civicrm-core/pull/25687))**
 
-- **5.60 to master ([25843](https://github.com/civicrm/civicrm-core/pull/25843))**
+- **Fix import contribution url
+  ([25895](https://github.com/civicrm/civicrm-core/pull/25895),
+  [25907](https://github.com/civicrm/civicrm-core/pull/25907) and
+  [25962](https://github.com/civicrm/civicrm-core/pull/25962))**
 
-- **Merge 5.60 to master ([25839](https://github.com/civicrm/civicrm-core/pull/25839))**
+  Standardizes the contribution import url.
 
-- **Afform - set multi-select values from url ([25832](https://github.com/civicrm/civicrm-core/pull/25832))**
+- **Update Contribution Import to use apiv4 field names, prior to adding hooks
+  ([25886](https://github.com/civicrm/civicrm-core/pull/25886))**
 
-- **(REF) PHPUnit - Allow env-var to specify version ([25836](https://github.com/civicrm/civicrm-core/pull/25836))**
+- **APiv4 explorer - can't enter `contribution.contribution_recur_id`
+  ([dev/core#4175](https://lab.civicrm.org/dev/core/-/issues/4175):
+  [25804](https://github.com/civicrm/civicrm-core/pull/25804))**
 
-- **[REF][PHP8.2] Declare property in CRM_Contact_Form_DedupeFind ([25834](https://github.com/civicrm/civicrm-core/pull/25834))**
+### CiviMember
 
-- **WorkflowMessage - Enable strict parsing of annotations ([25818](https://github.com/civicrm/civicrm-core/pull/25818))**
+- **Fatal error on membership batch data entry with sending receipt
+  ([dev/core#4247](https://lab.civicrm.org/dev/core/-/issues/4247):
+  [26085](https://github.com/civicrm/civicrm-core/pull/26085))**
 
-- **[REF][PHP8.2] Don't use a property where a variable will do (CRM_Contact_Page_View_Summary) ([25828](https://github.com/civicrm/civicrm-core/pull/25828))**
+- **Countable error when creating a membership batch (if org ID is not 1)
+  ([dev/core#4200](https://lab.civicrm.org/dev/core/-/issues/4200):
+  [25906](https://github.com/civicrm/civicrm-core/pull/25906))**
 
-- **Fix profile search listings columns are sometimes blank. ([25782](https://github.com/civicrm/civicrm-core/pull/25782))**
+- **🪥 Fix inconsistent terminology used when referring to Member Since,
+  Membership Start Date and Membership Expiration Date
+  ([24735](https://github.com/civicrm/civicrm-core/pull/24735) and
+  [25761](https://github.com/civicrm/civicrm-core/pull/25761))**
 
-- **5.60 to master ([25825](https://github.com/civicrm/civicrm-core/pull/25825))**
+### Drupal Integration
 
-- **[REF][PHP8.2] Only set properties which exist within ArrayFormatTrait->loadArray() ([25790](https://github.com/civicrm/civicrm-core/pull/25790))**
+- **cv command fails on CiviCRM 5.48.2 on Drupal 9
+  ([dev/core#3438](https://lab.civicrm.org/dev/core/-/issues/3438):
+  [25728](https://github.com/civicrm/civicrm-core/pull/25728))**
 
-- **Do not report missing triggers if the user cannot check them ([25820](https://github.com/civicrm/civicrm-core/pull/25820))**
+  Prevents `cv` fatal error if logging before CMS bootstrap.
 
-- **(dev/core#4124) Past campaigns are not to be assigned via batch updat… ([25687](https://github.com/civicrm/civicrm-core/pull/25687))**
+- **Use the backend theme when upgrading
+  ([665](https://github.com/civicrm/civicrm-drupal/pull/665) and
+  [81](https://github.com/civicrm/civicrm-drupal-8/pull/81))**
 
-- **Fix typo that causes e-notice in just-merged commit ([25817](https://github.com/civicrm/civicrm-core/pull/25817))**
+## <a name="misc"></a>Miscellany
+
+- **Add getter for dedupeRuleGroupID
+  ([25894](https://github.com/civicrm/civicrm-core/pull/25894))**
 
-- **[PHP8.2] declare deleteMessage on `entityFormTrait` ([25802](https://github.com/civicrm/civicrm-core/pull/25802))**
+- **Move getSubmittedValues to `CRM_Core_Form`
+  ([25877](https://github.com/civicrm/civicrm-core/pull/25877))**
 
-- **Add links to search kits to import preview screen, when Civ-Import is enabled ([25816](https://github.com/civicrm/civicrm-core/pull/25816))**
+- **Extract `isMembershipPriceSet` (`useForMember`)
+  ([25754](https://github.com/civicrm/civicrm-core/pull/25754))**
 
-- **Merge 5.60 to master ([25815](https://github.com/civicrm/civicrm-core/pull/25815))**
+- **CustomFields - drop unused 'javascript' column
+  ([25958](https://github.com/civicrm/civicrm-core/pull/25958))**
 
-- **Fix really annoying notice on mispelt variable name `$isCheked` ([25759](https://github.com/civicrm/civicrm-core/pull/25759))**
+- **UpdateConfigBackend: use api4 to flush the cache
+  ([25913](https://github.com/civicrm/civicrm-core/pull/25913))**
 
-- **[REF] Fix issue where the strict typing was causing false notices to … ([25814](https://github.com/civicrm/civicrm-core/pull/25814))**
+- **Use API4 to create 'Assign Case Role' activity
+  ([25880](https://github.com/civicrm/civicrm-core/pull/25880))**
 
-- **[PHP8.2] (Ref) Remove unused dynamic property in report form class ([25812](https://github.com/civicrm/civicrm-core/pull/25812))**
+- **Demolish the factory 🏭💥
+  ([25975](https://github.com/civicrm/civicrm-core/pull/25975))**
 
-- **don't show USPS warning when USPS lookup disabled ([25736](https://github.com/civicrm/civicrm-core/pull/25736))**
+- **BAO - deprecate create for writeRecord: SavedSearch
+  ([25973](https://github.com/civicrm/civicrm-core/pull/25973))**
 
-- **[REF][PHP8.2] Tidy up properties in api_v3_CaseContactTest ([25809](https://github.com/civicrm/civicrm-core/pull/25809))**
+- **BAO - Deprecate `setIsActive` BAO functions
+  ([25976](https://github.com/civicrm/civicrm-core/pull/25976))**
 
-- **field separator is a required field ([25738](https://github.com/civicrm/civicrm-core/pull/25738))**
+- **BAO - deprecate create for writeRecord: SubscriptionHistory
+  ([25974](https://github.com/civicrm/civicrm-core/pull/25974))**
 
-- **Import data source Re-use already uploaded data, optionally on use of 'back' button ([25787](https://github.com/civicrm/civicrm-core/pull/25787))**
+- **BAO - deprecate create for writeRecord: ACL
+  ([25970](https://github.com/civicrm/civicrm-core/pull/25970))**
 
-- **Logging ReportDetail: update breadcrumb to use CiviCRM Home for disambiguation ([25805](https://github.com/civicrm/civicrm-core/pull/25805))**
+- **BAO - deprecate create for writeRecord: Batch
+  ([25972](https://github.com/civicrm/civicrm-core/pull/25972))**
 
-- **Case start_date/end_date are not datetime ([25803](https://github.com/civicrm/civicrm-core/pull/25803))**
+- **Updates pear/pear-core-minimal and guzzlehttp/psr7
+  ([26082](https://github.com/civicrm/civicrm-core/pull/26082))**
 
-- **APIv4 - Autocomplete ContributionRecur entity ([25804](https://github.com/civicrm/civicrm-core/pull/25804))**
+- **Deprecate CRM_Utils_Hook::$nullObject
+  ([25901](https://github.com/civicrm/civicrm-core/pull/25901))**
 
-- **Remove dependence on cache/integration-tests ([25796](https://github.com/civicrm/civicrm-core/pull/25796))**
+- **Remove 2021 noisily deprecated pdfCommon function
+  ([25887](https://github.com/civicrm/civicrm-core/pull/25887))**
 
-- **SearchKit - POC help text ([24819](https://github.com/civicrm/civicrm-core/pull/24819))**
+- **APIv4 - Deprecate unnecessary constants
+  ([25781](https://github.com/civicrm/civicrm-core/pull/25781))**
 
-- **Php8.2 fixes in report `addToDeveloperTab` function ([25800](https://github.com/civicrm/civicrm-core/pull/25800))**
+- **BAO - Noisily deprecate and stop using deprecated functions
+  ([25677](https://github.com/civicrm/civicrm-core/pull/25677))**
 
-- **Php8.2 fixes in unit tests ([25797](https://github.com/civicrm/civicrm-core/pull/25797))**
+- **Remove dependence on cache/integration-tests
+  ([25796](https://github.com/civicrm/civicrm-core/pull/25796))**
 
-- **[NFC] cleanup in `ChangeFeeSelectionTest` ([25798](https://github.com/civicrm/civicrm-core/pull/25798))**
+- **Remove function deprecated noisly in 2020
+  ([25768](https://github.com/civicrm/civicrm-core/pull/25768))**
 
-- **[REF][PHP8.2] Refactor use of pageParams properties ([25795](https://github.com/civicrm/civicrm-core/pull/25795))**
+- **All your base are deleted
+  ([25773](https://github.com/civicrm/civicrm-core/pull/25773))**
 
-- **[REF][PHP8.2] Refactor api_v3_ImTest with primary aim of improving PHP 8.2 compatiability ([25792](https://github.com/civicrm/civicrm-core/pull/25792))**
+- **More deprecations of `del`
+  ([25767](https://github.com/civicrm/civicrm-core/pull/25767))**
 
-- **[REF][PHP8.2] Refactor api_v3_PriceFieldValueTest with primary aim of improving PHP 8.2 compatiability ([25793](https://github.com/civicrm/civicrm-core/pull/25793))**
+- **Consolidate `DataSource.tpl`
+  ([25771](https://github.com/civicrm/civicrm-core/pull/25771))**
 
-- **(REF) Remove unused onPopupClose variables ([25794](https://github.com/civicrm/civicrm-core/pull/25794))**
+- **Remove unused var
+  ([25857](https://github.com/civicrm/civicrm-core/pull/25857))**
 
-- **[REF][PHP8.2] Fix use of self in callables deprecation ([25791](https://github.com/civicrm/civicrm-core/pull/25791))**
+- **Remove remaining non-variable variables
+  ([25752](https://github.com/civicrm/civicrm-core/pull/25752))**
 
-- **set-version.php - Fix warning on PHP 8.1 ([25786](https://github.com/civicrm/civicrm-core/pull/25786))**
+- **Deprecate pledge_payment::del
+  ([25763](https://github.com/civicrm/civicrm-core/pull/25763))**
 
-- **[REF][PHP8.2] Declare property on CRM_Core_ErrorTest ([25788](https://github.com/civicrm/civicrm-core/pull/25788))**
+- **Remove deprecated calls from contribute, financial, remove ManagePremiums
+  deprecated BAO ([25766](https://github.com/civicrm/civicrm-core/pull/25766))**
 
-- **[REF][PHP8.2] Declare property on CRM_Event_Import_Parser_ParticipantTest ([25789](https://github.com/civicrm/civicrm-core/pull/25789))**
+- **Deprecations on del functions
+  ([25764](https://github.com/civicrm/civicrm-core/pull/25764))**
 
-- **dev/core#4144 Fix smarty notice on isDuplicate ([25657](https://github.com/civicrm/civicrm-core/pull/25657))**
+- **Deprecate relationship::del  
+  ([25765](https://github.com/civicrm/civicrm-core/pull/25765))**
 
-- **APIv4 - Deprecate unnecessary constants ([25781](https://github.com/civicrm/civicrm-core/pull/25781))**
+- **Noisily deprecate unused function
+  ([25762](https://github.com/civicrm/civicrm-core/pull/25762))**
 
-- **[NFC] Fix PHP8.2 issues in the Mailing Contact Test ([25783](https://github.com/civicrm/civicrm-core/pull/25783))**
+- **Code cleanup: Use `parent::buildForm` in contact import dataSource screen
+  ([25757](https://github.com/civicrm/civicrm-core/pull/25757))**
 
-- **Fix cache clearing when import table is changed ([25774](https://github.com/civicrm/civicrm-core/pull/25774))**
+- **Stop passing invariable variables to private function
+  ([25676](https://github.com/civicrm/civicrm-core/pull/25676))**
 
-- **Fix dedupe finder performance issue on looking up table size ([25527](https://github.com/civicrm/civicrm-core/pull/25527))**
+- **Remove upgrade custom field handling from Dedupe code - previously shared
+  function ([26004](https://github.com/civicrm/civicrm-core/pull/26004))**
 
-- **Import link - fix search Import SearchDisplays to link to the created contact ([25712](https://github.com/civicrm/civicrm-core/pull/25712))**
+- **Activity BAO - Remove unused classes/functions
+  ([25971](https://github.com/civicrm/civicrm-core/pull/25971))**
 
-- **Hyphenate Civi-Import in the title/label ([25474](https://github.com/civicrm/civicrm-core/pull/25474))**
+- **Deprecated `buildSavedMappingFields` noisily
+  ([25842](https://github.com/civicrm/civicrm-core/pull/25842))**
 
-- **CiviUnitTestCase - More aggressive simplifications ([25187](https://github.com/civicrm/civicrm-core/pull/25187))**
+- **Code cleanup on aisle Hook ([25903](https://github.com/civicrm/civicrm-core/pull/25903))**
 
-- **BAO - Noisily deprecate and stop using deprecated functions ([25677](https://github.com/civicrm/civicrm-core/pull/25677))**
+- **Deprecated code removal
+  ([25710](https://github.com/civicrm/civicrm-core/pull/25710))**
 
-- **[REF] Improve function signature for `retrieve()` in `PaypalProIPN` , add test for when trxn_id is present ([25749](https://github.com/civicrm/civicrm-core/pull/25749))**
+- **Add deprecations to unreachable code in previously shared function
+  ([25779](https://github.com/civicrm/civicrm-core/pull/25779))**
 
-- **APIv4 - Support `match` in replaceAction ([25770](https://github.com/civicrm/civicrm-core/pull/25770))**
+- **Stop using deprecated methods, `ufField::del`
+  ([25747](https://github.com/civicrm/civicrm-core/pull/25747))**
 
-- **Remove function deprecated noisly in 2020 ([25768](https://github.com/civicrm/civicrm-core/pull/25768))**
+- **Remove some deprecated del calls
+  ([25746](https://github.com/civicrm/civicrm-core/pull/25746))**
 
-- **Don't crash API4 if pseudoconstant lookups return nothing ([25028](https://github.com/civicrm/civicrm-core/pull/25028))**
+- **Remove noisily deprecated code
+  ([25965](https://github.com/civicrm/civicrm-core/pull/25965))**
 
-- **All your base are deleted ([25773](https://github.com/civicrm/civicrm-core/pull/25773))**
+- **Remove unvariable variables `toReturn` & `subName` from `Merger`
+  ([25745](https://github.com/civicrm/civicrm-core/pull/25745))**
 
-- **More deprecations of `del` ([25767](https://github.com/civicrm/civicrm-core/pull/25767))**
+- **Remove do-nothing noisily deprecated formatting code
+  ([25878](https://github.com/civicrm/civicrm-core/pull/25878))**
 
-- **Consolidate `DataSource.tpl` ([25771](https://github.com/civicrm/civicrm-core/pull/25771))**
+- **Post split code cleanup
+  ([25862](https://github.com/civicrm/civicrm-core/pull/25862))**
 
-- **Smarty notice fix on Merge ([25772](https://github.com/civicrm/civicrm-core/pull/25772))**
+- **Switch out the switch
+  ([25868](https://github.com/civicrm/civicrm-core/pull/25868))**
 
-- **Deprecate pledge_payment::del ([25763](https://github.com/civicrm/civicrm-core/pull/25763))**
+- **set-version.php - Fix warning on PHP 8.1
+  ([25786](https://github.com/civicrm/civicrm-core/pull/25786))**
 
-- **Remove deprecated calls from contribute, financial, remove ManagePremiums deprecated BAO ([25766](https://github.com/civicrm/civicrm-core/pull/25766))**
+- **[Test][Php8.2] Fix undeclared properties & other housekeeping
+  ([25852](https://github.com/civicrm/civicrm-core/pull/25852))**
 
-- **Deprecations on del functions ([25764](https://github.com/civicrm/civicrm-core/pull/25764))**
+- **[php8.2] Create getter for `renewalMembershipID`, remove if
+  ([25833](https://github.com/civicrm/civicrm-core/pull/25833))**
 
-- **Deprecate relationship::del ([25765](https://github.com/civicrm/civicrm-core/pull/25765))**
+- **[PHP8.2] Declare outputHandler property in reports
+  ([25875](https://github.com/civicrm/civicrm-core/pull/25875))**
 
-- **Noisily deprecate unused function ([25762](https://github.com/civicrm/civicrm-core/pull/25762))**
+- **PHP8 - Update symfony/var-dumper
+  ([25850](https://github.com/civicrm/civicrm-core/pull/25850))**
 
-- **dev/core#4121 Afform: add validation for file fields in formbuilder ([25666](https://github.com/civicrm/civicrm-core/pull/25666))**
+- **[PHP8.2] declare deleteMessage on `entityFormTrait`
+  ([25802](https://github.com/civicrm/civicrm-core/pull/25802))**
 
-- **APIv4 - Add 'Update' to conformanceTest ([25674](https://github.com/civicrm/civicrm-core/pull/25674))**
+- **[PHP8.2] Remove unused setting on undeclared properties
+  ([25831](https://github.com/civicrm/civicrm-core/pull/25831))**
 
-- **Remove remaining non-variable variables ([25752](https://github.com/civicrm/civicrm-core/pull/25752))**
+- **[PHP8.2] Remove unused variabls from
+  `Member_Form_Task_PDFLetter::postProcessMembers`
+  ([25830](https://github.com/civicrm/civicrm-core/pull/25830))**
 
-- **🪥 Fix inconsistent terminology used when referring to Member Since, Membership Start Date and Membership Expiration Date ([24735](https://github.com/civicrm/civicrm-core/pull/24735))**
+- **[REF][PHP8.2] Tidy up properties in api_v3_CaseContactTest
+  ([25809](https://github.com/civicrm/civicrm-core/pull/25809))**
 
-- **5.60 to master ([25760](https://github.com/civicrm/civicrm-core/pull/25760))**
+- **[PHP8.2] (Ref) Remove unused dynamic property in report form class
+  ([25812](https://github.com/civicrm/civicrm-core/pull/25812))**
 
-- **dev/core/-/issues/4149 Change CKEditor 4 default to not encode HTML entities by default which breaks Smarty syntax and prevents use of crmDate function ([25681](https://github.com/civicrm/civicrm-core/pull/25681))**
+- **Php8.2 fixes in report `addToDeveloperTab` function
+  ([25800](https://github.com/civicrm/civicrm-core/pull/25800))**
 
-- **Code cleanup: Use `parent::buildForm` in contact import dataSource screen ([25757](https://github.com/civicrm/civicrm-core/pull/25757))**
+- **Php8.2 fixes in unit tests
+  ([25797](https://github.com/civicrm/civicrm-core/pull/25797))**
 
-- **Relationship Cache check ([25751](https://github.com/civicrm/civicrm-core/pull/25751))**
+- **[REF][PHP8.2] Refactor use of pageParams properties
+  ([25795](https://github.com/civicrm/civicrm-core/pull/25795))**
 
-- **Change title of is_primary fields consistent with Email ([25700](https://github.com/civicrm/civicrm-core/pull/25700))**
+- **[REF][PHP8.2] Refactor api_v3_ImTest with primary aim of improving PHP 8.2
+  compatiability ([25792](https://github.com/civicrm/civicrm-core/pull/25792))**
 
-- **APIv4 - Add ParticipantStatusType entity ([25750](https://github.com/civicrm/civicrm-core/pull/25750))**
+- **[REF][PHP8.2] Refactor api_v3_PriceFieldValueTest with primary aim of
+  improving PHP 8.2 compatiability
+  ([25793](https://github.com/civicrm/civicrm-core/pull/25793))**
 
-- **Afform - Show file field values for existing entities ([25294](https://github.com/civicrm/civicrm-core/pull/25294))**
+- **(REF) Remove unused onPopupClose variables
+  ([25794](https://github.com/civicrm/civicrm-core/pull/25794))**
 
-- **revert 25735 ([25756](https://github.com/civicrm/civicrm-core/pull/25756))**
+- **[REF][PHP8.2] Fix use of self in callables deprecation
+  ([25791](https://github.com/civicrm/civicrm-core/pull/25791))**
 
-- **5.60 ([25755](https://github.com/civicrm/civicrm-core/pull/25755))**
+- **[REF][PHP8.2] Declare property on CRM_Core_ErrorTest
+  ([25788](https://github.com/civicrm/civicrm-core/pull/25788))**
 
-- **Unconditionally assign `quickConfig`, add helper for `getPriceSetID` ([25719](https://github.com/civicrm/civicrm-core/pull/25719))**
+- **[REF][PHP8.2] Declare property on CRM_Event_Import_Parser_ParticipantTest
+  ([25789](https://github.com/civicrm/civicrm-core/pull/25789))**
 
-- **Stop using deprecated methods, `ufField::del` ([25747](https://github.com/civicrm/civicrm-core/pull/25747))**
+- **[REF][PHP8.2] Declare property in CRM_Contact_Form_DedupeFind
+  ([25834](https://github.com/civicrm/civicrm-core/pull/25834))**
 
-- **Remove some deprecated del calls ([25746](https://github.com/civicrm/civicrm-core/pull/25746))**
+- **[REF][PHP8.2] Don't use a property where a variable will do
+  (CRM_Contact_Page_View_Summary)
+  ([25828](https://github.com/civicrm/civicrm-core/pull/25828))**
 
-- **Remove unvariable variables `toReturn` & `subName` from `Merger` ([25745](https://github.com/civicrm/civicrm-core/pull/25745))**
+- **[REF][PHP8.2] Only set properties which exist within
+  ArrayFormatTrait->loadArray()
+  ([25790](https://github.com/civicrm/civicrm-core/pull/25790))**
 
-- **5.60 to master ([25748](https://github.com/civicrm/civicrm-core/pull/25748))**
+- **[REF] [php8.2] Remove unused parameters from
+  `Contribute_PDFLetter::buildContributionArray`
+  ([25829](https://github.com/civicrm/civicrm-core/pull/25829))**
 
-- **SearchKit - Add select options for MONTH date filter ([25739](https://github.com/civicrm/civicrm-core/pull/25739))**
+- **[REF][PHP8.2] Remove property which is no longer used
+  ([25889](https://github.com/civicrm/civicrm-core/pull/25889))**
 
-- **APIv4 - Don't link to non-existent API entities ([25743](https://github.com/civicrm/civicrm-core/pull/25743))**
+- **[REF][PHP8.2] Refactor api_v3_ParticipantPaymentTest
+  ([25864](https://github.com/civicrm/civicrm-core/pull/25864))**
 
-- **Stop passing invariable variables to private function ([25676](https://github.com/civicrm/civicrm-core/pull/25676))**
+- **[REF][PHP8.2] Refactor getParticipantOrderParams to never write a dynamic
+  property ([25865](https://github.com/civicrm/civicrm-core/pull/25865))**
 
-- **SearchKit - Add next_birthday calc field ([25740](https://github.com/civicrm/civicrm-core/pull/25740))**
+- **[REF][PHP8.2] Get rid of dynamic properties in
+  CRM_Core_Payment_ProcessorFormTest
+  ([25844](https://github.com/civicrm/civicrm-core/pull/25844))**
 
-- **Filter 'My imports' to only show non-expired ([25711](https://github.com/civicrm/civicrm-core/pull/25711))**
+- **[REF][PHP8.2] Declare properties directly on CRM_Core_Form_EntityFormTrait
+  ([25926](https://github.com/civicrm/civicrm-core/pull/25926))**
 
-- **remove extra field separator field ([25735](https://github.com/civicrm/civicrm-core/pull/25735))**
+- **[REF][PHP8.2] Convert dynamic property into a variable
+  ([25925](https://github.com/civicrm/civicrm-core/pull/25925))**
 
-- **Update Import fix to leverage the new exception ([25725](https://github.com/civicrm/civicrm-core/pull/25725))**
+- **[REF][PHP8.2] Remove unused dyanamic property
+  ([25921](https://github.com/civicrm/civicrm-core/pull/25921))**
 
-- **Fix typing, comments in new StandardFilters class ([25730](https://github.com/civicrm/civicrm-core/pull/25730))**
+- **[REF] Replace use of legacy `$dao->query()` with
+  `CRM_Core_DAO::executeQuery()`
+  ([25860](https://github.com/civicrm/civicrm-core/pull/25860))**
 
-- **5.60 ([25732](https://github.com/civicrm/civicrm-core/pull/25732))**
+- **[REF] Improve function signature for `retrieve()` in `PaypalProIPN` , add
+  test for when trxn_id is present
+  ([25749](https://github.com/civicrm/civicrm-core/pull/25749))**
 
-- **dev/core#3438 Drupal: Prevent cv fatal if logging before CMS bootstrap ([25728](https://github.com/civicrm/civicrm-core/pull/25728))**
+- **[REF] Fix issue where the strict typing was causing false notices to appear
+  in Config And Log
+  ([25814](https://github.com/civicrm/civicrm-core/pull/25814))**
 
-- **(dev/core#4137) Tokens - Filters should be HTML-sensitive ([25727](https://github.com/civicrm/civicrm-core/pull/25727))**
+- **(REF) PHPUnit - Allow env-var to specify version
+  ([25836](https://github.com/civicrm/civicrm-core/pull/25836))**
 
-- **Fix in ContributionTest class ([25722](https://github.com/civicrm/civicrm-core/pull/25722))**
+- **[REF] Simplify import preProcess
+  ([25869](https://github.com/civicrm/civicrm-core/pull/25869))**
 
-- **dev/core#4153 Extend the fields available for PrimaryContact on search ([25718](https://github.com/civicrm/civicrm-core/pull/25718))**
+- **[REF] Minor code simplification - extract `getHighlightedFields` in
+  Contribution import `MapField`
+  ([25866](https://github.com/civicrm/civicrm-core/pull/25866))**
 
-- **Pager missing on Aggregate By Relationship civireport ([25721](https://github.com/civicrm/civicrm-core/pull/25721))**
+- **[REF] Refactor location-related BAOs to use `writeRecord`
+  ([25944](https://github.com/civicrm/civicrm-core/pull/25944))**
 
-- **dev/core#4127 move standalone profile modification to userSystem ([25574](https://github.com/civicrm/civicrm-core/pull/25574))**
+- **Refactor CRM_Core_BAO_Email to use DAO::writeRecord
+  ([25937](https://github.com/civicrm/civicrm-core/pull/25937))**
 
-- **Fix bug in tax calculation when recurring overrides with a different value ([25707](https://github.com/civicrm/civicrm-core/pull/25707))**
+- **[NFC] Test cleanup, prefer full form test flow
+  ([25928](https://github.com/civicrm/civicrm-core/pull/25928))**
 
-- **Add new `\Civi\Exception\DBQueryException` & throw that rather than a `PEAR_Exception` ([25634](https://github.com/civicrm/civicrm-core/pull/25634))**
+- **[NFC] Add metadata about import jobs to `MapField` form
+  ([25891](https://github.com/civicrm/civicrm-core/pull/25891))**
 
-- **Php8.2 stop accessing undefined form Property isQuickConfig in `PriceField:addQuickFormElement` ([25689](https://github.com/civicrm/civicrm-core/pull/25689))**
+- **[NFC] Remove some no-longer-used properties on Contribution import parser
+  ([25867](https://github.com/civicrm/civicrm-core/pull/25867))**
 
-- **Worldregion - For API-entity-naming, prefer "WorldRegion" ([25713](https://github.com/civicrm/civicrm-core/pull/25713))**
+- **[NFC] Don't have null values for required fields in Case test fixture
+  ([25983](https://github.com/civicrm/civicrm-core/pull/25983))**
 
-- **[NFC] Superficial cleanup in test class ([25708](https://github.com/civicrm/civicrm-core/pull/25708))**
+- **[NFC] Remove extraneous NULL
+  ([25941](https://github.com/civicrm/civicrm-core/pull/25941))**
 
-- **Deprecated code removal ([25710](https://github.com/civicrm/civicrm-core/pull/25710))**
+- **[NFC] hulk smash
+  ([25902](https://github.com/civicrm/civicrm-core/pull/25902))**
 
-- **Use the backend theme when upgrading ([665](https://github.com/civicrm/civicrm-drupal/pull/665))**
+- **[NFC] Fix PHP8.2 issues in the Mailing Contact Test
+  ([25783](https://github.com/civicrm/civicrm-core/pull/25783))**
 
-- **Expose "created date" to views ([569](https://github.com/civicrm/civicrm-drupal/pull/569))**
+- **[NFC] Superficial cleanup in test class
+  ([25708](https://github.com/civicrm/civicrm-core/pull/25708))**
 
-- **Use the backend theme when upgrading ([81](https://github.com/civicrm/civicrm-drupal-8/pull/81))**
+- **[NFC] cleanup in `ChangeFeeSelectionTest`
+  ([25798](https://github.com/civicrm/civicrm-core/pull/25798))**
 
-- **Code cleanup in HookTest ([293](https://github.com/civicrm/civicrm-wordpress/pull/293))**
+- **[NFC] Minor tidy up in `MappingTest`
+  ([25854](https://github.com/civicrm/civicrm-core/pull/25854))**
 
-## <a name="misc"></a>Miscellany
+- **Remove references to deprecated `preferred_mail_format` in tests
+  ([25890](https://github.com/civicrm/civicrm-core/pull/25890))**
+
+- **[PHP8.2] Clean up in `apiv3_ParticipantTest` with view to 8.2 compatibility
+  ([25801](https://github.com/civicrm/civicrm-core/pull/25801))**
+
+- **[PHP8.2] [Test] Remove use of (often undeclared) property `_invoiceID` in
+  tests & one instance of `paymentProcessorID2`
+  ([25799](https://github.com/civicrm/civicrm-core/pull/25799))**
+
+- **[Test] Strictness fixes - `CiviUntTestBaseClass`
+  ([26011](https://github.com/civicrm/civicrm-core/pull/26011))**
+
+- **[TESTS] Fix some campaign cleanup
+  ([25996](https://github.com/civicrm/civicrm-core/pull/25996))**
+
+- **Strictness cleanups in test class
+  ([26005](https://github.com/civicrm/civicrm-core/pull/26005))**
+
+- **Code cleanup in HookTest
+  ([293](https://github.com/civicrm/civicrm-wordpress/pull/293))**
+
+- **Type hints & strictness fixes within tests
+  ([26013](https://github.com/civicrm/civicrm-core/pull/26013))**
+
+- **Add unit test cover for test offline mail receipt
+  ([25929](https://github.com/civicrm/civicrm-core/pull/25929))**
+
+- **Fix intermittant test fail
+  ([25924](https://github.com/civicrm/civicrm-core/pull/25924))**
+
+- **Fix Contact Import tests custom date testing, remove duplicate handling
+  ([25898](https://github.com/civicrm/civicrm-core/pull/25898))**
+
+- **APIv4 - Add 'Update' to conformanceTest
+  ([25674](https://github.com/civicrm/civicrm-core/pull/25674))**
+
+- **Fix in ContributionTest class
+  ([25722](https://github.com/civicrm/civicrm-core/pull/25722))**
+
+- **CiviUnitTestCase - More aggressive simplifications
+  ([25187](https://github.com/civicrm/civicrm-core/pull/25187))**
+
+- **CiviUnitTestCase - During teardown, ensure that we cleanup locks
+  ([25856](https://github.com/civicrm/civicrm-core/pull/25856))**
+
+- **CiviUnitTestCase (etal) - Resolve spooky interaction
+  ([25855](https://github.com/civicrm/civicrm-core/pull/25855))**
+
+- **CiviUnitTestCase - Degrade gracefully on older DBMS
+  ([25872](https://github.com/civicrm/civicrm-core/pull/25872))**
 
 ## <a name="credits"></a>Credits
 
 This release was developed by the following code authors:
 
-AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; anthonyblond; Benjamin W; BrightMinded Ltd - Bradley Taylor; CEDC - Laryn Kragt Bakker; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove, Shane Bill; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart; Giant Rabbit - Anthony Nemirovsky; iXiam - Luciano Spiegel; JMA Consulting - Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
+Anthony Blond; Benjamin W; BrightMinded Ltd - Bradley Taylor; CEDC - Laryn
+Kragt Bakker; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
+Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove, Shane Bill; Dave D; Freeform
+Solutions - Herb van den Dool; Fuzion - Luke Stewart; Giant Rabbit - Anthony
+Nemirovsky; iXiam - Luciano Spiegel; JMA Consulting - Seamus Lee; Lemniscus -
+Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting -
+Matthew Wire; Progressive Technology Project - Jamie McClelland; Third Sector
+Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
 
 Most authors also reviewed code for this release; in addition, the following
 reviewers contributed their comments:
 
-AGH Strategies - Andie Hunt, Eli Lisseck; Agileware - Justin Freeman; Andreas Howiller; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Shane Bill; Dave D; Freeform Solutions - Herb van den Dool; Guydn; Humanists UK - Andrew West;; JMA Consulting - Joe Murray, Seamus Lee; Joinery - Allen Shaw; Korlon - Stuart Gaston; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard Baugh; Squiffle Consulting - Aidan Saunders; SYSTOPIA - Johannes Franz; tbember; Third Sector Design - Kurund Jalmi, Michael McAndrew; WebmasterBouclier; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Eli Lisseck; Andreas Howiller; Artful Robot - Rich Lott;
+Blackfly Solutions - Alan Dixon; Guydn; Humanists UK - Andrew West; JMA
+Consulting - Joe Murray; Joinery - Allen Shaw; Korlon - Stuart Gaston; Richard
+Baugh; Squiffle Consulting - Aidan Saunders; SYSTOPIA - Johannes Franz; Giant
+Rabbit: Tiago Bember; Third Sector Design - Michael McAndrew; WebmasterBouclier
 
 ## <a name="feedback"></a>Feedback