CiviCRM 5.31 Release

2020-11-06 06:00
Written by

CiviCRM version 5.31.0 is now out and ready to download. This is a regular monthly release.

Upgrade now for the most stable CiviCRM experience:

Users of the CiviCRM Extended Security Releases (ESR) do not need to upgrade, as there are no ESR-specific bug-fixes or security issues at the moment.

Important announcements and reminders:

  • As of CiviCRM 5.31, Drupal 8 requires a minimum of Drupal 8.5. Drupal 9 is also supported. Don't worry, Backdrop, Drupal 7, Joomla! and WordPress are still supported.
  • As of CiviCRM 5.28, the minimum MySQL supported version is 5.6. MySQL 5.7 and MariaDB up to 10.4 are well tested. MySQL 8 works well too and has test coverage (related issue). More information in the official documentation about system requirements. CiviCRM 5.34 will require a minimum of MySQL 5.7 or MariaDB 10.0.2.
  • As of CiviCRM 5.25, the minimum supported version is PHP 7.1. The recommended PHP version is PHP 7.3.

What's new in CiviCRM 5.31

This version changes the database schema, has changes to the API, as well as the usual bugfixes and minor feature improvements.

  • Implement more nuanced "Administer CiviCRM" permissions (administer "data" and "system"). It is now possible to grant permission to configure profiles, scheduled reminders, and set admin-only price options independently of granting permission to configure scheduled jobs, install extensions, and view the system check. An organization might grant the former to senior staff and the latter to technical staff. (16482 and 18671)
  • Changes to the theming of buttons. Extension and theme developers should confirm that CSS and DOM selectors accurately identify the intended button elements. (18410, 18820, 18834, 18799, and 307)
  • Custom field form reform. This improves the form for creating or updating custom fields by improving validation, making defaults easier to select, and allowing more flexibility around changing the widget type. (18419)
  • Add higher-level support for "bundles" and "collections" of resources. "Resources" refers to CSS, Javascript, and DOM variables that developers can add to certain pages. These can now be bundled together to reduce redundant code and can be modified with the new hook_civicrm_alterBundle(). For example, a form/screen can require Bootstrap more easily. (18247)
  • Bootstrap3 CSS. CiviCRM introduced a theming system several years ago, but the existing look and feel was left as a "default", with the de facto theming code spread throughout the application. The new themes have generally used Bootstrap 3 as a user interface framework. (dev/user-interface#27: 18354, 18465, 18550, 18583, and 18579)
  • Search Kit: An extension to replace the search user interface has been included, but hidden, in CiviCRM for several months. Named Search Kit, it is now available to be enabled for sites. (18672)
  • Search Kit: edit smart groups. Search Kit can now edit smart groups. When installed, the "edit smart group criteria" link will open the classic search forms or Search Kit as appropriate. (18431)
  • Accessibility: Select field fixes for screen reader. The placeholder text for select drop-down fields now reflects the field label. The Select2 widget makes it difficult for screen readers to identify the field's label, so this helps identify the field for users who rely on screen readers. (17675, 18873, 18889)
  • Scheduled Jobs: Add an 'Execute Now' button to the job log (18593)
  • Invoices: Ability to Send Invoice with modified subject and CC it (dev/user-interface#30: 18286)
  • CiviContribute: Move ACls on LineItem create to financialacls core extension. This helps simplify the code. (18339)
  • CiviContribute: Convert core processors to use Guzzle and bring them under CI (Work Towards dev/financial#143: 18350)
  • CiviContribute: Migrate Eway(Single Currency) Payment Processor Type out into its own core extension. Code cleanup. (18349)
  • CiviContribute: Make 'Record Payment' & 'Record Refund' visible regardless of whether the balance 'requires' one (dev/financial#86: 18417)
  • CiviContribute: The "notify contributor" checkbox on the form to cancel or edit a recurring donation is now unchecked by default. (dev/core#1986: 18537)
  • CiviMail: Add options to Mail Account settings to improve inbound mail processing (18624)
  • CiviMail: Change wording on the Opt Out and Unsubscribe pages (18338)
  • CiviMember: Add custom field groups to Membership Contribution Detail report (dev/report#49: 18420)
  • Api4: Add Line Item v4 API (dev/core#1980: 18388 and 18352)
  • Drupal9: a number of functions that have been deprecated since Drupal 8.5 and are removed in Drupal 9. The result is that CiviCRM 5.31 is no longer compatible with Drupal versions prior to 8.5 but is compatible with Drupal 9.
  • Translation: fixes inheritLocale regression (dev/translation#51: 18447)
  • A ton of small bugfixes.

This is only a short overview. You can read the full release notes here (it includes all Gitlab and Github references, with much more information). Big thanks to Andrew Hunt and Alice Frumin from AGH Strategies for putting up together release notes.

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Bastien Ho; Blackfly Solutions - Alan Dixon; CEDC - Laryn Kragt Bakker; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar; CompuCorp - Camilo Rodriguez, Ivan; Coop SymbioTIC - Mathieu Lutfy; Dave D; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Dennis P. Osorio, Jon Goldberg; MJW Consulting - Matthew Wire; QED42 - Swastik Pareek; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton

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

Bees on a bike - Shane; Artful Robot - Rich Lott; Betty Dolfing; CiviCoop - Jaap Jansma; CiviCRM - Josh Gowans; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - René Olivo; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Luke Stewart; Irene Meisel; JMA Consulting - Joe Murray; Lemniscus - Noah Miller; MJCO - Mikey O'Toole; Tony Maynard-Smith; Wikimedia Foundation - Maggie Epps.

Support CiviCRM

We are committed to keeping CiviCRM free and open, forever. We depend on your support to help make that happen.

While some bits were copy-pasted, this blog post was written by a human ;-)

With thanks to the authors of the Gutenberg Drupal module, which makes redaction to this anonymous editor more pleasant. The 8.x.2.x version is a nice upgrade.

Filed under