# CiviCRM 5.40.0
-Released August 4, 2021
+Released August 5, 2021
- **[Synopsis](#synopsis)**
- **[Features](#features)**
([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
### Core CiviCRM
+- **Regression: Smart group rebuild in default config crashes cron
+ ([dev/core#2687](https://lab.civicrm.org/dev/core/-/issues/2687):
+ [20835](https://github.com/civicrm/civicrm-core/pull/20835))**
+
+- **Syntax errors when loading sample data
+ ([dev/drupal#161](https://lab.civicrm.org/dev/drupal/-/issues/161):
+ [20925](https://github.com/civicrm/civicrm-core/pull/20925))**
+
+- **During upgrade ConfigAndLog has errors about crm-l10n.js for every upgrade
+ step because assets aren't built during upgrade
+ ([dev/core#2666](https://lab.civicrm.org/dev/core/-/issues/2666):
+ [20890](https://github.com/civicrm/civicrm-core/pull/20890))**
+
- **Exporting in localized civicrm crashes due to long translation for
preferred_mail_format varchar(8) field.
([dev/core#2645](https://lab.civicrm.org/dev/core/-/issues/2645):
([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):
+ [20928](https://github.com/civicrm/civicrm-core/pull/20928))**
+
### CiviCase
- **Case Manager is not shown for closed cases.
### CiviContribute
+- **Error submitting contribution form if ""is_monetary=0""
+ ([dev/wordpress#109](https://lab.civicrm.org/dev/wordpress/-/issues/109):
+ [#20929](https://github.com/civicrm/civicrm-core/pull/20929))**
+
- **Can't remove previously-added currencies
([dev/financial#175](https://lab.civicrm.org/dev/financial/-/issues/175):
[20627](https://github.com/civicrm/civicrm-core/pull/20627))**
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin
+AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin
Freeman; Akos Garai; Australian Greens - John Twyman; Blackfly Solutions - Alan
Dixon; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap
Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Debarshi Bhaumik; Dave
den Dool; Fuzion - Jitendra Purohit; JMA Consulting - Joe Murray; Ray Wright;
Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole
Collective - Kevin Cristiano; Tech To The People - Xavier Dutoit; Third Sector
-Design - Michael McAndrew; Web Access - Kurund Jalmi;
+Design - Michael McAndrew; Web Access - Kurund Jalmi
## <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`.