Skip to content

Latest commit

 

History

History
761 lines (525 loc) · 30.6 KB

5.42.0.md

File metadata and controls

761 lines (525 loc) · 30.6 KB

CiviCRM 5.42.0

Released October 6, 2021

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

Features

Core CiviCRM

  • Edit Contact: Hide email signatures for contacts that do not have a user/CMS account (dev/user-interface#38: 21103)

    Improves the user interface by hiding the email signature section for contacts for whom it is not relevant.

  • Option to rename the file before downloading (dev/core#2121: 21006)

    Gives the user the option to change the PDF file name on the "Print/Merge Document" screen.

  • Add Settings, Disable, Delete buttons to group contacts listing page (Work Towards dev/core#2546: 20135)

    Adds a "Edit Group Settings" button that pops up the group settings edit overlay to the smog group page.

  • On logging detail report show the words not the numbers (dev/core#2691: 20907)

    Improves logging by displaying more context.

  • Tokens - contributions - could we show them all? (Work Towards dev/core#2745: 21134)

    Ensures support for the Contribution Token "contributionId".

  • Allow dedupe by websites (dev/core#2770: 21168)

    Makes it so one can dedupe based on websites.

  • APIv4 pseudoconstant improvements (21184)

    Makes SearchKit handle large option lists more efficiently, and adds APIv4 field metadata about available suffixes.

  • SearchKit - Add placeholder to token select (21172)

    Adds placeholder text to the token select dropdown in SearchKit.

  • Searchkit - Add grid display layout (dev/core#2776: 21194)

    Adds support to display SearchKit results in a grid format.

  • SearchKit - Merge admin results table with searchDisplay code (21069 and 21488)

    Improves and streamlines the SearchKit Angular code to reconcile two different ways of fetching, formatting & displaying results. This reduces code duplication, while adding a few features from the admin table to all search display tables.

  • SearchKit - Add download CSV action (21328)

    Adds an option to SearchKit to download a CSV.

  • SearchKit - Add links to admin table and refresh after popups (21343)

    Adds quick-action links to the SearchKit admin results table.

  • SearchKit - Use a search display to display searches (21270)

    Simplifies code by using a SearchKit display to display searches.

  • Include random as an option when sorting displays (dev/report#75: 21177)

    Adds a sort option of random to SearchKit.

  • Searchkit: Add image field handler (dev/core#2781: 21300)

    Makes it possible to show images in SearchKit displays.

  • SearchKit - Allow tokens in menu button text (21217)

    Makes it so users can include tokens in SearchKit menu button text.

  • TokenProcessor - Allow defining Smarty variables which are populated via token (21336)

    Allows more interoperability between Smarty expressions and tokens.

  • Token Parser - Allow tokens with multiple dots (eg {contribution.contribution_recur_id.amount}) (21076)

    Adjusts the naming/parsing rules for Civi-style tokens so that tokens may include dots and colons.

  • Afform - support file uploads (21150)

    Supports file fields as part of Afform.

  • Not possible to set the location type (address, mail, telephone) to a specific value (dev/core#2703: 21254)

    Makes it possible in Afform to select a single location type for an address, email, phone etc. block instead of having the field on the form.

  • Afform - Store submissions in a new database table (21105)

    Adds a Afform setting "log submissions", when checked, Afform submissions are stored in the database.

  • Move financial acl setting to the extension (21120)

    Moves financial ACL settings to the financial ACL extension.

  • SavedSearch - Add pseudoconstant for api_entity field (21312)

    Adds a pseudoconstant to facilitate display in the UI of what a search is for, e.g. ->addSelect('api_entity:label') would return "Contacts" for a search of Contacts.

  • Change the default PDF file name from "CiviLetter.pdf" to use the Activity Subject, if available (21220)

    Improves PDF file naming to be more specific.

  • Change PDF file name from "civicrmContributionReceipt.pdf" to use the standard "receipt.pdf" file name (21221)

    Improves PDF file naming.

  • Scheduled Reminders UI - Show more activity tokens in admin GUI (21091)

    Adds more Activity Tokens to the Scheduled Reminders UI.

CiviContribute

  • Logging improvements for "Failed to update contribution in database" (21243)

    Improves logging when contribution fails.

  • Add recurring contributions to contribution reports (Work Towards dev/report#63: 20168)

    Adds "Contribution Recurring" as a filter, column and group by to the Contribution Summary Report.

CiviMail

  • System Workflow Messages - Improve localization experience (Work Towards dev/mail#83: 21139)

    Introduces a class contracts for system workflow messages which will enable richer APIs and UIs.

CiviMember

  • Membership api for v4 (dev/core#2634: 21106)

    Adds the Membership entity to APIv4.

  • Fix code to use Order api to create Memberships in core forms (Work Towards dev/core#2717: 20936, 21126 and 20935)

    Work towards using the Order API to create Memberships in core forms.

Joomla Integration

  • CiviCRM-Joomla should accept web-service calls (58)

    Ensures that on a stock configuration of CiviCRM-Joomla, it is possible to create a page-route for accepting web-service calls.

Bugs resolved

Core CiviCRM

  • Multi-lingual: Contact Type label is cached regardless of language (dev/translation#70: 21268)

    Fixes loading multiple translations within same page-view (OptionValues, ContactTypes).

  • Activity export broken - takes you to some other screen instead (dev/core#2835: 21456)

  • APIv4 - entityBatch linkage (dev/core#2682: 21241)

    Work Towards APIv4 entity parity. Ensures that the values for entity_table are discoverable.

  • Consider replacing fopen() call in CRM_Utils_File::isIncludable with stream_resolve_include_path() (dev/core#2730: 21060)

    Replaces fopen call in CRM_Utils_File::isIncludable with one that doesn't need error-supression to avoid problems in php8.

  • SearchKit: have a quick Export task (Work Towards dev/core#2732: 21320)

    Refactoring work towards making it possible to have a direct export feature in SearchKit.

  • SearchKit - Fix deleting search displays (21444)

  • SearchKit - Fix anonymous access to running search displays #(21752)

    Recently SearchKit added the ability for anonymous users to access search displays. However, due to an oversight the feature doesn't actually work for anonymous users. This fixes the problem.

  • Afform - ensure dragging classes are removed when not sorting (21750)

    Fixes an annoying UI glitch in Afform where the screen can appear "locked" or "frozen" after dragging fields into a fieldset.

  • Expose Contribution token processor (dev/core#2747: 21046 and 21057)

    Reconciles contribution legacy tokens and scheduled reminders tokens.

  • CRM_Core_BAO_CustomField::getChangeSerialize always returns a change (dev/core#2762: 21160)

  • Caching issue on apiv4 + install (dev/core#2763: 21166)

  • CiviCRM email validation failing incorrectly (dev/core#2769: 329 and 21169)

  • Sort by date column on multirecord field listing section on profile edit mode doesn't work (dev/core#2774: 21191)

  • Error when using search in 'Find and Merge Duplicate Contacts' page (dev/core#2778: 21223)

  • Print/merge document has awkward filename if activity subject uses non-english letters (dev/core#2789: 21259)

  • Contribution custom field tokens are duplicated in the dropdown (dev/core#2806: 21337)

  • [regression] Search forms with entities that include File custom fields don't render in Afform Admin screen (dev/core#2751: 21084)

  • APIv4 - Throw exception instead of munging illegal join aliases (21072)

    Improves APIv4 validation of explicit join aliases.

  • Fix deprecated API4 Join on Email in dynamic profile (21308)

  • Search Kit doesn't display related contact custom fields (dev/report#73: 21071)

  • SearchKit - Misc bulk action bug fixes (21159)

  • SearchKit - Fix aggregated joins (21411)

  • SearchKit - Fix pager count and add 'None Found' text in empty tables (21333)

  • Fix Searchkit "Add" columns button UI (21315)

  • Afform - Fix button appearance and block form during submission (21287)

  • Afform - fix contact source field & field defaults (21228)

  • Fix support link just added in oauth-client extension info.xml (21256)

  • better target multivalue checkbox and multiselect import validation (21317)

  • Do not add tracking to internal anchor URLs (20115)

  • Fix for new prefetch key (21292)

  • Do not enable custom activity search on new installs (21260)

  • Add date metadata for email.on_hold, reset_date (21233)

  • Add no-prefetch campaign pseudoconstants (21185)

  • Replace extension key with label during install/upgrade/disable/uninstall (21094)

  • ActionSchedule - Pass real batches into TokenProcessor. Simplify CRM_Activity_Tokens. (21088)

  • MessageTemplate::sendTemplate() - Accept array $messageTemplate and array $tokenContext (21073)

  • Alternate to 20131 - Avoid crash during import for blank lines in a one-column csv file (21216)

  • CRM_Queue_Service - Use ?? instead of error-supression operator (21207)

  • Respect http_timeout core setting for Guzzle HTTP requests (21096)

  • Smarty notice - Explicitly set hideRelativeLabel var on Find Cases form (21070)

  • (Smart Group) is being constantly added while editing the smart group title from 'Manage Group' page (20898)

  • Enotice fixes in tpl (21170)

  • Template fixes - notices, syntax (21257)

  • Fix invalid parameter giving E_WARNING (21255)

  • Fix search display access for non-admin users (21082)

  • Use convenience function for one-off token evaluations to avoid too-long filenames and possible privacy issues (21140)

  • Replace deprecated calls to renderMessageTemplate() (21121)

  • Scheduled Reminders - Pass locale through to TokenProcessor (21085)

CiviCampaign

  • Fix caching on campaign pseudoconstant (21083)

CiviContribute

  • Fix the check to see if the financialAclExtension is installed (21077)

  • Simplify ContributionView form. Always display "lineitems" (21285)

  • Can we re-order the 'recur links' (dev/core#2843: 21559)

    The new link to View Template on a recurring contribution row is now moved to the end, allowing the Edit link to return to the second spot.

  • When a recurring contribution template has no line items, the contact contribution tab crashes (dev/financial#187: 21734)

  • Call line item pre hook after tax amount is calculated (21731)

    hook_civicrm_pre is now invoked on a line item entity after the tax amount has been calculated for it.

CiviMail

  • CiviCRM Mailing, function unsub_from_mailing has spelling error, "experiement" impacts A/B Mailing unsubscribes (21245)

  • In an email, a token from an extension in a subject will inhibits the same token group in the email body (dev/core#2673: 21080)

  • Log details of mailing error and don't display details to end user (21173)

CiviMember

  • Fix Membership.create in BAO to respect passed in status_id (20976)

  • Membership Dashboard - Fatal Error starting with 5.41.beta1 (dev/core#2758: 21171 and 21167)

  • Update MembershipType.duration and MembershipStatus.name to be required (21119)

  • Fix missing value of End Adjustment column from Membership status page (21664)

Drupal Integration

  • Syntax errors when loading sample data (dev/drupal#161: 648)

    Removes drush sample data install option that doesn't work.

  • Replace Drupal 9 user function, function getUsername is no more valid (328)

Joomla Integration

  • Fixes unusable modals in Joomla 4 (21286)

  • Tidies Joomla 4 integration (menu, padding) after final release (21342)

Miscellany

  • MessageTemplate - Add renderTemplate(). Deprecate renderMessageTemplate(). (21115)

  • Provided standard links in ext/oauth-client/info.xml, fixed typo (21252)

  • Use getter to get subscription id (21309)

  • Extract ACL contact cache clearing part out (21219)

  • Update quickform original (330)

  • Afform - Rename blocks and joins for clarity (21218)

  • Afform - Optimize Get by checking type (21316)

  • [REF] Cleanup pdf classes to use a trait like we do for email classes (dev/core#2790: 21334, 21305, 21310, 21276, 21297, 21331 and 21290)

  • Upgrade angular-file-uploader to v2.6.1 (21081)

  • Upgrade Pear/DB package to be version 1.11.0 (21087)

  • CRM_Core_Component - Remove unused code (21086)

  • Move make-sure-single-set out of shared function (21062)

  • Remove unused, duplicate functions getEntitiesByTag (21209)

  • Remove deprecated function (21179)

  • Remove extraneous buildQuickForm (21325)

  • Remove unused assignment (21061)

  • Remove no longer used variable in Email.tpl / smarty warning (21074)

  • Remove deprecated isDevelopment() function (21269)

  • [REF] Move acl delete logic to an event listener (dev/core#2757: 21201 and 21213)

  • [REF] Remove references to contribution_invoice_settings (Work Towards dev/core#2719: 20991)

  • [REF] Afform - Code cleanup in LoadAdminData API action (21089)

  • [REF] SearchKit - Refactor search task code to share a trait (21156)

  • [REF] SearchKit - display code refactor + pager options (21049)

  • [REF] SearchKit - Use non-deprecated join syntax when loading standalone displays (21095)

  • [REF] APIv4 Notes - Ensure child notes are deleted with parent, and hooks are called (21208)

  • [REF] Remove unused/unneeded variables from Note View page (21226)

  • [REF] CRM_Utils_Recent - Use hook listener to delete items (21204 and 21492)

  • [REF] Deprecate unnecessary del() functions (21200)

  • REF Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() part 1 (21193)

  • [Ref] remove unused variable (21161)

  • [Ref] Move id fetching to the classes (21075)

  • (REF) ReflectionUtils - Add findStandardProperties() and findMethodHelpers() (21114)

  • [Ref] Simplify IF clause (21078)

  • [Ref] extract function to getEmailDefaults (21067)

  • [Ref] Clarify what parameters are passed in (21063)

  • [Ref] Move rule to email trait (21066)

  • [Ref] cleanup alterActionSchedule (21047)

  • [Ref] Copy emailcommon function back to email trait (21251)

  • [REF] Update a few references to invoicing (21101)

  • [Ref] intial testing on case tokens, make knownTokens optional (21289)

  • [Ref] Deprecate Core_Error handling (21279)

  • [REF] Fix Page Hook test on php8 by putting in guard into customDataB… (21344)

  • [REF] Fix undefined smarty vars in Advanced Search (21321)

  • [REF] Improve Custom data insert performance when using the copyCusto… (21313)

  • [REF] Copy preProcessFromAddress back into the pdf function (21306)

  • [REF] Remove duplicate IF (21298)

  • [REF] Minor extraction (21296)

  • [REF] Remove unreachable code (21294)

  • [Ref] Minor extraction (21293)

  • REF Don't check if id is set in ContributionView form - it's required (21274)

  • [REF] Remove meaningless if (21273)

  • [NFC] Fix APIv4 Conformance tests on php8 (21302)

  • [NFC] - Replace deprecated function in AngularLoaderTest (21244)

  • [NFC] CRM_Utils_SystemTest - Call to Uri->withPath() using deprecated format (21215)

  • [NFC] CRM_Extension_Manager_ModuleUpgTest - use ?? instead of error-suppression operator (21214)

  • [NFC] CRM_Extension_Manager_ModuleTest - use ?? instead of error-suppression operator (21206)

  • [NFC] Update CRM_Core_RegionTest so it doesn't need the error-suppression operator (21155)

  • [NFC] Update testCaseActivityCopyTemplate to provide variable that would usually be present (21146)

  • NFC - Fix docblock in CRM_Core_Transaction (21125)

  • [NFC] {Test} Minor cleanup (21116)

  • [NFC] Fix UpdateSubscriptionTest on php8 by creating a Payment Processor (21324)

  • (NFC) Expand test coverage for scheduled-reminders with {activity.*} tokens (21092)

  • (NFC) TokenProcessorTest - Add scenario inspired by dev/core#2673 (21090)

  • [NFC] Fix E-notice in Afform unit tests (21345)

  • [NFC] Cleanup boilerplate code in extension upgrader classes (21340)

  • [NFC/Unit test] Update flaky test CRM_Utils_TokenConsistencyTest::testCaseTokenConsistency (21341)

  • (NFC) MailingQueryEvent - Add more docblocks about query-writing and tokenContext_* (21098)

  • [NFC] Fix undefined array key when running CRM unit test suite in php8 (21314)

  • Add test to UpdateSubscription form (21282)

  • Improve test for CRM_Utils_Recent (21222)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Australian Greens - John Twyman; Benjamin W; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Debarshi Bhaumik, Lisandro; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Joinery - Allen Shaw; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green

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

Black Brick Software - David Hayes; CiviCoop - Jaap Jansma; Joinery - Allen Shaw; Lighthouse Consulting and Design - Brian Shaughnessy; redcuillin

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.