| *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
### Core CiviCRM
-- **crm- Missing Summary ([20419](https://github.com/civicrm/civicrm-core/pull/20419))**
+- **Separate the default language for contacts from the site language (Work Towards
+ [dev/core#2584](https://lab.civicrm.org/dev/core/-/issues/2584):
+ [20214](https://github.com/civicrm/civicrm-core/pull/20214))**
-## <a name="bugs"></a>Bugs resolved
+ Improves user experience for multilingual sites by separating the
+ CiviCRM contacts default language setting from the site default language.
-### Core CiviCRM
+- **Canonize API for storing translated data (Work Towards
+ [dev/translation#67](https://lab.civicrm.org/dev/translation/-/issues/67):
+ [20478](https://github.com/civicrm/civicrm-core/pull/20478))**
-- **APIv4 - Make LineItem, EntityFinancialTrxn and FinancialTrxn read-only ([20609](https://github.com/civicrm/civicrm-core/pull/20609))**
+ Defines a "Translation" table (`civicrm_translation`), to represent a single
+ translated string (e.g. a translated message-title or a translated
+ event-description).
-- **Fix unreleased api change to more logical variant ([20611](https://github.com/civicrm/civicrm-core/pull/20611))**
+- **Allow for the default number of search results to be configurable
+ ([dev/core#2187](https://lab.civicrm.org/dev/core/-/issues/2187):
+ [20336](https://github.com/civicrm/civicrm-core/pull/20336 and
+ [18969](https://github.com/civicrm/civicrm-core/pull/18969))**
-- **dev/core#2649 - Make 5.39 upgrade more robust ([20580](https://github.com/civicrm/civicrm-core/pull/20580))**
+ Creates a setting to define the number of search results to be returned.
-- **Update civicrm_generated (5.39 version) ([20571](https://github.com/civicrm/civicrm-core/pull/20571))**
+- **Give the custom CSS file a 'name' to make it easier to manipulate in
+ hook_civicrm_alterBundle()
+ ([20278](https://github.com/civicrm/civicrm-core/pull/20278))**
-- **[NFC] Fix phpunit9 deprecation issues on using assertType instead of … ([20567](https://github.com/civicrm/civicrm-core/pull/20567))**
+ Gives the resource bundles custom CSS file a useful 'name' to make it easier
+ to manipulate in the alterBundle hook.
-- **Fix Financial item test to validate Financials ([20532](https://github.com/civicrm/civicrm-core/pull/20532))**
+- **OAuth: initial support for per-contact OAuth tokens
+ ([20189](https://github.com/civicrm/civicrm-core/pull/20189))**
-- **Mark DetailTest as having invalid financials ([20552](https://github.com/civicrm/civicrm-core/pull/20552))**
+ Adds a system for managing OAuthContactTokens -- tokens linked to a
+ contact_id.
-- **Introduce civi.api4.authorizeRecord and civi.api4.validate ([20533](https://github.com/civicrm/civicrm-core/pull/20533))**
+- **BAOs, Tests, etal - Support `HookInterface` and `EventSubscriberInterface`
+ for auto-registration
+ ([20427](https://github.com/civicrm/civicrm-core/pull/20427))**
-- **dev/core#2646 juice up the error a little ([20564](https://github.com/civicrm/civicrm-core/pull/20564))**
+ Expands the functionality for declaring event-listeners in different classes,
+ making it easier to participate in Symfony events.
-- **Fix for dev/membership#37 ([20493](https://github.com/civicrm/civicrm-core/pull/20493))**
+- **The version numbers for core-extensions should match core-proper.
+ ([dev/release#17](https://lab.civicrm.org/dev/release/-/issues/17):
+ [20303](https://github.com/civicrm/civicrm-core/pull/20303) and
+ [20302](https://github.com/civicrm/civicrm-core/pull/20302))**
-- **REF - Cleanup array key checking to use array_key_exists ([20563](https://github.com/civicrm/civicrm-core/pull/20563))**
+ Ensures that CiviCRM core extension version numbers are updated to match the
+ core release they are included in and denotes development stage of extensions
+ using icons.
-- **[REF] CRM_Contact_Task - Use short array syntax ([20562](https://github.com/civicrm/civicrm-core/pull/20562))**
+- **Enable/Disable Extension Receives API Error (Work Towards
+ [dev/core#2646](https://lab.civicrm.org/dev/core/-/issues/2646):
+ [20564](https://github.com/civicrm/civicrm-core/pull/20564))**
-- **dev/core#2479 Adjust generic copy for localizable fields ([20059](https://github.com/civicrm/civicrm-core/pull/20059))**
+ Improves the error messages when disabling or enabling an extension causes an
+ API Error.
-- **APIv4 - Make the @searchable flag explicit for OptionList type entities. ([20560](https://github.com/civicrm/civicrm-core/pull/20560))**
+- **Regen.sh/setup.sh would be nice if the output for civicrm_generated.mysql
+ had long lines broken up
+ ([dev/core#1549](https://lab.civicrm.org/dev/core/-/issues/1549):
+ [20513](https://github.com/civicrm/civicrm-core/pull/20513))**
-- **[php8-compat] Partial Fix of hook tests for php8 ([20545](https://github.com/civicrm/civicrm-core/pull/20545))**
+ Improves display of civicrm_generated.mysql output so its easier to read.
-- **Fix the populateTempTable to be more direct ([20548](https://github.com/civicrm/civicrm-core/pull/20548))**
+- **Use new crm-angular-js instead of ng-app to bootstrap AngularJS
+ ([20419](https://github.com/civicrm/civicrm-core/pull/20419))**
-- **[php8-compact] Add in guards into various templates to fix hook tests… ([20542](https://github.com/civicrm/civicrm-core/pull/20542))**
+ Updates the method used to bootstrap Angular for internal consistency and so
+ that multiple angular apps can be used on the same page.
-- **[php8-compact] Fix Report tests failing on php8 ([20549](https://github.com/civicrm/civicrm-core/pull/20549))**
+- **APIv4 - Save custom fields in bulk
+ ([20269](https://github.com/civicrm/civicrm-core/pull/20269))**
-- **[php8-compat] Upgrade TCPDF version to support php8 ([20540](https://github.com/civicrm/civicrm-core/pull/20540))**
+ Makes it so custom fields can be saved in bulk thru APIv4.
-- **SearchKit - allow searches based on relationships ([20558](https://github.com/civicrm/civicrm-core/pull/20558))**
+- **Add APIv4 Batch.create spec
+ ([20501](https://github.com/civicrm/civicrm-core/pull/20501))**
-- **dev/core#2486 - Add WordReplacement APIv4 entity ([20559](https://github.com/civicrm/civicrm-core/pull/20559))**
+ Adds a spec for APIv4 Batch.create.
-- **(REF) dev/core#1744 - Simplify Afform event naming ([20555](https://github.com/civicrm/civicrm-core/pull/20555))**
+- **APIv4 - Make the @searchable flag explicit for OptionList type entities.
+ ([20560](https://github.com/civicrm/civicrm-core/pull/20560))**
-- **Fix v3 api payment test to validate on postAssert ([20530](https://github.com/civicrm/civicrm-core/pull/20530))**
+ Improves code for categorizing entities for SearchKit, making searchability
+ easier to grok and less magical/mysterious.
-- **Sort trigger data before processing ([20541](https://github.com/civicrm/civicrm-core/pull/20541))**
+- **Apiv4 entity parity (Work Towards
+ [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486):
+ [20559](https://github.com/civicrm/civicrm-core/pull/20559),
+ [20499](https://github.com/civicrm/civicrm-core/pull/20499),
+ [20464](https://github.com/civicrm/civicrm-core/pull/20464),
+ [20609](https://github.com/civicrm/civicrm-core/pull/20609),
+ [20433](https://github.com/civicrm/civicrm-core/pull/20433) and
+ [20474](https://github.com/civicrm/civicrm-core/pull/20474))**
-- **[php8-compat] Fix Include/Exclude Group Custom Search Tests by better… ([20539](https://github.com/civicrm/civicrm-core/pull/20539))**
+ Works towards APIv4 parity with APIv3 by adding the following entities to
+ APIv4: WordReplacement, FinancialItem and ACLEntityRole.
-- **SearchKit - Fix link target selection ([20537](https://github.com/civicrm/civicrm-core/pull/20537))**
+- **Introduce civi.api4.authorizeRecord and civi.api4.validate
+ ([20533](https://github.com/civicrm/civicrm-core/pull/20533))**
-- **[php8-compat] Fix Resources Test issue due to undefined array key add… ([20538](https://github.com/civicrm/civicrm-core/pull/20538))**
+ Refactors APIv4 code so that events use more consistent style (ie
+ civi.api4.{$TASK} with alias civi.api4.{$TASK}::{$ENTITY}).
-- **Switch table mapping to square bracket array syntax. ([20535](https://github.com/civicrm/civicrm-core/pull/20535))**
+- **APIv4 Entity.get refactor to be more efficient
+ ([20470](https://github.com/civicrm/civicrm-core/pull/20470))**
-- **Dedupe DAO is out of date ([20534](https://github.com/civicrm/civicrm-core/pull/20534))**
+ Makes APIv4 Entity.get more efficient.
-- **[php8-compat][REF] Fix Date unit tests in php8 by passing in 00 inste… ([20525](https://github.com/civicrm/civicrm-core/pull/20525))**
+- **APIv4 - Return id_field as part of Entity.get
+ ([20457](https://github.com/civicrm/civicrm-core/pull/20457))**
-- **dev/report#67 Fix standalone export classes ([20528](https://github.com/civicrm/civicrm-core/pull/20528))**
+ Improves APIv4 metadata so it returns the name of the unique identifier field
+ for each entity (usually but not always named "id").
-- **[php8-compact][REF] Fix another couple of places where by there are r… ([20526](https://github.com/civicrm/civicrm-core/pull/20526))**
+- **Add DedupeRule, DedupeRuleGroup and DedupeException API4 entity
+ ([20466](https://github.com/civicrm/civicrm-core/pull/20466))**
-- **[php8-compact][REF] Fix api_v3_PaymentTokenTest to work on php8 ([20527](https://github.com/civicrm/civicrm-core/pull/20527))**
+ Adds the following entities to APIv4: DedupeRule, DedupeRuleGroup and
+ DedupeException.
-- **[php8-compat][REF] Fix Case and Custom data tests by adding guards in… ([20524](https://github.com/civicrm/civicrm-core/pull/20524))**
+- **Use PHPUnit8 in main test suites
+ ([20370](https://github.com/civicrm/civicrm-core/pull/20370))**
-- **Fix for tax rates being mangled on contribution update ([20357](https://github.com/civicrm/civicrm-core/pull/20357))**
+ Makes phpunit8 the default test runner for PHP versions greater than 7.2 for
+ the core test suites.
-- **Use line items to look up memberships ([20495](https://github.com/civicrm/civicrm-core/pull/20495))**
+- **Link styling with default greenwich theme is not linklike on search kit
+ screen ([dev/core#2403](https://lab.civicrm.org/dev/core/-/issues/2403):
+ [20341](https://github.com/civicrm/civicrm-core/pull/20341))**
-- **Test fix up for AdditionalPaymentTest ([20521](https://github.com/civicrm/civicrm-core/pull/20521))**
+ Improves the SearchKit user interface by making links blue so that they are
+ easier to find.
-- **SearchKit - Add API filter for contacts in groups and smart groups ([20507](https://github.com/civicrm/civicrm-core/pull/20507))**
+- **Afform - Improve Gui, prefill & submit APIs
+ ([20383](https://github.com/civicrm/civicrm-core/pull/20383))**
-- **[php8-compat] Fix api_v3_PaymentTest failures by putting in more guar… ([20520](https://github.com/civicrm/civicrm-core/pull/20520))**
+ Standardizes prefill & submit APIs to use the same logic for validating
+ contacts. Displays correct form URL in the Afform GUI depending on is_frontend
+ setting. Shows warning about url arguments to prevent unintentional
+ permissions escalation.
-- **dev/core#2486 - Use read-only permissions for FinancialItem API ([20499](https://github.com/civicrm/civicrm-core/pull/20499))**
+- **Afform Gui - Add support for entityRef fields
+ ([20216](https://github.com/civicrm/civicrm-core/pull/20216))**
-- **dev/core#1549 - Malleate civicrm_generated so that long lines are split ([20513](https://github.com/civicrm/civicrm-core/pull/20513))**
+ Adds a widget to Afform for EntityRef to autocomplete contacts & other
+ entities, allows the autocomplete field to be changed to Number (for entering
+ ID) or Select (for choosing another entity on a form).
-- **[php8-compat][REF] Fix some more test failures in php8 ([20516](https://github.com/civicrm/civicrm-core/pull/20516))**
+- **Afform Entity Reference Submit
+ ([20305](https://github.com/civicrm/civicrm-core/pull/20305))**
-- **[php8-compat][REF] Fix api_v3_contributionpagetest on php8 ([20518](https://github.com/civicrm/civicrm-core/pull/20518))**
+ Improves Afform Submit handling to handle entity reference fields that
+ reference other form elements.
-- **[php8-compat][REF] Fix more php8 test failures caused by template issues ([20517](https://github.com/civicrm/civicrm-core/pull/20517))**
+- **SearchKit - allow searches based on relationships
+ ([20558](https://github.com/civicrm/civicrm-core/pull/20558))**
-- **[php8-compat] Update smarty templates and some php files to get the a… ([20512](https://github.com/civicrm/civicrm-core/pull/20512))**
+ Allows SearchKit searches based on relationships.
-- **[php8-compat] Fix some more examples of where required parameters are… ([20515](https://github.com/civicrm/civicrm-core/pull/20515))**
+- **SearchKit - Add API filter for contacts in groups and smart groups
+ ([20507](https://github.com/civicrm/civicrm-core/pull/20507))**
-- **Allow legacy warnings to be fully suppressed in PropertyBag ([20331](https://github.com/civicrm/civicrm-core/pull/20331))**
+ Adds a filter-style field to search for contacts in (or not in) one or more
+ groups.
-- **[php8-compat] Fix php beautifier notice by conditionally assinging dy… ([20509](https://github.com/civicrm/civicrm-core/pull/20509))**
+- **SearchKit - Update `hook_civicrm_searchKitTasks` signature
+ ([20467](https://github.com/civicrm/civicrm-core/pull/20467))**
-- **[php8-compat] Fix issue in APIv3 Where by because product has a colum… ([20508](https://github.com/civicrm/civicrm-core/pull/20508))**
+ Updates the hook_civicrm_searchKitTasks signature to include checkPermissions
+ and userId.
-- **[php8-compat] Fix issue with returning bool from uasort by using the … ([20502](https://github.com/civicrm/civicrm-core/pull/20502))**
+- **SearchKit - Add static groups and organize main entity selector
+ ([20434](https://github.com/civicrm/civicrm-core/pull/20434))**
-- **[php8-compat][NFC] Fix using ZipArchive::open on an empty file ([20500](https://github.com/civicrm/civicrm-core/pull/20500))**
+ Adds static (non-smart) groups to SearchKit, and organizes main entity
+ selector to be less cluttered, with primary entities up top and the rest
+ within a collapsible optgroup.
-- **ACLEntityRole BAO tidy fixes ([20504](https://github.com/civicrm/civicrm-core/pull/20504))**
+- **SearchKit and Afform UI improvements
+ ([20348](https://github.com/civicrm/civicrm-core/pull/20348))**
-- **[php8-compat] fix Upgrade call back issues by making functions static… ([20503](https://github.com/civicrm/civicrm-core/pull/20503))**
+ Cleans up the admin UI for SearchKit and Afform, adds click-to-sort table
+ headers and fixes a bug where SavedSearch modified_date were not being saved.
-- **[REF] Fix Authx tests on Druapl 8/9 by ensuring that we only return a… ([20498](https://github.com/civicrm/civicrm-core/pull/20498))**
+- **SearchKit - Rename crmSearchActions module to crmSearchTasks & add hook
+ ([20307](https://github.com/civicrm/civicrm-core/pull/20307))**
-- **APIv4 - Delete undocumented deprecated activityType lookup ([20506](https://github.com/civicrm/civicrm-core/pull/20506))**
+ Adds hook_civicrm_searchKitTasks() to make it easy for other extensions to add
+ tasks specific to SearchKit. Also renames the module for consistency.
-- **Add APIv4 Batch.create spec ([20501](https://github.com/civicrm/civicrm-core/pull/20501))**
+- **[php8-compat] Upgrade PHPWord Package to support php8
+ ([20449](https://github.com/civicrm/civicrm-core/pull/20449))**
-- **[php8-compat][NFC] Fix issue where by we are tryiing to access array keys … ([20496](https://github.com/civicrm/civicrm-core/pull/20496))**
+ Work towards making CiviCRM php8 compatible, specifically by upgrading PHPWord
+ Package.
-- **[REF][php8-compat] Fix more instances of where there is a required pa… ([20497](https://github.com/civicrm/civicrm-core/pull/20497))**
+- **[php8-compat] Upgrade TCPDF version to support php8
+ ([20540](https://github.com/civicrm/civicrm-core/pull/20540))**
-- **Clarify types on `hook_custom` and `hook_customPre` ([20488](https://github.com/civicrm/civicrm-core/pull/20488))**
+ Work Towards making CiviCRM php8 compatible specifically by upgrading TCPDF.
-- **dev/core#2636 - Authx - Undefined function in drupal 9 ([20479](https://github.com/civicrm/civicrm-core/pull/20479))**
+- **Consider joining the GitHub Sponsors program
+ ([community/sustainability#20](https://lab.civicrm.org/community/sustainability/-/issues/20):
+ [248](https://github.com/civicrm/civicrm-wordpress/pull/248) and
+ [62](https://github.com/civicrm/civicrm-joomla/pull/62))**
-- **Prevent adding duplicate dashlet if present with same name and label ([20375](https://github.com/civicrm/civicrm-core/pull/20375))**
+ Adds a sponsor link as apart of the GitHub Sponsors program.
-- **APIv4 Entity.get refactor to be more efficient ([20470](https://github.com/civicrm/civicrm-core/pull/20470))**
+- **Change the help text for Message Templates and Scheduled Reminders to
+ include link to CiviCRM Token Documentation page
+ ([20259](https://github.com/civicrm/civicrm-core/pull/20259))**
-- **Cleanup references to old dedupe class names ([20492](https://github.com/civicrm/civicrm-core/pull/20492))**
+ Improves user experience by linking to CiviCRM Token documentation from the
+ Message Templates and Scheduled Reminders forms.
-- **dev/core#2486 Add ACLEntityRole APIv4 Entity ([20474](https://github.com/civicrm/civicrm-core/pull/20474))**
+- **authx - Accept API keys by default
+ ([20081](https://github.com/civicrm/civicrm-core/pull/20081))**
-- **Add DedupeRule, DedupeRuleGroup and DedupeException API4 entity ([20466](https://github.com/civicrm/civicrm-core/pull/20466))**
+ Relaxes the default settings so that it is easier to use authx
+ as a replacement for extern/rest.php (which uses the api_key for
+ authentication).
-- **[php8-compat] Fix undefined property on Array Cache class in wordpres… ([20491](https://github.com/civicrm/civicrm-core/pull/20491))**
+### CiviCase
-- **[REF][php8-compat] Further fixes where there is a required paramater … ([20490](https://github.com/civicrm/civicrm-core/pull/20490))**
+- **Add defaults for APIv4 Case create
+ ([20306](https://github.com/civicrm/civicrm-core/pull/20306))**
-- **dev/translation#67 - Define "Translation" table. Add during installation/upgrade. ([20478](https://github.com/civicrm/civicrm-core/pull/20478))**
+ Adds the following defaults for APIv4 Case.create:
+ - default Case Creator = current user
+ - default Case Start Date = now
-- **APIv4 - Cleanup getFields, add @internal flag for non-public field attributes ([20489](https://github.com/civicrm/civicrm-core/pull/20489))**
+### CiviContribute
-- **Remove some unused variables ([20487](https://github.com/civicrm/civicrm-core/pull/20487))**
+- **Improve Sample data by ensuring all Credit Card Contributions have a
+ transaction id and that they are shown to be linked to the test payment
+ processor ([20312](https://github.com/civicrm/civicrm-core/pull/20312))**
-- **[php8-compat][REF] Fix php8 error on undefined constant CIVICRM_DISAB… ([20485](https://github.com/civicrm/civicrm-core/pull/20485))**
+ Improves CiviContribute sample date.
-- **5.38 ([20486](https://github.com/civicrm/civicrm-core/pull/20486))**
+## <a name="bugs"></a>Bugs resolved
-- **[php8-compat][NFC] Ensure that the 2nd parameter of hash_equals is a … ([20483](https://github.com/civicrm/civicrm-core/pull/20483))**
+### Core CiviCRM
-- **Afform - Fix custom field handling and add tests ([20480](https://github.com/civicrm/civicrm-core/pull/20480))**
+- **"You do not have permission to access this page" when exporting participants
+ in Search Kit
+ ([dev/report#67](https://lab.civicrm.org/dev/report/-/issues/67):
+ [20528](https://github.com/civicrm/civicrm-core/pull/20528))**
-- **Extract code that populates temp table for an individual group ([20458](https://github.com/civicrm/civicrm-core/pull/20458))**
+ Fixes an 'access denied' error on standalone SearchKit export forms, caused by
+ renaming the PHP classes.
-- **APIv4 - Fix getFields to respect default_value from getFields ([20481](https://github.com/civicrm/civicrm-core/pull/20481))**
+- **500 error saving Search Kit Smart Group sorted on aggregated field
+ ([dev/report#68](https://lab.civicrm.org/dev/report/-/issues/68):
+ [20610](https://github.com/civicrm/civicrm-core/pull/20610))**
-- **Remove pass-by-ref as param not altered ([20475](https://github.com/civicrm/civicrm-core/pull/20475))**
+- **Fatal error reported when photo cannot be found
+ ([dev/core#2369](https://lab.civicrm.org/dev/core/-/issues/2369):
+ [20447](https://github.com/civicrm/civicrm-core/pull/20447))**
-- **[php8-compat][phpunit8][NFC] Fix PHPUnit Warnings and fix a php error on f… ([20477](https://github.com/civicrm/civicrm-core/pull/20477))**
+- **Loss of translation when copying (cloning) entities (multilingual)
+ ([dev/core#2479](https://lab.civicrm.org/dev/core/-/issues/2479):
+ [20059](https://github.com/civicrm/civicrm-core/pull/20059))**
-- **[php8-compat] Fix deprecation error where by required function parame… ([20473](https://github.com/civicrm/civicrm-core/pull/20473))**
+- **Fatal error while upgrading smart-group data
+ ([dev/core#2659](https://lab.civicrm.org/dev/core/-/issues/2659):
+ [20756](https://github.com/civicrm/civicrm-core/pull/20756/))**
-- **5.38 ([20469](https://github.com/civicrm/civicrm-core/pull/20469))**
+- **CRM_Utils_File::isAbsolute does not respect PHP stream wrappers (Work
+ Towards [dev/core#2590](https://lab.civicrm.org/dev/core/-/issues/2590):
+ [20270](https://github.com/civicrm/civicrm-core/pull/20270))**
-- **Bump DOMPDF to `~1.0.0` ([20465](https://github.com/civicrm/civicrm-core/pull/20465))**
+ Removes unused function.
-- **SearchKit - Update `hook_civicrm_searchKitTasks` signature ([20467](https://github.com/civicrm/civicrm-core/pull/20467))**
+- **Installer doesn't check MySQL version properly
+ ([dev/core#2602](https://lab.civicrm.org/dev/core/-/issues/2602):
+ [20255](https://github.com/civicrm/civicrm-core/pull/20255))**
-- **[Ref] [tests only] replace direct calls to enable logging with calls to the setting ([20460](https://github.com/civicrm/civicrm-core/pull/20460))**
+- **Useradd task gives a deprecation notice for the password confirmation field
+ ([dev/core#2613](https://lab.civicrm.org/dev/core/-/issues/2613):
+ [20347](https://github.com/civicrm/civicrm-core/pull/20347))**
-- ** [Ref] Remove function parameter only used from test ([20459](https://github.com/civicrm/civicrm-core/pull/20459))**
+- **APIv4 - Delete undocumented deprecated activityType lookup
+ ([20506](https://github.com/civicrm/civicrm-core/pull/20506))**
-- **APIv4 - Return id_field as part of Entity.get ([20457](https://github.com/civicrm/civicrm-core/pull/20457))**
+ Deletes an undocumented APIv4 quirk that's been giving deprecated warnings for
+ over a year.
-- **dev/core#2486 Add pseudoconstant callback for LineItem and Financial item entity ([20464](https://github.com/civicrm/civicrm-core/pull/20464))**
+- **APIv4 - Fix getFields to respect default_value from getFields
+ ([20481](https://github.com/civicrm/civicrm-core/pull/20481))**
-- **Don't pass doPayment by reference in Contribution.transact API ([20463](https://github.com/civicrm/civicrm-core/pull/20463))**
+- **AfformGui - Fix tabs when cms theme adds extra margin
+ ([20431](https://github.com/civicrm/civicrm-core/pull/20431))**
-- **dev/core#2486 Add in FinancialItem APIv4 Entity ([20433](https://github.com/civicrm/civicrm-core/pull/20433))**
+- **Afform GUI - Fix tab breakage in Shoreditch theme
+ ([20416](https://github.com/civicrm/civicrm-core/pull/20416))**
-- **[Ref] remove never-passed param ([20456](https://github.com/civicrm/civicrm-core/pull/20456))**
+- **Afform drag n drop fixes
+ ([20281](https://github.com/civicrm/civicrm-core/pull/20281) and
+ [20263](https://github.com/civicrm/civicrm-core/pull/20263))**
-- **Make functions protected ([20455](https://github.com/civicrm/civicrm-core/pull/20455))**
+- **Afform - Fix custom field handling and add tests
+ ([20480](https://github.com/civicrm/civicrm-core/pull/20480))**
-- **Mark test class as having invalid financials ([20448](https://github.com/civicrm/civicrm-core/pull/20448))**
+- **Afform - hide disabled contact types & entities from disabled
+ components/extensions
+ ([20283](https://github.com/civicrm/civicrm-core/pull/20283))**
-- **SearchKit - Organize ON clause field selectors with joined entity first ([20454](https://github.com/civicrm/civicrm-core/pull/20454))**
+ Cleans up and improves Afform's internal entity lookup so it won't show
+ disabled entities.
-- **BAOs, Tests, etal - Support `HookInterface` and `EventSubscriberInterface` for auto-registration ([20427](https://github.com/civicrm/civicrm-core/pull/20427))**
+- **SearchKit - Fix link target selection
+ ([20537](https://github.com/civicrm/civicrm-core/pull/20537))**
-- **AfformGui - Fix tabs when cms theme adds extra margin ([20431](https://github.com/civicrm/civicrm-core/pull/20431))**
+- **SearchKit - Fix menu permission
+ ([20349](https://github.com/civicrm/civicrm-core/pull/20349))**
-- **[REF] APIv4 refactoring to support calculated fields ([20440](https://github.com/civicrm/civicrm-core/pull/20440))**
+- **SearchKit - Organize ON clause field selectors with joined entity first
+ ([20454](https://github.com/civicrm/civicrm-core/pull/20454))**
-- **SearchKit - Add static groups and organize main entity selector ([20434](https://github.com/civicrm/civicrm-core/pull/20434))**
+- **[php8-compat] Fix some more examples of where required parameters are after
+ optional parameters in function declaration
+ ([20515](https://github.com/civicrm/civicrm-core/pull/20515))**
-- **dev/core#2369 - Change missing image fatal error to 404 ([20447](https://github.com/civicrm/civicrm-core/pull/20447))**
+- **[php8-compat] Fix PHP Beautifier notice by conditionally assigning dynamic
+ foreign key to the template
+ ([20509](https://github.com/civicrm/civicrm-core/pull/20509))**
-- **[REF] Set receipt_date after sending, (from batch) not in anticipation ([20395](https://github.com/civicrm/civicrm-core/pull/20395))**
+- **[php8-compat] Fix issue in APIv3 Where by because product has a column
+ called options the testCreateSingleValueAlter triggers a cannot access offset
+ of type string on string in php8
+ ([20508](https://github.com/civicrm/civicrm-core/pull/20508))**
-- **dev/core#2593 Fix failure to complete contributions when membership deleted ([20424](https://github.com/civicrm/civicrm-core/pull/20424))**
+- **[php8-compat] Fix issue with returning bool from uasort by using the
+ spaceship operator
+ ([20502](https://github.com/civicrm/civicrm-core/pull/20502))**
-- **[php8-compat] Upgrade PHPWord Package to support php8 ([20449](https://github.com/civicrm/civicrm-core/pull/20449))**
+- **[php8-compat] Fix Upgrade call back issues by making functions static and
+ also fixing an issue with an array key not existing when checking obsolete
+ extensions ([20503](https://github.com/civicrm/civicrm-core/pull/20503))**
-- **[NFC] Superficial code cleanup ([20446](https://github.com/civicrm/civicrm-core/pull/20446))**
+- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results
+ ([645](https://github.com/civicrm/civicrm-drupal/pull/645),
+ [140](https://github.com/civicrm/civicrm-backdrop/pull/140) and
+ [249](https://github.com/civicrm/civicrm-wordpress/pull/249))**
-- **financial#173: Show 'Pay Now' on user dashboard for partially paid contributions ([20376](https://github.com/civicrm/civicrm-core/pull/20376))**
+- **[php8-compat] Fix calling method_exist with paremeter that is bool not an
+ object in php8 ([323](https:
-- **[php8-compat] [REF] Fix a couple of functions triggering deprecation notices in php… ([20442](https://github.com/civicrm/civicrm-core/pull/20442))**
+- **[php8-compat] Fix calling method_exist with paremeter that is bool not an
+ object in php8 ([20443](https://github.com/civicrm/civicrm-core/pull/20443))**
-- **[php8-compat] Fix Warning Notices when running schema generation ([20445](https://github.com/civicrm/civicrm-core/pull/20445))**
+- **[php8-compat] Fix deprecation error where by required function parameter
+ follows an optional function parameter
+ ([20473](https://github.com/civicrm/civicrm-core/pull/20473))**
-- **[php8-compat] Update Various Symfony components to latest version in … ([20444](https://github.com/civicrm/civicrm-core/pull/20444))**
+- **[php8-compat] Fix Warning Notices when running schema generation
+ ([20445](https://github.com/civicrm/civicrm-core/pull/20445))**
-- **OAuth: initial support for per-contact OAuth tokens ([20189](https://github.com/civicrm/civicrm-core/pull/20189))**
+- **[php8-compat] Update Various Symfony components to latest version in the
+ 3.4.x series to fix deprecation notice around libxml entity disable
+ ([20444](https://github.com/civicrm/civicrm-core/pull/20444))**
-- **Fix profile test teardown ([20439](https://github.com/civicrm/civicrm-core/pull/20439))**
+- **Fix the populateTempTable to be more direct
+ ([20548](https://github.com/civicrm/civicrm-core/pull/20548))**
-- **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([20443](https://github.com/civicrm/civicrm-core/pull/20443))**
+- **Sort trigger data before processing
+ ([20541](https://github.com/civicrm/civicrm-core/pull/20541))**
-- **[php8-compat] [REF] Fix call to function CRM_Utils_String::createRandom by ensuring that … ([20441](https://github.com/civicrm/civicrm-core/pull/20441))**
+- **Allow legacy warnings to be fully suppressed in PropertyBag
+ ([20331](https://github.com/civicrm/civicrm-core/pull/20331))**
-- **[REF] Extract code to transfer groups from temp table to cache ([20435](https://github.com/civicrm/civicrm-core/pull/20435))**
+- **Prevent adding duplicate dashlet if present with same name and label
+ ([20375](https://github.com/civicrm/civicrm-core/pull/20375))**
-- **Fix separate payment membership test to create valid financial transa… ([20436](https://github.com/civicrm/civicrm-core/pull/20436))**
+- **Ensure contacts without a name are updated when primary email changes
+ ([20403](https://github.com/civicrm/civicrm-core/pull/20403))**
-- **Ensure contacts without a name are updated when primary email changes ([20403](https://github.com/civicrm/civicrm-core/pull/20403))**
+- **fix arguments sent to hook_civicrm_check
+ ([20400](https://github.com/civicrm/civicrm-core/pull/20400))**
-- **Afform GUI - Fix tab breakage in Shoreditch theme ([20416](https://github.com/civicrm/civicrm-core/pull/20416))**
+- **Fix Distmaker building by ensuring we are rsyncing from the right folder
+ ([20353](https://github.com/civicrm/civicrm-core/pull/20353))**
-- **Fix internal group contact cache functions to be protected ([20385](https://github.com/civicrm/civicrm-core/pull/20385))**
+- **Fix mandatory keys check fail for value of float 0.0 in a required key in an
+ entity ([20342](https://github.com/civicrm/civicrm-core/pull/20342))**
-- **[REF] minor extraction - getInfoUrl ([20421](https://github.com/civicrm/civicrm-core/pull/20421))**
+- **Fix extraneous white space in generated SQL
+ ([20340](https://github.com/civicrm/civicrm-core/pull/20340))**
-- **5.38 ([20430](https://github.com/civicrm/civicrm-core/pull/20430))**
+- **Fix case sensitive parameter for call to getCustomFieldTokens
+ ([20333](https://github.com/civicrm/civicrm-core/pull/20333))**
-- **[REF] Fix issue where by mailing urls were always stuck in the origin… ([20102](https://github.com/civicrm/civicrm-core/pull/20102))**
+- **Fix CKEditor5 link editing in modal dialog
+ ([20285](https://github.com/civicrm/civicrm-core/pull/20285))**
-- **dev/mailing#95 Only track <a> urls in Flexmailer for HTML emails ([20129](https://github.com/civicrm/civicrm-core/pull/20129))**
+- **Correct copy-paste error in CustomField schema
+ ([20329](https://github.com/civicrm/civicrm-core/pull/20329))**
-- **Test - fix contributionTest to validate contributions ([20415](https://github.com/civicrm/civicrm-core/pull/20415))**
+- **Explicitly throw an error/status bounce on Edit/New if no types.
+ ([19840](https://github.com/civicrm/civicrm-core/pull/19840))**
-- **dev/core#2593 Fully remove loadRelatedObjects from PaypalExpress ([20422](https://github.com/civicrm/civicrm-core/pull/20422))**
+- **Core_DAO - Fire links_callback for all entities
+ ([20332](https://github.com/civicrm/civicrm-core/pull/20332))**
-- **Test fixes ([20426](https://github.com/civicrm/civicrm-core/pull/20426))**
+- **Get county fields populated via api call
+ ([20309](https://github.com/civicrm/civicrm-core/pull/20309))**
-- **[REF] Paypal pro - remove call to load contact record ([20423](https://github.com/civicrm/civicrm-core/pull/20423))**
+ Ensure that county fields are properly populated when calling the
+ Profile.getfields api.
-- **[REF] Stop passing unneed params to the recur function ([20412](https://github.com/civicrm/civicrm-core/pull/20412))**
+- **Activate user when no activation is required
+ ([20229](https://github.com/civicrm/civicrm-core/pull/20229))**
-- **Remove unused functions from payJunction ([20417](https://github.com/civicrm/civicrm-core/pull/20417))**
+ Ensures that any user created on a site that does not require admin approval
+ is considered active.
-- **Remove unused variable on dummy processor ([20418](https://github.com/civicrm/civicrm-core/pull/20418))**
+- **Switch to non deprecated buildPermissionClause() for contact detail report
+ ([20314](https://github.com/civicrm/civicrm-core/pull/20314))**
-- **Add defaults for APIv4 Case create ([20306](https://github.com/civicrm/civicrm-core/pull/20306))**
+- **Switch to non deprecated buildPermissionClause() for contact summary report
+ ([20287](https://github.com/civicrm/civicrm-core/pull/20287))**
-- **Revised fix for menu/UI issues for Joomla 4.0 ([20401](https://github.com/civicrm/civicrm-core/pull/20401))**
+- **Freeze readonly fields
+ ([20204](https://github.com/civicrm/civicrm-core/pull/20204))**
-- **Describe logic behind placement of `invalidateRouteCache` ([20414](https://github.com/civicrm/civicrm-core/pull/20414))**
+- **CiviCRM Scheduled Reminders, Subject field missing Token selector - users
+ must copy Token from Body field to Subject
+ ([20260](https://github.com/civicrm/civicrm-core/pull/20260))**
-- **[REF] replace isFirst parameter ([20411](https://github.com/civicrm/civicrm-core/pull/20411))**
+- **Fix delete customgroup using API4 so it removes data table
+ ([20265](https://github.com/civicrm/civicrm-core/pull/20265))**
-- **[REF] Remove now-unused params ([20410](https://github.com/civicrm/civicrm-core/pull/20410))**
+- **hook_managed - Do not try to disable managed entities if is_active is not
+ available to api3.create
+ ([20144](https://github.com/civicrm/civicrm-core/pull/20144))**
-- **[REF] Paypal ipn - cleanup references to completion ([20407](https://github.com/civicrm/civicrm-core/pull/20407))**
+- **DB/DataObject: use mb_strtolower because in turkish, INSERT becomes Insert
+ ([324](https://github.com/civicrm/civicrm-packages/pull/324))**
-- **[NFC] Cleanup in test class ([20402](https://github.com/civicrm/civicrm-core/pull/20402))**
+### CiviCase
-- **[REF] Replace deprecated code call ([20409](https://github.com/civicrm/civicrm-core/pull/20409))**
+- **APIv4 - CiviCase API: Fix opening a case with current user as creator
+ ([20238](https://github.com/civicrm/civicrm-core/pull/20238))**
-- **Remove remains of md5 check from authorizenet ([20406](https://github.com/civicrm/civicrm-core/pull/20406))**
+- **My Cases dashlet no longer working (javascript network error - blank
+ dashlet) ([dev/core#2606](https://lab.civicrm.org/dev/core/-/issues/2606):
+ [20275](https://github.com/civicrm/civicrm-core/pull/20275))**
-- **Update eventcart test to only test payment form ([20405](https://github.com/civicrm/civicrm-core/pull/20405))**
+## CiviContribute
-- **Fix contribution page pledge tests to create valid contributions ([20404](https://github.com/civicrm/civicrm-core/pull/20404))**
+- **PayPal fails to create contribution following duplicate merge when
+ membership record has been deleted
+ ([dev/core#2593](https://lab.civicrm.org/dev/core/-/issues/2593):
+ [20422](https://github.com/civicrm/civicrm-core/pull/20422),
+ [20424](https://github.com/civicrm/civicrm-core/pull/20424),
+ [20246](https://github.com/civicrm/civicrm-core/pull/20246) and
+ [20300](https://github.com/civicrm/civicrm-core/pull/20300))**
-- **[REF] Cleanup validation in PaypalProIPN single function ([20360](https://github.com/civicrm/civicrm-core/pull/20360))**
+- **"Pay Now" button on user dashboard is only for Pending, not Partially Paid
+ contributions
+ ([dev/financial#173](https://lab.civicrm.org/dev/financial/-/issues/173):
+ [20376](https://github.com/civicrm/civicrm-core/pull/20376))**
-- **[REF] Minor simplification ([20393](https://github.com/civicrm/civicrm-core/pull/20393))**
+ Ensures the 'Pay Now' buttons on the user dashboard are displayed for
+ partially paid contributions.
-- **Tax fixes in unit test ([20390](https://github.com/civicrm/civicrm-core/pull/20390))**
+- **Do not error on view contribution recur if not displaying contributions
+ ([20209](https://github.com/civicrm/civicrm-core/pull/20209))**
-- **fix arguments sent to hook_civicrm_check ([20400](https://github.com/civicrm/civicrm-core/pull/20400))**
+- **Fix for tax rates being mangled on contribution update
+ ([20357](https://github.com/civicrm/civicrm-core/pull/20357))**
-- **Afform - Improve Gui, prefill & submit APIs ([20383](https://github.com/civicrm/civicrm-core/pull/20383))**
+- **Add call to validateAllContributions & fix getTotalAmount
+ ([20391](https://github.com/civicrm/civicrm-core/pull/20391))**
-- **Add call to validateAllContributions & fix getTotalAmount ([20391](https://github.com/civicrm/civicrm-core/pull/20391))**
+- **Add warning when url_site is not specified for paypal (it won't work if not
+ set) ([20082](https://github.com/civicrm/civicrm-core/pull/20082))**
-- **Remove legacy references to partial_amount_to_pay ([20358](https://github.com/civicrm/civicrm-core/pull/20358))**
+- **Typo when retrieving help_pre textarea attributes for price field
+ ([20276](https://github.com/civicrm/civicrm-core/pull/20276))**
-- **[NFC] {test} code cleanup in test class ([20389](https://github.com/civicrm/civicrm-core/pull/20389))**
+- **Fix old-ish regression on paypal standard self-service cancel links
+ ([20210](https://github.com/civicrm/civicrm-core/pull/20210))**
-- **[NFC] Minor cleanup ([20387](https://github.com/civicrm/civicrm-core/pull/20387))**
+- **Don't pass doPayment by reference in Contribution.transact API
+ ([20463](https://github.com/civicrm/civicrm-core/pull/20463))**
-- **[NFC] Minor code cleanup ([20386](https://github.com/civicrm/civicrm-core/pull/20386))**
+- **If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger
+ deprecated function warning
+ ([20384](https://github.com/civicrm/civicrm-core/pull/20384))**
-- **Use PHPUnit8 in main test suites ([20370](https://github.com/civicrm/civicrm-core/pull/20370))**
+- **Convert payJunction to doPayment
+ ([20326](https://github.com/civicrm/civicrm-core/pull/20326))**
-- **If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger deprecated function warning ([20384](https://github.com/civicrm/civicrm-core/pull/20384))**
+- **Convert FirstData to doPayment
+ ([20325](https://github.com/civicrm/civicrm-core/pull/20325))**
-- **[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites ([20380](https://github.com/civicrm/civicrm-core/pull/20380))**
+- **Convert elavon to doPayment
+ ([20324](https://github.com/civicrm/civicrm-core/pull/20324))**
-- **[REF] extract function to get locks ([20373](https://github.com/civicrm/civicrm-core/pull/20373))**
+- **Convert Realex to doPayment
+ ([20327](https://github.com/civicrm/civicrm-core/pull/20327))**
-- **[NFC] [Test] Big cleanup in test class ([20374](https://github.com/civicrm/civicrm-core/pull/20374))**
+- **Convert payflowpro to doPayment
+ ([20328](https://github.com/civicrm/civicrm-core/pull/20328))**
-- **[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite ([20381](https://github.com/civicrm/civicrm-core/pull/20381))**
+- **Convert eway to doPayment
+ ([20323](https://github.com/civicrm/civicrm-core/pull/20323))**
-- **[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests ([20379](https://github.com/civicrm/civicrm-core/pull/20379))**
+- **Convert AuthorizeNet to doPayment()
+ ([20322](https://github.com/civicrm/civicrm-core/pull/20322))**
-- **[REF] Remove unused variable ([20378](https://github.com/civicrm/civicrm-core/pull/20378))**
+- **Sample payment processor types are misaligned in the sample data
+ ([dev/core#2614](https://lab.civicrm.org/dev/core/-/issues/2614):
+ [20311](https://github.com/civicrm/civicrm-core/pull/20311))**
-- **[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite ([20377](https://github.com/civicrm/civicrm-core/pull/20377))**
+### CiviMail
-- **Afform Entity Reference Submit ([20305](https://github.com/civicrm/civicrm-core/pull/20305))**
+- **<link> URLs are tracked and shouldn't be
+ ([dev/mail#95](https://lab.civicrm.org/dev/mail/-/issues/95):
+ [20129](https://github.com/civicrm/civicrm-core/pull/20129))**
-- **[NFC] Further cleanup in test class ([20372](https://github.com/civicrm/civicrm-core/pull/20372))**
+ Ensures link tracking is applied only to URLs inside <a> tags.
-- **[NFC] Add in more voids to unit tests to support PHPUnit8 ([20369](https://github.com/civicrm/civicrm-core/pull/20369))**
+### CiviMember
-- **[NFC] [Test] Preliminary cleanup in test class ([20371](https://github.com/civicrm/civicrm-core/pull/20371))**
+- **Creating a relationship fails when a related membership has a contact
+ reference custom field.
+ ([dev/membership#37](https://lab.civicrm.org/dev/membership/-/issues/37):
+ [20493](https://github.com/civicrm/civicrm-core/pull/20493))**
-- **Fix Distmaker building by ensuring we are rsyncing from the right folder ([20353](https://github.com/civicrm/civicrm-core/pull/20353))**
+- **Use line items to look up memberships
+ ([20495](https://github.com/civicrm/civicrm-core/pull/20495))**
-- **[Test] Add test cover for contribution tokens in pdf letter ([20217](https://github.com/civicrm/civicrm-core/pull/20217))**
+- **Use order api when creating a recurring membership from the Membership
+ ([20077](https://github.com/civicrm/civicrm-core/pull/20077))**
-- **[REF] Slightly more logical order of code ([20368](https://github.com/civicrm/civicrm-core/pull/20368))**
+### Drupal Integration
-- **Deprecate function CRM_Core_BAO_CustomField::bulkSave ([20367](https://github.com/civicrm/civicrm-core/pull/20367))**
+- **AuthX extension: user_load() deprecated in Drupal 8.x.
+ ([dev/core#2636](https://lab.civicrm.org/dev/core/-/issues/2636):
+ [20479](https://github.com/civicrm/civicrm-core/pull/20479))**
-- **[REF] Useradd contact task - Use OO instead of hardcoding "if Wordpress" ([20366](https://github.com/civicrm/civicrm-core/pull/20366))**
+- **drush install - Bump up entropy for autogenerated creds. Add signing key.
+ ([128](https://github.com/civicrm/civicrm-backdrop/pull/128))**
-- **Superficial tidy up in test class ([20359](https://github.com/civicrm/civicrm-core/pull/20359))**
+### WordPress Integration
-- **Cleanup - declare return types, remove unused var ([20363](https://github.com/civicrm/civicrm-core/pull/20363))**
+- **[php8-compat] Fix undefined property on Array Cache class in wordpress on
+ PHP8 ([20491](https://github.com/civicrm/civicrm-core/pull/20491))**
-- **[REF] Cleanup on import rows error ([20196](https://github.com/civicrm/civicrm-core/pull/20196))**
+- **Remove Base Page content filter once it has been used
+ ([dev/wordpress#91](https://lab.civicrm.org/dev/wordpress/-/issues/91):
+ [240](https://github.com/civicrm/civicrm-wordpress/pull/240))**
-- **Update bulkSave test to use the api ([20362](https://github.com/civicrm/civicrm-core/pull/20362))**
+ Fixes a bug where CiviCRM content would repeat itself in certain page
+ configurations.
-- **SearchKit - Fix menu permission ([20349](https://github.com/civicrm/civicrm-core/pull/20349))**
+## <a name="misc"></a>Miscellany
-- **[NFC] Add in voids to various setUpBeforeClass and tearDownAfterClass… ([20365](https://github.com/civicrm/civicrm-core/pull/20365))**
+- **Add file_exists check on loading services xml
+ ([20620](https://github.com/civicrm/civicrm-core/pull/20620))**
-- **SearchKit and Afform UI improvements ([20348](https://github.com/civicrm/civicrm-core/pull/20348))**
+- **APIv4 - Cleanup getFields, add @internal flag for non-public field
+ attributes ([20489](https://github.com/civicrm/civicrm-core/pull/20489))**
-- **Unit test for #20342 ([20361](https://github.com/civicrm/civicrm-core/pull/20361))**
+- **Extract code that populates temp table for an individual group
+ ([20458](https://github.com/civicrm/civicrm-core/pull/20458))**
-- **[REF] Extract function to build temporary table of members of group from Report_Form ([20297](https://github.com/civicrm/civicrm-core/pull/20297))**
+- **Cleanup - declare return types, remove unused var
+ ([20363](https://github.com/civicrm/civicrm-core/pull/20363))**
-- **Fix mandatory keys check fail for value of float 0.0 in a required key in an entity ([20342](https://github.com/civicrm/civicrm-core/pull/20342))**
+- **Bump lodash from 4.17.19 to 4.17.21
+ ([20247](https://github.com/civicrm/civicrm-core/pull/20247))**
-- **[REF] Extract getContributionObject ([20355](https://github.com/civicrm/civicrm-core/pull/20355))**
+- **Bump DOMPDF to `~1.0.0`
+ ([20465](https://github.com/civicrm/civicrm-core/pull/20465))**
-- **[NFC] Update PHPUnit config to not cache results in phpunit8 and add … ([20356](https://github.com/civicrm/civicrm-core/pull/20356))**
+- **Make functions protected
+ ([20455](https://github.com/civicrm/civicrm-core/pull/20455))**
-- **[REF] Remove now-unused parameter ([20354](https://github.com/civicrm/civicrm-core/pull/20354))**
+- **Deprecate function CRM_Core_BAO_CustomField::bulkSave
+ ([20367](https://github.com/civicrm/civicrm-core/pull/20367))**
-- **Add test for mixed Order data ([20241](https://github.com/civicrm/civicrm-core/pull/20241))**
+- **Cleanup tracking on group.load
+ ([20310](https://github.com/civicrm/civicrm-core/pull/20310))**
-- **[REF] Add getter for contributionID ([20318](https://github.com/civicrm/civicrm-core/pull/20318))**
+- **Describe logic behind placement of `invalidateRouteCache`
+ ([20414](https://github.com/civicrm/civicrm-core/pull/20414))**
-- **[REF] Make previous unshared function protected & Remove hard-coded params ([20345](https://github.com/civicrm/civicrm-core/pull/20345))**
+- **Fix internal group contact cache functions to be protected
+ ([20385](https://github.com/civicrm/civicrm-core/pull/20385))**
-- **Fix form params for testEventPaymentForms ([20330](https://github.com/civicrm/civicrm-core/pull/20330))**
+- **Clarify types on `hook_custom` and `hook_customPre`
+ ([20488](https://github.com/civicrm/civicrm-core/pull/20488))**
-- **[NFC] Add in unit tests of credit card validation rules ([20352](https://github.com/civicrm/civicrm-core/pull/20352))**
+- **Cleanup references to old dedupe class names
+ ([20492](https://github.com/civicrm/civicrm-core/pull/20492))**
-- **[REF] Update Pear Validate Finance CreditCard to use latest tagged re… ([20351](https://github.com/civicrm/civicrm-core/pull/20351))**
+- **Switch l10n.js from ajax callback to assetBuilder
+ ([20121](https://github.com/civicrm/civicrm-core/pull/20121))**
-- **Fix extraneous white space in generated sql ([20340](https://github.com/civicrm/civicrm-core/pull/20340))**
+- **ACLEntityRole BAO tidy fixes
+ ([20504](https://github.com/civicrm/civicrm-core/pull/20504))**
-- **Give the custom css file a 'name' to make it easier to manipulate in hook_civicrm_alterBundle() ([20278](https://github.com/civicrm/civicrm-core/pull/20278))**
+- **Dedupe DAO is out of date
+ ([20534](https://github.com/civicrm/civicrm-core/pull/20534))**
-- **[REF] Make previously unshared function protected ([20346](https://github.com/civicrm/civicrm-core/pull/20346))**
+- **Switch table mapping to square bracket array syntax.
+ ([20535](https://github.com/civicrm/civicrm-core/pull/20535))**
-- **Remove extraneous debug ([20319](https://github.com/civicrm/civicrm-core/pull/20319))**
+- **Update civicrm_generated (5.39 version)
+ ([20571](https://github.com/civicrm/civicrm-core/pull/20571))**
-- **dev/core#2613 - Replace deprecated function in useradd task ([20347](https://github.com/civicrm/civicrm-core/pull/20347))**
+- **[REF] Cannot edit CiviCRM Joomla permissions (access control) in 5.37.0
+ (Clean up for [dev/core#2601](https://lab.civicrm.org/dev/core/-/issues/2601):
+ [20271](https://github.com/civicrm/civicrm-core/pull/20271))**
-- **[REF] Remove unused parameters ([20301](https://github.com/civicrm/civicrm-core/pull/20301))**
+- **Revised fix for menu/UI issues for Joomla 4.0
+ ([20401](https://github.com/civicrm/civicrm-core/pull/20401))**
-- **5.38 ([20344](https://github.com/civicrm/civicrm-core/pull/20344))**
+- **[php8-compat] Fix Include/Exclude Group Custom Search Tests by better
+ handling empty arrays on exclusions in the custom search
+ ([20539](https://github.com/civicrm/civicrm-core/pull/20539))**
-- **SearchKit - Rename crmSearchActions module to crmSearchTasks & add hook ([20307](https://github.com/civicrm/civicrm-core/pull/20307))**
+- **[php8-compat] Fix Resources Test issue due to undefined array key add
+ CacheCode ([20538](https://github.com/civicrm/civicrm-core/pull/20538))**
-- **[NFC] Remove timecop function references from Cache Tiered Test ([20343](https://github.com/civicrm/civicrm-core/pull/20343))**
+- **[php8-compat] Fix api_v3_PaymentTest failures by putting in more guards into
+ message templates
+ ([20520](https://github.com/civicrm/civicrm-core/pull/20520))**
-- **dev/core#2403 - Change Greenwich link color from gray to blue ([20341](https://github.com/civicrm/civicrm-core/pull/20341))**
+- **[php8-compat] Update smarty templates and some PHP files to get the
+ api_v3_contribution testclass to pass on php8
+ ([20512](https://github.com/civicrm/civicrm-core/pull/20512))**
-- **[REF] Cleanup BAO_ActionSchedule::getlist() signature ([20239](https://github.com/civicrm/civicrm-core/pull/20239))**
+- **[php8-compact] Add in guards into various templates to fix hook tests in
+ php8 ([20542](https://github.com/civicrm/civicrm-core/pull/20542))**
-- **SearchKit - Use default_pager_size setting ([20336](https://github.com/civicrm/civicrm-core/pull/20336))**
+- **[php8-compact] Fix Report tests failing on php8
+ ([20549](https://github.com/civicrm/civicrm-core/pull/20549))**
-- **(REF) Regen CRM/Core/DAO/CustomField.php ([20337](https://github.com/civicrm/civicrm-core/pull/20337))**
+- **[php8-compat] Partial Fix of hook tests for php8
+ ([20545](https://github.com/civicrm/civicrm-core/pull/20545))**
-- **Fix case sensitive parameter for call to getCustomFieldTokens ([20333](https://github.com/civicrm/civicrm-core/pull/20333))**
+- **[php8-compat] [REF] Fix a couple of functions triggering deprecation notices
+ in php 8.0 where by an optional parameter is before required parameters in the
+ function signature
+ ([20442](https://github.com/civicrm/civicrm-core/pull/20442))**
-- **Core_DAO - fire links_callback for all entities ([20332](https://github.com/civicrm/civicrm-core/pull/20332))**
+- **[php8-compat] [REF] Fix call to function CRM_Utils_String::createRandom by
+ ensuring that the length is the first parameter not 2nd
+ ([20441](https://github.com/civicrm/civicrm-core/pull/20441))**
-- **Fix CKEditor5 link editing in modal dialog ([20285](https://github.com/civicrm/civicrm-core/pull/20285))**
+- **[php8-compat][NFC] Ensure that the 2nd parameter of hash_equals is a string
+ in authx ([20483](https://github.com/civicrm/civicrm-core/pull/20483))**
-- **Fix old-ish regression on paypal standard self-service cancel links ([20210](https://github.com/civicrm/civicrm-core/pull/20210))**
+- **[php8-compat][NFC] Fix using ZipArchive::open on an empty file
+ ([20500](https://github.com/civicrm/civicrm-core/pull/20500))**
-- **[Ref] remove redundant call to clearGroupContactCache ([20243](https://github.com/civicrm/civicrm-core/pull/20243))**
+- **[php8-compat][NFC] Fix issue where by we are tryiing to access array keys
+ that haven't been created yet
+ ([20496](https://github.com/civicrm/civicrm-core/pull/20496))**
-- **Convert payJunction to doPayment ([20326](https://github.com/civicrm/civicrm-core/pull/20326))**
+- **[REF][php8-compat] Fix more instances of where there is a required parameter
+ for a function after an optional one and fix an issue where by a NULL function
+ property is treated as not exisiting in php8
+ ([20497](https://github.com/civicrm/civicrm-core/pull/20497))**
-- **Convert FirstData to doPayment ([20325](https://github.com/civicrm/civicrm-core/pull/20325))**
+- **[REF][php8-compat] Further fixes where there is a required paramater after
+ an optional paramater
+ ([20490](https://github.com/civicrm/civicrm-core/pull/20490))**
-- **Convert elavon to doPayment ([20324](https://github.com/civicrm/civicrm-core/pull/20324))**
+- **[php8-compat][REF] Fix some more test failures in php8
+ ([20516](https://github.com/civicrm/civicrm-core/pull/20516))**
-- **Convert Realex to doPayment ([20327](https://github.com/civicrm/civicrm-core/pull/20327))**
+- **[php8-compat][REF] Fix api_v3_contributionpagetest on php8
+ ([20518](https://github.com/civicrm/civicrm-core/pull/20518))**
-- **Convert payflowpro to doPayment ([20328](https://github.com/civicrm/civicrm-core/pull/20328))**
+- **[php8-compat][REF] Fix more php8 test failures caused by template issues
+ ([20517](https://github.com/civicrm/civicrm-core/pull/20517))**
-- **Convert eway to doPayment ([20323](https://github.com/civicrm/civicrm-core/pull/20323))**
+- **[php8-compat][REF] Fix php8 error on undefined constant
+ CIVICRM_DISABLE_DEFAULT_MENU
+ ([20485](https://github.com/civicrm/civicrm-core/pull/20485))**
-- **Correct copy-paste error in CustomField schema ([20329](https://github.com/civicrm/civicrm-core/pull/20329))**
+- **[php8-compat][REF] Fix Date unit tests in php8 by passing in 00 instead of
+ null for hours,minutes and seconds
+ ([20525](https://github.com/civicrm/civicrm-core/pull/20525))**
-- **Convert AuthorizeNet to doPayment() ([20322](https://github.com/civicrm/civicrm-core/pull/20322))**
+- **[php8-compact][REF] Fix another couple of places where by there are required
+ variables in php function declaration after optional ones
+ ([20526](https://github.com/civicrm/civicrm-core/pull/20526))**
-- **get county fields populated via api call ([20309](https://github.com/civicrm/civicrm-core/pull/20309))**
+- **[php8-compact][REF] Fix api_v3_PaymentTokenTest to work on php8
+ ([20527](https://github.com/civicrm/civicrm-core/pull/20527))**
-- **dev/release#17 - Synchronize version#s for core and core-extensions ([20303](https://github.com/civicrm/civicrm-core/pull/20303))**
+- **[php8-compat][REF] Fix Case and Custom data tests by adding guards in to
+ templates ([20524](https://github.com/civicrm/civicrm-core/pull/20524))**
-- **APIv4 - Save custom fields in bulk ([20269](https://github.com/civicrm/civicrm-core/pull/20269))**
+- **[php8-compat][phpunit8][NFC] Fix PHPUnit Warnings and fix a php error on
+ function declaration syntax in core extension tests
+ ([20477](https://github.com/civicrm/civicrm-core/pull/20477))**
-- **[REF] Make use of recently added default pager size setting in Reports ([20273](https://github.com/civicrm/civicrm-core/pull/20273))**
+- **Remove extraneous debug
+ ([20319](https://github.com/civicrm/civicrm-core/pull/20319))**
-- **[REF] Duplicate & deprecate processMembership ([20313](https://github.com/civicrm/civicrm-core/pull/20313))**
+- **Remove legacy references to partial_amount_to_pay
+ ([20358](https://github.com/civicrm/civicrm-core/pull/20358))**
-- **Add unit test for #20144 ([20320](https://github.com/civicrm/civicrm-core/pull/20320))**
+- **Remove remains of md5 check from authorizenet
+ ([20406](https://github.com/civicrm/civicrm-core/pull/20406))**
-- **Explicitly throw an error/status bounce on Edit/New if no types. ([19840](https://github.com/civicrm/civicrm-core/pull/19840))**
+- **Remove deprecation of order-must-be-pending
+ ([20205](https://github.com/civicrm/civicrm-core/pull/20205))**
-- **[REF] Switch to using getContributionRecurID function, remove now unused param ([20316](https://github.com/civicrm/civicrm-core/pull/20316))**
+- **Remove some unused variables
+ ([20487](https://github.com/civicrm/civicrm-core/pull/20487))**
-- **Afform drag n drop fixes ([20281](https://github.com/civicrm/civicrm-core/pull/20281))**
+- **Remove never-passed parameter from now unshared function
+ ([20304](https://github.com/civicrm/civicrm-core/pull/20304))**
-- **[REF] Fully remove ids variable from paypal std ([20317](https://github.com/civicrm/civicrm-core/pull/20317))**
+- **Remove defunct default return property
+ ([20139](https://github.com/civicrm/civicrm-core/pull/20139))**
-- **(dev/release#17) Extension UI - Show developmental icon for alpha/beta-stage extensions ([20302](https://github.com/civicrm/civicrm-core/pull/20302))**
+- **Remove now-unused ids parameter from signature
+ ([20299](https://github.com/civicrm/civicrm-core/pull/20299))**
-- **Cleanup tracking on group.load ([20310](https://github.com/civicrm/civicrm-core/pull/20310))**
+- **Remove unused functions from payJunction
+ ([20417](https://github.com/civicrm/civicrm-core/pull/20417))**
-- **authx - Accept API keys by default ([20081](https://github.com/civicrm/civicrm-core/pull/20081))**
+- **Remove unused variable on dummy processor
+ ([20418](https://github.com/civicrm/civicrm-core/pull/20418))**
-- **Activate user when no activation is required ([20229](https://github.com/civicrm/civicrm-core/pull/20229))**
+- **Remove pass-by-ref as param not altered
+ ([20475](https://github.com/civicrm/civicrm-core/pull/20475))**
-- **Separates the default language for contacts from the site language ([20214](https://github.com/civicrm/civicrm-core/pull/20214))**
+- **[REF] (Code style) To const, or not const - that is the event
+ ([dev/core#1744](https://lab.civicrm.org/dev/core/-/issues/1744):
+ [20555](https://github.com/civicrm/civicrm-core/pull/20555))**
-- **Switch to non deprecated buildPermissionClause() for contact detail report ([20314](https://github.com/civicrm/civicrm-core/pull/20314))**
+- **[REF] Extract function to get locks
+ ([20373](https://github.com/civicrm/civicrm-core/pull/20373))**
-- **Do not error on view contribution recur if not displaying contributions ([20209](https://github.com/civicrm/civicrm-core/pull/20209))**
+- **[REF] Remove unused variable
+ ([20378](https://github.com/civicrm/civicrm-core/pull/20378))**
-- **dev/core#2593 stop calling loadRelatedObjects / fix for bug ([20300](https://github.com/civicrm/civicrm-core/pull/20300))**
+- **[REF] Slightly more logical order of code
+ ([20368](https://github.com/civicrm/civicrm-core/pull/20368))**
-- **[REF] Provide standardised methods to get recurring contribution id & object ([20294](https://github.com/civicrm/civicrm-core/pull/20294))**
+- **[REF] Extract code to transfer groups from temp table to cache
+ ([20435](https://github.com/civicrm/civicrm-core/pull/20435))**
-- **[REF] Reverse if statement ([20211](https://github.com/civicrm/civicrm-core/pull/20211))**
+- **[REF] Remove never-passed param
+ ([20456](https://github.com/civicrm/civicrm-core/pull/20456))**
-- **Remove deprecation of order-must-be-pending ([20205](https://github.com/civicrm/civicrm-core/pull/20205))**
+- **[REF] APIv4 refactoring to support calculated fields
+ ([20440](https://github.com/civicrm/civicrm-core/pull/20440))**
-- **Improve Sample data by ensuring all Credit Card Contributions have a … ([20312](https://github.com/civicrm/civicrm-core/pull/20312))**
+- **[REF] Set receipt_date after sending, (from batch) not in anticipation
+ ([20395](https://github.com/civicrm/civicrm-core/pull/20395))**
-- **Remove never-passed parameter from now unshared function ([20304](https://github.com/civicrm/civicrm-core/pull/20304))**
+- **[REF] Minor extraction - getInfoUrl
+ ([20421](https://github.com/civicrm/civicrm-core/pull/20421))**
-- **dev/core#2614 - Sample payment processor is the wrong id in the generated sample data for demos ([20311](https://github.com/civicrm/civicrm-core/pull/20311))**
+- **[REF] Fix issue where by mailing urls were always stuck in the original
+ language not the overriden language in a multilingual site
+ ([20102](https://github.com/civicrm/civicrm-core/pull/20102))**
-- **Add warning when url_site is not specified for paypal (it won't work if not set) ([20082](https://github.com/civicrm/civicrm-core/pull/20082))**
+- **[REF] Paypal pro - remove call to load contact record
+ ([20423](https://github.com/civicrm/civicrm-core/pull/20423))**
-- **Remove defunct default return property ([20139](https://github.com/civicrm/civicrm-core/pull/20139))**
+- **[REF] Stop passing unneed params to the recur function
+ ([20412](https://github.com/civicrm/civicrm-core/pull/20412))**
-- **Afform Gui - Add support for entityRef fields ([20216](https://github.com/civicrm/civicrm-core/pull/20216))**
+- **[REF] Replace isFirst parameter
+ ([20411](https://github.com/civicrm/civicrm-core/pull/20411))**
-- **Remove now-unused ids parameter from signature ([20299](https://github.com/civicrm/civicrm-core/pull/20299))**
+- **[REF] Remove now-unused params
+ ([20410](https://github.com/civicrm/civicrm-core/pull/20410))**
-- **[REF] Use function to getContributionRecurID ([20293](https://github.com/civicrm/civicrm-core/pull/20293))**
+- **[REF] Paypal IPN - Cleanup references to completion
+ ([20407](https://github.com/civicrm/civicrm-core/pull/20407))**
-- **[REF] Duplicate processMembership preliminary to cleanup ([20295](https://github.com/civicrm/civicrm-core/pull/20295))**
+- **[REF] Replace deprecated code call
+ ([20409](https://github.com/civicrm/civicrm-core/pull/20409))**
-- **Switch to non deprecated buildPermissionClause() for contact summary report ([20287](https://github.com/civicrm/civicrm-core/pull/20287))**
+- **[REF] Cleanup validation in PaypalProIPN single function
+ ([20360](https://github.com/civicrm/civicrm-core/pull/20360))**
-- **[NFC/TEST] - Add unit test enforcing automatic chaining for financial type/account creation via api ([20288](https://github.com/civicrm/civicrm-core/pull/20288))**
+- **[REF] Minor simplification
+ ([20393](https://github.com/civicrm/civicrm-core/pull/20393))**
-- **5.38 ([20290](https://github.com/civicrm/civicrm-core/pull/20290))**
+- **[REF] Useradd contact task - Use OO instead of hardcoding "if Wordpress"
+ ([20366](https://github.com/civicrm/civicrm-core/pull/20366))**
-- **dev/core#2593 [REF] Fix function signature to actually-used variables ([20246](https://github.com/civicrm/civicrm-core/pull/20246))**
+- **[REF] Cleanup on import rows error
+ ([20196](https://github.com/civicrm/civicrm-core/pull/20196))**
-- **Use order api when creating a recurring membership from the Membershi… ([20077](https://github.com/civicrm/civicrm-core/pull/20077))**
+- **[REF] Extract function to build temporary table of members of group from
+ Report_Form ([20297](https://github.com/civicrm/civicrm-core/pull/20297))**
-- **Change the help text for Message Templates and Scheduled Reminders to include link to CiviCRM Token Documentation page ([20259](https://github.com/civicrm/civicrm-core/pull/20259))**
+- **[REF] Remove now-unused parameter
+ ([20354](https://github.com/civicrm/civicrm-core/pull/20354))**
-- **5.38 ([20284](https://github.com/civicrm/civicrm-core/pull/20284))**
+- **[REF] Extract getContributionObject
+ ([20355](https://github.com/civicrm/civicrm-core/pull/20355))**
-- **Afform - hide disabled contact types & entities from disabled components/extensions ([20283](https://github.com/civicrm/civicrm-core/pull/20283))**
+- **[REF] Add getter for contributionID
+ ([20318](https://github.com/civicrm/civicrm-core/pull/20318))**
-- **5.38 ([20280](https://github.com/civicrm/civicrm-core/pull/20280))**
+- **[REF] Make previous unshared function protected & Remove hard-coded params
+ ([20345](https://github.com/civicrm/civicrm-core/pull/20345))**
-- **Typo when retrieving help_pre textarea attributes for price field ([20276](https://github.com/civicrm/civicrm-core/pull/20276))**
+- **[REF] Update Pear Validate Finance CreditCard to use latest tagged release
+ that now includes the improved mastercard 2bin regex
+ ([20351](https://github.com/civicrm/civicrm-core/pull/20351))**
-- **[REF] Move ACLPermission Trait into Civi Folder so that it can be acc… ([20208](https://github.com/civicrm/civicrm-core/pull/20208))**
+- **[REF] Make previously unshared function protected
+ ([20346](https://github.com/civicrm/civicrm-core/pull/20346))**
-- **dev/core#2606 - Typo in rowCount variable in pager ([20275](https://github.com/civicrm/civicrm-core/pull/20275))**
+- **[REF] Remove unused parameters
+ ([20301](https://github.com/civicrm/civicrm-core/pull/20301))**
-- **dev/core#2590 - Remove unused function CRM_Utils_File::relativeDirectory ([20270](https://github.com/civicrm/civicrm-core/pull/20270))**
+- **[REF] Cleanup BAO_ActionSchedule::getlist() signature
+ ([20239](https://github.com/civicrm/civicrm-core/pull/20239))**
-- **Afform - Drag & drop fixes ([20263](https://github.com/civicrm/civicrm-core/pull/20263))**
+- **(REF) Regen CRM/Core/DAO/CustomField.php
+ ([20337](https://github.com/civicrm/civicrm-core/pull/20337))**
-- **(REF) dev/core#2601 - Cleanup stale parameter ([20271](https://github.com/civicrm/civicrm-core/pull/20271))**
+- **[REF] Remove redundant call to clearGroupContactCache
+ ([20243](https://github.com/civicrm/civicrm-core/pull/20243))**
-- **[NFC] Test - Improve tearDown cleanup of domain contacts ([20258](https://github.com/civicrm/civicrm-core/pull/20258))**
+- **[REF] [tests only] Replace direct calls to enable logging with calls to the
+ setting ([20460](https://github.com/civicrm/civicrm-core/pull/20460))**
-- **dev/core#2187 Allow sites to customise the default number of rows ret… ([18969](https://github.com/civicrm/civicrm-core/pull/18969))**
+- **[REF] Remove function parameter only used from test
+ ([20459](https://github.com/civicrm/civicrm-core/pull/20459))**
-- **Freeze readonly fields ([20204](https://github.com/civicrm/civicrm-core/pull/20204))**
+- **[REF] Extract code determining list of groups requiring a refresh
+ ([20242](https://github.com/civicrm/civicrm-core/pull/20242))**
-- **CiviCRM Scheduled Reminders, Subject field missing Token selector - users must copy Token from Body field to Subject ([20260](https://github.com/civicrm/civicrm-core/pull/20260))**
+- **REF - Cleanup array key checking to use array_key_exists
+ ([20563](https://github.com/civicrm/civicrm-core/pull/20563))**
-- **Fix delete customgroup using API4 so it removes data table ([20265](https://github.com/civicrm/civicrm-core/pull/20265))**
+- **[REF] CRM_Contact_Task - Use short array syntax
+ ([20562](https://github.com/civicrm/civicrm-core/pull/20562))**
-- **5.38 ([20266](https://github.com/civicrm/civicrm-core/pull/20266))**
+- **[REF] Fix Authx tests on Druapl 8/9 by ensuring that we only return an id
+ for the user id if it is greater than 0
+ ([20498](https://github.com/civicrm/civicrm-core/pull/20498))**
-- **fix missing parent tearDown ([20261](https://github.com/civicrm/civicrm-core/pull/20261))**
+- **[REF] Move ACLPermission Trait into Civi Folder so that it can be accessed
+ by Extensions ([20208](https://github.com/civicrm/civicrm-core/pull/20208))**
-- **Fix missing parent tearDown ([20262](https://github.com/civicrm/civicrm-core/pull/20262))**
+- **[REF] Use function to getContributionRecurID
+ ([20293](https://github.com/civicrm/civicrm-core/pull/20293))**
-- **[NFC] Test - fix to use v3 api on postAsserts ([20257](https://github.com/civicrm/civicrm-core/pull/20257))**
+- **[REF] Duplicate processMembership preliminary to cleanup
+ ([20295](https://github.com/civicrm/civicrm-core/pull/20295))**
-- **[REF] Extract code determining list of groups requiring a refresh ([20242](https://github.com/civicrm/civicrm-core/pull/20242))**
+- **[REF] Switch to using getContributionRecurID function, remove now unused
+ param ([20316](https://github.com/civicrm/civicrm-core/pull/20316))**
-- **[Test] Improve cleanup of domain contacts ([20253](https://github.com/civicrm/civicrm-core/pull/20253))**
+- **[REF] Fully remove ids variable from paypal std
+ ([20317](https://github.com/civicrm/civicrm-core/pull/20317))**
-- **dev/core#2602 - Installer doesn't check mysql version properly ([20255](https://github.com/civicrm/civicrm-core/pull/20255))**
+- **[REF] Make use of recently added default pager size setting in Reports
+ ([20273](https://github.com/civicrm/civicrm-core/pull/20273))**
-- **Switch l10n.js from ajax callback to assetBuilder ([20121](https://github.com/civicrm/civicrm-core/pull/20121))**
+- **[REF] Duplicate & deprecate processMembership
+ ([20313](https://github.com/civicrm/civicrm-core/pull/20313))**
-- **Test fix - assertion fails when run with other tests (sometimes) ([20250](https://github.com/civicrm/civicrm-core/pull/20250))**
+- **[REF] Provide standardised methods to get recurring contribution id & object
+ ([20294](https://github.com/civicrm/civicrm-core/pull/20294))**
-- **Improve cleanup on contact test ([20248](https://github.com/civicrm/civicrm-core/pull/20248))**
+- **[REF] Reverse if statement
+ ([20211](https://github.com/civicrm/civicrm-core/pull/20211))**
-- **APIv4 - CiviCase API: Fix openening a case with current user as creator ([20238](https://github.com/civicrm/civicrm-core/pull/20238))**
+- **Mark test class as having invalid financials
+ ([20448](https://github.com/civicrm/civicrm-core/pull/20448))**
-- **Bump lodash from 4.17.19 to 4.17.21 ([20247](https://github.com/civicrm/civicrm-core/pull/20247))**
+- **Update eventcart test to only test payment form
+ ([20405](https://github.com/civicrm/civicrm-core/pull/20405))**
-- **hook_managed - do not try to disable managed entities if is_active is not available to api3.create ([20144](https://github.com/civicrm/civicrm-core/pull/20144))**
+- **Fix profile test teardown
+ ([20439](https://github.com/civicrm/civicrm-core/pull/20439))**
-- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([645](https://github.com/civicrm/civicrm-drupal/pull/645))**
+- **Fix separate payment membership test to create valid financial transactions
+ ([20436](https://github.com/civicrm/civicrm-core/pull/20436))**
-- **Remove Base Page content filter once it has been used ([240](https://github.com/civicrm/civicrm-wordpress/pull/240))**
+- **fix missing parent tearDown
+ ([20261](https://github.com/civicrm/civicrm-core/pull/20261) and
+ [20262](https://github.com/civicrm/civicrm-core/pull/20262))**
-- **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([248](https://github.com/civicrm/civicrm-wordpress/pull/248))**
+- **Fix v3 api payment test to validate on postAssert
+ ([20530](https://github.com/civicrm/civicrm-core/pull/20530))**
-- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([249](https://github.com/civicrm/civicrm-wordpress/pull/249))**
+- **Fix Financial item test to validate Financials
+ ([20532](https://github.com/civicrm/civicrm-core/pull/20532))**
-- **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([62](https://github.com/civicrm/civicrm-joomla/pull/62))**
+- **Mark DetailTest as having invalid financials
+ ([20552](https://github.com/civicrm/civicrm-core/pull/20552))**
-- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([140](https://github.com/civicrm/civicrm-backdrop/pull/140))**
+- **Fix form params for testEventPaymentForms
+ ([20330](https://github.com/civicrm/civicrm-core/pull/20330))**
-- **1.x 5.38 ([139](https://github.com/civicrm/civicrm-backdrop/pull/139))**
+- **Update bulkSave test to use the api
+ ([20362](https://github.com/civicrm/civicrm-core/pull/20362))**
-- **drush install - Bump up entropy for autogenerated creds. Add signing key. ([128](https://github.com/civicrm/civicrm-backdrop/pull/128))**
+- **Fix contribution page pledge tests to create valid contributions
+ ([20404](https://github.com/civicrm/civicrm-core/pull/20404))**
-- **DB/DataObject: use mb_strtolower because in turkish, INSERT becomes Insert ([324](https://github.com/civicrm/civicrm-packages/pull/324))**
+- **Improve cleanup on contact test
+ ([20248](https://github.com/civicrm/civicrm-core/pull/20248))**
-- **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([323](https://github.com/civicrm/civicrm-packages/pull/323))**
+- **Test fix up for AdditionalPaymentTest
+ ([20521](https://github.com/civicrm/civicrm-core/pull/20521))**
-## <a name="misc"></a>Miscellany
+- **Test fix - assertion fails when run with other tests (sometimes)
+ ([20250](https://github.com/civicrm/civicrm-core/pull/20250))**
+
+- **[Test] Improve cleanup of domain contacts
+ ([20253](https://github.com/civicrm/civicrm-core/pull/20253))**
+
+- **Test - fix contributionTest to validate contributions
+ ([20415](https://github.com/civicrm/civicrm-core/pull/20415))**
+
+- **Test fixes ([20426](https://github.com/civicrm/civicrm-core/pull/20426))**
+
+- **Tax fixes in unit test
+ ([20390](https://github.com/civicrm/civicrm-core/pull/20390))**
+
+- **[Test] Add test cover for contribution tokens in pdf letter
+ ([20217](https://github.com/civicrm/civicrm-core/pull/20217))**
+
+- **Unit test for #20342
+ ([20361](https://github.com/civicrm/civicrm-core/pull/20361))**
+
+- **Add test for mixed Order data
+ ([20241](https://github.com/civicrm/civicrm-core/pull/20241))**
+
+- **Add unit test for #20144
+ ([20320](https://github.com/civicrm/civicrm-core/pull/20320))**
+
+- **Superficial tidy up in test class
+ ([20359](https://github.com/civicrm/civicrm-core/pull/20359))**
+
+- **[NFC] Remove timecop function references from Cache Tiered Test
+ ([20343](https://github.com/civicrm/civicrm-core/pull/20343))**
+
+- **[NFC] Superficial code cleanup
+ ([20446](https://github.com/civicrm/civicrm-core/pull/20446))**
+
+- **[NFC] Cleanup in test class
+ ([20402](https://github.com/civicrm/civicrm-core/pull/20402))**
+
+- **[NFC] {test} code cleanup in test class
+ ([20389](https://github.com/civicrm/civicrm-core/pull/20389))**
+
+- **[NFC] Minor cleanup
+ ([20387](https://github.com/civicrm/civicrm-core/pull/20387))**
+
+- **[NFC] Minor code cleanup
+ ([20386](https://github.com/civicrm/civicrm-core/pull/20386))**
+
+- **[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites
+ ([20380](https://github.com/civicrm/civicrm-core/pull/20380))**
+
+- **[NFC] [Test] Big cleanup in test class
+ ([20374](https://github.com/civicrm/civicrm-core/pull/20374))**
+
+- **[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite
+ ([20381](https://github.com/civicrm/civicrm-core/pull/20381))**
+
+- **[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests
+ ([20379](https://github.com/civicrm/civicrm-core/pull/20379))**
+
+- **[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite
+ ([20377](https://github.com/civicrm/civicrm-core/pull/20377))**
+
+- **[NFC] Further cleanup in test class
+ ([20372](https://github.com/civicrm/civicrm-core/pull/20372))**
+
+- **[NFC] Add in more voids to unit tests to support PHPUnit8
+ ([20369](https://github.com/civicrm/civicrm-core/pull/20369))**
+
+- **[NFC] [Test] Preliminary cleanup in test class
+ ([20371](https://github.com/civicrm/civicrm-core/pull/20371))**
+
+- **[NFC] Add in voids to various setUpBeforeClass and tearDownAfterClass
+ functions ([20365](https://github.com/civicrm/civicrm-core/pull/20365))**
+
+- **[NFC] Update PHPUnit config to not cache results in phpunit8 and add more
+ voids into PayflowProTest
+ ([20356](https://github.com/civicrm/civicrm-core/pull/20356))**
+
+- **[NFC] Add in unit tests of credit card validation rules
+ ([20352](https://github.com/civicrm/civicrm-core/pull/20352))**
+
+- **[NFC/TEST] - Add unit test enforcing automatic chaining for financial
+ type/account creation via api
+ ([20288](https://github.com/civicrm/civicrm-core/pull/20288))**
+
+- **[NFC] Test - Improve tearDown cleanup of domain contacts
+ ([20258](https://github.com/civicrm/civicrm-core/pull/20258))**
+
+- **[NFC] Test - fix to use v3 api on postAsserts
+ ([20257](https://github.com/civicrm/civicrm-core/pull/20257))**
+
+- **[NFC] Fix phpunit9 deprecation issues on using assertType instead of more
+ explicit assertIsArray or AssertIsInt
+ ([20567](https://github.com/civicrm/civicrm-core/pull/20567))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; bugfolder; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; dependabot[bot]; invalid-email-address; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
+AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
+Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma;
+CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC -
+Mathieu Lutfy, Samuel Vanhove; Dave D; iXiam - Vangelis Pantazis; JMA
+Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone
+Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting -
+Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie
+McClelland; Richard van Oosterhout; Robert J. Lang; Squiffle Consulting - Aidan
+Saunders; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars
+Sanders-Green
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Justin Freeman; Artful Robot - Rich Lott; bugfolder; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
+Agileware - Justin Freeman; Business & Code - Alain Benbassat; CiviDesk -
+Nicolas Ganivet, Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC -
+Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb van den Dool;
+Fuzion - Jitendra Purohit; Semper IT - Karin Gerritsen; SYSTOPIA
+Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano
+
## <a name="feedback"></a>Feedback
-These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
+These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.