Skip to content

Latest commit

 

History

History
667 lines (491 loc) · 29.8 KB

5.4.0.md

File metadata and controls

667 lines (491 loc) · 29.8 KB

CiviCRM 5.4.0

Released August 1, 2018

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

  • CRM-20430 A permission 'save Report Criteria' (12107)

    Permission to edit the criteria for saved reports is now separate from the permission to access and preview modifications of report criteria. This will prevent non-privileged users from modifying the criteria of an organization's standard reports. However when upgrading, site administrators will need to grant the Save Report Criteria permission to roles that need that capability.

  • dev/core#174 Consistently use swappable cache interfaces (12321, 12322, 12323, 12330, 12331, 12336, 12342, 12348, 12354, 12362, 12368, 12376, 12378, 12379, 12380, 12381, 12389, and 215)

    Sites using Redis or Memcache for caches and sessions will now use those facilities exclusively rather than retaining the civicrm_cache table as a backstop. This improves performance for these sites, especially those using multiple MySQL servers.

    As a precaution, Redis or Memcache administrators with very active sites may wish to double-check that they have ample capacity for their caches and sessions.

    For developers, the CRM_Utils_Cache APIs now support expiration/TTL times and PSR-16 CacheInterface. The Civi implementation is slightly more permissive than the PSR-16 specification; for full compliance, enable CIVICRM_PSR16_STRICT.

  • CRM-21574 Allow to disable sending of email from source contact for tell a friend on pcp (12355) (preliminary work)

    Emails from the "tell a friend" feature are sent as if they are from the donor's address. This can cause delivery failures as the site may not be a valid source for the donor's email domain. Changes here are preliminary cleanup.

  • dev/core#32 Add option to disable cancel button on a profile form (11883)

    The Cancel button is now optional on profile forms.

  • CRM-21392 Allow viewing groups/smartgroups as as other entities (eg. memberships, events) (11241)

    The Find Groups page now has a similar "View Results As" feature as the Advanced Search: you can choose to view memberships, events, activities, etc. of group subscribers rather than the contacts themselves.

  • CRM-21622 Make the Add Parent Groups on Group Settings be a multiselect (11481)

    The New Group form now allows you to set multiple parent groups for a single group.

  • CRM-21460 Programmatic access to job execution status (11337)

    Extension developers can implement two new hooks, hook_civicrm_preJob and hook_civicrm_postJob, which are invoked before and after executing a scheduled job.

  • Change default for CIVICRM_CONTAINER_CACHE to simplify admin/developer experience (12426)

  • dev/core#223 Expose prefix and suffix in reports (12394)

    Individuals' prefix and suffix fields are now available as columns and filters among the contact fields in most reports.

  • dev/core#101 Allow further customization of search form in hooks (12078)

    Fields are no longer explicitly included in the search form template since that makes it hard to add or remove fields. Instead, the fields are listed in template variables, and the template iterates over the list to render the field elements.

  • dev/core#183 Temporary tables should follow consistent naming convention (12311) (partially completed)

    This moves towards naming temporary tables--both true temporary tables in MySQL and regular tables created for temporary use--in a consistent manner in order to help database administrators employ replication policies based upon table names.

  • dev/core#144 getCustomFieldID switch to API, add caching, add full string return option (12218 and 12283)

    The function to retrieve a custom field ID now relies upon APIv3 rather than an ad hoc SQL query. It also contains an option to return the ID preceded by custom_. Finally, the function caches the result and attempts to return the cached value rather than looking it up each time.

  • dev/core#47 Add "clone" functionality to scheduled jobs (11945)

    Scheduled jobs can now be copied, including their parameters, both from the Scheduled Jobs page and through a new Job.clone API method.

CiviCase

  • dev/core#107 After creating a new case, the assignee for each activity must be selected manually (11998)

    You can now select the default assignee for each activity in the standard timeline for a case type. This may be defined according to a relationship with the client, a single specific contact, or the contact who created the case.

  • CiviCase, added reference of activities from different timelines. (12236)

    From an activity on a case timeline, you can now reference any activity available to the case--not just those on that case timeline.

