Skip to content

Latest commit

 

History

History
836 lines (568 loc) · 33.4 KB

5.27.0.md

File metadata and controls

836 lines (568 loc) · 33.4 KB

CiviCRM 5.27.0

Released July 1, 2020

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

Core CiviCRM

  • advanced search: allow searching by first/last name; pass values from quicksearch (dev/core#1722: 17118)

    Makes First and last name available on the advanced search form, and ensures quick search filters are passed to the appropriate field.

  • Add more search options (17372)

    Improves the Individual search form by adding fields for" organization_name, first_name, nick_name and last_name.

  • Investigate php currency library (Work Towards dev/translation#48: 17668)

    Adds a system check for a php extension (INTL) that will be required for CiviCRM 5.28 and up.

  • End of life planning for MySQL server 5.0 - 5.6 (dev/core#1681: 17518 and 17496)

    Adds a notice about 5.28 Dropping MySQL 5.5 Support.

  • Add MembershipType to Api4 (17448)

    Adds a Membership Type entity to APIv4.

  • Api4: Add Price api entities (17363)

    Adds Price entities to APIv4.

  • APIv4 - Improve pseudoconstant suffix support (17368 and 17482)

    Improves suffix support in APIv4.

  • APIv4 - support custom entity joins (17394)

    Improves APIv4 so that it supports implicit and explicit joins onto custom entities.

  • Add ContributionRecur crud api (17299)

    Adds Contribution Recur to APIv4.

  • Make reCAPTCHA settings clearer (17426)

    Improves help text for reCAPTCHA settings.

  • Wrap separators in price field in spans with classes (dev/user-interface#18: 17078)

    Improve user interface by wrapping separators in price fields in spans.

  • Make is_archived work as a url-search parameter (17328)

    Makes it possible to send is_archived as a url search parameter.

  • Configurable logfile size and hashing (17192)

    Allows a system administrator to give logs a predictable name, allowing them to be more easily ingested into other tools, and be handled by external log rotation tools.

  • Allow for installation on Symfony 4.4 (17380)

    Makes it so CiviCRM plays nicely with Symfony 4.4.

  • Add in domain tokens onto the Message Template admin interface (17388)

    Adds the domain tokens to the Message Template admin interface "Tokens" dropdown.

  • Make all icons aria-hidden (17318)

    Improves user experience when using a screen reader by hiding icons.

  • Extend icon helper support, including for formLink (17319)

    Improves CRM_Core_Action::formLink() so that it produces more accessible icon HTML.

  • Screen reader text for wrenches (17293)

    Improves usability for screen reader users by explaining wrench icons.

  • sr-only text for relationship permissions (17294)

    Improves usability for screen reader users by descriptions for icons for relationships permissions.

  • crmButton: support icon=0 for no icon (17303)

    Makes it possible to create a button without and icon using {crmButton}.

  • Dedupe performance - hard-remove financial_item from list of dymnamic refs to contact table (17567)

    Improves performance when dedupping.

CiviContribute

  • Allow to search on contribution id (dev/core#1580: 16484)

    Improves the "Find Contributions" search form by adding a field to search by "Contribution ID".

CiviEvent

  • Replace ical and office calendar image icons (17282)

    Changes the icons on the bottom of event info pages to use Font Awesome icons instead of images.

CiviMail

  • Extend content array of hook_civicrm_alterMailContent (dev/core#1620: 16629)

    Adds campaign_id to template for alterMailContent hook.

  • Migrate CiviMail "extern" scripts to conventional routes (17312)

    Updates CiviMail's default behavior to replace extern/open.php and extern/url.php with civicrm/mailing/open and civicrm/mailing/url.

  • Allow click-through and open tracking to be enabled/disabled by default (17291)

    Adds a setting to CiviMail which allows for setting the click-through and open tracking defaults.

Drupal Integration

  • CiviCRM menu toggle "adjust menu position" customisable (dev/core#1757: 17362)

    Hides the "adjust menu position" icon in the CiviCRM Menu for non admin users to avoid confusion for users who do not have access to the Drupal admin menu.

  • provide Calendar module with end_date when duration is provided (601)

    Improves display of activities in calendar views.

Bugs resolved

Core CiviCRM

  • CRM_Utils_Time::setTime and getTime() and their use in unit tests (dev/core#1781: 17414)

    CRM_Utils_Time - Allow TIME_FUNC to better isolate timing bugs.

  • Confusing popups when importing activities (dev/user-interface#17: 17067)

    Fixes a bug where the confirmation popup would appear when hitting the back/cancel buttons, not just the import button, on most import forms.

  • Installing CiviCRM in another language, with civicrm-setup (dev/translation#39: 17244)

    Fixes a bug when installing CiviCRM in another language with civicrm-setup.

  • Replace all instances of CRM_Core_Fatal with throw new CRM_Core_Exception (dev/core#560: 17421, 17343, 17336 and 17341)

  • CiviCRM 5.13.4 - smart groups with contact subtypes: subtype is not in Contact Type field on edit criteria mode (dev/core#991: 16541)

    Fixes contact subtypes not being carried over when editing a smart group created in Advanced Search.

  • Unable to import relationship (dev/core#1731: 17163)

    Ensures that importing relationships works as expected.

  • Apostrophes in richtext fields don't get exported properly in CiviReport (dev/core#1743: 17260)

  • Statically added members of a smart group not found (dev/core#1745: 17419)

  • Deleting an activity with attachments doesn't delete the file or entries in civicrm_file/civicrm_entity_file (dev/core#1753: 17298)

  • E_WARNINGS when viewing list of pledge payments (dev/core#1791: 17434)

  • Deselected checkbox settings are not saved (dev/core#1794: 17493)

    Ensures deselected values are saved on custom fields settings forms.

  • Added activity types don't appear in the type dropdown on New Activity (dev/core#1822: 17625)

  • [regression](for real this time) API doesn't allow passing option values by label (dev/core#1816: 17628)

    Updates APIv4 so that it matches based on label if name is not found.

  • APIv4 - Improve custom field spec gathering (17471)

  • APIv4 - Remove implicit multi joins & add explicit joins (17332)

  • APIv4 - Fix entity name on custom groups in schemaMapper (17425)

  • APIv4 - fix returning custom field values with API4 (17399)

  • [regression] Attempting to access Multi-Record Custom Field import results in crash (dev/core#1841: 17713)

  • Fix issue with building smart groups when $contactQueries is empty (17622)

  • replace deprecated money_format() fn to support PHP 7.4 (Work Towards dev/core#1494: 17577)

    Adds a deprecation notice and a status check for a money value format configuration other than the default.

  • QueueTest - Be more forgiving about slow execution (17532)

  • CommunityMessages - Define more consistent behavior in the face of slow execution (17529)

  • set boolean fields to false if not set. (17494)

  • Allow bidirectional assignment of relationships from search results (17413)

  • Navigation menu: fix translation of new-subtype entries (17451)

  • utf8mb4 - If strict mode enabled query will fail if KEY_BLOCK_SIZE is not 0 (17253)

  • Update DAO and L10n Schema file (17395)

  • Fix adding languages in multilingual (17228)

  • Don't exclude deleted contacts from ACL cache when user has permission (17379)

  • SMTP page appears broken when language is French (JS issue) (dev/core#1760: 17317)

  • Trigger fatalErrorHandler for PEAR errors and for logs with severity ERROR or higher (17277)

  • Add serialize column to civicrm_custom_field, remove "Multi-Select" html type (16992)

    Work towards making custom select and multi-select fields more similar to core select/multi-select fields.

  • Fix PHP notice when is_override is not set (17273)

  • respect file fields that have been configured as view only in profiles (17079)

  • Tag create: respect created_date and created_id params (17257)

  • Add propertyBag handling for getEmail when incoming uses email-5 (17267)

  • Public status messages should show correct class/icon like error (17376)

  • Accordion open-close with Font Awesome icons (17296)

    Use Font Awesome icons instead of triangle gifs to indicate Accordion open-close.

  • Comm prefs: add condition param for {privacyFlag} (17307)

    Makes the {privacyFlag} icon usage more consistent.

  • Member tab: auto-renew status was hidden from screen readers (17310)

  • No rendered icons in data source (17285)

  • Simplify admin console and remove superfluous icons (17284)

  • Replace stop-icon.png with fa-ban over a relevant icon for privacy (17283)

  • Replace all instances of copy.png with font awesome (17280)

  • Remove most uses of check.gif (17279)

  • Replace geotag_16.png with fa-map-marker (17281)

  • Decorative chevrons should be icons not angle quotes (17245)

  • A/B test: icon should be Erlenmeyer flask, not bar chart (17316)

  • Proceeding to confirmation page should be a "next" button not a check (17246)

  • Replaced more> icon with Font Awesome (17295)

  • Icon helper: replace quotes in html title. (17289)

  • Removed last TreePlus.gif and TreeMinus.gif spots (17297)

    Improves the UI by using icons instead of the black triangle gifs.

CiviCase

  • case activity: follow-up activity assignee does not receive email (dev/core#1721: 17116)

    Ensures when a follow up case activity is created the assignee is sent an email.

CiviContribute

  • Custom fields disappear on page refresh (dev/core#1728: 17301)

    Ensures that financial type specific custom fields are displayed on the backend contribution form on refresh.

  • Fix pricefield pseudoconstant. (17364)

    Fixes PriceField entity to build options for the price_set_id pseudoconstant field.

  • Nuance cancel options for processors (17430)

  • [regression] Contribution amount choices don't appear for anonymous users (dev/core#1823: 17619)

  • Import Contribution of custom fields only accepts "Numeric Value" rather than "Label" (dev/core#1806: 17632)

  • "Financial Type" listed twice in contribution export (dev/core#1650: 17147)

  • Record Payment does not update check_number & trxn id on main contribution. (dev/core#1758: 17314)

  • civicrm_financial_trxn.fee_amount reversals mixed up (dev/core#1775: 17386)

  • jquery validation type error on the credit card field (dev/core#1797: 17497)

    Fixes a jQuery error when submitting a front end contribution form with a credit card field.

  • Fix payment instrument bug by using correct payment instrument (17607)

  • Payment PropertyBag - Fix setAmount (17505)

    Ensures "Amount" is set correctly on PropertyBag.

  • Fixed hide show of start date (17446)

    Fix hide/show of receive date for recurring contributions.

  • Don't allow Contribution.repeattransaction to be used without a recurring contribution (17447)

  • Add actual field name for processor_id to getSubscriptionDetails (17466)

  • Make 'Pending' the default status for Contribution.repeattransaction (17432)

  • Fetch line items from correct contribution when repeating a contribution (17220)

  • Support order_reference param in API3 Payment.create (17278)

CiviMail

  • Don't log subscription_history (dev/core#1762: 17323)

  • Unsubscribe generates 500 server error responses, logs say "missing parameters" (dev/core#1773: 17402)

    Ensures the unsubscribe form can only be submitted once.

CiviMember

  • Recurring contribution fails with "ipn_payment_callback_exception", for membership auto-renewal via PayPalPro. (dev/core#1608: 17355)

  • Memberships of disabled membership types do not appear on the membership tab BUT do throw duplicate Membership Warning (dev/membership#24: 17143 and 17435)

    Adds a unit test to lock in the correct behavior.

  • Update MembershipType.name to be a required field (17463)

Joomla Integration

WordPress Integration

  • Styling issues after upgrade to WordPress 5.3 (dev/wordpress#46: 16967)

  • WP - Change definitions of cms.root, civicrm.root (17360)

    The base logic for computing path/URL defaults is in Civi/Core/Paths.php.

    For Civi-WP, certain variables (which are easier to compute via WP APIs) are overridden in CRM/Utils/System/WordPress.php.

    On WP, the path/URL logic for has been split: One codepath for normal Civi pages - based on WP APIs and another codepath for older, standalone extern scripts - based on the same logic as before

  • Declare Minimum WP and PHP versions required for installation (201)

  • wp-rest - Adjust extern URL. Be more defensive about 'query' part. (192)

Miscellany

  • handle less common dynamic reference cases (17653)

  • Use apiv4, cache infra for basicTypes (17387)

  • Cleanup PriceFieldValue BAO (17306)

  • Clarify definition of amount field in civicrm_contribution_recur table. (17311)

  • Call completeOrder directly from contribute status update form (17347)

  • Switch docblock code to use markdown syntax. (17304)

  • Preliminary cleanup on form (17345)

  • Add getBAOClassName utiltiy function (17268)

  • CRM/Logging - Remove obsolete cache static clear in test (17269)

  • Remove incorrect retrievals of tax-term setting (17183)

  • CiviEvent Dashboard and Manage Events: clean up disused url template vars (17378)

  • Set default using spec for activity_date_time (17390)

  • Convert remaining Authorize.net test to use guzzle (17473)

  • Various BAO create/add cleanups to use writeRecord() (17308)

  • Remove instantiation of transaction from payment express ipn class (17348)

  • Remove null code (17381)

  • Remove validation bypass (17384)

  • Simplify recurring contribution template inheritance (17178)

  • Remove $_REQUEST passed into CRM_Utils_Request::retrieve NFC (17377)

  • Use now instead of date for activity API3 spec (17411)

  • Typo Fix (17409)

  • Fix logic for job log cleanup and make SQL safer (17203)

  • Remove always-true if block. (17415)

  • Remove No longer required HTTP_Request Package (293)

  • Remove code that still seems unnecessary. (17342)

  • Undo variable variable. (17371)

  • Use non-deprecated method (17370)

  • Remove last reference to Payment->_processorName in core & remove from processors (17474)

  • Remove unused singleton from core payment processors (17468)

  • Test fixes to support apiv4 add of MembershipType (17488)

  • Merge code - remove UPDATE IGNORE+Delete & just use reliable update (17072)

  • Remove unneeded parameters in {ts} on membership form (17326)

  • Remove unused 'reset' param, other NFC tidy up: (17392)

  • Fix setLanguage docblock, other nfc changes (17356)

  • [REF] Simplify contributionIDs code (17441)

  • [REF] Extract getAttachments (17405)

  • [REF] Preliminary cleanup for #17339 (17417)

  • [REF] Remove unreachable block. (17407)

  • [REF] Pass an array of correct params to the function to create a recurring contribution. (17398)

  • [REF] Code simplification & unit test on suppressed emails in task (17393)

  • [REF] duplicate function. (17400)

  • [REF] Pass params not-by-reference (17406)

  • [REF] Refactor to switch from pear HTTP Request class to using Guzzle (17420)

  • [REF] [Reports] Ensure that all contribution pages including disabled ones are return… (17357)

  • [REF] Cleanup and extract string functions specific to entity names. (17330)

  • [REF] Stop passing by reference. (17349)

  • [REF] Simplify subject code. (17436)

  • [REF] Implement required fields database changes that have occured du… (17465)

  • [REF] Bump Pear Log version to fix compatability with Drupal 8 / Drup… (17460)

  • [REF] Convert one of the http calls in Authorize.net class to use guzzle. (17449)

  • [REF] Minor simplification (17443)

  • [REF] Grant BAO cleanup (17264)

  • [REF] CRM_Core_DAO_AllCoreTables::getBriefName to accept BAO name (17331)

  • [REF] Missing semicolon on smtp settings page, code cleanup in file-on-case, add test (17335)

  • [REF] Extract createFollowUpActivities (17481)

  • [REF] Switch to an api call to get the contact details. (17442)

  • [REF] Minor code simplification (17373)

  • [REF] Call completeOrder directly from event status update form (17346)

  • [REF] Remove never-passed params from function signature (17464)

  • [REF] Fix serialized membership field handling in RelationshipTest (17469)

  • [REF] Minor tidy up (17302)

  • [REF] Remove always NULL param modified_id (17489)

  • [REF] Add contribution_id field to search using metadata instead of h… (17286)

  • [REF] Fix unit test failures on MySQL 5.6 due to Custom Field table being created without Dynamic Row Format (17586)

  • [REF] Start to convert Dummy processor to use PropertyBag (17452)

  • [Ref] remove calls to, and deprecate, pending function (17490)

  • [REF] Cleanup MailingAB BAO (17309)

  • [TEST] Update test to support for 8.0.19 change (17354)

  • [TEST] Fix test failure on Drupal 8 E2E PrevNextTest by only includin… (17358)

  • [TEST] dev/core#1766 - Remove flakiness from testGetFromTo tests (dev/core#1766: 17338)

  • [NFC/TEST] dev/core#1784 - Unit tests for contact delete/restore (dev/core#1784: 17437)

  • NFC - Change array() to short syntax [] (17470)

  • [NFC] Update Karma to be latest version (17439)

  • (NFC) CRM_Utils_Url - Fix declared type (17320)

  • [NFC] Remove some more of the old cvs blocks (17383)

  • NFC Add a bit more clarity to createEmailActivity function (17391)

  • [NFC] Add comment that deprecated code is actually still reachable (17340)

  • (NFC) Remove some cvs docblock help (17322)

  • [NFC] Add comment regarding lower case for Polish states (17327)

  • (NFC) RegionTest - Small cleanups (17270)

  • [NFC] Add sr-only class for content only for screen readers (17255)

  • NFC Change hardcoded ID to constant (17275)

  • [NFC] Fix use of single quotes, strict operator (17492)

Credits

This release was developed by the following code authors:

a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Andrei Mondoc; British Humanist Association - Andrew West; Caltha - Tomasz Pietrzkowski; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - René Olivo; Coop SymbioTIC - Mathieu Lutfy; Dave D; Dominic Hargreaves; Electronic Frontier Foundation - Mark Burdett; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Edsel Lopez, Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Kartik Kathuria; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Palante Technology Cooperative - Morgan Robinson; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton

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

Agileware - Justin Freeman; Artful Robot - Rich Lott; Betty Dolfing; CiviCoop - Jaap Jansma; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb; Kartik Kathuria; Korlon - Stuart Gaston; Megaphone Technology Consulting - Dennis P. Osorio; Squiffle Consulting - Aidan Saunders;

Feedback

These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like to provide feedback on them, please log in to https://chat.civicrm.org/civicrm and contact @agh1.