([dev/core#27](https://lab.civicrm.org/dev/core/-/issues/27):
[20757](https://github.com/civicrm/civicrm-core/pull/20757))**
- Adds a new system status check "Missing Phone numeric check" instead of
- checking when crudding phone numbers.
+ CiviCRM relies on a MySQL function to generate a numeric-only version of phone
+ numbers. This change adds a system check to ensure the function exists
+ instead of checking for the function each time a phone number is added or
+ edited.
+
+- **Add calling function to deprecatedWarning log message
+ ([20719](https://github.com/civicrm/civicrm-core/pull/20719))**
+
+ Improves logging.
+
+- **Add contact-summary-image region
+ ([20662](https://github.com/civicrm/civicrm-core/pull/20662))**
+
+ Adds a new region around the contact summary image.
+
+- **Replace extension key with description in 'Add New' tab
+ ([20720](https://github.com/civicrm/civicrm-core/pull/20720))**
+
+ Improves the "Extensions" -> "Add New" form user experience by displaying the
+ description below the extension name instead of the extension key.
+
+- **User experience improvement - Remove the confusing mixed terminology used to
+ describe Tags: "Tags (Categories)" and "Tag (Category)"
+ ([20268](https://github.com/civicrm/civicrm-core/pull/20268))**
+
+ Improves user experience by removing the term "Category" when referencing
+ tags.
+
+- **Improve output triggers when logged to file
+ ([20472](https://github.com/civicrm/civicrm-core/pull/20472))**
+
+ Improves output triggers when logged to a file by adding an asort, putting all
+ the triggers into an array keyed by the statement and opening and closing the
+ delimiters just once.
+
+- **Show smarty E-notices when in debug mode
+ ([20640](https://github.com/civicrm/civicrm-core/pull/20640))**
+
+ Improves the user experience in debug mode by showing php notices (e.g.
+ "undefined variable").
+
+- **Add pseudoconstant to acl_entity_role
+ ([20566](https://github.com/civicrm/civicrm-core/pull/20566))**
+
+ Adds a pseudoconstant for `acl_entity_role`.
+
+- **[php8-compact] Allow for CiviCRM to be installed by 3rd parties using
+ composer on php8 systems
+ ([20625](https://github.com/civicrm/civicrm-core/pull/20625))**
+
+ Makes it so sites can install and update CiviCRM via CLI when their CLI uses
+ PHP8.
+
+### Afform and SearchKit
- **Searchkit display with event location data
([dev/core#2676](https://lab.civicrm.org/dev/core/-/issues/2676):
Afform. Makes it possible to save, search for, and filter by serialized
(multi-select) custom Contact Reference fields.
+### API version 4
+
- **Improve api consistency on custom field creation
([20743](https://github.com/civicrm/civicrm-core/pull/20743))**
Adds a foreign key on civicrm_contribution_product.product_id.
-- **Add calling function to deprecatedWarning log message
- ([20719](https://github.com/civicrm/civicrm-core/pull/20719))**
-
- Improves logging.
-
-- **Add contact-summary-image region
- ([20662](https://github.com/civicrm/civicrm-core/pull/20662))**
-
- Adds a new region around the contact summary image.
-
-- **Replace extension key with description in 'Add New' tab
- ([20720](https://github.com/civicrm/civicrm-core/pull/20720))**
-
- Improves the "Extensions" -> "Add New" form user experience by displaying the
- description below the extension name instead of the extension key.
-
-- **User experience improvement - Remove the confusing mixed terminology used to
- describe Tags: "Tags (Categories)" and "Tag (Category)"
- ([20268](https://github.com/civicrm/civicrm-core/pull/20268))**
-
- Improves user experience by removing the term "Category" when referencing
- tags.
-
-- **Improve output triggers when logged to file
- ([20472](https://github.com/civicrm/civicrm-core/pull/20472))**
-
- Improves output triggers when logged to a file by adding an asort, putting all
- the triggers into an array keyed by the statement and opening and closing the
- delimiters just once.
-
-- **Show smarty E-notices when in debug mode
- ([20640](https://github.com/civicrm/civicrm-core/pull/20640))**
-
- Improves the user experience in debug mode by showing php notices (e.g.
- "undefined variable").
-
-- **Add pseudoconstant to acl_entity_role
- ([20566](https://github.com/civicrm/civicrm-core/pull/20566))**
-
- Adds a pseudoconstant for `acl_entity_role`.
-
-- **[php8-compact] Allow for CiviCRM to be installed by 3rd parties using
- composer on php8 systems
- ([20625](https://github.com/civicrm/civicrm-core/pull/20625))**
-
- Makes it so sites can install and update CiviCRM via CLI when their CLI uses
- PHP8.
-
### CiviContribute
- **Move financialACLs to a core extension (Work Towards
([dev/core#2680](https://lab.civicrm.org/dev/core/-/issues/2680):
[20814](https://github.com/civicrm/civicrm-core/pull/20814))**
-- **Afform - cosmetic fixes in palette panel
- ([20755](https://github.com/civicrm/civicrm-core/pull/20755))**
-
-- **Search-kit - declaring joins breaks deduping
- ([dev/core#2656](https://lab.civicrm.org/dev/core/-/issues/2656):
- [20631](https://github.com/civicrm/civicrm-core/pull/20631) and
- [20639](https://github.com/civicrm/civicrm-core/pull/20639))**
-
-- **SearchKit - use primary_key info instead of assuming 'id'
- ([20763](https://github.com/civicrm/civicrm-core/pull/20763))**
-
- Fixes a bug in SearchKit when dealing with entities without "id" as their
- primary key field.
-
-- **SearchKit - Remove automatic filter from address
- ([20803](https://github.com/civicrm/civicrm-core/pull/20803))**
-
- Usability fix for SearchKit - stops automatically add "Location Type" to the
- search when joining with Address.
-
-- **OR term in WHERE clause crashes Search Kit
- ([dev/report#71](https://lab.civicrm.org/dev/report/-/issues/71):
- [20824](https://github.com/civicrm/civicrm-core/pull/20824))**
-
- Fixes an error when saving or opening a search with an OR group in a clause.
-
- **[php8-compact] Add in more protection for unset variables in various smarty
templates ([20546](https://github.com/civicrm/civicrm-core/pull/20546) and
[20547](https://github.com/civicrm/civicrm-core/pull/20547))**
-- **APIv4 - Silently ignore non-permissioned fields instead of throwing
- exceptions ([20724](https://github.com/civicrm/civicrm-core/pull/20724))**
-
-- **APIv4 - Fix same-table joins and remove unused code
- ([20715](https://github.com/civicrm/civicrm-core/pull/20715))**
-
-- **APIv4 - Don't assume the identifier field for a table is named 'id'
- ([20707](https://github.com/civicrm/civicrm-core/pull/20707) and
- [20749](https://github.com/civicrm/civicrm-core/pull/20749))**
-
-- **APIv4 - Deprecate Entity::getLinks action
- ([20727](https://github.com/civicrm/civicrm-core/pull/20727))**
-
-- **APIv4 - Deprecate passing 'id' to basic actions
- ([20765](https://github.com/civicrm/civicrm-core/pull/20765))**
-
-- **APIv4 Explorer - Only apply default limit 25 for "get" action
- ([20698](https://github.com/civicrm/civicrm-core/pull/20698))**
-
- **Force cleanup of setting value type "checkboxes" when is empty
([20600](https://github.com/civicrm/civicrm-core/pull/20600))**
Adds a new column to the civicrm_line_item table: membership_num_terms.
+### Afform and SearchKit
+
+- **Afform - cosmetic fixes in palette panel
+ ([20755](https://github.com/civicrm/civicrm-core/pull/20755))**
+
+- **Search-kit - declaring joins breaks deduping
+ ([dev/core#2656](https://lab.civicrm.org/dev/core/-/issues/2656):
+ [20631](https://github.com/civicrm/civicrm-core/pull/20631) and
+ [20639](https://github.com/civicrm/civicrm-core/pull/20639))**
+
+- **SearchKit - use primary_key info instead of assuming 'id'
+ ([20763](https://github.com/civicrm/civicrm-core/pull/20763))**
+
+ Fixes a bug in SearchKit when dealing with entities without "id" as their
+ primary key field.
+
+- **SearchKit - Remove automatic filter from address
+ ([20803](https://github.com/civicrm/civicrm-core/pull/20803))**
+
+ Usability fix for SearchKit - stops automatically add "Location Type" to the
+ search when joining with Address.
+
+- **OR term in WHERE clause crashes Search Kit
+ ([dev/report#71](https://lab.civicrm.org/dev/report/-/issues/71):
+ [20824](https://github.com/civicrm/civicrm-core/pull/20824))**
+
+ Fixes an error when saving or opening a search with an OR group in a clause.
+
+### API version 4
+
+- **APIv4 - Silently ignore non-permissioned fields instead of throwing
+ exceptions ([20724](https://github.com/civicrm/civicrm-core/pull/20724))**
+
+- **APIv4 - Fix same-table joins and remove unused code
+ ([20715](https://github.com/civicrm/civicrm-core/pull/20715))**
+
+- **APIv4 - Don't assume the identifier field for a table is named 'id'
+ ([20707](https://github.com/civicrm/civicrm-core/pull/20707) and
+ [20749](https://github.com/civicrm/civicrm-core/pull/20749))**
+
+- **APIv4 - Deprecate Entity::getLinks action
+ ([20727](https://github.com/civicrm/civicrm-core/pull/20727))**
+
+- **APIv4 - Deprecate passing 'id' to basic actions
+ ([20765](https://github.com/civicrm/civicrm-core/pull/20765))**
+
+- **APIv4 Explorer - Only apply default limit 25 for "get" action
+ ([20698](https://github.com/civicrm/civicrm-core/pull/20698))**
+
- **Failing api4 test
api.v4.Action.CreateWithOptionGroupTest.testWithCustomDataForMultipleContacts
([dev/core#2699](https://lab.civicrm.org/dev/core/-/issues/2699):