remove extra question mark
[civicrm-core.git] / release-notes / 5.47.0.md
index 4767172c8399c134d91460d1e6014cdf47ff655f..0b8a55f5821cb8068f5e67e535ba065fc6c403b4 100644 (file)
@@ -1,6 +1,6 @@
 # CiviCRM 5.47.0
 
-Released March 2, 2022
+Released March 4, 2022
 
 - **[Synopsis](#synopsis)**
 - **[Features](#features)**
@@ -47,7 +47,7 @@ Released March 2, 2022
 
   Allows operators other than = in SearchKit conditional style rules.
 
-- **SearchKit - Allow smarty in field rewrite
+- **SearchKit - Allow Smarty in field rewrite
   ([22592](https://github.com/civicrm/civicrm-core/pull/22592))**
 
   Gives the ability to use Smarty syntax in the "rewrite" of SearchKit displays.
@@ -103,7 +103,7 @@ Released March 2, 2022
   [22058](https://github.com/civicrm/civicrm-core/pull/22058))**
 
   Makes 'civicrm/ajax/rest' interoperable with 'extern/rest.php' parameters and
-  adds an authx configuration screen.
+  adds an AuthX configuration screen.
 
 - **Define more usable queue DX for multithreaded background work (Work Towards
   [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304):
@@ -145,6 +145,15 @@ Released March 2, 2022
   Moves permission access handling for
   civicrm/admin/financial/financialType?reset=1 to extension.
 
+- **Add setting "format_locale"
+  ([dev/core#3095](https://lab.civicrm.org/dev/core/-/issues/3095):
+  [22885](https://github.com/civicrm/civicrm-core/pull/22885))**
+
+  Adds a new setting, "Formatting Locale", which specifies that dates and
+  numbers should formatted according to designated localization rules.
+  This setting may be useful for a locale (eg `en_NZ`) whose language closely
+  resembles another (eg `en_US`) but which has a different currency.
+
 ### CiviContribute
 
 - **Why are unique labels for price fields required?
@@ -165,7 +174,7 @@ Released March 2, 2022
   ([22313](https://github.com/civicrm/civicrm-core/pull/22313))**
 
   Makes it so one can set the default price field on event registration forms
-  using url parameters.
+  using URL parameters.
 
 - **Account for time zone on event registration pages
   ([dev/core#2122](https://lab.civicrm.org/dev/core/-/issues/2122):
@@ -219,7 +228,7 @@ Released March 2, 2022
 
 ### Core CiviCRM
 
-- **Only format smarty aliases as money if specified
+- **Only format Smarty aliases as money if specified
   ([22547](https://github.com/civicrm/civicrm-core/pull/22547))**
 
 - **Avoid PHP notices on activity form
@@ -228,7 +237,7 @@ Released March 2, 2022
 - **Fix typo preventing uninstalling ckeditor4
   ([22691](https://github.com/civicrm/civicrm-core/pull/22691))**
 
-- **Fix return values for API3 Job.delete
+- **Fix return values for APIv3 Job.delete
   ([22561](https://github.com/civicrm/civicrm-core/pull/22561))**
 
 - **enforce required fields on Contact.duplicatecheck
@@ -250,13 +259,16 @@ Released March 2, 2022
   ([dev/report#92](https://lab.civicrm.org/dev/report/-/issues/92):
   [22358](https://github.com/civicrm/civicrm-core/pull/22358))**
 
-- **Minor Searchkit UI filtering annoyance
+- **Minor SearchKit UI filtering annoyance
   ([dev/core#3032](https://lab.civicrm.org/dev/core/-/issues/3032):
   [22505](https://github.com/civicrm/civicrm-core/pull/22505))**
 
 - **SearchKit - Fix selecting operators and values in clauses
   ([22653](https://github.com/civicrm/civicrm-core/pull/22653))**
 
+- **SearchKit - Refresh contents after saving a popup when in a block/tab
+  ([22809](https://github.com/civicrm/civicrm-core/pull/22809))**
+
 - **Don't throw PHP notice when rendering dedupefind template.
   ([22709](https://github.com/civicrm/civicrm-core/pull/22709))**
 
@@ -284,7 +296,7 @@ Released March 2, 2022
 - **Fix batch summary to use the api
   ([22618](https://github.com/civicrm/civicrm-core/pull/22618))**
 
-- **Fix smarty notices in footer files
+- **Fix Smarty notices in footer files
   ([22613](https://github.com/civicrm/civicrm-core/pull/22613))**
 
 - **Remove use of .font-size11pt and .font-size12pt
@@ -300,7 +312,7 @@ Released March 2, 2022
 - **tpl notices and docblocks
   ([22449](https://github.com/civicrm/civicrm-core/pull/22449))**
 
-- **Ensure assigned smarty array has empty keys (not no keys)
+- **Ensure assigned Smarty array has empty keys (not no keys)
   ([22379](https://github.com/civicrm/civicrm-core/pull/22379))**
 
 - **Stop calling hook twice
@@ -327,7 +339,7 @@ Released March 2, 2022
   ([dev/core#3056](https://lab.civicrm.org/dev/core/-/issues/3056):
   [22714](https://github.com/civicrm/civicrm-core/pull/22714))**
 
-- **Civigrant info.xml update missing from 5.47 and
+- **CiviGrant info.xml update missing from 5.47 and
   CRM_Utils_VersioncheckTest::testGetSiteStats should have been failing for a
   while ([dev/core#3057](https://lab.civicrm.org/dev/core/-/issues/3057):
   [22717](https://github.com/civicrm/civicrm-core/pull/22717))**
@@ -401,7 +413,7 @@ Released March 2, 2022
   ([dev/core#3066](https://lab.civicrm.org/dev/core/-/issues/3066):
   [22779](https://github.com/civicrm/civicrm-core/pull/22779))**
 
-- **Import of contribution fails when invalid campaign id is provided
+- **Import of contribution fails when invalid campaign ID is provided
   ([dev/core#2989](https://lab.civicrm.org/dev/core/-/issues/2989):
   [22235](https://github.com/civicrm/civicrm-core/pull/22235))**
 
@@ -427,6 +439,20 @@ Released March 2, 2022
 - **Fix Grant::retrieve to meet full phpcs standard
   ([22558](https://github.com/civicrm/civicrm-core/pull/22558))**
 
+- **CiviGrant - Fix installation of dependencies during upgrade
+  ([22881](https://github.com/civicrm/civicrm-core/pull/22881))**
+
+- **CiviGrant - Menu appears twice
+  ([dev/core#3087](https://lab.civicrm.org/dev/core/-/issues/3087):
+  [22855](https://github.com/civicrm/civicrm-core/pull/22855))**
+
+- **CiviGrant - Don't return grant fields as contact fields
+  ([dev/core#3069](https://lab.civicrm.org/dev/core/-/issues/3069):
+  [22851](https://github.com/civicrm/civicrm-core/pull/22851))**
+
+- **CiviGrant - Declare API permissions
+  ([22791](https://github.com/civicrm/civicrm-core/pull/22791))**
+
 ### CiviMail
 
 - **Editing a mailing triggers two autosaves instead of one
@@ -445,13 +471,15 @@ Released March 2, 2022
 - **Smarty notice fix on Email help
   ([22470](https://github.com/civicrm/civicrm-core/pull/22470))**
 
+- **CiviMail - Fix undeclared Javascript variables ([22879](https://github.com/civicrm/civicrm-core/pull/22879))**
+
 ### CiviMember
 
 - **Fix spelling mistake in function name, addMembershipToRealtedContacts should
   be addMembershipToRelatedContacts
   ([22673](https://github.com/civicrm/civicrm-core/pull/22673))**
 
-- **Fix smarty notices in membership dashboard
+- **Fix Smarty notices in membership dashboard
   ([22660](https://github.com/civicrm/civicrm-core/pull/22660))**
 
 - **Don't default membership type create to inactive
@@ -459,7 +487,7 @@ Released March 2, 2022
 
 ### WordPress Integration
 
-- **404 Error when I use the Api v4 with Wordpress Multisite -> because no "do
+- **404 Error when I use the APIv4 with WordPress Multisite -> because no "do
   not delete" post was generated for the subsite
   ([dev/wordpress#59](https://lab.civicrm.org/dev/wordpress/-/issues/59):
   [271](https://github.com/civicrm/civicrm-wordpress/pull/271))**
@@ -484,7 +512,7 @@ Released March 2, 2022
 - **Improve method phpdoc for CRM_Utils_System
   ([22492](https://github.com/civicrm/civicrm-core/pull/22492))**
 
-- **Run 'full drupal strictness' standard over api/v3/examples
+- **Run 'full Drupal strictness' standard over api/v3/examples
   ([22528](https://github.com/civicrm/civicrm-core/pull/22528))**
 
 - **Run stricter phpcs on Civi dir
@@ -547,7 +575,7 @@ Released March 2, 2022
 - **Make phpType definitions in generated DAO objects more accurate.
   ([22607](https://github.com/civicrm/civicrm-core/pull/22607))**
 
-- **Ensure all api3 functions have documented types
+- **Ensure all APIv3 functions have documented types
   ([22674](https://github.com/civicrm/civicrm-core/pull/22674))**
 
 - **CRM_Core_Component (et al) - Deprecate unused functions
@@ -556,7 +584,7 @@ Released March 2, 2022
 - **Move deprecated function back to the only class that calls it
   ([22517](https://github.com/civicrm/civicrm-core/pull/22517))**
 
-- **Fix php comments
+- **Fix PHP comments
   ([22526](https://github.com/civicrm/civicrm-core/pull/22526))**
 
 - **A whole bunch of phpdoc fixes
@@ -568,7 +596,7 @@ Released March 2, 2022
 - **Fix more phpdoc comments in member links functions
   ([22521](https://github.com/civicrm/civicrm-core/pull/22521))**
 
-- **Fix php comments
+- **Fix PHP comments
   ([22515](https://github.com/civicrm/civicrm-core/pull/22515))**
 
 - **Merge function back into parent function
@@ -700,7 +728,7 @@ Released March 2, 2022
 - **Remove if & foreach that no longer do anything
   ([22447](https://github.com/civicrm/civicrm-core/pull/22447))**
 
-- **Remove call to php 4 function
+- **Remove call to PHP 4 function
   ([22446](https://github.com/civicrm/civicrm-core/pull/22446))**
 
 - **Remove empty check
@@ -733,22 +761,22 @@ Released March 2, 2022
 - **Remove unused invalidProfiles variable, and simplify template.
   ([22704](https://github.com/civicrm/civicrm-core/pull/22704))**
 
-- **REF - Switch to using new `CRM_Core_Component::isEnabled()`
+- **(REF) Switch to using new `CRM_Core_Component::isEnabled()`
   ([22687](https://github.com/civicrm/civicrm-core/pull/22687))**
 
-- **[REF] Remove unused variable
+- **(REF) Remove unused variable
   ([22398](https://github.com/civicrm/civicrm-core/pull/22398))**
 
-- **[REF] Tidy up group.tpl
+- **(REF) Tidy up group.tpl
   ([22668](https://github.com/civicrm/civicrm-core/pull/22668))**
 
-- **[REF] Switch OptionGroup BAO to use new centralized logic to make name from
+- **(REF) Switch OptionGroup BAO to use new centralized logic to make name from
   title ([22654](https://github.com/civicrm/civicrm-core/pull/22654))**
 
-- **[REF] Rename variable to be meaningful
+- **(REF) Rename variable to be meaningful
   ([22431](https://github.com/civicrm/civicrm-core/pull/22431))**
 
-- **[REF] Improve APIv4 save functions
+- **(REF) Improve APIv4 save functions
   ([22403](https://github.com/civicrm/civicrm-core/pull/22403))**
 
 - **(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`
@@ -757,7 +785,7 @@ Released March 2, 2022
 - **(REF) ContactUtils - Rename local variables
   ([22510](https://github.com/civicrm/civicrm-core/pull/22510))**
 
-- **[REF] CoreResources - Simplify disabled component check
+- **(REF) CoreResources - Simplify disabled component check
   ([22506](https://github.com/civicrm/civicrm-core/pull/22506))**
 
 - **(REF) Remove constructors that do nothing
@@ -766,64 +794,64 @@ Released March 2, 2022
 - **(REF) Extract function `CRM_Core_Component::isEnabled()`
   ([22567](https://github.com/civicrm/civicrm-core/pull/22567))**
 
-- **[REF] SearchKit docblock cleanup
+- **(REF) SearchKit docblock cleanup
   ([22603](https://github.com/civicrm/civicrm-core/pull/22603))**
 
-- **[REF] SearchKit - Function extraction
+- **(REF) SearchKit - Function extraction
   ([22598](https://github.com/civicrm/civicrm-core/pull/22598))**
 
-- **[REF] SearchKit - Simplify import/export popup code
+- **(REF) SearchKit - Simplify import/export popup code
   ([22507](https://github.com/civicrm/civicrm-core/pull/22507))**
 
-- **[REF] Upgrade JQuery UI to 1.13.0
+- **(REF) Upgrade jQuery UI to 1.13.0
   ([22576](https://github.com/civicrm/civicrm-core/pull/22576))**
 
-- **[REF] Components - Use extracted function
+- **(REF) Components - Use extracted function
   ([22573](https://github.com/civicrm/civicrm-core/pull/22573))**
 
-- **[REF] SavedSearch - Deprecate/remove redundant/unused functions
+- **(REF) SavedSearch - Deprecate/remove redundant/unused functions
   ([22542](https://github.com/civicrm/civicrm-core/pull/22542))**
 
-- **[REF] - Use CRM_Contact_BAO_ContactType::basicTypes()
+- **(REF) Use CRM_Contact_BAO_ContactType::basicTypes()
   ([22520](https://github.com/civicrm/civicrm-core/pull/22520))**
 
-- **[Ref] Remove unused _colours property
+- **(REF) Remove unused _colours property
   ([22525](https://github.com/civicrm/civicrm-core/pull/22525))**
 
-- **[REF] Tidy up formatting in gotv.tpl, remove extra </div>
+- **(REF) Tidy up formatting in gotv.tpl, remove extra </div>
   ([22433](https://github.com/civicrm/civicrm-core/pull/22433))**
 
-- **[REF] Stop returning unused variables
+- **(REF) Stop returning unused variables
   ([22401](https://github.com/civicrm/civicrm-core/pull/22401))**
 
-- **[REF] Centralize BAO handling of custom data
+- **(REF) Centralize BAO handling of custom data
   ([22426](https://github.com/civicrm/civicrm-core/pull/22426))**
 
-- **[REF] Remove handling for no organization being passed
+- **(REF) Remove handling for no organization being passed
   ([22395](https://github.com/civicrm/civicrm-core/pull/22395))**
 
-- **[REF] APIv4 - Rename trait 'SoftDelete' to 'SoftDeleteEntity'
+- **(REF) APIv4 - Rename trait 'SoftDelete' to 'SoftDeleteEntity'
   ([22662](https://github.com/civicrm/civicrm-core/pull/22662))**
 
-- **[REF] - Cleanup Contact BAO variables
+- **(REF) Cleanup Contact BAO variables
   ([22609](https://github.com/civicrm/civicrm-core/pull/22609))**
 
 - **(REF) Queues - Expand docblocks. Extract SQL trait.
   ([22681](https://github.com/civicrm/civicrm-core/pull/22681))**
 
-- **[REF] APIv4 - Deprecate and stop using PreSaveSubscriber
+- **(REF) APIv4 - Deprecate and stop using PreSaveSubscriber
   ([22648](https://github.com/civicrm/civicrm-core/pull/22648))**
 
-- **[REF] CustomField Admin - Decouple page code from form code
+- **(REF) CustomField Admin - Decouple page code from form code
   ([22519](https://github.com/civicrm/civicrm-core/pull/22519))**
 
-- **NFC - Fix typo in docblock
+- **(NFC) Fix typo in docblock
   ([22409](https://github.com/civicrm/civicrm-core/pull/22409))**
 
-- **[NFC] Tidy up phpdoc in CRM_Utils_QueryFormatter
+- **(NFC) Tidy up phpdoc in CRM_Utils_QueryFormatter
   ([22423](https://github.com/civicrm/civicrm-core/pull/22423))**
 
-- **[NFC] Update test example template and regenerate examples
+- **(NFC) Update test example template and regenerate examples
   ([22531](https://github.com/civicrm/civicrm-core/pull/22531))**
 
 - **(NFC) Correct type hints for bad null default values
@@ -851,7 +879,7 @@ Released March 2, 2022
 - **(NFC) Remaining css phpcs fixes
   ([22553](https://github.com/civicrm/civicrm-core/pull/22553))**
 
-- **[NFC] Fixes to the type definitions for contactType methods
+- **(NFC) Fixes to the type definitions for contactType methods
   ([22524](https://github.com/civicrm/civicrm-core/pull/22524))**
 
 - **(NFC) Civi::pipe - Swap various quotes
@@ -860,6 +888,15 @@ Released March 2, 2022
 - **NFC: Clean up description for alterDisplayName hook
   ([22501](https://github.com/civicrm/civicrm-core/pull/22501))**
 
+- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day
+  ([22871](https://github.com/civicrm/civicrm-core/pull/22871))**
+
+- **(NFC) Update Contribution Recur DAO following regen
+  ([22858](https://github.com/civicrm/civicrm-core/pull/22858))**
+
+- **(NFC) RestTest - Skip testNotCMSUser_q when it's not supported
+  ([22817](https://github.com/civicrm/civicrm-core/pull/22817))**
+
 - **APIv4 - Fix test
   ([22414](https://github.com/civicrm/civicrm-core/pull/22414))**
 
@@ -869,7 +906,7 @@ Released March 2, 2022
 - **Unit tests for 22429 and apply same treatment to other money format
   functions ([22442](https://github.com/civicrm/civicrm-core/pull/22442))**
 
-- **Simplify apiv4 conformance test
+- **Simplify APIv4 conformance test
   ([22579](https://github.com/civicrm/civicrm-core/pull/22579))**
 
 - **Add unit test on updateGreeting & remove deprecated fn call
@@ -884,7 +921,7 @@ Released March 2, 2022
 - **Port test form earlier PR
   ([22502](https://github.com/civicrm/civicrm-core/pull/22502))**
 
-- **Test for Api v4 contact delete bug
+- **Test for APIv4 contact delete bug
   ([dev/core#2757](https://lab.civicrm.org/dev/core/-/issues/2757):
   [22458](https://github.com/civicrm/civicrm-core/pull/22458))**