Skip to content

Latest commit

 

History

History
672 lines (460 loc) · 26.7 KB

5.46.0.md

File metadata and controls

672 lines (460 loc) · 26.7 KB

CiviCRM 5.46.0

Released February 3, 2022

Synopsis

Does this version...?
Fix security vulnerabilities? no
Change the database schema? yes
Alter the API? yes
Require attention to configuration options? yes
Fix problems installing or upgrading to a previous version? yes
Introduce features? yes
Fix bugs? yes

Features

Core CiviCRM

  • re-jig demo roles to add restricted user (dev/core#2773: 22377)

    Adds an ACL to demo data.

  • When adding custom data set change default selected option (dev/core#2977: 22244)

    Changes the defaults when adding custom data sets to make them more user friendly.

  • Expose email on hold as filter for reports (dev/core#3012: 22357)

    Adds a email on hold filter to reports.

  • Increment recommended PHP version (dev/core#2996: 22265)

    Changes the minimum PHP version to 7.3 and the recommended PHP version to 7.4.

  • APIv4 Explorer - Make selected language and format bookmarkable (22233)

    The APIv4 explorer already places params in the URL for easy bookmarking. This extends it to work for the selected language tab and the selected output format.

  • SearchKit - Contextual "View" button (dev/core#3016: 22367)

    Improves the SearchKit user interface

  • SearchKit - Add links for CustomField and CustomGroup entities (22302)

    Improves SearchKit user interface by adding links to custom field and custom group entities.

  • SearchKit - Allow functions in the WHERE clause (22241)

    Adds an advanced feature for SearchKit which allows SQL functions in the WHERE clause.

  • SearchKit - Import/Export saved search configuration (22229)

    Provides a UI for importing and exporting SavedSearches in JSON format. This allows power-users to copy and paste their Searches between sites. For extension developers, includes a direct link to generate a .mgd.php file from the API Explorer.

  • SearchKit - Facilitate popup forms (22490)

    This adds two bits of utility code to facilitate adding a popup form to an Afform containing a Search Display.

  • SearchKit - Allow aggregate columns to be links (22356)

    Allows aggregate columns to be rendered as a link in SearchKit Displays

  • CustomGroup - Add pseudoconstant for extends column (22282)

    Adds missing pseudoconstant to schema, which will allow a SearchKit-based display of custom groups.

  • Afform - UI and contextual titles for search displays (22319)

    Makes it easy to create drilldown search displays, passing in a URL arg to specify a category/container. E.g. "Custom fields in group X", "Option values for Individual Prefix", "Email addresses for Bob Smith".

  • Add system status warning to display scheduled job failures (21762)

    Adds a system status message to display scheduled job errors.

  • Add system status check for missing dedupe rules (22369)

    Adds a system status check to alert system administrators when an unsupervised and/or supervised dedupe rule is missing.

  • Extensions - Add dependency status check (22640)

    Adds a extensions dependency status check.

  • Improve accessibility - associate label and fields (22361)

    Associates the labels on the event location form with the relevant inputs to improve accessibility for screen reader users.

  • Add state name to export fields (22318)

    Adds the ability to export the state name when exporting contacts.

  • Add authx_login() API for backend script authentication (alt) (22292)

    Adds a function to login as a user. It is cross-platform; accepts contact ID, user ID, or username; and it updates relevant services (eg Civi session; Drupal $user; MySQL @civicrm_user_id).

CiviContribute

  • Payments - Where do we store IDs from payment processor? (Work Towards dev/financial#57: 21916)

    Hides the recur trxn_id if it matches the processor_id.

  • Financial entity permissions (Work Towards dev/core#2752: 21178 and 21181)

    Allows financial_trxns to be viewed and use ACL, not blanket permissions on FinancialAccount, FinancialType, EntityFinancialAccount.

  • Demo sample data - Add in some mixed currency contributions (22307)

    Improves contribution sample data by adding some mixed currency contributions.

  • Add recurring conributions to sample data (22296)

    Improves contributions sample data by adding recurring contributions.

Bugs resolved

Core CiviCRM

  • "Open in new tab" on .crm-summary-link icons should open contact page, not summary content. (dev/core#2926: 22303)

  • Separate membership payment on contribution form with auto renewal not get processed (Work Towards dev/core#567: 22275)

    Adds a test shell to ensure membership payments with auto renewal get processed.

  • Avoid warnings for is_dir() when open_basedir is in effect (dev/core#2927: 22107)

  • Removes the limit of 15 max values for multiple values can also be retrieved from URL in reports (dev/core#2979: 22214)

  • Fatal error when merging Housholds (getTemplateForGreeting) (dev/core#3028: 22650)

  • TypeError when trying to replace tokens for custom fields that don't exist (dev/core#3029: 22537)

  • Escape single quotes in token html output (dev/core#3001: 22387 and 22285)

  • APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error (22626)

  • APIv4 - Fix saving NULL as custom field value (22328)

  • APIv4 GroupContact create indicates user is added but are not (dev/core#2924: 22322)

  • APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group (22228)

  • APIv4 - Set 'activity_type_id' to required (22359)

  • Use api for entityRole - addresses save issue on the form (22589)

  • SearchKit - Fix editable dates on standalone form (22366)

  • SearchKit - Fix running searches for anonymous users (22597)

  • SearchKit - Fix token selector to use expression alias (22539)

  • SearchKit - Fix UI for configuring display pager limit (22321)

  • SearchKit - Fix column headers for custom fields in default display (22331)

  • SearchKit/Form: exposing a Date custom field has invalid year range (dev/report#84: 22234)

  • SearchKit: URLs to external sites no longer render (dev/report#93: 22437)

  • SearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.0 (dev/report#90: 22375)

    Don't crash SearchKit on upgrade from 5.35.

  • DedupeRules - Translate contact type labels, respect enabled contact types (22383)

    Fixes up the Dedupe Rules page to properly handle contact types.

  • Allow chart dropdown labels to be translatable. (22349)

  • SqlParallel - Enable more tests. Fix compatiblity with release_time (22326)

  • Use JS escaping for {ts} calls in a JS context (22348)

  • Find Activities Search, default search option for Activity Status will exclude Activities by default which do not have a status of Scheduled or Completed. Confuses and frustrates End Users. (21596)

  • Wrap another set of hardcoded strings in {ts} (22315)

  • Display label before input elements on SMTP settings page (22304)

  • ExtensionUpgrades - Skip trying to upgrade missing dependencies (22623)

  • Fix input type for Smarty number formatting (more forgiving) (22429)

  • Ensure getDuplicateContacts always returns an array (22394)

  • Ensure dashboardLinks assigned to prevent e-notice (22378)

  • enotice fix (with default modifiers) (22372)

  • Fix "Import Multi-Value Custom Data"
    (22365)

  • Do not escape showHideBlocks by default (22371)

  • Fix notices on ACL page (22370)

  • Fix PropertyBag setRecurInstallments to accept 0 (21517)

  • Fix over-escaping when default escaping is on (22363)

  • Fix escape-by-default (22362)

  • Fix params passed to setStatus method (22338)

  • Fix Profile helptext menu reference to reCaptcha (by r4zoli) (22333)

  • Fix inaccuracies and mistakes in comments (especially phpdoc comments) (22334)

  • Correctly mark updateStatusMessage method as static (22335)

  • Fix typo. CRM_Core_Execption should be CRM_Core_Exception (22336)

  • APIv3 - Fix overzealous pseudoconstant matching (22298)

  • Allow text to be translated and fix URL paths in calls to docURL() function. (22311)

  • Fix char-set for default escaping (22306)

  • Crash when adding a relationship when CiviMember is disabled (22451)

  • Resources: set language-specific cacheCode, fixes AngularJS translation with multilingual (22236)

  • Do not default-escape weight field on order (22256)

  • Move require_once for Smarty modifier due to order issues (22252)

  • Contact/BAO/Query.php: fix searching for whitespace (22240)

  • Use new money formatting util for Smarty formatting (22309)

  • Smarty variables] Remove another isset - deferredFinancialType (22183)

  • Smarty variables] Another isset bites the dust (22186)

  • Smarty variables] Remove isset from batch form (22187)

  • [Smarty variables] remove isset from merge screen (22193)

  • [Smarty variables] Fix overzealous escaping with Smarty default escaping (22194)

  • [Smarty variables] Remove issets relating to auto_renew (22195)

  • [Smarty variables] Remove issets from payment processor form (22192)

  • Smarty modifier - stop using isset to check taxTerm (22323)

  • E-notice fix (Smarty) (22308)

CiviCampaign

  • Cleanup Smarty e-notices on campaign dashboard (22283)

  • Fix campaign dashboard to work with default escaping (22364)

CiviCase

CiviContribution

  • Repeat Contributions CiviReport warnings: Formatting non-numeric values is no longer supported (dev/core#2982: 22217)

  • Do not apply default escaping to multiselects on currency form (22294)

  • Fix broken links in default modifier mode on manage contributions (22290)

  • Enotice fixes on ContributionPage dash (22289)

  • Fix E_WARNING access array offset on null when creating new contribution page (22373)

  • Ensure we don't get previously set honoree values in receipts (21483)

  • Follow up fix on recur data (22301)

CiviEvent

  • Event Registration: initialize array (22312)

    Minor code nitpick to avoid a PHP fatal on PHP 8.0 in certain unusual circumstances.

  • Fix JS Error for Free event with multiple participant on registration (22310)

Drupal Integration

  • Deprecated function drupal_get_installed_schema_version() in 9.3, but with a twist (dev/drupal#172: 22337 and 22350)

  • "Your browser session has expired and we are unable to complete your form submission" on all D9.2 anonymous sessions (dev/drupal#169: 338)

    Fixes an error when uploading images to CKEditor via KCFinder.

  • Fix unreplaced template vars in civicrm.settings.php when using drush installer (67)

  • Drupal Full-Text Search block session time out error (dev/core#3026: 22479)

WordPress Integration

  • Migrate installers to "setup" API (Work Towards dev/core#1615: 264)

    Perform CLI installations using Civi\Setup.

Miscellany

  • Add workflow template for recurring cancelled (21611)

  • Add workflow template classes for contributions (22340)

  • Use field value function to get html signature (22445)

  • SearchKit - Tweak export explorer link icon + format (22300)

  • Expose contact ID in getContactInfo method in CRM/Mailing/Event/BAO/Queue.php (dev/core#2962: 22096)

  • APIv4 Explorer - Format array params using add methods instead of set (22382)

  • Update Brick/Money to 0.5.3 (22246)

  • Simplify autogenerated boilerplate upgrader class (22225)

  • Upgrade - Bump minimum upgradable version to 4.6.12 (22238)

  • Move two more functions to financialProcessor (21927)

  • Formatting cleanup (22374)

  • Rename protected function (22259)

  • Contributor key: Add Matt Trim (22248)

  • 5.45.0 release notes: added late changes (22386)

  • Remove handling for always-truthy var being false (22260)

  • Remove unnecessary ID attribute. (22347)

  • Remove never passed variables (22258)

  • Remove unused function (22388)

  • Initial refactor of createProfileContact groups (18158)

  • Deprecated function drupal_get_path() (69)

  • Update jquery.tokeninput.js to 1.6.1 (336)

  • Privatise function (22392)

  • Remove unnecessary pass-by-ref (22393)

  • Remove unused function CRM/Utils/Mail/EmailProcessor::cleanupDir (22278)

  • Remove unused method getGrantStatusOptGroup (22332)

  • Remove unnecessary pass-by-ref (22279)

  • (REF) CRM/Upgrade - Remove unused entrypoint verifyPreDBstate() (22237)

  • (REF) Remove more params that are unused now function is not shared (22261)

  • (REF) Duplicate function to allow us to work it out of the code (22254)

  • (REF) Minor parameter simplification (22253)

  • (REF) Add in getVersion override for Drupal 8/9 to support cv testing and also cv vars:show picking up the right CMS version (22220)

  • (REF) Add getter for priceSetID and use full form flow (22267)

  • (REF) Afform - Use APIv4 for managed dashboard (22213)

  • (REF) Remove handling for relationshipID (22391)

  • (REF) Use CRM_Contact_BAO_ContactType::basicTypes() instead of hardcoded lists (22389)

  • (REF) Move code into the function (22288)

  • (REF) Remove now non-variable variables from previously shared code (22284)

  • (REF) Duplicate & unshare processFormContribution (22276)

  • (REF) Stop passing this as form, set in function (22287)

  • (REF) Deprecated old getContributionStatuses (22345)

  • (REF) Simplify getContributionStatuses (22280)

  • (REF) Upgrade jQuery UI to 1.13.0 (22583)

  • (REF) Further cleanup on employer create (22390)

  • HookTest - Fix execution on PHP 8 (266)

  • Fix membership test fail for Dec 31 (22351)

  • Fix tests that fail after 2021 (22352)

  • Fix test to use full form flow (22266)

  • Cleanup test class (22493)

  • (NFC) Cleanup test class (22384)

  • (NFC) Try to work around failing tests (22269)

  • (NFC) Cleanup in Authorize.net test class (22272)

  • (NFC) isDir unit test fails on PHP 7 'min' matrix (22418)

  • (NFC) APIv4: Add help info for multi-record custom field sets (22257)

  • (NFC) Test cleanup (22251)

  • (NFC) Minor cleanup in test class (22249)

  • (NFC) Cleanup messy boilerplate (22224)

  • (NFC) Delete boilerplate comments and empty functions from upgrade classes (22226)

  • (NFC) CRM_Core_Exception incorrectly called without message (22339)

  • (NFC) Docblock improvements to Import_Field classes (22360)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; BrightMinded Ltd - Bradley Taylor; Circle Interactive - Matt Trim; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Jens Schuppe; JMA Consulting - Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; Miguel Almeida; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Skvare - Sunil Pawar; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton

Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments:

Artful Robot - Rich Lott; Ben Mango; Betty Dolfing; Christian Wach; CiviCoop - Jaap Jansma, Klaas Eikelboom; Coop SymbioTIC - Samuel Vanhove; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Peter Davis; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Joe Murray, Monish Deb; Lighthouse Consulting and Design - Brian Shaughnessy; Mikey O'Toole; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano; tapashdatta; Third Sector Design - William Mortada; Wikimedia Foundation - Elliott Eggleston