Released March 4, 2022
Does this version...? | |
---|---|
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? | no |
Introduce features? | yes |
Fix bugs? | yes |
-
Add created_date & modified_date to civicrm_relationship (22480)
Adds created_date & modified_date to the civicrm_relationship table.
-
Add option to display money tokens without formatting (22548)
Adds an option to display money tokens without formatting.
-
SearchKit - Improve field/operator/value selection UI (22604)
Improves the SearchKit UI for selecting field/operator/value conditions. Affects various parts of the UI, like css conditions, link conditions, where/on/having clauses, etc.
-
SearchKit - Support operators in conditional css rules (22552)
Allows operators other than = in SearchKit conditional style rules.
-
SearchKit - Allow Smarty in field rewrite (22592)
Gives the ability to use Smarty syntax in the "rewrite" of SearchKit displays.
-
SearchKit: Relationship Description unavailable (dev/core#3019: 22606)
Exposes relationship description, created/modified_date & permissions fields in SearchKit.
-
SearchKit - add/remove tags action for all taggable entities (21865)
Adds a new angular-based action to SearchKit for bulk adding/removing tags from contacts, cases, activities, etc.
-
SearchKit - Support conditional links (22557)
Adds an advanced feature to conditionally show/hide links in a links/buttons/menu column, based on user permissions or row values.
-
SearchKit - Update operator labels (22554)
Updates SearchKit labels to hopefully better describe ReGex.
-
SearchKit - Enable joins for custom fields and option groups (22355)
Enables SearchKit to join custom groups to custom fields, and option groups to option values.
-
APIv4 - Add SubscriptionHistory entity (22435)
Adds a SubscriptionHistory entity to APIv4.
-
APIv4 - Make Permission 'group' discoverable in API Explorer (22559)
Makes
group
options for thePermission
API discoverable. -
Improve field accessibility in legacycustomsearches (22710)
Improves accessibility of legacy custom searches.
-
Expose a REST end-point through standard routing (Work Towards dev/core#2077: 19727 and 22058)
Makes 'civicrm/ajax/rest' interoperable with 'extern/rest.php' parameters and adds an AuthX configuration screen.
-
Define more usable queue DX for multithreaded background work (Work Towards dev/core#1304: 22324 and 22657)
Adds a high-level queue tracking table and updates the programmatic APIs to make it easier to work with persistent queues.
-
Civi::pipe - Add support for background worker-processes with JSON pipes (22262)
Add an entry-point for external scripts to send multiple API calls to a CiviCRM worker-process - while only bootstrapping one time.
-
Expose email on hold as filter for reports (Work towards dev/core#3012: 22368 and 22572)
Exposes email on hold as filter on contribution reports.
-
Extensions - Add dependency status check (22464)
Adds a system status check to ensure extension dependencies are met, and warn the admin of missing dependencies.
-
Add metadata so Activity Created Date is available in Form Builder (22320)
Makes the Activity Created date available in Form Builder.
-
Move permission access handling for civicrm/admin/financial/financialType?reset=1 to extension (22685 and 22499)
Moves permission access handling for civicrm/admin/financial/financialType?reset=1 to extension.
-
Add setting "format_locale" (dev/core#3095: 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 (egen_US
) but which has a different currency.
-
Why are unique labels for price fields required? (dev/event#66: 22508)
Makes it so duplicate price field labels are allowed.
-
Use tokens in offline contribution receipt (new installs) (22560)
Use tokens instead of Smarty Variables in the offline contribution receipt template for new installs.
-
Event Registration: allow default Price Set values from the URL (22313)
Makes it so one can set the default price field on event registration forms using URL parameters.
-
Account for time zone on event registration pages (dev/core#2122: 22620, 22622, 20476, 22619, 22645 and 22644)
Adds timezone support for events.
-
updating misleading labels on buttons to confirmation pages (dev/core#1613: 20251)
Changes the event registration button text based on if there are additional participants.
-
CiviGrant - Use SearchKit for contact summary tab (22467)
switches the Grants tab on the contact summary page to use a SearchKit Display. It looks nearly identical before and after, but is now easily customizable via the SearchKit & Form-Builder GUI.
-
Migrate CiviGrant component to an extension (22064)
Moves the CiviGrant component to an extension.
-
Start phasing out 'preferred_mail_format' (Work towards dev/core#2866: 22634 and 22632)
Generates text version of message at send time if one is not present.
-
wp-cli/civicrm.php - Add 'civicrm pipe' subcommand (270)
Adds support for subcommand
wp civicrm pipe
.
-
Only format Smarty aliases as money if specified (22547)
-
Avoid PHP notices on activity form (22666)
-
Fix typo preventing uninstalling ckeditor4 (22691)
-
Fix return values for APIv3 Job.delete (22561)
-
enforce required fields on Contact.duplicatecheck (22741)
-
APIv4 SortableEntity - Fix sorting custom fields with option groups (22716)
-
APIv4 - Correctly return date-only custom field values without the time (22649)
-
APIv4 - Use empty string instead of 'null' to pass null values to the db (22587)
-
APIv4 - Fix incorrect placement of decodeRows in loop (22413)
-
SearchKit: In-place edit for custom dropdown field - can't blank it out (dev/report#92: 22358)
-
Minor SearchKit UI filtering annoyance (dev/core#3032: 22505)
-
SearchKit - Fix selecting operators and values in clauses (22653)
-
SearchKit - Refresh contents after saving a popup when in a block/tab (22809)
-
Don't throw PHP notice when rendering dedupefind template. (22709)
-
Enotice fixes with datepicker (22705)
-
Enotice fix with priceset template (22708)
-
Enotice fixes (22697)
-
Enotice fix (22436)
-
Enotice fixes (22471)
-
CustomGroup - Ensure 'name' is always unique (22675)
-
Another set of PHPdoc corrections (22658)
-
Fix batch summary to use the api (22618)
-
Fix Smarty notices in footer files (22613)
-
Remove use of .font-size11pt and .font-size12pt (22314)
-
Don't pass redundent empty strings when instantiating CRM_Core_ShowHideBlocks (22605)
-
Fix call to log method warn (should be warning) (22602)
-
tpl notices and docblocks (22449)
-
Ensure assigned Smarty array has empty keys (not no keys) (22379)
-
Stop calling hook twice (22404)
-
Activity Details field on batch update via profile has wrong fieldname (22568)
-
Re-fix enotice on searchType to work with default modifiers (22466)
-
Unable to add new custom field set or new fields (to existing field set) after enabling multilingual setting. (dev/translation#38: 22647)
-
System.check permissions changed in Civi 5.46 (dev/core#3055: 22733)
Fixes the dedupe check to not require elevated permissions.
-
Search Builder crashes if you have admin access and CiviGrant is not enabled (dev/core#3056: 22714)
-
CiviGrant info.xml update missing from 5.47 and CRM_Utils_VersioncheckTest::testGetSiteStats should have been failing for a while (dev/core#3057: 22717)
-
Regression - fatal error when viewing custom fields with money > 1000 (dev/core#3059: 22727)
-
Fix broken function reference (22474)
-
Use rolling window for translating 2-digit years into 4-digit years (22581)
Fixes outdated hard-coded import logic: translates 2-digit years to 4 using rolling -95yr to +5yr window
-
Rationalise relationship validation (22491)
-
Stop calling confusing function that doesn't do much ..... (22468)
-
Navigation - Make required fields NOT NULL (22430)
-
Fight back against copy & paste gone wild (22417)
- 'CiviCampaign: access CiviCampaign' permission missing (dev/core#983: 22459)
-
CiviCase - Denote
created_date
as readonly (22608) -
Remove category from case activity template (22530)
Remove category from case activity template to fix e-notices.
-
Fix ContributionRecur.payment_processor_id pseudoconstant (22750)
-
Manage Contribution page, the link to "Online Contribution (Test-drive)" is an admin-only URL to register in the backend, should be a frontend URL (22672)
-
Avoid PHP notice on 'Manage Contribution Pages' screen (22661)
-
PCP is still active after contribution page is disabled. (dev/core#899: 20845)
-
don't allow multiple currencies in a batch (20884)
-
Foreign constraint violation on APIv3 contribution create if financial_type_id is numeric (dev/core#3063: 22740)
-
Error cancelling a contribution if CiviPledge is disabled (dev/core#3066: 22779)
-
Import of contribution fails when invalid campaign ID is provided (dev/core#2989: 22235)
-
Simplify getting contact_id from recurring contribution when generating subscription URLs (22448)
-
Fix Fatal Error on contribution tab and user dashboard when recurring payment generated using extension get disabled (22264)
-
CiviCRM Event, the link to "On-line Registration (Test Drive)" is an admin-only URL to register in the backend, should be a frontend URL (22669)
-
Set default values to avoid notices when rendering (event templates screen) (22663)
-
Fix Grant::retrieve to meet full phpcs standard (22558)
-
CiviGrant - Fix installation of dependencies during upgrade (22881)
-
CiviGrant - Menu appears twice (dev/core#3087: 22855)
-
CiviGrant - Don't return grant fields as contact fields (dev/core#3069: 22851)
-
CiviGrant - Declare API permissions (22791)
-
Editing a mailing triggers two autosaves instead of one (dev/core#2587: 20561)
-
MailingEventQueue - Use consistent CamelCaseName. Prevent conflicts. (22343)
-
add
contact_id
to email params inemailLetter
function (22538) -
Fix syntax error in CRM_Mailing_Event_BAO_Reply (22453)
-
Smarty notice fix on Email help (22470)
-
CiviMail - Fix undeclared Javascript variables (22879)
-
Fix spelling mistake in function name, addMembershipToRealtedContacts should be addMembershipToRelatedContacts (22673)
-
Fix Smarty notices in membership dashboard (22660)
-
Don't default membership type create to inactive (22498)
- 404 Error when I use the APIv4 with WordPress Multisite -> because no "do not delete" post was generated for the subsite (dev/wordpress#59: 271)
-
Move permission checks from Query & BAO to financialacl extension (22495)
-
Add billingStateProvince and standardized property names (21583)
-
Extensions - Revise prose for status check (22638)
-
Add type to phpdoc comment for report statistic function (22514)
-
Update phpdoc references to $self to include type (22513)
-
Improve method phpdoc for CRM_Utils_System (22492)
-
Run 'full Drupal strictness' standard over api/v3/examples (22528)
-
Run stricter phpcs on Civi dir (22527)
-
Fixes to spaces from phpcs (22535)
-
Various phpdoc fixes (22509)
-
Clarify contents of ids for further fixes (22402)
-
Replace all isset checks on line.tax_rate (22421)
-
Move function to the class that 'owns' it (22472)
-
PHPCS standards on css.... (22529)
-
More comments & style fixes (22533)
-
Re-run regen (22536)
-
Add consistency between checkTemplateFileExists functions, (22586)
-
Increase GroupContact:create deprecation (22416)
-
APIv4 - Docblock updates, mark BAO::create functions deprecated (22415)
-
DAO - Centralize logic to derive unique name from label (22570)
-
Pass remove-by-reference (22593)
-
Mark function as private (22457)
-
Stop returning unused parameters (22410)
-
Duplicate function from deprecated utils onto calling classes & remove (22481)
-
Fix phpdoc types for $_query in CRM_Core_Selector_Base subclasses (22424)
-
Correctly document types for class consts (22659)
-
Make phpType definitions in generated DAO objects more accurate. (22607)
-
Ensure all APIv3 functions have documented types (22674)
-
CRM_Core_Component (et al) - Deprecate unused functions (22566)
-
Move deprecated function back to the only class that calls it (22517)
-
Fix PHP comments (22526)
-
A whole bunch of phpdoc fixes (22454)
-
Another set of PHPDoc fixes (22522)
-
Fix more phpdoc comments in member links functions (22521)
-
Fix PHP comments (22515)
-
Merge function back into parent function (22516)
-
Simplify variables pass in & out of function (22439)
-
Clean up input and outputs (22440)
-
Tidy CRM_Report_Page_Options code (22432)
-
Refactor buildPremiumPreviewBlock function to make intended usage clearer (22541)
-
Fix class references in phpdoc comments (22434)
-
Contact BAO - Deprecate unused function (22610)
-
report cleanup - no functional change (22611)
-
Split View Relationship tpl ito own file (22617)
-
Fix inaccuracy in docblock for method calculateBaseScheduleDate (22631)
-
Resolve inaccuracies in CRM_Core_BAO_File::attachmentInfo docblock (22629)
-
Tidy up functions related to printing. (22601)
-
Do not pass in tablename (22625)
-
More phpcbs code cleanups (22551)
-
Resolve docblock inaccuracy in CRM_Contribute_Form_Task_TaskTrait (22646)
-
Contributor key: Add Ian Wilson (22781)
-
Bump follow-redirects from 1.11.0 to 1.14.7 (22696)
-
Bump engine.io from 4.1.1 to 4.1.2 (22695)
-
Bump ansi-regex from 5.0.0 to 5.0.1 (22693)
-
Bump log4js from 6.3.0 to 6.4.1 (22694)
-
Update composer.json for composer 2.2 allow-plugins (22692)
-
Follow up fn removal (22556)
-
Fully remove contactAB function (22485)
-
Remove support for deprecated key (22443)
-
Remove duplicate file (22569)
-
Remove obsolete scripts (22549)
-
Remove method getWordReplacement. (22577)
-
Remove unused variable (22545)
-
Remove some old scripts (22534)
-
Remove handling for impossible array (22494)
-
Remove obsolete postIPN script (22550)
-
Remove / deprecate case param handling (22420)
-
Remove useless function (22585)
-
Remove param default (22590)
-
Remove htmlFile validation rule, as it can't possibly work. (22425)
-
Remove broken script (22473)
-
Remove unreachable else (22406)
-
Remove & deprecate silly function (22456)
-
Remove always-true-if (22486)
-
Remove seemingly unreachable help text (22469)
-
Remove unused variable (22462)
-
Remove IF that only loops through one value (22455)
-
Remove if & foreach that no longer do anything (22447)
-
Remove call to PHP 4 function (22446)
-
Remove empty check (22444)
-
Remove unreachable, nonsensical code (22518)
-
Remove deprecated code (22411)
-
Remove check for contact_check as it is always an array here (22407)
-
Remove unreachable code (22594)
-
Remove unnecessary pass-by-ref (22397)
-
Remove always-true IF (22399)
-
Remove deprecated language construct (22627)
-
Remove isset from online contribution receipt (22615)
-
Remove unused invalidProfiles variable, and simplify template. (22704)
-
(REF) Switch to using new
CRM_Core_Component::isEnabled()
(22687) -
(REF) Remove unused variable (22398)
-
(REF) Tidy up group.tpl (22668)
-
(REF) Switch OptionGroup BAO to use new centralized logic to make name from title (22654)
-
(REF) Rename variable to be meaningful (22431)
-
(REF) Improve APIv4 save functions (22403)
-
(REF) CRM_Core_Resources - Limit visibility of
getEntityRefMetadata
(22511) -
(REF) ContactUtils - Rename local variables (22510)
-
(REF) CoreResources - Simplify disabled component check (22506)
-
(REF) Remove constructors that do nothing (22544)
-
(REF) Extract function
CRM_Core_Component::isEnabled()
(22567) -
(REF) SearchKit docblock cleanup (22603)
-
(REF) SearchKit - Function extraction (22598)
-
(REF) SearchKit - Simplify import/export popup code (22507)
-
(REF) Upgrade jQuery UI to 1.13.0 (22576)
-
(REF) Components - Use extracted function (22573)
-
(REF) SavedSearch - Deprecate/remove redundant/unused functions (22542)
-
(REF) Use CRM_Contact_BAO_ContactType::basicTypes() (22520)
-
(REF) Remove unused _colours property (22525)
-
(REF) Tidy up formatting in gotv.tpl, remove extra (22433)
-
(REF) Stop returning unused variables (22401)
-
(REF) Centralize BAO handling of custom data (22426)
-
(REF) Remove handling for no organization being passed (22395)
-
(REF) APIv4 - Rename trait 'SoftDelete' to 'SoftDeleteEntity' (22662)
-
(REF) Cleanup Contact BAO variables (22609)
-
(REF) Queues - Expand docblocks. Extract SQL trait. (22681)
-
(REF) APIv4 - Deprecate and stop using PreSaveSubscriber (22648)
-
(REF) CustomField Admin - Decouple page code from form code (22519)
-
(NFC) Fix typo in docblock (22409)
-
(NFC) Tidy up phpdoc in CRM_Utils_QueryFormatter (22423)
-
(NFC) Update test example template and regenerate examples (22531)
-
(NFC) Correct type hints for bad null default values (22600)
-
(NFC) Minor phpdoc fixes to CRM_Mailing_Event_BAO_Unsubscribe::send_unsub_response (22574)
-
(NFC) CiviReport, etal - More phpdoc fixes (22565)
-
(NFC) Minor amends to getGroupByFromSelectColumns (22575)
-
(NFC) Correctly document CRM_Utils_Hook::pre to allow null ID (22562)
-
(NFC) Update PHPDoc for alterDeferredRevenueItems (22563)
-
(NFC) Comment fixes Stricter phpcs (22555)
-
(NFC) Remaining css phpcs fixes (22553)
-
(NFC) Fixes to the type definitions for contactType methods (22524)
-
(NFC) Civi::pipe - Swap various quotes (22503)
-
NFC: Clean up description for alterDisplayName hook (22501)
-
(NFC) Membership Tests - Update assertions to match behavior circa leap-day (22871)
-
(NFC) Update Contribution Recur DAO following regen (22858)
-
(NFC) RestTest - Skip testNotCMSUser_q when it's not supported (22817)
-
APIv4 - Fix test (22414)
-
Test cleanup - remove direct calls to BAO_Membership::add (22497)
-
Unit tests for 22429 and apply same treatment to other money format functions (22442)
-
Simplify APIv4 conformance test (22579)
-
Add unit test on updateGreeting & remove deprecated fn call (22482)
-
[test] - Add test coverage for adjusting custom group weights (22512)
-
Fix testMultipleMembershipsContribution to use order api (22274)
-
Port test form earlier PR (22502)
-
Test for APIv4 contact delete bug (dev/core#2757: 22458)
This release was developed by the following code authors:
AGH Strategies - Andie Hunt; Agileware - Francis Whittle, Justin Freeman; BrightMinded Ltd - Bradley Taylor; Christian Wach; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Jens Schuppe; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Registered Nurses' Association of Ontario - Ian Wilson; Romain Thouvenin; Skvare - Sunil Pawar; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments:
Andy Burns; Artful Robot - Rich Lott; Betty Dolfing; Blackfly Solutions - Alan Dixon; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; Coop SymbioTIC - Shane Bill; Fuzion - Luke Stewart; in2part; JMA Consulting - Joe Murray, Monish Deb; Korlon - Stuart Gaston; Mikey O'Toole; Peter Boling; Tadpole Collective - Kevin Cristiano; Wildsight - Lars Sanders-Green