Skip to content

Latest commit

 

History

History
696 lines (478 loc) · 27.7 KB

5.60.0.md

File metadata and controls

696 lines (478 loc) · 27.7 KB

CiviCRM 5.60.0

Released April 5, 2023

Synopsis

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? yes
Introduce features? yes
Fix bugs? yes

Features

CiviCRM Core

  • Add Entity Reference custom field type (implementing EntityRef QuickForm element type) (dev/core#3721: 25471)

    Adds a new type of custom field "EntityReference" which creates an autocomplete widget.

  • Add 'SavePoint' to import to statusBounce back to (25602)

    Adds a 'SavePoint' to import so that the user can be bounced back to the save point if the import fails later down the road.

  • SearchKit: Decide on available actions per display (funded) (dev/core#4118: 25521)

    Allows the admin to limit the available choices of bulk actions (tasks) in a Search Display.

  • Make dedupe exceptions searchable in SearchKit (25522)

    Makes dedupe exceptions searchable in SearchKit.

  • Filter Searches by 'is_current' / expires_date (Work Towards dev/core#4117: 25516)

    Adds is_current filter to searches.

  • Log Smarty debug to it's own channel (25682)

    Makes it so output from smarty secure mode goes into it's own file.

  • Allow OAuth redirect URI to be overridden in client or provider config (25445)

    Makes the oauth-client extension respect whatever Redirect URI is set in the "client" or "provider" configuration.

  • Make activity_type_id available to links hook, test (25565)

    Improves hook_civicrm_links by making activity_type_id available (in relevant contexts).

  • Add setting to disable Smarty in Scheduled reminders (dev/core#4100: 25444)

    Adds a setting to disable Smarty in Scheduled reminders.

CiviCase

  • Afform: Allow selecting case for relationship (25618)

    Makes it so one can select a case for a relationship on Afforms.

CiviContribute

  • Add filter on pledge payment in contribution report templates (dev/core#4106: 25629)

    Adds a pledge payment filter to the Contribution Detail and Summary reports.

  • PaymentProcessor - Use ajax refresh (25512)

    Makes page refresh a bit nicer when changing payment processor types on the admin form.

CiviMail

  • HTML definition for subscription history date (25655)

    Adds an HTML type to the "Group Membership Action Date" field so it can be used in FormBuilder as a filter.

Drupal Integration

  • Epic: Drupal 10 readiness (Work Towards dev/drupal#176: 25499 and 25054)

    Work towards drupal 10 readiness by allowing symfony 6.

  • CMS Database Integration - Per-table prefixes are no longer supported (dev/core#4028: 25328)

    Makes the CRM_Admin_Form_Setting_UF more CMS agnostic by removing the Drupal 7 mapping table.

Bugs resolved

Core CiviCRM

  • Make 5.60 upgrade rerunnable (25950)

  • Import search authorization issues (dev/core#4184: 25810)

  • Individual's Employer and Membership by Relationship Are Not Updated After Merging Their Organization (dev/core#4156: 25778)

  • Fatal error on merge (dev/core#4197: 25912)

  • Finish making legacycustomsearches optional (Work Towards dev/core#4112: 25392)

    Privatize prevNextCache functions.

  • Administrator > Communications > Schedule Reminders error when CiviEvent disabled (dev/core#4145: 25703)

  • Upgrade Smarty (Work Towards dev/core#4146: 25669)

    Removes (old) Smarty-forward incompatible syntax from Address.tpl.

  • When using PHP 8.1, the Contact token for the Address State / Province field returns no value when used in Message Templates. Works fine on PHP 7.4 (dev/core#4147: 25704)

  • Fix for 5.59 upgrade on multilingual (25733)

  • Load submitted fieldSeparator on back on Import Datasource screen (25758)

  • API4: Allow save() to match on null values (24971)

  • API v4 explorer: boolean params don't render correctly for CV (short) (dev/core#4129: 25589)

  • Stricter typing in Apiv4 (25706)

  • Afform - Fix validateBySavedSearch (25822)

  • Afform: Fix broken syntax for saving reciprocal relationships (25620)

  • Afform - Fix editing search filters nested within multiple containers (25742)

  • Form Builder - autocomplete input does not use configured filtering (dev/core#4138: 25646)

  • Filter expired searches from search kit results (25568)

  • SearchKit - Fix handling of new Custom EntityReference fields (25927)

  • SearchKit - Clarify how to view SQL output (25671)

  • Always show "add more buttons" dropdown in searchkit view (25596)

  • Make job ID accessible to searchkit for joblog (24746)

  • Add Activity Target consistently (dev/core#4142: 25650)

  • Allow (some) permissions with colons (23782)

  • Update Smarty addTemplateDir function signature to future smarty (25248)

  • Add crmUrl function to smarty in the standard way (25661)

  • Reduce unneeded DNS queries during OAuth flow (25446)

  • Angular Coder: Fix unescaping of quotes breaking attributes
    (25630)

  • EntityRef - Format custom field display value on QuickForms (25632)

  • getStatus() should be returning a string (25441)

  • Regression: Fix DB syntax error on Parse address scheduled job (25616)

  • update entity mapping logic for profile fields to include contact subtypes (25570)

  • Smarty {ts} - For extensions, use fallback similar to E::ts() and JS ts() (25383)

  • Disambiguate Address.state_province_id:abbr (PHP asort) (25552 and 25550)

  • Default to supporting partial locales (25063)

  • Do not use reference for Object parameter, death to _NULLObject (25541)

  • only load dedupe rules for the chosen entity (25515)

  • A couple of minor smarty notice fixes (25514)

  • Use mysql DATABASE() function instead of php code (25530)

  • Use DATABASE() function rather than lossa code (25528)

  • Fix more schema checks to use mysql DATABASE() function, deprecate php function (25593)

  • Fix a couple more places to use mysql DATABASE() function (25537)

  • Fix Scheduled reminders form to use tokenProcessor to get token list (25052)

  • fix the id help instead use class help (25487)

  • Fix user profile file fields not saving. (80)

  • Fix fatal error on upgrade success screen (25554)

  • Typo executequery => executeQuery (25539)

  • Smarty - Fix warnings about 'mb_truncate' modifier (25651)

  • Smarty - {htxt} blocks should not be evaluated unless needed (25653)

  • Smarty notice fix (25544)

  • E-notice fix Ical display (25612)

  • Fix e-notice pattern around location not defined in formButtons.tpl (25668)

  • Fix Contact import e-notice on preview screen (25302)

  • Fix mixin to use addTemplateDir (25667)

  • Fix add version for civicrm_custom_field.fk_entity (25642)

  • Fix handling of invalid sql query during import (25600)

  • Enotice fix, pledge block on UserDashboard (25546)

  • Notice fix on preferred_language, when null (25656)

CiviCase

CiviContribute

  • Around 5.49 pan_truncation and card_type_id (containing card type VISA/MC and last 4 digits last four digits stopped getting recorded (dev/core#4029: 25963)

  • Contribution Confirm incorrectly debit card information even if using credit card (dev/core#4189: 25910)

  • Import contribution fails if using soft-credit and a row has an empty field (dev/core#4166: 25806)

  • Fix empty values of Note on Import contribution (25569)

  • Fix for issue when optional contact_id is blank importing contributions (25897)

  • New PaypalPro Recurring Payments (PPRP) creating duplicate contributions and inaccurate status (dev/core#4158: 25775)

  • PayPal Prp IPN - Fix incorrect option_group update (25724)

  • CiviContribute - Fix warning about 'suppressedEmails' when generating PDF (25576)

  • Contribution pages crash for logged-in users when CiviMember is disabled (25729)

  • Enotice fix on userDashboard with contributions, replace deprecated functions with api4v calls (24861)

  • Smarty notice fix on bank_account_number (25680)

  • AJAX error when sorting soft credit by name or date (dev/core#4187: 25846)

CiviEvent

CiviMail

  • Mailing Summary Report: support pseudofields (25560)

  • FlexMailer: Default Return Path not respected (dev/core#4070: 25309)

Drupal Integration

WordPress Integration

  • distmaker - Fix export of WordPress patches (25599)

Miscellany

  • Simplify steps of loading SimpleCacheTest from cache/integration-tests (25942)

  • composer require --dev yoast/phpunit-polyfills (25631)

  • Move form specific code to the form (25457)

  • Make private function private (25604)

  • Make unshared getTree function private, remove never passed params (25517)

  • APIv4 - Limited support for casting (25595)

  • Split up CRM_Utils_System_Base::theme (dev/core#4076: 25329)

  • Preliminary cleanup, comments, type hints (25564)

  • run civix update on recaptcha, legacyCustomSearches, financialacls (25663)

  • ext - General update to civix v23.02.0 (25659)

  • CiviCRM Stable Version bump (291)

  • Post divide code tidy up (25195)

  • Add gentle deprecation to debug_log_message (25683)

  • Stop loading unused relatedObjects (25617)

  • Bump dompdf/dompdf from 2.0.2 to 2.0.3 (25520)

  • Add noisy deprecation to replaceHookTokens (25510)

  • Deprecate unused, exception class with non-standard name-spacing (25641)

  • Fully deprecate CRM_Utils_Token::getMembershipTokenDetails, CRM_Utils_Token::replaceEntityTokens (25507)

  • Extra deprecation for clarity on token function convertPseudoConstantsUsingMetadata (25511)

  • Pull over a few more deprecations + blockDelete deprecation (25695)

  • Address portions of deprecated code replacement (25693)

  • Deprecate unused CRM_Core_BAO_UFField::copy() function (25594)

  • Deprecations for Mailing::delete functions (25691)

  • Deprecations for delete on ACL entities (25690)

  • Fully deprecate legacy contributionTokens (25505)

  • Fully deprecate CRM_Core_SelectValues::eventTokens() (25509)

  • Fully deprecate CRM_Core_SelectValues::membershipTokens() (25506)

  • Add noisy deprecation to deprecated function, after universe search (25662)

  • Remove legacy handling of locks for discontinued mysql/mariaDB versions (25654)

  • Remove forward incompatible syntax from template
    (25664)

  • Remove conditional assignment around is_deductible (25237)

  • Remove unnecessary pass-by-reference (25678)

  • Remove empty on location - it should always be set now (25675)

  • Remove always-NULL $singleRecord variable (25519)

  • Remove 2020-deprecated handling of legacyAddressCreate (25686)

  • Remove code deprecated in 2018 (25679)

  • Remove function noisily deprecated when the world was young (2020) (25685)

  • Remove deprecated function call (25684)

  • Remove deprecated functions from tests (25688)

  • Remove deprecated function calls to Event::del, Membership functions del, OptionValue (25705)

  • Remove function deprecated a year ago (25615)

  • Remove deprecated use of $ids (25698)

  • Delete long-deprecated functions (25696)

  • Remove the correct extraneous field separator field (25753)

  • Remove never-true IF (25518)

  • Remove unused constants left over from import cleanup (25601)

  • Remove interaction with complex legacy getTree function (25395)

  • Remove empty function (25592)

  • Remove unused variable (25508)

  • Remove unused variables (25670)

  • Remove unused property - not used since import code refactor _lineCount (25466)

  • (REF) Tidy up unused params in api_v3_ContributionSoftTest (25322)

  • [REF] Fix undefined variable notice in WordPress tests (25591)

  • (REF) Remove test reference to property which no longer exists (25624)

  • (REF) Remove unused setup from AdhocMailingTest (25500)

  • [REF] Add support for composer installers v2 which seems to be needed for d10 (79)

  • Php8.x compatibility - do not try to count NULL (25652)

  • [REF][PHP8.2] Remove use of dynamic properties in CRM_Contact_Form_Task_EmailTest (25562)

  • [REF][PHP8.2] Get rid of dynamic properties in CRM_Core_Payment_AuthorizeNetTest (25561)

  • [REF][PHP8.2] Stop use of dynamic property in AdditionalPaymentTest (25559)

  • [REF][PHP8.2] Use variable instead of dynmaic property (CRM_Group_Page_AjaxTest) (25558)

  • [REF][PHP8.2] Declare property in CRM_Pledge_BAO_PledgeBlockTest (25557)

  • [REF][PHP8.2] Declare property in CRM_Utils_FakeObject (25556)

  • [REF][PHP8.2] Refactor properties on CRM_Event_Form_SearchTest (25501)

  • [REF][PHP8.2] Declare dynamic property in two SMS tests (25502)

  • [REF][PHP8.2] Remove unnecessary dynamic property (25622)

  • [REF][PHP8.2] Fix use of self in callables deprecation (25625)

  • [REF][PHP8.2] Tidy up properties on api_v3_GroupContactTest (25626)

  • [REF][PHP8.2] Tidy up properties in CRM_Event_BAO_EventPermissionsTest (25623)

  • update CiviCrmTestBase setup() method declaration to match BrowserTestBase (78)

  • (NFC) crmURL - Add examples and whitespace. Crosslink docs. (25665)

  • [NFC] php8.2 support in test class ActivitySearchTest (25607)

  • NFC cleanup in test class (25524)

  • (NFC) Version Check Test - Fix multi-user and concurrent execution 25909

  • [NFC] doc block fix (25610)

  • Fix test to test the thing it was written to test (25608)

  • Event test cleanup, fix test to use submitted form values, rather than require a lot of contorting (25621)

  • Remove invalid 'world_region' => 'India' from test (25540)

  • Php8.2 test fix, remove one instance of undeclared property (25619)

  • Extend testing for ContributionConfirm & consolidate isSeparateMembershipPayment (25270)

  • Upgrade test to use more recent methodology for testing forms (25551)

  • Add extra test, comment how it could be used to fix bug (25503)

  • Reduce processing load in test assertAPIFailure (25648)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; BrightMinded Ltd - Bradley Taylor; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; ES-Progress - Sandor Semsey; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Giant Rabbit - Anthony Nemirovsky; iXiam - Luciano Spiegel; JMA Consulting - Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland; Skvare - Mark Hanna; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen McNaughton

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

Agileware - Francis Whittle, Justin Freeman; Andreas Howiller; Becca Tregenna; Blackfly Solutions - Alan Dixon; Fuzion - Luke Stewart; Jens Schuppe; JMA Consulting - Joe Murray; Megaphone Technology Consulting - Brienne Kordis; Squiffle Consulting - Aidan Saunders; Stephen Palmstrom

Feedback

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.