CiviContribute

  • Add support for hidden fields in general (and 'token' specifically) on the payment form. (12332 and 12391)

    A new authorization token field is added to the payment form to support token-based payment processors.

  • CRM-21808 Install custom group for Contribution or ContributioRecur subtypes based on XML file (11726)

    Extensions created custom data sets for contributions can now specify the custom data to apply only to a single financial type.

  • (dev/core/50) and dev/core#195 Add Separate Sub-tabs for Contributions and Recurring Contributions (11956 and 12345)

    The Contributions tab on a contact now contains two sub-tabs--one for single contributions, and the other for recurring contribution series--instead of displaying one after the other.

  • dev/core#96 Expose source column in booking report (12374)

    The contribution Source field is now available as a column and filter on the Bookkeeping Transactions report.

  • Use html5 color input for contribution page widget (12339)

CiviMail

  • dev/mail#1 Add pause/resume functionality to civicrm bulk mailing. (11803 and 12284)

    A CiviMail mailing that is scheduled or in progress can now be paused in order to allow an urgent message to go out first.

  • Add in bootstrap button classes to CiviMail interface (12013 and 12338)

    This allows the interfaces to be themed more easily by Bootstrap-based themes.

Bugs resolved

Core CiviCRM

  • dev/core#222 Importing contacts with dedupe rule does not use the rule (12393)

  • dev/core#284 Aggressive cache clearing significantly increases test time (12590)

    Settings, compiled Javascript, extension, and other caches are now only flushed along with the default CiviCRM cache if an external cache like Redis or Memcache is in use. (This reproduces the 5.3 behavior.)

  • dev/core#279 When Merging two contacts, Flip between original and duplicate link not working in WordPress (12568)

  • Handle 'Check for Matching Contact(s)' button with ajax (12552)

    This resolves a bug where the "Check for Matching Contact(s)" button would not work if AJAX Deduping is enabled.

  • dev/core#131 Add in missing UK shire Monmouthshire (12538) (follow-up on previous work)

    Many individual sites had manually added the county of Monmouthshire in Wales to the civicrm_state_province table, and upgrading to 5.3.0, which added the missing record, would cause them a database error.

  • dev/core#258 Possible unreleased regression - message template update altered customised template (12492)

  • dev/core#249 Contact Export fails in 5.4 when trying to export using the All radio button (12447)

  • dev/core#234 Upgrade Steps in 5.3.alpha1 may not have been run (12419, 12420, and 12425)

  • dev/core#155 Improvements and bugfixes to Option Groups UI (12233 and 12411)

    The Option Groups page now displays whether each option group is reserved or enabled. In addition, sites using sample data no longer have the sample custom fields reserved.

  • CRM-20184 Some System Workflow templates still miss {contact.email_greeting} (12296)

    This makes receipt templates more consistent in using the contact's email greeting when sent to individuals.

  • dev/core#41 Search Builder: Not empty with date or integer custom fields gives a sql warning (12351 and 12363)

  • Make all form tasks inherit from CRM_Core_Form_Task (12318)

    This addresses some export problems caused by tasks lacking certain properties because their classes did not extend CRM_Core_Form_Task.

  • dev/core#178 Redis driver - Error messages are invisible (12303)

    The log now contains error messages passed from Redis.

  • dev/core#180 Deleting custom values and custom_hook parameter $entity_id empty (12309)

    The ID of the affected entity is now passed to hook_civicrm_custom when a value is deleted from a custom field.

  • Fix access to scheduled reminders for admins without event access (11733)

    Users with Administer CiviCRM permission but lacking Manage Events permission would get an error when trying to create a non-event scheduled reminder.

  • Only treat a request as a get request (and hence use GET) if it starts with get (12308)

  • dev/core#179 Redis driver - Allow anonymous connections (12304)

    Redis no longer attempts to authenticate when no password is set, such as on local development environments.

  • dev/core#177 Redis driver - Reports incorrect value for cache-miss (12302)

    When a cache key is undefined, Redis now returns NULL rather than FALSE.

  • dev/core#175 Smart group involving relationship type filter display incorrect results. (12301)

  • Make Send SMS permission independent of Edit Contact permission (12067)

    You no longer need the permission to edit a contact (in addition to the Send SMS permission) to send the contact a SMS message.

  • dev/core#134 Search Builder broken filter for Source Contact ID (12181)

  • dev/core#140 add missing pseudoconstant for option_group_id in CustomField.xml (12195)

    Extensions creating custom fields can now refer to option groups by name rather than ID.

  • dev/accessiblity#3 Add aria-label (and label?) to form elements missing them (12209 and 213) (partial work)

    Besides adding aria-label attributes to sub-elements of the Quickform date field, event info pages no longer wrap basic information labels in <label> tags.

  • CRM-20711 Error - DB Constraint Violation - GroupContact, get API (12408)

    This adds the location_id field to the civicrm_group_contact table on older sites that lack it.

  • dev/core#152 - AdvMulti-Select cleanup (531) (follow-up work)

    This removes a couple of references to the now-removed "Advanced Multi-select" custom field type

  • Upgrade Mime_mail to fix issues with PHP7.2 (205)

  • Apply fixes to have DB package support PHP7.2 (207)

  • dev/core#117 Remove usage of each() This is deprecated in php7.2 (211) (follow-up work)

  • Declare Subparts as array in mimePart to support PHP7.2 (210)

  • CRM-19798 Memory leak in API3 EntityTag get operations (12276)

