Skip to content

Latest commit

 

History

History
1037 lines (716 loc) · 42.7 KB

5.37.0.md

File metadata and controls

1037 lines (716 loc) · 42.7 KB

CiviCRM 5.37.0

Released May 5, 2021

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

  • Improve quicksearch result presentation to enable browser link functions (19779)

    The results in the quick search in the menu bar now appear as actual links. Clicking an item acts the same as before, but you can now ctrl-click or right-click for advanced functions in your browser (such as to open the link in a new tab or window).

  • Add new super-duper-no-permissions-apply permission (19797)

    A new permission, "Administer all of CiviCRM", is established as a super-duper permission that implicitly has all other CiviCRM permissions. This is much like how a Drupal user with the ID 1 has all permissions, even if they're not individually granted.

  • AngularJS - Allow loading multiple apps on a single page (19922)

    Allows multiple Angular apps to run on a single page. For example, you might display 2x Angular-based tabs, 3x Angular-based WP shortcodes, or 4x Angular-based Drupal blocks.

  • Support mobile devices on public forms (dev/user-interface#35: 19968)

    Improves user experience for mobile users on public forms by making labels appear above inputs on small screens.

  • info.xml - Allow PSR-0 style class-loader declarations (19870)

    Makes it so extensions may setup classloading in info.xml.

  • We should not be auto-generating 5.xx.beta1.mysql.tpl files (dev/release#16: 19743)

    Makes it possible to skip upgrader increments which do not actually require DB updates.

  • Adjust weights on activity contact record types (dev/core#2442: 19992 and 19987)

    Improves user experience by making the default Activity Contact Record type "Activity Target".

  • The mailings screen is very slow to load when there are many campaigns in the database (dev/core#2451: 19766)

    Improves processing of option groups in select2 elements.

  • Reorganize contact summary template to support non-ajax tabs (19875)

    Adds hook support for non-ajax contact summary tabs.

  • Feature Request: API endpoint to trigger rebuild paths (dev/core#2458: 19795)

    Adds an API to trigger rebuilding paths.

  • Add job to cleanup acl_cache table, add setting to disable opportunistic flushing (dev/core#2477: 19930)

    Adds a scheduled job to cleanup acl_cache table (like for smart groups).

  • APIv4 entity parity (dev/core#2486: 19932, 19933 and 19931)

    Moves towards APIv4 entity parity by adding the following entities: "Payment Token", "Batch" and "Entity Financial trxn".

  • APIv4 - Add CiviCase, CaseType, CaseContact entities (19907, followed up by dev/core#2573: 20174)

    Adds support for CiviCase entities to APIv4.

  • Add FinancialTrxn APIv4 (19918)

    Adds support for FinancialTrxn to APIv4.

  • Afform - Add submit actions (Work Towards dev/core#2522: 20018 and 20147)

    Adds in a submit handler and redirect after submit for afform.

  • Add 'readonly' attribute to fields in schema (dev/core#2397: 19751 and 19778)

    Adds metadata to schema to tell SearchKit and Afform which fields are appropriate to show to the user.

  • SearchKit - Add "in-place edit" feature (19765)

    Adds a new feature "in-place edit" to search displays.

  • SearchKit - Exposed join filters (dev/core#2494: 19984)

    Improves SearchKit generated SQL joins.

  • SearchKit - Support implied operators in exposed search forms (19959)

    Improves SearchKit by adding support for "Multi-Select" and "Search by range" exposed filters.

  • Expose mapping search task to Search Kit (19561)

    Exposes Contact Mapping task to SearchKit.

  • Add created_id & modified_id to civicrm_saved_search (dev/core#2422: 19892)

    Adds created & modified info to SavedSearch listing in SearchKit.

  • SearchKit - Include custom group title with custom field label (19856)

    Adds Custom Group title when display custom fields. This makes it easier to tell custom fields apart in SearchKit when they have similar names to core or other custom fields.

  • Afform GUI - Improve drag-n-drop and add link to edit search (19935)

    This adds a few UI improvements to Afform, making drag-n-drop smoother and adding a configuration option to edit saved searches.

  • Afform - Add support for email tokens {afform.myFormUrl} (19660)

    Adds support for Afform email tokens ex: "My public form (Full Hyperlink)" and "My public form (URL)".

  • Embed afforms & search displays on contact summary screen as blocks and tabs (19887)

    Enables the creation of blocks and tabs on the contact summary screen, using Afform & SearchKit.

  • Phpunit 8 support - add void to setup (19974, 19921, 19898, 19901, 19905, 19899, 19925, 19909 and 19900)

    Work towards supporting PHPunit8.

  • Create reCAPTCHA core extension (19967)

    Moves reCAPTCHA from core to a core extension.

  • Include the timezone for date values in the Activity iCal (19770)

    Ensures the timezone is specified for the start date value in the Activity iCal.

CiviContribute

  • Add entity financial account bridge entity (19927)

    Adds a new entity 'EntityFinancialAccount'.

  • Enable translation for Contribution Ordinality options on Contribution Detail Report (19771)

    Improves translation on the Contribution Detail Report.

  • Enable translation for Contribution Ordinality options on Member Contribution Detail Report (19772)

    Improves translation on the Member Contribution Detail Report.

CiviEvent

  • Include the timezone for date values in the Event iCal (19762)

    Ensures the timezone is specified for the start date value in the Event iCal.

CiviMail

  • MessageTemplates - Convert token processing to use TokenProcessor (19550)

    Improves token processing (resulting in some different token processing).

  • Align most of the tokens in the TokenProcessor handling with the legacy handling (19806 and 19863)

    Aligns new token processing with legacy token processing handling and moves towards deprecating the Mailing_BAO classes in favor of flexmailer.

  • Upgrader - Display note about token formatting (19920)

    Improves communications about tokens that may generate different output after token processing changes made in this release.

WordPress Integration

  • Cannot create a WordPress account from the Contact record (dev/wordpress#82: 18982)

    Adds support for creating WordPress accounts from the contact record.

  • Afform - Support embedding forms via WP shortcodes. (19687)

    Adds the ability to embed Afform forms using WordPress shortcodes.

  • Allow shortcodes to be rendered without invoking Civi page (244)

    Allows CiviCRM core and extensions to supply content for shortcodes without rendering a page; they can simply implement civicrm_shortcode_get_markup and return the content.

Bugs resolved

Core CiviCRM

  • Unable to send individual email with attachment and 3+ recipients (dev/core#2588: 20222, 20227)

  • Search Kit terminology and help (dev/report#58: 20033)

    Renames 'Filters' to 'Having' in the SearchKit UI which is clearer for users familiar with SQL terms.

  • Address location type search errors when using a search profile (dev/report#59: 19764)

    Fixes a "DB Error: no such field" when using Advanced Search with a profile used as a search view.

  • civicrm_saved_search FK in civicrm_group should be ON DELETE CACSCADE (dev/core#1845: 19312)

    Change FK on civicrm_group to delete the associated group if a saved search is deleted.

  • Schema - Add readonly to all fields in RelationshipCache entity (19908)

    Ensures SearchKit understands that Relationship Cache fields are not editable.

  • Skip UFField.field_name on singleValueAlter as flakey (19895)

    Fixes a recurring test fail.

  • Return from getACLRoles when contactID is not null (19871)

    Code Cleanup.

  • Add .clear class to break inline flow on social share footer (19829)

    Fixes the display of the social share footer for some sites with front end theme conflicts.

  • Enable & do single field metadata conversion for defaultContactCountry (19697)

    Ensures the template for defaultContactCountry uses metadata for the field.

  • Activity contact is null challenge (dev/core#2438: 19825)

    Fixes the ability to do "Without" conditions in SearchKit when a bridge table is used (e.g. EntityTag or RelationshipCache).

  • Northern Ireland / Wales counties are out of date (dev/core#2027: 19802)

    Fix state/province abbreviation for Carmarthenshire.

  • Add created_date column to the civicrm_note table (dev/core#2243: 19738)

    Adds a created date to notes.

  • SearchKit request - aggregate without group by (dev/core#2415: 19755)

    Adds API support for aggregate without group by.

  • Can't export link custom fields (dev/core#2466: 19839)

    Ensures users can export custom fields of the type link with a length above around 110 chars.

  • Deprecated function Redis::delete() (dev/core#2468: 19830)

    Removes deprecated function.

  • (APIv3, APIv4) OptionValue.create and OptionValue.update: Setting the default value (is_default=1) ignores domain ID (dev/core#2488: 19970)

    Ensures when setting the default optionValue thru the API (versions 3 and 4) the query is limited to the specified domain.

  • Regression dedupe threshold (dev/core#2498: 20071)

    Ensures dedupe rule threshold validation works correctly.

  • SearchKit - Flush Angular cache when saving (20031)

    Fixes caching issue for search displays embedded in Afforms (as pages, dashlets, tabs, blocks, etc).

  • APIv4 - Standardize generic entity name resolution (19889)

    APIv4 code cleanup to enable the addition of a Case API.

  • Upgrade error (dev/core#2528: 20066)

    Fixes an (errno: 121 "Duplicate key on write or update") when upgrading from 5.35 - 5.37.

  • Exporting in localized civicrm crashes due to long translations in columns T_Boolean (dev/core#2164: 19963)

  • Scheduled Reminder fails to send if From Name includes comma (dev/core#2226: 19603)

  • The civicrm_alterReportVar hook is not working for contribute detail report (dev/core#2285: 19317)

  • Some API calls no longer give an error when e.g. a database error happens (dev/core#2364: 131)

  • PHP 7.4 - get_magic_quotes_gpc() deprecated in IDS_Monitor (dev/core#2366: 315 and 19851)

  • Contact custom data date field not working in scheduled reminder (dev/core#2383: 19628)

  • Add hook support for Activity Contact (dev/core#2390: 19828)

  • Wrong event fee shown in CiviCRM (dev/core#2447: 19810)

  • Changing a custom field from multiple choice to Text breaks the API (dev/core#2459: 19794)

  • Boolean custom values can't be of type boolean (dev/core#2461: 19805)

  • Feature to file emails on multiple case ids provided in the url not working (dev/core#2463: 19873 and 19826)

  • SearchBuilder: contact search for tags with child-tags broken when using '=' operator (dev/core#2502: 19961)

  • CiviReport does not localize custom fields of type Money (dev/core#2503: 19962)

  • SearchKit - remove extra irrelevant fields from bridge joins (19868)

  • SearchKit - Fix broken export action (20003)

  • SearchKit - remove unused smartGroup code (19752)

  • SearchKit - Refactor loading actions list & support custom fields for groups (19783)

  • APIv4 Explorer - Prevent long results from breaking layout (19853)

  • APIv4 - Code cleanup & improve links to @see annotations in Explorer (19798)

  • APIv4 Explorer - Fix layout in code tab (19734)

  • APIv4 - Prevent API adding default join conditions when it shouldn't (19993)

  • Fix APIv4 test sloppiness (19754)

  • APIv4 - Fix GetActions function to work with entityNames that don't match className (19896)

  • APIv4 - Add function to get API class name (19867)

  • Afform - Refresh assetBuilder when saving a form (19998)

  • Afform - Fix endless spinner on "New Search Display" dropdown (19997)

  • Fix issues with "Create User Record" process (20057)

  • Fix entity-ref search by id & update search prompt (20050)

  • Soft credit fails when membership is created using backend form (20025)

  • Rename 'Misc' menu item machine name to a safe string (19996)

  • replaceOrgTokens: Remove broken code (19543)

  • E-notice fix on serialized setting (19969)

  • Pledge - Fix re-calculation of payment dates (19990)

  • Fix scrollbars on fullscreen dashboard dashlet (19981)

  • Only call getGroupACLRoles if contactID is present (19894)

  • Stop passing html to crmMoney (19941)

  • Fix to avoid passing non-money to money::format (19940)

  • Fix ts() namespace in searchKit & afform extensions (19729)

  • Fix for dedupe error under some mysql configs (19818)

  • Fix loop (19858)

  • Export UI - Only present "save mapping" button to permissioned users (19733)

  • Update SocialNetwork.tpl Twitter Intent URL (19724)

  • Prevent pages and metabox from loading until CiviCRM is installed (247)

  • Fix access permissions for sub-pages and "Quick Add" dashlet (245)

  • Non translatable fields in profile schema (dev/core#527: 19937)

  • Merge Contacts fails when custom Contact Reference field allows Multi-Select (dev/core#2561: 20142)

  • Error: Undefined class constant 'MODE_CBC' in Civi\Crypto\PhpseclibCipherSuite->__construct() (dev/core#2564: 20148)

  • SearchKit - Pass-thru permission checks from SearchDisplay::run to API.get (20186)

CiviCampaign

  • On New Campaign form, placeholder text for status is weird (dev/core#2411: 19768)

  • Fix incorrect placeholder text on 'Create Campaign' form (19767)

CiviCase

  • Civicase: Wrong Details in Change Custom Data Activity when filling an empty field (dev/core#2019: 19735 and 19741)

    Changing a case custom field from blank to something doesn't show properly what changed.

  • Activity Type and Case Type not being combined correctly in Advanced Search (dev/report#53: 20009)

    Allows SearchKit to search by and display cases with their activities.

  • Investigate replacing civicase views with something that is not views (dev/core#2385 and dev/core#2262: 19642)

CiviContribute

  • Changing Payment Method on a Transaction causes fatal error (dev/core#2577: 20195)

  • Access Control by Financial Type permissioning does not cover contribution_recur (Work Towards dev/core#2454: 19788)

    Ensures Contribution Recur is properly permissioned.

  • Warnings when saving a contribution with recognition date filled in (dev/financial#172: 19948)

    Fixes warnings when saving a contribution with a recognition date.

  • Contribution page creates a wrong amount and probably payment processor use this wrong amount (dev/core#2449: 19807)

    Ensures amounts are saved correcly when localization settings are changed.

  • Activity contact is not updated when contribution contact is changed (dev/core#2450: 19820)

    Ensures source/target activity contacts are updated whenever a contribution is updated.

  • Fix recurring contribution defaults (dev/core#2487: 19934)

    Updates defaults for the civicrm_contribution_recur table to bring the API behaviour closer to the user interface behavior.

  • Simplify decision as to whether to use a PDF on emails (dev/financial#162: 19486)

  • Minor buttonrama issue with Cancel button after exporting financial batch (dev/financial#170: 19787)

  • False positive message about missing INTL PHP extension on membership type form (dev/financial#171: 19929, 19958, 19880, 19876 and 19938)

  • PHP 7.4 - E_NOTICE every time you save a contribution (dev/core#2425: 19978)

  • Payment balance should be cast to float, not int, when checking if a contribution form should load (dev/core#2453: 19777)

  • CiviCRM 5.35.1, truncation of money values where $1,000 donation is recorded as $1 which appears to be truncating at the thousand separator when using the Australian (AU) and US Locale (dev/core#2493: 20040)

  • Fix re-calculation of payment dates on pledge (19976)

  • Donot over-ride total amount incase contribution has more than one line item (19951)

  • Only include completed contributions in the aggregate custom search (19936)

  • Set the Other Amount input in a price set to not autocomplete (19923)

  • Replace deprecated money_format() fn to support PHP 7.4 (dev/translation#65 and dev/core#1494: 19753)

  • Remove text about email receipts for each recurring contribution. (dev/core#2384: 19624)

CiviEvent

  • Price option reaches max amount causes critical error. (dev/event#53: 20073)

    Ensures that on registration forms sold out radio price options are frozen.

  • Cannot "Transfer or Cancel" event participant as admin user (dev/event#54: 20223)

CiviMail

  • Remove addressee, email_greeting_id, postal_greeting_id from exposed tokens (19782)

    Removes support for tokens that are likely to break and are redundant.

  • [regression] CiviMail crashing on send instead of throwing exception when using Job.execute (dev/mail#72: 18466)

CiviMember

  • Backend Membership Renewal returns a fatal error when min fee is empty (dev/core#2583: 20212)

  • Selecting of price sets not working anymore (dev/core#2434: 20158)

    The membership tab on the contribution page configuration form failed to display the dropdown for choosing a price set. This problem was an unreleased regression prior to 5.36.0 but this one form got missed when fixed.

  • Update to lifetime membership does not clear the end date (19716)

    Fix membership to clear end date if type is updated to lifetime.

  • When editing a membership with no existing payments, checking the box to record payments results in a total amount of NaN.N (dev/core#2560: 20127)

Drupal Integration

  • Rebuild the Drupal route cache. (19906)

    Ensures enabling a CiviCRM extension that adds a route on Drupal 8 or 9 does not result in a 404.

  • Drupal 8 hook_uninstall not implemented (dev/drupal#141: 61)

  • Fix Drupal Base 'isFrontEndPage' Returns Wrong Value After Saving A Settings Page (dev/core#2464: 19823)

  • Fix batch transaction export on D8/9 (19761)

WordPress Integration

  • WordPress: avoid PHP notice if the anonymous user does not have any capabilities (19732)

Miscellany

  • Remove recaptcha library as now part of core extension (317)

  • Migrate current recaptcha library into extension and fix a couple of ts calls (20011)

  • Add recaptcha to distmaker (19999)

  • Use standard function to add reCAPTCHA to PCPAccount form (20019)

  • Make testExpiredPriceSet more realistic (19474)

  • Remove safe+mode setting (19833)

  • Fold back in getGroupACLs (19882)

  • Remove getACLRoles (19879)

  • Move setting of _includesSoftCredits out of getQuery (19860)

  • Upgrade angularJs from 1.8.0 to 1.8.2 (19831)

  • Bump phpseclib/phpseclib from 2.0.29 to 2.0.31 (19994)

  • Bump y18n from 4.0.0 to 4.0.1 (19944)

  • Code cleanup in bootstrap.php (19834)

  • Updates to ExportTest (19884)

  • Update Unit tests to work with phpunit8 (130)

  • Update Unit tests to work with PHPUnit8 (643)

  • Add :void return type to tearDown on a bunch of unit tests (19897)

  • Tighten mysql mode in test environment (19817)

  • Add further test for token custom fields (19790)

  • Remove deprecated code (19919)

  • Remove unused private function (19950)

  • Remove empty setUp() functions (19971)

  • Remove unused variables/assigns from buildMembershipBlock function (19775)

  • Remove an unnecessary ampersand (19821)

  • Remove now-empty function (19824)

  • Remove legacy phpunit param (19836)

  • [REF] Fix APIv3 MembershipJob test failure on PHP 7.4 by only doing ch… (19844)

  • [REF] Extract getQueryParams (19857)

  • [REF] Clarify & simplify is_recur param (19812)

  • [REF] Minor function extraction (19835)

  • [REF] Simplify a couple of variables (19861)

  • [REF] Simplify BAO_ACL table references (19869)

  • [REF] Stdise campaign_id handling (19877)

  • [REF] Minor simplification around assigning taxAmount to the template (19757)

  • [REF] Remove setting of unused variables (19800)

  • [REF] Fold getACLs back into the calling function (19872)

  • [REF] Simplify code calculating the number of membership terms (19801)

  • [REF] Remove redundant toArray() function (19885)

  • [REF] Store the getSearchQueryResults so it can be re-accessed (19881)

  • [REF] Minor extraction to help cleanup permission code (19803)

  • [REF] Minor parameter cleanup (19799)

  • [REF] Extract code to get generic membership parameters (19784)

  • [REF] Cleanup on permission code (19796)

  • [REF] Extract getPaymentInstrumentID (19793)

  • [Ref] Remove copy and paste overkill (19786)

  • [REF] getCorePermissions cleanup (19789)

  • [REF] Very minor simplification (19785)

  • [REF] Fix ContributionPage::recurringNotify to use APIv4, simplify params (19639)

  • [REF] Cleanup code to determine financial_type_id (19756)

  • [REF] [Towards membership API] Cleanup access to payment_processor_id (19910)

  • [REF] Remove now redundant code to set line item financial type (19745)

  • [REF] [Towards membership API] Duplicate emailReceipt function rather than silly sharing (19912)

  • [REF] [Towards membership API] Simplify message functions (19915)

  • [REF] Extract portion of GroupContact load that builds the temporary table (19945)

  • [REF] remove unused code in recordFinancialAccounts (19769)

  • [REF] Clean up code around is_email_receipt (19746)

  • [REF] Move function from static class to OO class (19955)

  • [REF] Extract getMembershipTypeValues (19924)

  • (REF) CRM_Upgrade_Form - Remove unused method getRevisionPart() (19742)

  • [REF] [SearchKit Actions] Cleanup around contribution PDF common (19904)

  • [REF] Minor cleanup - remove unused variables (19980)

  • REF Ensure that getAmount includes 0s in decimal places up to 2 places (20074)

  • [REF] Minor cleanup - strictness & formatting (19949)

  • [REF] [Towards membership API] more consistent handling on amount (19911)

  • [REF] [Towards membership API] Simplify calculation of recurring membership parameters (19893)

  • [REF] Simplify setting of softcredit form options (minor) (19891)

  • [NFC] Minor coding standards cleanup (19838)

  • [NFC] Add in "void" statements on various Core Ext Tests to future support PHP… (19832)

  • [NFC] Minor test cleanup (19852)

  • [NFC] Cleanup in test class (19866)

  • [NFC] Fix logging schema test to work on MySQL8 as it no longer outpu… (19850)

  • [NFC] Fix test failures on PHP 7.4 caused by either NULL being set fo… (19849)

  • [NFC] Fix test failures on MySQL 8 caused by change in output of eith… (19847)

  • [NFC] Fix PHP 7.4 errors on ContributionPage tests (19846)

  • [NFC] Fix Membership Type Test error on PHP 7.4 (19845)

  • [NFC] Minor IDE cleanup in test class (19816)

  • [NFC] IDE cleanup on test class (19813)

  • NFC cleanup in test class (19953)

  • [NFC] Update unit tests to be compatible with PHPUnit8 (246)

  • (NFC) Add FUNDING.yml to display a SPONSOR link that directs to c.o (19946)

  • [NFC] Minor cleanup on test class (19864)

  • [REF] Fix installation of the search display table on MySQL 5.36 in tests (20094)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Alexy Mikhailichenko; Calibrate - Wouter Hechtermans; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit; Greenpeace CEE - mflandorfer; JMA Consulting - Monish Deb, Seamus Lee; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie McClelland; Romain Thouvenin; SYSTOPIA Organisationsberatung - Björn Endres; Third Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Web Access - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton

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

Artful Robot - Rich Lott; BrightMinded Ltd - Bradley Taylor; CiviCoop - Erik Hommel; CiviDesk - Nicolas Ganivet; Context Institute - Robert Gilman; Dave T; Freeform Solutions - Herb van den Dool; Joinery - Allen Shaw; Megaphone Technology Consulting - Dennis P. Osorio; Richard van Oosterhout; Semper IT - Karin Gerritsen; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano

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.