- **Warn users who lack PHP-Intl extension (Work Towards
[dev/translation#48](https://lab.civicrm.org/dev/translation/-/issues/48):
- [17668](https://github.com/civicrm/civicrm-core/pull/17668))**
+ [17668](https://github.com/civicrm/civicrm-core/pull/17668), [17728](https://github.com/civicrm/civicrm-core/pull/17728))**
A system check warning will now appear on sites that lack the PHP
Internationalization extension. This is in preparation for changes that will
appear in CiviCRM 5.28 and require the extension.
-- **advanced search: allow searching by first/last name; pass values from
+- **Advanced Search - Allow searching by first/last name; pass values from
quicksearch ([dev/core#1722](https://lab.civicrm.org/dev/core/-/issues/1722):
[17118](https://github.com/civicrm/civicrm-core/pull/17118))**
name followed by a suffix, such as `activity_type_id:label`. This now works
for retrieval and sort.
-- **APIv4 - support custom entity joins
+- **APIv4 - Support custom entity joins
([17394](https://github.com/civicrm/civicrm-core/pull/17394))**
Improves APIv4 so that it supports implicit and explicit joins onto custom
The help text for reCAPTCHA settings now specifies the type of reCAPTCHA
supported.
-- **Wrap separators in price field in spans with classes
- ([dev/user-interface#18](https://lab.civicrm.org/dev/user-interface/-/issues/18):
- [17078](https://github.com/civicrm/civicrm-core/pull/17078))**
-
- Colons separating pre- and post-field help text from price fields are now
- wrapped in `<span>` elements.
-
- **Configurable logfile size and hashing
([17192](https://github.com/civicrm/civicrm-core/pull/17192))**
Makes it so CiviCRM plays nicely with Symfony 4.4.
-- **Add in domain tokens onto the Message Template admin interface
+- **Add domain tokens to the Message Template admin interface
([17388](https://github.com/civicrm/civicrm-core/pull/17388))**
This adds the domain tokens (the domain organization name, address, email, and
It also adds a helper function in Javascript similar to those in PHP and
Smarty to render icons.
-- **crmButton: support icon=0 for no icon
+- **crmButton: Support icon=0 for no icon
([17303](https://github.com/civicrm/civicrm-core/pull/17303))**
Makes it possible to create a button without an icon using {crmButton}.
### CiviContribute
-- **Allow to search on contribution id
+- **Wrap separators in price field in spans with classes
+ ([dev/user-interface#18](https://lab.civicrm.org/dev/user-interface/-/issues/18):
+ [17078](https://github.com/civicrm/civicrm-core/pull/17078))**
+
+ Colons separating pre- and post-field help text from price fields are now
+ wrapped in `<span>` elements.
+
+- **Allow to search on contribution ID
([dev/core#1580](https://lab.civicrm.org/dev/core/-/issues/1580):
[16484](https://github.com/civicrm/civicrm-core/pull/16484))**
This improves the "Find Contributions" search form by adding a field to search
by Contribution ID.
-- **Api4: Add Price api entities
+- **APIv4 - Add "Price"-related entities
([17363](https://github.com/civicrm/civicrm-core/pull/17363))**
Priceset, PriceField, and PriceOption entities are added to APIv4.
-- **Add ContributionRecur crud api
+- **APIv4 - Add ContributionRecur entity
([17299](https://github.com/civicrm/civicrm-core/pull/17299))**
Adds Contribution Recur to APIv4.
Updates CiviMail's default behavior to replace `extern/open.php` and
`extern/url.php` with `civicrm/mailing/open` and `civicrm/mailing/url`.
-- **Make is_archived work as a url-search parameter
+- **Make `is_archived` work as a url-search parameter
([17328](https://github.com/civicrm/civicrm-core/pull/17328))**
The Find Mailings URL can now have `is_archived` as a parameter to only find
users to avoid confusion for users who do not have access to the Drupal admin
menu.
-- **provide Calendar module with end_date when duration is provided
+- **Provide "Calendar" module with an end-date when a duration is provided
([601](https://github.com/civicrm/civicrm-drupal/pull/601))**
Improves display of activities in calendar views.
([dev/core#1743](https://lab.civicrm.org/dev/core/-/issues/1743):
[17260](https://github.com/civicrm/civicrm-core/pull/17260))**
-- **Statically added members of a smart group not found
+- **Statically added members of a smart group are not found
([dev/core#1745](https://lab.civicrm.org/dev/core/-/issues/1745):
[17419](https://github.com/civicrm/civicrm-core/pull/17419))**
If a clause of a contact query used to build a smart group is empty, it would
result in a database error.
-- **replace deprecated money_format() fn to support PHP 7.4
+- **Replace deprecated `money_format()` fn to support PHP 7.4
(Work Towards [dev/core#1494](https://lab.civicrm.org/dev/core/-/issues/1494):
- [17577](https://github.com/civicrm/civicrm-core/pull/17577))**
+ [17577](https://github.com/civicrm/civicrm-core/pull/17577), [17730](https://github.com/civicrm/civicrm-core/pull/17730))**
Adds a deprecation notice and a status check for a money value format
configuration other than the default.
This helps avoid test failures on broadcast messages when the system is
running slowly.
-- **Scheduled Reminders -set boolean fields to false if not set.
+- **Scheduled Reminders - Set boolean fields to false if not set.
([17494](https://github.com/civicrm/civicrm-core/pull/17494))**
- **Allow bidirectional assignment of relationships from search results
Previously relationships could only be created from search results where the
contacts would be valid in the "A" side of the relationship type.
-- **Navigation menu: fix translation of new-subtype entries
+- **Navigation menu - Fix translation of new-subtype entries
([17451](https://github.com/civicrm/civicrm-core/pull/17451))**
The "New" in menu items for creating a new contact of a subtype was not
- **utf8mb4 - If strict mode enabled query will fail if KEY_BLOCK_SIZE is not 0
([17253](https://github.com/civicrm/civicrm-core/pull/17253))**
-- **Update DAO and L10n Schema file
+- **Update DAO and l10n schema file
([17395](https://github.com/civicrm/civicrm-core/pull/17395))**
Price option name and value are now required in the database.
Work towards making custom select and multi-select fields more similar to
core select/multi-select fields.
-- **respect file fields that have been configured as view only in profiles
+- **Respect file fields that have been configured as view only in profiles
([17079](https://github.com/civicrm/civicrm-core/pull/17079))**
-- **Tag create: respect created_date and created_id params
+- **Tag create - Respect created_date and created_id params
([17257](https://github.com/civicrm/civicrm-core/pull/17257))**
- **Public status messages should show correct class/icon like error
- **Decorative chevrons should be icons not angle quotes
([17245](https://github.com/civicrm/civicrm-core/pull/17245))**
-- **A/B test: icon should be Erlenmeyer flask, not bar chart
+- **A/B Test - Icon should be Erlenmeyer flask, not bar chart
([17316](https://github.com/civicrm/civicrm-core/pull/17316))**
- **Proceeding to confirmation page should be a "next" button not a check
### CiviCase
-- **case activity: follow-up activity assignee does not receive email
+- **Case Activity: Follow-up activity assignee does not receive email
([dev/core#1721](https://lab.civicrm.org/dev/core/-/issues/1721):
[17116](https://github.com/civicrm/civicrm-core/pull/17116))**
another for older, standalone scripts in the `extern` folder which is based on
the same logic as before.
-- **Declare Minimum WP and PHP versions required for installation
+- **Declare minimum WP and PHP versions required for installation
([201](https://github.com/civicrm/civicrm-wordpress/pull/201))**
- **wp-rest - Adjust extern URL. Be more defensive about 'query' part.
## <a name="misc"></a>Miscellany
-- **handle less common dynamic reference cases
+- **Handle less common dynamic reference cases
([17653](https://github.com/civicrm/civicrm-core/pull/17653))**
- **Use apiv4, cache infra for basicTypes