CiviCRM 5.45 Release

Publicat
2022-01-06 04:00
Written by

CiviCRM version 5.45.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) are encouraged to upgrade, since CiviCRM 5.45 is now the ESR.

We are committed to keeping CiviCRM free and open, forever. We depend on your support to help make that happen. We thank all our partners, members and ESR subscribers, who are regular financial contributors. If you can, please donate.

What's new in CiviCRM 5.45

This version changes the database schema, has changes to the API, as well as the usual bugfixes and minor feature improvements. These release notes are more technical than usual, and less user-facing improvements, although there have been many fixes for translations and minor interface tweaks that you may not notice but will make your life easier. For those wondering, a lot of the Api4, SearchKit and FormBuilder issues are not only for new tools that admins will be able to use, but are also the foundation for re-rewriting some of the old CiviCRM admin interfaces, to be not only more usable, but also easier to customize.

  • SearchKit: Animated loading skeleton (22019), Add default/placeholder text/image to displays for empty values; support custom file fields, such as displaying images (21992), Search by Case role (22121), many interface improvements.
  • Form Builder (afform): New interface that displays form submissions (22009)
  • Scheduled Jobs: The Scheduled Reminder job run frequency is now hourly by default, instead of daily. This is not changed on existing installs. (dev/core#2916: 21835)
  • Email to Activity processing: If there's a matching org contact and no matching individual, then file on the org instead of creating a new individual (dev/core#2872: 21983)
  • System Status: Display higher severity status checks first (22143)
  • Api4 Explorer: new option to view results in PHP format, as well as JSON (22010).
  • Api4: Add SortableEntity type which auto-adjusts weights (22137), relates to SearchKit - Add drag-sortable weight functionality (22081), and dev/user-interface#44, where we look forward to fixing all those admins interfaces with up/down arrows; Add export action for managed entities (22014, 22068)
  • Smarty Templates: New opt-in configuration option to "escape-on-output" instead of "escape-on-input". (Work Towards dev/core#1328: 21956), as well as a ton of cleanup in Smarty templates and some spaghetti. See the Gitlab issue 1328 for more background. This will be a pretty huge shift and security improvement in how CiviCRM handles potentially malicious HTML. There is also a doc page about smarty security hardening.
  • Drupal9: Add back in CSS classes on the body class, for easier themeing (68), helps with Shoreditch theme support, for example, and generally makes it easier to upgrade themes from Drupal7.
  • WordPress: Prevent fatal error when the "the_title" filter has only one param, fixes compatibility with some plugins (261, 262, 263).
  • A ton of tiny tweaks and fixes and unit tests that make CiviCRM more fun to use, reliable and the source code more entertaining to read and improve. This humble editor often struggles to decide what is relevant to include in the above short summary. Feel free to give us a shout on the CiviCRM chat.

Big thanks to Andie Hunt and Alice Frumin from AGH Strategies for putting up together release notes. Planning a big upgrade? Check out the version-specific upgrade tasks.

This release was developed by the following code authors:

AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; BrightMinded Ltd - Bradley Taylor; Christian Wach; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Lisandro; Coop SymbioTIC - Mathieu Lutfy; CSES (Chelmsford Science and Engineering Society) - Adam Wood; Dave D; Digitalcourage - Detlev Sieber; homotechsual - Mikey O'Toole; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; joapta; Joinery - Allen Shaw; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland; Third Sector Design - Kurund Jalmi, William Mortada; Wikimedia Foundation - Eileen McNaughton.

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

Arnaud Broes; Artful Robot - Rich Lott; Asylum Seekers Centre; Australian Greens - John Twyman; Betty Dolfing; Blackfly Solutions - Alan Dixon; Carlos Capote; Guydn; JMA Consulting - Joe Murray; Lemniscus - Noah Miller; netzih; Nicol Wistreich; Richard van Oosterhout; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano.

What's next?

  • CiviCRM 5.46 will recommend PHP 7.4, but PHP 7.2 will still be supported. PHP 8 usage is also slowly increasing (dev/core#2996). We strongly recommend that extension authors update their civix boilerplate code, which will otherwise throw a fatal error. Most popular extensions have already been updated.
  • SearchKit packaging: Coleman has put up a bunch of PRs, most of them merged into 5.45, a few outstanding for 5.46, to facilitate exporting, packaging and distributing Saved Searches (and other types of APIv4 entities). It includes a new APIv4 Export action, which you can use to spit out php code from the API Explorer into a `.mgd.php` file, and distribute it with your extension.
  • Mathieu has been working on getting stand-alone Civi viable again.
  • Tim has been working on better queued jobs handling (sponsored by Greenpeace)
  • Jon has been digging into the ongoing challenges around lifetime memberships
  • Proposal by Justin to tweak activity search handling of status (no defaults)

For more, subscribe to Eileen's dev-digest.

New Extensions

Support CiviCRM

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

CiviCRM is community driven and is sustained through contributions, good vibes, and financial support from its community. Happy New Year everyone! 🎉 It has been a rough start for many of us, but we are still moving forward and will continue to deliver new features for the best non-profit CRM out there.