# CiviCRM 5.24.0
Released April 1, 2020
- **[Synopsis](#synopsis)**
- **[Features](#features)**
- **[Bugs resolved](#bugs)**
- **[Miscellany](#misc)**
- **[Credits](#credits)**
- **[Feedback](#feedback)**
## Synopsis
| *Does this version...?* | |
|:--------------------------------------------------------------- |:-------:|
| Fix security vulnerabilities? | |
| Change the database schema? | |
| Alter the API? | |
| Require attention to configuration options? | |
| Fix problems installing or upgrading to a previous version? | |
| Introduce features? | |
| Fix bugs? | |
## Features
### Core CiviCRM
- **CRM-607 Missing Summary ([16627](https://github.com/civicrm/civicrm-core/pull/16627))**
- **crm- Missing Summary ([16618](https://github.com/civicrm/civicrm-core/pull/16618))**
- **CRM-984 Missing Summary ([549](https://github.com/civicrm/civicrm-drupal/pull/549))**
## Bugs resolved
### Core CiviCRM
- **dev/core#1636 - In system status check avoid E_NOTICEs for smart groups that don't have form_values[0] ([16707](https://github.com/civicrm/civicrm-core/pull/16707))**
- **[REF] Change function signature to support moving this off the form layer ([16677](https://github.com/civicrm/civicrm-core/pull/16677))**
- **APIv4-based smart groups ([16666](https://github.com/civicrm/civicrm-core/pull/16666))**
- **dev/core#1605 State/province not copied on shared address ([16649](https://github.com/civicrm/civicrm-core/pull/16649))**
- **5.23 ([16684](https://github.com/civicrm/civicrm-core/pull/16684))**
- **Fix parameter format for upgrade call to install/enable sequentialcreditnotes ([16686](https://github.com/civicrm/civicrm-core/pull/16686))**
- **[NFC] Add missing letter "h" in upgrade script for task description ([16687](https://github.com/civicrm/civicrm-core/pull/16687))**
- **Fix SettingTrait YesNo translation ([16685](https://github.com/civicrm/civicrm-core/pull/16685))**
- **Style & layout clean up ([16680](https://github.com/civicrm/civicrm-core/pull/16680))**
- **Add setEntityId() to entityForm ([16020](https://github.com/civicrm/civicrm-core/pull/16020))**
- **Remove deprecated function CRM_Contact_BAO_GroupContactCache::remove ([16682](https://github.com/civicrm/civicrm-core/pull/16682))**
- **Fix display of administrator permissions in WordPress Multisite ([16675](https://github.com/civicrm/civicrm-core/pull/16675))**
- **Fix synchronisation of Users to Contacts in WordPress Multisite ([16676](https://github.com/civicrm/civicrm-core/pull/16676))**
- **added sudo constant for sms api type ([16679](https://github.com/civicrm/civicrm-core/pull/16679))**
- **Activity Details report: fix filtering by is null/is not null ([16672](https://github.com/civicrm/civicrm-core/pull/16672))**
- **[REF] Only call getACLs when contact_id is present, remove handling ([16667](https://github.com/civicrm/civicrm-core/pull/16667))**
- **Remove helper function now that contribution settings is not weirdly stored ([16566](https://github.com/civicrm/civicrm-core/pull/16566))**
- **core#1623: My Case dashlet doesn't sort by name but contact_id instead ([16647](https://github.com/civicrm/civicrm-core/pull/16647))**
- **dev/core#1366 - CRM_Case_XMLProcessor_Report::run() is never called anymore ([16669](https://github.com/civicrm/civicrm-core/pull/16669))**
- **Increase php min recommended version ([16668](https://github.com/civicrm/civicrm-core/pull/16668))**
- **Add pseudoconstant for priceset ([16665](https://github.com/civicrm/civicrm-core/pull/16665))**
- **Extensions - Change new tag "hidden" to "mgmt:hidden" ([16664](https://github.com/civicrm/civicrm-core/pull/16664))**
- **TokenProcessor - fix greetings tokens ([16624](https://github.com/civicrm/civicrm-core/pull/16624))**
- **[REF] Deprecate _html2pdf_tcpdf function in favour of _html2pdf_dompdf ([16662](https://github.com/civicrm/civicrm-core/pull/16662))**
- **[REF] Removed unused function ([16663](https://github.com/civicrm/civicrm-core/pull/16663))**
- **[Feature] Add in new hook alterUFFields to allow extensions to modify… ([16655](https://github.com/civicrm/civicrm-core/pull/16655))**
- **dev/core#1366 - Case Audit.tpl file no longer used ([16660](https://github.com/civicrm/civicrm-core/pull/16660))**
- **dev/financial#109 Fix country/province assignation in the contribution invoice ([15964](https://github.com/civicrm/civicrm-core/pull/15964))**
- **Add pseudoconstant for priceset ([16648](https://github.com/civicrm/civicrm-core/pull/16648))**
- **Fix unreleaesd typo error ([16661](https://github.com/civicrm/civicrm-core/pull/16661))**
- **Fix typo (unrelease regression) ([16658](https://github.com/civicrm/civicrm-core/pull/16658))**
- **Fix mistake in comment ([16657](https://github.com/civicrm/civicrm-core/pull/16657))**
- **Update contributor-key.yml ([16652](https://github.com/civicrm/civicrm-core/pull/16652))**
- **[REF] Add in pre and post hooks to UFField Entity ([16653](https://github.com/civicrm/civicrm-core/pull/16653))**
- **[NFC] Use insert ignore for inserts into civicrm_extension to stop warnings on duplicate entry for sequential credit notes extension ([16644](https://github.com/civicrm/civicrm-core/pull/16644))**
- **News dashboard - Code cleanup to update js & css ([16632](https://github.com/civicrm/civicrm-core/pull/16632))**
- **APIv4 - Correctly return null values from DAO save actions ([16645](https://github.com/civicrm/civicrm-core/pull/16645))**
- **[REF] Extract self-service eligibility code into its own function ([16615](https://github.com/civicrm/civicrm-core/pull/16615))**
- **Contact Type Values with Cap in order to be well translated with ts() ([16638](https://github.com/civicrm/civicrm-core/pull/16638))**
- **dev/core#1619 - Fatal error when grouping Activity Summary report by activity date ([16643](https://github.com/civicrm/civicrm-core/pull/16643))**
- **[REF] simple function extraction ([16642](https://github.com/civicrm/civicrm-core/pull/16642))**
- **[REF] Refactor adding payment processor radio section onto register a… ([16595](https://github.com/civicrm/civicrm-core/pull/16595))**
- **Remove unused columns from civicrm_saved_search ([16637](https://github.com/civicrm/civicrm-core/pull/16637))**
- **[NFC] dev/core#1621 Extend unit tests to ensure that entity financial account is co… ([16639](https://github.com/civicrm/civicrm-core/pull/16639))**
- **core#1158: Unit Test to ensure primary addresses are printed on mailing label if searchPrimaryDetailsOnly is disabled ([16640](https://github.com/civicrm/civicrm-core/pull/16640))**
- **Api4 - Display sql errors in explorer ([16641](https://github.com/civicrm/civicrm-core/pull/16641))**
- **dev/core#1622 Fix unsubscribe when loading the unsubscribe form on a … ([16634](https://github.com/civicrm/civicrm-core/pull/16634))**
- **civicrm.settings.php.template - Simplify examples of `$civicrm_setting` ([16636](https://github.com/civicrm/civicrm-core/pull/16636))**
- **Menubar - Add "find menu item" search feature ([16597](https://github.com/civicrm/civicrm-core/pull/16597))**
- **Removed Invalid Paramter from function doc ([16631](https://github.com/civicrm/civicrm-core/pull/16631))**
- **Add ts() for a sentence 'Add to case as role' ([16630](https://github.com/civicrm/civicrm-core/pull/16630))**
- **CommunicationPreferences 'loclize' -> 'localize' ([16633](https://github.com/civicrm/civicrm-core/pull/16633))**
- **dev/drupal#4 - Add Civi\Setup::getPendingAction() helper ([16628](https://github.com/civicrm/civicrm-core/pull/16628))**
- **dev/core#1596 fix (unreleased) regression on contribution summary ([16560](https://github.com/civicrm/civicrm-core/pull/16560))**
- **dev/core#1584 Add function to specify whether payment processor requires email address ([16503](https://github.com/civicrm/civicrm-core/pull/16503))**
- **Convert civicrm_note.modified_date to timestamp ([16338](https://github.com/civicrm/civicrm-core/pull/16338))**
- **Enable the "sequentialcreditnotes" extension on new installations ([16598](https://github.com/civicrm/civicrm-core/pull/16598))**
- **dev/core#1386 Add in unit test for #15834 ([16622](https://github.com/civicrm/civicrm-core/pull/16622))**
- **dev/translation#37 - Remove hardcoded translations from 13 years ago that no longer do anything ([16619](https://github.com/civicrm/civicrm-core/pull/16619))**
- **Move sequentialcreditnotes under `ext/` folder ([16616](https://github.com/civicrm/civicrm-core/pull/16616))**
- **[NFC] Convert Custom Field BAO file to use short array syntax ([16613](https://github.com/civicrm/civicrm-core/pull/16613))**
- **dev/core#1386 Allow advanced search for contributions without a soft credit related ([15834](https://github.com/civicrm/civicrm-core/pull/15834))**
- **5.23 ([16608](https://github.com/civicrm/civicrm-core/pull/16608))**
- **[REF] Extract function to getTransactionInfo ([16545](https://github.com/civicrm/civicrm-core/pull/16545))**
- **Fix two more php-finding regexes ([16606](https://github.com/civicrm/civicrm-core/pull/16606))**
- **[REF] Update civicrm_generated following merge of #16362 ([16605](https://github.com/civicrm/civicrm-core/pull/16605))**
- **5.23 ([16604](https://github.com/civicrm/civicrm-core/pull/16604))**
- **Add description to params for api3 Payment.get ([16602](https://github.com/civicrm/civicrm-core/pull/16602))**
- **Remove hardcoded settings from form and use SettingForm.tpl for Case settings ([16600](https://github.com/civicrm/civicrm-core/pull/16600))**
- **Do not enable core payment processor types that we believe likely don't work on new installs ([16362](https://github.com/civicrm/civicrm-core/pull/16362))**
- **Move determination of year & month to formatCreditCardDetails ([16562](https://github.com/civicrm/civicrm-core/pull/16562))**
- **5.23 ([16596](https://github.com/civicrm/civicrm-core/pull/16596))**
- **Pass template_type through to alterMailing hook ([16529](https://github.com/civicrm/civicrm-core/pull/16529))**
- **[NFC] dev/core#1466 Update Documentation URLS to be the correct links… ([16085](https://github.com/civicrm/civicrm-core/pull/16085))**
- **dev/financial#105 Add CSS class onto the radio button payment processor options ([15940](https://github.com/civicrm/civicrm-core/pull/15940))**
- **Secondarily order campaign dashboard by id ([15316](https://github.com/civicrm/civicrm-core/pull/15316))**
- **Related / Inherited Memberships: Custom fields not filled with data ([15884](https://github.com/civicrm/civicrm-core/pull/15884))**
- **dev/core#1547 Add DT_RowClass CSS classes to nested group markup ([16359](https://github.com/civicrm/civicrm-core/pull/16359))**
- **dev/core#1436 Do not CC or BCC Contribution invoice ([16005](https://github.com/civicrm/civicrm-core/pull/16005))**
- **5.23 ([16580](https://github.com/civicrm/civicrm-core/pull/16580))**
- **Cleanup copyValues DAO function ([16589](https://github.com/civicrm/civicrm-core/pull/16589))**
- **Add deprecation notice ([16585](https://github.com/civicrm/civicrm-core/pull/16585))**
- **[NFC] Test cleanup. ([16581](https://github.com/civicrm/civicrm-core/pull/16581))**
- **Make savedSearch bao sane ([16575](https://github.com/civicrm/civicrm-core/pull/16575))**
- **(NFC) Remove `$Id$` from header ([16582](https://github.com/civicrm/civicrm-core/pull/16582))**
- **dev/financial#84 Move sequential credit notes from 'deeply embeded functions to separate structure ([16531](https://github.com/civicrm/civicrm-core/pull/16531))**
- **Remove old defines for flexmailer that haven't been required since CiviCRM 5.x ([16528](https://github.com/civicrm/civicrm-core/pull/16528))**
- **[NFC] Minor code cleanup ([16563](https://github.com/civicrm/civicrm-core/pull/16563))**
- **5.23 to master ([16577](https://github.com/civicrm/civicrm-core/pull/16577))**
- **dev/financial#102 Extend test to check status ([16564](https://github.com/civicrm/civicrm-core/pull/16564))**
- **(NFC) Fix typo - no hyphen in 'override' ([16571](https://github.com/civicrm/civicrm-core/pull/16571))**
- **dev/core#1450 Try reducing the size of the temporary table so it only… ([16095](https://github.com/civicrm/civicrm-core/pull/16095))**
- **5.23 ([16574](https://github.com/civicrm/civicrm-core/pull/16574))**
- **5.23 ([16572](https://github.com/civicrm/civicrm-core/pull/16572))**
- **Count refunds when calculating amount due for an invoice ([16506](https://github.com/civicrm/civicrm-core/pull/16506))**
- **dev/core#1438 Enable matching on contact phone when importing contributions ([16009](https://github.com/civicrm/civicrm-core/pull/16009))**
- **dev/core#1451 Incorrect dropdown action choices on case type listing screen ([16035](https://github.com/civicrm/civicrm-core/pull/16035))**
- **dev/financial#118 Move source & receive date to the top on contribution view page ([16565](https://github.com/civicrm/civicrm-core/pull/16565))**
- **Resolve notices if first donation amount and date columns were disabled ([16491](https://github.com/civicrm/civicrm-core/pull/16491))**
- **core#1568: Show recipientListing to non-admins ([16455](https://github.com/civicrm/civicrm-core/pull/16455))**
- **dev/core#1158 mailing labels: explicitly set primary flag ([14928](https://github.com/civicrm/civicrm-core/pull/14928))**
- **dev/financial#104 Use rounding and integers to compare monetary values… ([15856](https://github.com/civicrm/civicrm-core/pull/15856))**
- **[NFC] Preliminary cleanup ([16557](https://github.com/civicrm/civicrm-core/pull/16557))**
- **Upgrade Net_SMTP Package and remove now unneded patches and mov… ([16498](https://github.com/civicrm/civicrm-core/pull/16498))**
- **[REF] Fix static call to non-static function. ([16552](https://github.com/civicrm/civicrm-core/pull/16552))**
- **info.xml - Allow extensions to define a list of tags ([16551](https://github.com/civicrm/civicrm-core/pull/16551))**
- **dev/core#1593 and dev/core#1536 - Remove unused code causing E_WARNING ([16554](https://github.com/civicrm/civicrm-core/pull/16554))**
- **Allow any casting done in Type::validate to bubble up to Request::retrieveValue ([16525](https://github.com/civicrm/civicrm-core/pull/16525))**
- **REF Refactor ActivityTokens to use a trait that can be shared with other entities ([16468](https://github.com/civicrm/civicrm-core/pull/16468))**
- **Fix a PHP notice for users with limited permissions when loading cont… ([16515](https://github.com/civicrm/civicrm-core/pull/16515))**
- **Do not fatally fail on angular pages if an extension is missing ([16533](https://github.com/civicrm/civicrm-core/pull/16533))**
- **5.23 ([16548](https://github.com/civicrm/civicrm-core/pull/16548))**
- **dev/core#1594 [TEST] Fix running of unit tests within an extension ([16544](https://github.com/civicrm/civicrm-core/pull/16544))**
- **dev/core#1589 avoid error when merging record with null create date ([16543](https://github.com/civicrm/civicrm-core/pull/16543))**
- **dev/core#1366 Bypass nonfunctioning case audit interactive screen and go straight to report ([15998](https://github.com/civicrm/civicrm-core/pull/15998))**
- **Remove reference to mysql 5.0 & 5.1 ([16539](https://github.com/civicrm/civicrm-core/pull/16539))**
- **[REF] Remove never used property ([16540](https://github.com/civicrm/civicrm-core/pull/16540))**
- **Change "Added By" to "Added by" ([16527](https://github.com/civicrm/civicrm-core/pull/16527))**
- **Check email when creating a user in drupal 8 ([15390](https://github.com/civicrm/civicrm-core/pull/15390))**
- **APIv4 - merge ActionUtil with Request::create ([16516](https://github.com/civicrm/civicrm-core/pull/16516))**
- **add column for report ([16523](https://github.com/civicrm/civicrm-core/pull/16523))**
- **5.23 ([16537](https://github.com/civicrm/civicrm-core/pull/16537))**
- **Speed boost for civicrm/ajax/checkemail ([15824](https://github.com/civicrm/civicrm-core/pull/15824))**
- **fix contribution summary report's statistics when grouping and having ([16467](https://github.com/civicrm/civicrm-core/pull/16467))**
- **Settings Fix setting readonly attribute ([16451](https://github.com/civicrm/civicrm-core/pull/16451))**
- **Fix issues with retrieving supportsTestMode/supportsLiveMode for payment processors ([15330](https://github.com/civicrm/civicrm-core/pull/15330))**
- **Fix calls to Request::retrieve ([16526](https://github.com/civicrm/civicrm-core/pull/16526))**
- **5.23 ([16530](https://github.com/civicrm/civicrm-core/pull/16530))**
- **[TEST] dev/core#1572 Unit test environment not working on windows after recent CodeGen updates ([16477](https://github.com/civicrm/civicrm-core/pull/16477))**
- **dev/core#1562 - composer.json - Fix E2E tests run on D8 build (via "patches") #16427 ([16522](https://github.com/civicrm/civicrm-core/pull/16522))**
- **Relationship report - add sort order for end date ([16512](https://github.com/civicrm/civicrm-core/pull/16512))**
- **5.23 ([16519](https://github.com/civicrm/civicrm-core/pull/16519))**
- **5.23.0 release notes: initial run ([16517](https://github.com/civicrm/civicrm-core/pull/16517))**
- **Move settings definition on contribution settings form to metadata. ([16513](https://github.com/civicrm/civicrm-core/pull/16513))**
- **API Kernel - cleanup deprecated fn & unused param ([16511](https://github.com/civicrm/civicrm-core/pull/16511))**
- **dev/mem#17 - Deleting memberships does not delete its related line item ([15859](https://github.com/civicrm/civicrm-core/pull/15859))**
- **crmSelect2 - fix whitespace in tooltip ([16510](https://github.com/civicrm/civicrm-core/pull/16510))**
- **Common.js - remove duplicate function ([16508](https://github.com/civicrm/civicrm-core/pull/16508))**
- **dev/core#1587 Select2 - Use description as title for each option ([16507](https://github.com/civicrm/civicrm-core/pull/16507))**
- **dev/financial#117 - Add link metadata for payment edit link ([16504](https://github.com/civicrm/civicrm-core/pull/16504))**
- **Added conditional check so that it can be altered by hook ([16499](https://github.com/civicrm/civicrm-core/pull/16499))**
- **Add deprecation notices on PartialAmount params ([16505](https://github.com/civicrm/civicrm-core/pull/16505))**
- **(REF) Move CIVICRM_MAIL_LOG logic from patch-files to wrapper-class ([16497](https://github.com/civicrm/civicrm-core/pull/16497))**
- **Add CiviCase option for showing case activities in normal views ([16360](https://github.com/civicrm/civicrm-core/pull/16360))**
- **dev/cloud-native#21 Don't cache the full path of extensions so they don't break with dynamic paths ([15410](https://github.com/civicrm/civicrm-core/pull/15410))**
- **remove unnecessary file ([16502](https://github.com/civicrm/civicrm-core/pull/16502))**
- **dev/core#1019 Calculate.tpl: fix the Total Amount currency formatting. ([16487](https://github.com/civicrm/civicrm-core/pull/16487))**
- **Fix backoffice participant partial payments to be stdised & not miscalculate net_amount ([16442](https://github.com/civicrm/civicrm-core/pull/16442))**
- **Remove fatal from form ([16500](https://github.com/civicrm/civicrm-core/pull/16500))**
- **dev/core#1577 : Custom Group Types not filterable ([16475](https://github.com/civicrm/civicrm-core/pull/16475))**
- **Throwing API_Exception is file fails to copy when creating attachment… ([16465](https://github.com/civicrm/civicrm-core/pull/16465))**
- **Enable jQuery validate on register/contribution forms ([16494](https://github.com/civicrm/civicrm-core/pull/16494))**
- **Remove unused code ([16493](https://github.com/civicrm/civicrm-core/pull/16493))**
- **fix headers ([16492](https://github.com/civicrm/civicrm-core/pull/16492))**
- **[REF] Remove patch from dompdf cleanup script that is no longer needed ([16490](https://github.com/civicrm/civicrm-core/pull/16490))**
- **5.23 ([16489](https://github.com/civicrm/civicrm-core/pull/16489))**
- **Improve activity query performance in Constituent Detail Report ([13078](https://github.com/civicrm/civicrm-core/pull/13078))**
- **Make php 7.3 the recommended php version ([16459](https://github.com/civicrm/civicrm-core/pull/16459))**
- **Fix year typo. ([16486](https://github.com/civicrm/civicrm-core/pull/16486))**
- **5.23 ([183](https://github.com/civicrm/civicrm-wordpress/pull/183))**
- **[REF] Remove FPDI library from packages as it is deployed by composer ([287](https://github.com/civicrm/civicrm-packages/pull/287))**
- **[REF] Use relative path for finding the advmultiseletct javascript ([286](https://github.com/civicrm/civicrm-packages/pull/286))**
## Miscellany
## Credits
This release was developed by the following code authors:
a-n The Artists Information Company - William Mortada; acrollet; AGH Strategies - Andrew Hunt; Agileware - Agileware Team, Francis Whittle; albionbrown; Alexy Mikhailichenko; breheret; Calibrate - Wouter Hechtermans; Chris Burgess; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Luciano Spiegel; Jade Gaunt; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; kartik1000; Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston, Maggie Epps
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
a-n The Artists Information Company - William Mortada; acrollet; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman; albionbrown; Andrew Cormick-Dockery; Artful Robot - Rich Lott; BettyDolfing; British Humanist Association - Andrew West; Calibrate - Wouter Hechtermans; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; irritatie; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; Joinery - Allen Shaw; Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; simonjohnparker; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton, Maggie Epps
## 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`.