CiviCase

  • Fix regression on case export from recent export fix (12588)

    This resolves undefined property PHP notices when exporting cases.

  • dev/core#24 Passing an array for contact_id/client_id to Case.Create API when updating an existing case causes case to be "reassigned" (11830)

  • CRM-21815 On re-opening a civicase - Case Coordinator (and other roles) are not reinstated (11736)

  • dev/core#165 Bad link in civicrm/case/activity/view breadcrumb (12279)

CiviContribute

  • CRM-21637 Search Criteria for Card Type ID and Card Number not respected in Batch (11495)

    The card type and card number filters for financial transactions in the accounting batch interface now work as expected.

  • CRM-21854 Contribution start date and end dates are not respected (11881 and 12504)

  • dev/core#264 Fatal Error on editing Financial Transaction (12502)

  • dev/core#220 State province/country doesn't show properly in the report (12390)

    This resolves a bug in the Contribution History by Relationship report where strange values would appear for the State/Province and Country fields.

  • dev/core#202 Empty row under currency drop down (12356)

    A warning now appears when a site has a disabled currency that is set as default.

  • dev/core#88 Make sure financial_type_id is set when a contribution is created (11907)

    This resolves a bug where the financial type would not be set on a one-time contribution made through a contribution page.

  • dev/core#170 contribution detail report errors when soft credits column is exposed (12281 and 12282)

  • Fix e-notice, remove legacy code pattern (12298)

    This resolves a PHP notice when printing contribution receipts in bulk.

  • dev/core#56 Cancel Recurring Contribution activity should have a source record id (11964)

    The activity created when cancelling a recurring contribution now has the recurring contribution ID as the source_record_id.

  • dev/financial#14 PayPal Express recurring payment causes warning messages (12091)

  • CRM-20697 Online pay now anomalies (contribution transfer to new contact) (11578)

    The Pay Now form now uses contact ID and checksum to validate the contribution's contact to avoid creating new contacts when an anonymous visitor fulfills a pending contribution.

CiviEvent

  • dev/core#272 Fatal Error (Regression) on PCP pages associated with Events (12533)

  • dev/core#124 Registration approval issues (12160 and 12417)

    This resolves a PHP warning and some confusing aspects of handling event registration approvals.

CiviGrant

  • dev/core#187 Fix typo in CRM_Grant_Form_Task that prevents retrieving session key from URL (12317)

