Released June 3, 2020
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 |
The upcoming release of WordPress 5.5 (ETA August 2020) requires changes to several CiviCRM URLs. CiviCRM 5.26+ adopts a new URL convention. For old URLs, there is transitional support that will work for most web-based visitors. However, this may not be sufficient for external service integrations (e.g. certain payment processors or email relays which send notifications to CiviCRM).
Administrators should promptly assess and update any external services which submit notifications to their CiviCRM-WordPress sites. For more information, see the blog post CiviCRM 5.26 and WordPress: Important notice.
-
Create nl_BE translation (dev/translation#4: 17048, 17027 and 16966)
Adds a "Dutch (Belgium)" (shorthand: nl_BE) translation of CiviCRM which heavily borrows from the existing "Dutch (Netherlands)" (nl_NL) translation with a few changes.
-
APIv4 - Allow field options to be returned in multiple formats (17167)
Gives more flexibility about how options are returned from APIv4 and adds visibility in the API explorer.
-
APIv4 - How do I interact with option values? (dev/core#1705: 17158, 17138 and 17219)
Adds support for pseudoconstants to APIv4.
-
APIv4 - Add MessageTemplate API (17073)
Adds new "MessageTemplate" entity to APIv4.
-
APIv4 - Add support for HAVING clause (17015)
Adds support for using
HAVING
clauses in APIv4. -
APIv4 - Query Improvements (Work Towards dev/report#31: 17113 and 17047)
This adds UI support for new APIv4 features. Specifically, SQL functions and aliases are now available in the API explorer, as is the
HAVING
clause andGROUP BY
clause. -
End of life planning for MySQL server 5.0 - 5.6 (Work Towards dev/core#1681: 17261)
Adds a deprecation notice for systems using MySQL versions before 5.7 and requires 5.5 to install.
-
Allow inline help text title to be overriden (dev/core#1693: 16998)
This change makes it possible to override inline help text titles in a
.hlp.extra
file. -
Update attachment message on mailing form. (dev/core#1696: 17024)
This updates the help text on CiviMail attachments to specify the maximum size of each attachment.
-
Convert CC and BCC fields to use an entity reference. (17064 and 17129)
The CC and BCC fields on all email forms are now entity references to the email ID. This simplifies the code and extends filtering on the field.
-
Introduce "civi.dao.preUpdate" and "civi.dao.preInsert" events (dev/core#1638: 16714)
Makes it possible to use a hook to inspect the data of an Option Value prior to it being created or updated.
-
Add ID to custom group/field admin forms (17055)
The ID numbers are displayed in the tables of custom fields and groups.
-
Improve AngularJS performance with one-time binding for static strings (17050)
This improves performance of AngularJS pages and forms by having the translation function only execute once when the translated string is static.
-
Allow setting metadata to use the
table
option. Update example settingdefault_invoice_page
. (16903)Setting metadata that refers to an entity can now be defined with reference to a database table, specifying the key and label columns, rather than requiring a pseudoconstant function to populate the options.
-
Add / make fit for purpose email.getlist api call (16993)
Improves the
Email.getlist
API so that it is usable for entity reference fields.
-
Add email link in case summary (16959)
Adds an "Email" icon to the Case Summary page that when clicked opens a pop up window to email the client.
-
Add contribution source to recurring contribution report (17187)
Adds "Contribution Source" as a column on the Recurring Contribution Report.
-
Show email receipt status on view recurring contribution (17177)
When viewing a contribution this change exposes the value of
is_email_receipt
. -
Add contributor email address to cancelSubscription form so it is clear who will be notified (16716)
Adds the contributor email to the Cancel Recurring Contribution form so it is clear who will be notified.
-
Add filter and sorting for receipt date in contribution report (17044 and 16994)
Adds a filter and sorting for "receipt date" to Contribution Reports.
-
Capitalise "PAN Truncation" (16973 and 16964)
Capitilizes the "PAN" in "Pan Truncation" to improve user experience. PAN is an acronym for Primary Account Number (credit card number).
-
Mailing Report: hide the HTML preview (16899)
Improves the Mailing report by hiding the HTML preview because it was too short to be helpful to begin with.
-
How best to handle Event Dispatchers during upgrade (Work Towards dev/core#1460: 17127 and 17216)
This updates the
CiviEventDispatcher
with a methodsetDispatchPolicy()
that can be used to dynamically toggle support for specific events/hooks and updates a related test. -
After core upgrade, extensions are not fully active (dev/core#1460 and dev/core#1713: 17126)
After performing a core upgrade, some extension functionality (e.g. routing) was temporariliy unavailable - and required a flush. This fix changes the way in which hooks and caches are managed during the upgrade.
-
Report Dev tab display SQL multiple times (dev/core#1673: 17001)
-
Namespaced classes cannot contain an underscore (dev/core#1684: 17105)
Allows underscores in class names.
-
Search builder returns DB error on Group => Empty filter (dev/core#1685: 16953)
-
Allow override of inherited CMS language when in CiviCRM (17006)
This ensures that the language switcher can be used in CiviCRM even when the default language is set to inherit from the user's CMS session.
-
Longitude not checked out of box (dev/core#1739: 17238)
Enables the Longitude field on Address Editing by default for new installs.
-
Export selected fields doesn't export related contacts if related info is present in mapping (dev/core#1780: 17462)
This fixes a bug where exporting a child and their parent was only resulting in one row being exported when the related contact id was selected.
-
Regression: Fails to create smartgroup or refresh count of group (dev/core#1747: 17438)
The temporary table created for smart groups involving the Date Added custom search was removed too aggressively, resulting in database errors when searching or refreshing the smart group count.
-
Contact restore from trash not working (dev/core#1784: 17418)
-
[regression] Fix error on no MIME type (17265)
Fixes
TypeError: Argument 1 passed to MimeTyper\Repository\AbstractRepository::setFromMap() must be of the type array, null given
error. -
SyntaxConformanceTest::testSqlOperators - Fix failure on MySQL 8 (17262)
-
API explorer fatal joining to contribution from contact (dev/core#1563: 17239)
-
APIv4 - Prevent field alias conflicts. (17109)
-
APIv4 - Fix setting offset with no limit (17063)
-
Fix admin page url for "conference slots" option values (17223)
-
Fix Dedupe entity_tag mangling bug (17125)
Fixes a bug whereby the merge script alters non-contact entity tags, changing the entity they are related to.
-
Show title on status message instead of machine name (17174)
-
Do not create smarty cached templates for processed greetings (16733)
-
Add contribution ID as activity source record when downloading or emailing invoice (17165)
Ensures that the Activity Source ID field is populated correctly for Activities of the type "Emailed Invoice" and "Downloaded Invoice".
-
Correct option_group pseudoconstant and regenerate DAO (17166)
Fixes metadata for option_group pseudoconstant list so that labels are visible in the list.
-
Update "Colmbra" state/province to "Coimbra" (17106 and 17136)
Fixes up some Portugal Province labels.
-
Fix 'selectedChild' parameter for pages with tabs (17066)
Ensures that the tab set using the
selectedChild
URL parameter is respected. -
Export: use X icon
fa-times
for closing things (17076)Ensures that the X icon is always used for closing things.
-
Dupe improve custom data handling (17060 and 17077)
Reduces code complexity & locking queries when merging contacts.
-
Fixed mapping when using custom field for contact sub type (16957)
Ensures import mappings populate contact sub-type custom fields.
-
Set is_deceased to not null in schema and upgrade script (dev/core#1697: 17025)
This removes the possibility of having undead contacts.
-
Allow adding variables to CRM.vars in any region (16888)
-
Fix setting custom field TextArea attributes (16997)
Ensures attributes for existing text area custom fields are not overwritten during update operations.
-
Fix bug on handling 'is_required' (16901)
Ensures that there is a "none" option for select fields that are not required and are created extensions using the generic form.
-
Fix values passed to tokenValues hook (16623)
Ensures that the
hook_civicrm_tokenValues
is passed the proper values. -
Fix slowness in opening the select fields for export screen after an advanced search (dev/core#1725: 17444) Fixes a recent regression following the updating of the select fields export UI which on certain sites slowed down the loading of the select fields screen significantly
-
Invalid and patchy XML encoding causes Case crash if status is not valid XML (dev/core#1719: 17100)
Fixes a bug where CiviCase would fail to fully create a CaseType if a Case Status' name was invalid in an XML context.
-
Case.get API returning Case Clients As Part of Related Contacts (dev/core#1659: 16837)
-
Convert fatals to statusBounces in case forms (17212)
-
Add missing translations to case activity revisions (16987)
-
Case Details field is empty (16995)
Ensures that the details field value is saved when creating a new case from the core form.
-
Contribution Detail Report gives incorrect results when
force=1
(dev/report#20: 17234) -
Financial ACL Report check always fails (dev/core#1700: 17046)
Ensures that if Finacial Type ACL's are enabled and the extension
biz.jmaconsulting.financialaclreport
is installed the warning that you need to install the extension is not displayed. -
On Behalf Of fails to populate in Email Receipt (dev/core#57: 17026)
Fixes a bug where the On Behalf Of section was not being included in email receipts.
-
Fixes a regression when cancelling a recurring with no processor_id (17292)
-
Fix multiselect/checkbox custom field defaults on contribution online form (16991)
- Fix multiselect/checkbox custom field defaults on registration profile (16981)
- Mailing Error when civicrm_mailing_group has duplicate entries of recipient groups(dev/mail#62: 17130)
-
Membership batch entry: Fix join date population (dev/core#1718: 17099)
Ensures that when using the membership batch entry tool the "join date" is populated with existing data.
-
Fix bug where tax_amount is miscalculated on membership renewals (16772)
- UF Settings page doesn't show CiviCRM database details for Drupal 8 Views (dev/core#1742: 17232)
-
Support Clean URLs when using Polylang (191, 189 and 176)
Ensures clean URLs work in WordPress with Polylang.
-
Fix WordPress support for Get UF Locale (dev/core#1635: 16700)
Ensures WordPress front end pages follow the CMS language set in CiviCRM instead of using the default CiviCRM language.
-
Styling issues after upgrade to WordPress 5.3 (dev/wordpress#46: 16882)
Ensures Select fields look like Select2 fields for WordPress users.
-
CiviCRM front end pages broken on WP Latest (master) (dev/wordpress#49: 17352, 17424, 199, and 194)
canonical_redirect()
will strip "page=CiviCRM" from front end pages. These changes ensures that CiviCRM plays nicely with this WordPress change. -
Public mailing URL links are broken after merge of REST API wrapper code (dev/wordpress#52: 195)
-
CiviMail doesn't send to full recipient list with merge of REST API wrapper code (dev/wordpress#53: 196)
-
CONTRIBUTORS.txt - Explain deprecation/archival (17074)
Contributors are now recognized in release notes. To ensure a full history, the older
CONTRIBUTORS.txt
has been preserved, but it will not be updated for future releases. -
Use isSerialized function rather guessing from html_type (16979)
-
Mitigate flaky test failure about "CRM_Utils_Check_Component_Env->checkVersion()" (17038)
-
Simplify groupContactCache - remove redundant query (17011)
-
Duplicate EmailCommon::buildQuickForm onto the trait (17052)
-
Make transaction param optional in completeOrder (17053)
-
Don't pass empty ids parameter, fix fatal (17086)
-
Less svn (17159)
-
OptionValue - Use DB defaults instead of setting them in BAO::add (17170)
-
Move batch-form support code back to the form (17176)
-
Start using apiv4 in test setup (17020)
-
Further removal of long-deprecated skipCleanMoney (17175)
-
Add workflow_name column to civicrm_msg_template, deprecate workflow_id (17227)
-
Misplaced text in the Additional Details section on New Contribution (dev/user-interface#19: 17135)
-
Cleanup and throw exceptions in OpenCase form (17184)
-
Cleanup core pseudoconstant buildOptions (17122)
-
Gitlab issue template - Ask for link to stackexchange or chat conversations (17186)
-
Remove deprecated calls to optionValueQuery and no-longer-need param (17182)
-
Refactor api3 Payment.Get API to support options + most fields in civicrm_financial_trxn (17071)
-
Remove unused parameter, immediately overwritten parameter (17131)
-
Remove unused parameter from function (17098)
-
Remove outputHeader as a param for writeCSVFile as it is always true (17051)
-
Remove var that is defined on parent (17102)
-
Convert test to use APIV4 in setup for cleaner code (17153)
-
[Test] Extend custom field test trait & some related tests (17037)
-
E2E_Core_HookTest - Fix test failure due to leak (17251)
-
[NFC][Test] cleanup on customDataTrait for tests (17022)
-
[NFC][Test] Minor cleanup in test class (17002)
-
[NFC][Test] Preliminary cleanup (17213)
-
[NFC] [Test] minor code cleanup (17152)
-
[NFC] Minor code cleanups (17019)
-
[NFC] Superficial code clean up (17155)
-
(NFC) Remove
$Id$ artifacts from old SCM (17211) -
[NFC] A bit less svn in our code (17157)
-
[NFC] Fix use of pattern-hated-by-Coleman (17049)
-
[NFC] Cleanup CRM_Report_Form (17141)
-
(NFC) Comment clarification in test class (17133)
-
[NFC] Improve cleanup on membershipStatus to cope with undeleted memberships (16756)
-
[NFC] Remove calculation of unused parameter (17093)
-
(NFC) Gitlab Template - Request more detail about upgrade problems (17101)
-
[NFC] Remove a handful of legacy svn notations (17070)
-
[NFC/Test] - Fix typo in
if
statement that seems intended as a workaround (17258) -
[NFC] Add Comment to avoid someone removing field only used in CiviCase extension (17000)
-
[NFC] Test cleanup (17224)
-
[NFC] Code cleanup around comments, strict comparison, formatting (17058)
-
[NFC] Remove all the places where tests unnecessarily pass to Membership::create (17088)
-
[REF] SavedSearch - additional cleanup & bugfixes (17090)
-
(REF) dev/core#1744 - Cleanup event naming (17240)
-
[REF] [Test] IDE cleanup on ReportTemplateTest (17197)
-
[REF] Simplify non-creditcard participant.create (16584)
-
[REF] Fix install on Drupal 8 using new setup code (17334)
-
[REF] Minor var simplification (17121)
-
[REF] Consistently lookup dispatcher via
Civi::dispatcher()
(17154) -
(REF,NFC) TokenProcessor - Minor DX improvements (17231)
-
[REF] Permit domain tokens being used within Thank You letters (17230)
-
(REF) CRM_Utils_Hook - Remove deprecated formulations of
invoke(int,…)
(17124) -
[REF] Switch CRM_Utils_Array::value to empty in conditionals (17091)
-
[REF] Minor code cleanup (17225)
-
[REF] Minor code cleanup. (17222)
-
[REF] Reduce boilerplate code in BAO add/create functions (17172)
-
[REF] Minor cleanup around action schedule code. (17151)
-
[REF] get rid of variable variable structure (17089)
-
[REF] Remove duplicate checks for an array key existing (17069)
-
[REF] Import - extract duplicate code to function (17080)
-
[REF] Cleanup a few instances where we use old call to get loggedInUserID (17196)
-
[REF] Simplify determination of enabled components (17195)
-
[REF] stop overriding postProcess function in activity report detail (17194)
-
[REF] Reconcile CRM_Utils_System::getUrlPath and CRM_Utils_System::currentPath (17068)
-
[REF] Stop passing ids to membership::create from createRelatedMemberships (17087)
-
[REF] move all functions associated with the submit function onto the Trait (17057)
-
[REF] APIv4 Explorer - improve performance (17062)
-
[REF] Clarify variable & tighten use. (17016)
-
[REF] Use bool instead of boolean (17013)
-
[REF] Formatting and use bool instead of boolean (17012)
-
[REF] Move generic preProcess function to the trait (16954)
-
[REF] Extract transferParticipantRegistration function (16976)
-
REF Remove redundant param from completeOrder (17034)
-
[REF] Update Contact email form to use the trait for EmailCommon functions (17031)
-
[REF] Move generic instances of listTokens to trait (17029)
-
[REF] CustomField code cleanup to use isSerialized method (17009)
-
[REF] CustomField code cleanup (16968)
-
[REF] Cleanup customField prepareCreate function (16996)
-
[REF] Update custom data handing in contact import (16986)
-
[REF] CustomGroup - cleanup handling of serialized fields in old function (16970)
-
[REF] APIv4 - Enforce contact field permissions via metadata (17168)
-
[REF] Code readability changes on activity tokens. (17161)
-
[REF] Minor extraction (17160)
-
[REF] CustomField - Remove pointless caching and move form variable to form class (16975)
-
[REF] Call makeCSVTable function directly from writeRows (16980)
-
[REF] CRM_Utils_Array::value -> empty (288)
-
[REF] Update XML file to match updated title in DAO File (16969)
-
[REF] Cleanup custom field handling... twice (16989)
-
[REF] Cleanup CustomField BAO to use its own isSerialized function (16990)
-
Cleanup custom field handling in ufGroup BAO (16984)
-
Code cleanup - replace overcomplicated test for null with isset (16965)
-
Update 5.24.2.md - Fix version number in title. (17043)
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; Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; All In Appli.com - Guillaume Sorel; CompuCorp - Ivan; JMA Consulting - Seamus Lee; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Ray Wright; Third Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments:
Andrew Cormick-Dockery; Andy Burns; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma; Fuzion - Peter Davis; GMCVO Databases - Jade Gaunt; JMA Consulting - Monish Deb; MJCO - Mikey O'Toole; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Team Expansion - Greg Harris
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
.