CiviMail

  • dev/core#133 Reply-to field with empty string get saved in DB as NULL (12176)

  • CRM-20320 Error in PEAR SMTP causes mailing job to fail when an error occurs during one connection (11840)

    CiviMail will now disconnect the SMTP connection when a connection error is detected and record the group of messages as not delivered. This allows it to reconnect later and send the messages.

  • CRM-17753 Newsletter confirmation emails shouldn't use [email protected] (12270) (preliminary work)

  • CRM-21779 Civimail allows adding current draft mailing recipients to recipients field (11724)

CiviMember

  • dev/membership#4 Admin Membership type is displayed on Public contribution page. (12178)

  • dev/core#276 Undefined index: is_override on submit credit card membership (12563)

  • dev/core#151 Action to Update Recurring Contributions From Membership View is Never Shown (12228)

    The table to view recurring contributions on a membership now displays the Edit action where appropriate.

  • CRM-21682 Automatic membership renewal fixes (12313 and 12314) (preliminary work)

  • CRM-21177 Wrong interval of recurring payment for auto-renewing membership (12289) (preliminary work)

Joomla Integration

WordPress Integration

  • dev/wordpress#1 CiviCRM-WordPress - Gutenberg Compatibility: Do not parse shortcodes in REST context (130)

  • CRM-21565 Change mkdir to use correct and more secure mode numbers (120)

Miscellany

  • (NFC) Convert files to use linux line endings not windows (12531)

  • Move DAO function to DAO class, call it from Merge class (12340)

  • NFC code cleanup for AuthNet, Paypal, PaypalPro IPNs (12386)

  • dev/core#203 Cruft code in CRM_Core_BAO_OptionGroup::add() (12357)

  • Remove unused instances of usedTable (12341 and 12349)

  • (NFC) CiviUnitTestCase - Fix edge-case for mis-reported error (12347)

  • NFC Code cleanup to core task class (12316)

  • [NFC] Stop passing no-longer-part-of-signature variable (12329)

  • Fix typo in api explorer sample code (12324)

  • Remove unused code variable (12299)

  • Confirm & lock in group.get handling of is_active (12295)

  • Remove unused function getRecuringTransactionStatus from PayflowPro c… (12294)

  • Add upgrade function for message templates that does not involve copying the whole template (12224)

  • Function extraction BAO_Export class (12288)

  • Partial refactor of completeMembershipFromContribution (12271)

  • [NFC] Fix line endings (Jenkins where were you) (12280)

  • Towards fixing household merge export, extract function, add test, fix prev (12272)

  • Standardise line endings away from windows line endings to linux (212)

Credits

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Alok Patel; Australian Greens - Seamus Lee; Bastien Ho; Caltha - Tomasz Pietrzkowski; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Camilo Rodriguez, Michael Devery, René Olivo, Vinu Varshith Sekar; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; Ginkgo Street Labs - Frank Gómez; JMA Consulting - Monish Deb; Johan Vervloet; John Kingsnorth; Kanzu Code - Carl Andrew Lema; Left Join Labs - Sean Madsen; MJW Consulting - Matthew Wire; Pradeep Nayak; Romain Thouvenin; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Tom Bloor; Wikimedia Foundation - Eileen McNaughton

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

Agileware - Justin Freeman; baernm; Blackfly Solutions - Alan Dixon; Bob Silvern; Borislav Zlatanov; Caltha - Michal Mach; cartbar; Christian Wach; Circle Interactive - Dave Jenkins; CiviCoop - Erik Hommel; Community Builders - Andrew Perry; CompuCorp - Guanhuan Chen, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Drupal Association - Lizz Trudeau; Evan Chute; Forest CRM Consulting - Tamar Meir; Freeform Solutions - Herb van den Dool; Ginkgo Street Labs - Dan O'Brien; Hugo do Carmo; JMA Consulting - Joe Murray; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; Oxfam Germany - Thomas Schüttler; Richard van Oosterhout; Robin Fenwick; Semper IT - Karin Gerritsen; Stephen Palmstrom; Tech To The People - Xavier Dutoit; Timbsoft Technologies - Tunbola Ogunwande

Feedback

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