# CiviCRM 5.29.0 Released September 2, 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 ### CiviMember - **Option to update expired memberships as part of the job.process_membership ([dev/membership#18](https://lab.civicrm.org/dev/membership/-/issues/18): [16298](https://github.com/civicrm/civicrm-core/pull/16298))** Improves the Job.process_membership API/Scheduled job by adding some new parameters, specifically: - exclude_test_memberships: Exclude test memberships from calculations (default = TRUE) - only_active_membership_types: Exclude disabled membership types from calculations (default = TRUE) - exclude_membership_status_ids: Default: Exclude Pending, Cancelled, Expired. Deceased will always be excluded ### Backdrop Integration - **Support for installing CiviCRM-Backdrop via "setup" UI ([17749](https://github.com/civicrm/civicrm-core/pull/17749) and [121](https://github.com/civicrm/civicrm-backdrop/pull/121))** Improves the installation and Setup process for Backdrop integration's so that one enables the CiviCRM module like any other module and then is directed to the setup screen to complete installation as opposed to having to navigate to a specific link. ### Core CiviCRM - **Icon in status message after saving a civireport is misleading ([dev/report#43](https://lab.civicrm.org/dev/report/-/issues/43): [17863](https://github.com/civicrm/civicrm-core/pull/17863))** Improves icons in Status Messages for reports. - **Remove ORDER BY and GROUP BY from alphabetQuery to improve performance ([16877](https://github.com/civicrm/civicrm-core/pull/16877))** ## Bugs resolved ### Wordpress Integration - **[civicrm.files] token doesn't work in some cases since 5.27 ([dev/wordpress#66](https://lab.civicrm.org/dev/wordpress/-/issues/66): [18068](https://github.com/civicrm/civicrm-core/pull/18068))** Ensures the [civicrm.files] token plays nice for sites with older wordpress file directory set ups. ### Drupal Integration - **Drupal 8 - Using Create User Record action on a contact with no email is too quiet. Also CRM_Core_Session::setStatus is sometimes ignored. ([dev/drupal#127](https://lab.civicrm.org/dev/drupal/-/issues/127): [17914](https://github.com/civicrm/civicrm-core/pull/17914) and [17915](https://github.com/civicrm/civicrm-core/pull/17915))** Require email when adding a user and ensure that errors show. ### CiviCase - **Fix case activity field set to allow long details to be exported ([17970](https://github.com/civicrm/civicrm-core/pull/17970))** ### CiviContribute - **Contribution Details Statistics are multiplied under many circumstances ([dev/report#21](https://lab.civicrm.org/dev/report/-/issues/21): [15435](https://github.com/civicrm/civicrm-core/pull/15435) and [17809](https://github.com/civicrm/civicrm-core/pull/17809))** - **Contribution Summary Report: The "general total" row does not take the currency filtered ([dev/report#27](https://lab.civicrm.org/dev/report/-/issues/27): [16736](https://github.com/civicrm/civicrm-core/pull/16736))** When the contribution summary report is used by filtering for a currency other than the site's default currency, the "grand total" row shows the sign of the default currency instead of the filtered currency. - **Define the logic that sets (or not) contribution receive_date in relation to payments ([dev/financial#139](https://lab.civicrm.org/dev/financial/-/issues/139): [17777](https://github.com/civicrm/civicrm-core/pull/17777))** Ensures that the contribution receive_date does not change when payments come in. - **Fix PaypalIPN single function to not receive-by-reference ([18044](https://github.com/civicrm/civicrm-core/pull/18044))** ### CiviEvent - **Can't meaningfully disable self-service transfer/cancellation once enabled ([dev/event#35](https://lab.civicrm.org/dev/event/-/issues/35): [18040](https://github.com/civicrm/civicrm-core/pull/18040))** - **Event registration form has inconsistent labeling ([dev/event#38](https://lab.civicrm.org/dev/event/-/issues/38): [17695](https://github.com/civicrm/civicrm-core/pull/17695))** - **Event cart hidden/enabled in buildkit 5.29 RC ([dev/event#40](https://lab.civicrm.org/dev/event/-/issues/40): [18101](https://github.com/civicrm/civicrm-core/pull/18101))** Ensures that the Event Cart functionality defaults to off. ### CiviMail - **Test mailings create new contacts even when "Add Contacts" permission is not present. ([dev/mail#70](https://lab.civicrm.org/dev/mail/-/issues/70): [17867](https://github.com/civicrm/civicrm-core/pull/17867))** Ensures contacts are not created when a user without permissions to create contacts sends a test email. ### Core CiviCRM - **Installing drupal 8 using civicrm-setup leads to "incorrect resource url" system status check errors ([dev/drupal#114](https://lab.civicrm.org/dev/drupal/-/issues/114) and [dev/core#1647](https://lab.civicrm.org/dev/core/-/issues/1647): [17754](https://github.com/civicrm/civicrm-core/pull/17754))** Removes the resource url status check. - **dev/core#183 Use TempTable builder to generate table for import ([17827](https://github.com/civicrm/civicrm-core/pull/17827))** - **[dev/core#750] Don't check server variables if we're running in CLI ([17636](https://github.com/civicrm/civicrm-core/pull/17636))** - **dev/core#785 Differentiate smart group from regular group using icon in select2 field ([17927](https://github.com/civicrm/civicrm-core/pull/17927))** - **dev/core#785 Differentiate smart group from regular group using icon in select2 field ([13958](https://github.com/civicrm/civicrm-core/pull/13958))** - **dev/core#1090 Update extendedSerializeData to use the Backbone namesp… ([17855](https://github.com/civicrm/civicrm-core/pull/17855))** - **dev/core#1113 - Decimal Separator - Invalid value "total_amount" (NaN,N) creating or editing a membership ([16429](https://github.com/civicrm/civicrm-core/pull/16429))** - **dev/core#1137 - Allow ssl connection to mysql by specifying in DSN ([17706](https://github.com/civicrm/civicrm-core/pull/17706))** - **dev/core#1280 Fix ContributionPage soft_credit translation ([16838](https://github.com/civicrm/civicrm-core/pull/16838))** - **dev/core#1578 - Fix APIv4 chaining with custom fields ([17866](https://github.com/civicrm/civicrm-core/pull/17866))** - **dev/core#1665 Remove the having clause as well as having needs a group by ([18052](https://github.com/civicrm/civicrm-core/pull/18052))** - **dev/core#1670 copy custom fields from master to shared address ([17580](https://github.com/civicrm/civicrm-core/pull/17580))** - **dev/core#1679: Ensure Paypal IPN always updates the next scheduled payment date ([17744](https://github.com/civicrm/civicrm-core/pull/17744))** - **dev/core#1725 Only export primary address fields ([17458](https://github.com/civicrm/civicrm-core/pull/17458))** - **dev/core#1751: [Create Email] Only Show Update/Save Template when User has Permission to Edit Templates ([17480](https://github.com/civicrm/civicrm-core/pull/17480))** - **dev/core#1755 Fix reCaptcha on Mailing Subscribe ([17305](https://github.com/civicrm/civicrm-core/pull/17305))** - **dev/core#1767 Fix phone key parsing in CRM_Dedupe_Finder ([17361](https://github.com/civicrm/civicrm-core/pull/17361) and [17882](https://github.com/civicrm/civicrm-core/pull/17882))** - **dev/core#1768 - Add CiviMail synchronisation frequency setting. ([17709](https://github.com/civicrm/civicrm-core/pull/17709))** - **core#1795: Searchable Parent tags ([17513](https://github.com/civicrm/civicrm-core/pull/17513))** - **core#1805: Autocomplete-select custom field is not searchable ([17569](https://github.com/civicrm/civicrm-core/pull/17569))** - **dev/core#1812 Missing view when logging set in a non-US English instance ([17815](https://github.com/civicrm/civicrm-core/pull/17815))** - **core#1826: Ignore location_type_id when deduping postal address ([17645](https://github.com/civicrm/civicrm-core/pull/17645))** - **dev/core#1827 activity search - fixing search by tags ([17655](https://github.com/civicrm/civicrm-core/pull/17655) and [17755](https://github.com/civicrm/civicrm-core/pull/17755))** - **dev/core#1843 Remove url-tracking in mass sms. ([17700](https://github.com/civicrm/civicrm-core/pull/17700))** - **dev/core#1853 - Fix validation errors when removing contact subtype ([17765](https://github.com/civicrm/civicrm-core/pull/17765))** - **dev/core#1855 - Allow different output formats for CiviReport results and untangle code ([17901](https://github.com/civicrm/civicrm-core/pull/17901))** - **dev/core#1858 Prevent Duplicate contact records being created and har… ([17769](https://github.com/civicrm/civicrm-core/pull/17769))** - **dev/core#1861 fix failure to unset location_type_id when saving uffield ([17812](https://github.com/civicrm/civicrm-core/pull/17812))** - **dev/core#1863 Downgrade checkEnvironment level and skip non-prod checks ([17807](https://github.com/civicrm/civicrm-core/pull/17807))** - **dev/core#1868 - Regression - Description field is always blank on profiles admin page and slew of E_NOTICES ([17786](https://github.com/civicrm/civicrm-core/pull/17786))** - **dev/core#1869 - Include BOM in attachment when sending CSV CiviReport via mail_report job ([17806](https://github.com/civicrm/civicrm-core/pull/17806))** - **dev/core#1871 - require_once's that include "packages/" in the path don't work on drupal 8 ([17822](https://github.com/civicrm/civicrm-core/pull/17822))** - **dev/core#1872 - Packages and vendor path calculation used in system check is outdated ([17844](https://github.com/civicrm/civicrm-core/pull/17844))** - **dev/core#1874 - Failing test for new Individual form ([17835](https://github.com/civicrm/civicrm-core/pull/17835))** - **dev/core#1880 add backticks to custom field insertions ([17848](https://github.com/civicrm/civicrm-core/pull/17848))** - **dev/core#1888 - Fix one line in PR 17888 ([17898](https://github.com/civicrm/civicrm-core/pull/17898))** - **dev/core#1888 and dev/core#1885 - Fatal error on advanced search and warnings and missing group display on contact form ([17888](https://github.com/civicrm/civicrm-core/pull/17888))** - **dev/core#1894 - Make CRM_Activity_Form_SearchTest::testQill less time-sensitive ([17902](https://github.com/civicrm/civicrm-core/pull/17902))** - **dev/core#1895 fix first/last name adv search ([17950](https://github.com/civicrm/civicrm-core/pull/17950))** - **dev/core#1902: "Contribution Source" profile field has no effect ([17930](https://github.com/civicrm/civicrm-core/pull/17930))** - **dev/core#1905 force backend links for new "configure" buttons ([18088](https://github.com/civicrm/civicrm-core/pull/18088))** - **dev/core#1905 rework #17942 with simpler ts strings ([18064](https://github.com/civicrm/civicrm-core/pull/18064))** - **dev/core#1905 Add configure icons on public pages ([17942](https://github.com/civicrm/civicrm-core/pull/17942))** - **dev/core#1906 - Allow payment create api to record payment on Failed … ([17943](https://github.com/civicrm/civicrm-core/pull/17943))** - **dev/core#1909 Fix E-notice when adding a field on a profile ([17962](https://github.com/civicrm/civicrm-core/pull/17962))** - **dev/core#1909 Fix e-notice when adding a payment processor ([17964](https://github.com/civicrm/civicrm-core/pull/17964))** - **dev/core#1909 - E_NOTICE opening file-on-case ([17959](https://github.com/civicrm/civicrm-core/pull/17959))** - **dev/core#1909 - E_NOTICE on contribution edit ([18006](https://github.com/civicrm/civicrm-core/pull/18006))** - **dev/core#1909 - Avoid E_Notice on SMS provider form when no default url ([17985](https://github.com/civicrm/civicrm-core/pull/17985))** - **dev/core#1913 Allow for schemas to be added by extensions if they are… ([17986](https://github.com/civicrm/civicrm-core/pull/17986))** - **dev/core#1915 - E_NOTICE when making pcp contribution ([18002](https://github.com/civicrm/civicrm-core/pull/18002))** - **dev/core#1916 - Fix naming of case export fields / remove ones that aren't true ([18043](https://github.com/civicrm/civicrm-core/pull/18043))** - **dev/core#1918 - Remove dubious qfkey checking code that never runs ([18007](https://github.com/civicrm/civicrm-core/pull/18007))** - **dev/core#1919 - Missing resubscribe url in text/plain version of unsubscribe confirmation email ([18015](https://github.com/civicrm/civicrm-core/pull/18015))** - **dev/core#1921 [Ref] remove isoToMysql ([18025](https://github.com/civicrm/civicrm-core/pull/18025))** - **dev/core#1928 Fix HTML5 error due to required attribute being set swi… ([18080](https://github.com/civicrm/civicrm-core/pull/18080))** - **dev/core#1932 - Make status-checks more polite during upgrade ([18085](https://github.com/civicrm/civicrm-core/pull/18085))** - **dev/core#1937 - Upgrade message about needing composer patching turned on and updating mysql in DSN strings ([18174](https://github.com/civicrm/civicrm-core/pull/18174))** - **dev/core#1983 Fix to tax calculation on multi-line-item ([18290](https://github.com/civicrm/civicrm-core/pull/18290))** - **dev/core#1972 Fix tax_amount calclation on renewal form ([18271](https://github.com/civicrm/civicrm-core/pull/18271))** - **Fix obscure dedupe scenario where 'bad' location data can overwrite good data ([17993](https://github.com/civicrm/civicrm-core/pull/17993))** - **Fix JQuery Validation for radios ([17937](https://github.com/civicrm/civicrm-core/pull/17937))** - **Fix buggy placement of icons on buttons ([18005](https://github.com/civicrm/civicrm-core/pull/18005))** - **Installation doclinks not getting url-rewritten ([18175](https://github.com/civicrm/civicrm-core/pull/18175))** - **Fix button name on updated form ([18000](https://github.com/civicrm/civicrm-core/pull/18000))** - **Show cron warning on Scheduled Jobs admin page ([18065](https://github.com/civicrm/civicrm-core/pull/18065))** - **Use correct pdf package to generate pdf file on invoice download/email activity ([18056](https://github.com/civicrm/civicrm-core/pull/18056))** - **CRM_Utils_Hook: deprecation warning and short array syntax ([17995](https://github.com/civicrm/civicrm-core/pull/17995))** - **Why not make the buttons flat? ([18054](https://github.com/civicrm/civicrm-core/pull/18054))** - **Remove requirement to pass 'contribution_status_id' => Pending from order.create ([18018](https://github.com/civicrm/civicrm-core/pull/18018))** - **Use saved contribution's line items rather than the primaryContributionID ([18033](https://github.com/civicrm/civicrm-core/pull/18033))** - **Wrap multi record custom field inside a div ([17966](https://github.com/civicrm/civicrm-core/pull/17966))** - **Do not overwrite values saved from the repeatContribution routine ([17972](https://github.com/civicrm/civicrm-core/pull/17972))** - **SystemCheck: add ability to efficiently run only specified checks ([17824](https://github.com/civicrm/civicrm-core/pull/17824))** - **Change inform-icon to fa-info-circle ([18001](https://github.com/civicrm/civicrm-core/pull/18001))** - **CIVICRM_BAO_CACHE_ADAPTER - Remove obsolete option ([17990](https://github.com/civicrm/civicrm-core/pull/17990))** - **SQL temp table not using utf8mb4 if server default already set to utf8mb4 ([18012](https://github.com/civicrm/civicrm-core/pull/18012))** - **Wrong link to admin page in error message about FROM address on PCP page ([17996](https://github.com/civicrm/civicrm-core/pull/17996))** - **Fix repeattransaction api to use custom data from the template contribution ([17975](https://github.com/civicrm/civicrm-core/pull/17975))** - **Fixed filling default values for tagssets in the advanced search form ([17978](https://github.com/civicrm/civicrm-core/pull/17978))** - **Remove duplicate cache flush ([17988](https://github.com/civicrm/civicrm-core/pull/17988))** - **Simplify caching of status checks ([17817](https://github.com/civicrm/civicrm-core/pull/17817))** - **ensure custom field checkboxes are populated in profiles ([17977](https://github.com/civicrm/civicrm-core/pull/17977))** - **Upgrade PEAR/mail_mime package to be compliant with PHP7.4 and deploy it using composer ([17948](https://github.com/civicrm/civicrm-core/pull/17948))** - **APIv4 - Add keyword to select all custom fields ([17955](https://github.com/civicrm/civicrm-core/pull/17955))** - **CRM_Utils_Check_Component_Case - Guard against post-upgrade crash ([17944](https://github.com/civicrm/civicrm-core/pull/17944))** - **Remove extraneous opportunistic cache flush. ([17936](https://github.com/civicrm/civicrm-core/pull/17936))** - **Improve caching of current domain ([17916](https://github.com/civicrm/civicrm-core/pull/17916))** - **Setup UI - Validate that at least one "Component" is enabled ([17778](https://github.com/civicrm/civicrm-core/pull/17778))** - **Member detail report: nest "in" options in parentheses ([17911](https://github.com/civicrm/civicrm-core/pull/17911))** - **Fix sticky table header on "Find Activities" page ([17917](https://github.com/civicrm/civicrm-core/pull/17917))** - **Remove unused "ufUniqID" session variable ([17904](https://github.com/civicrm/civicrm-core/pull/17904))** - **Replace a load of references to the wiki with docs links ([17900](https://github.com/civicrm/civicrm-core/pull/17900))** - **Remove check for valid email in synchronizeUFMatch ([17771](https://github.com/civicrm/civicrm-core/pull/17771))** - **Call apiv4 from Contribution create rather than fugly addActivity function ([17881](https://github.com/civicrm/civicrm-core/pull/17881))** - **APIv4 - Add BasicEntity helper class ([17899](https://github.com/civicrm/civicrm-core/pull/17899))** - **Add APIv4 and pseudoconstants for RelationshipCache ([17879](https://github.com/civicrm/civicrm-core/pull/17879))** - **Update version in the test_data_second_domain file and also update the setVersion script to update the file version as necessary ([17897](https://github.com/civicrm/civicrm-core/pull/17897))** - **Be a little less supportive to cvs ([17896](https://github.com/civicrm/civicrm-core/pull/17896))** - **APIv4 - Specify BridgeEntities to assist with joins ([17808](https://github.com/civicrm/civicrm-core/pull/17808))** - **Event Cart ext: Move menu entries to extension ([17891](https://github.com/civicrm/civicrm-core/pull/17891))** - **EventCart ext: Cleanup and move form components to ext ([17885](https://github.com/civicrm/civicrm-core/pull/17885))** - **EventCart ext: Fix autogenerated code, remove unused hooks, update readme ([17884](https://github.com/civicrm/civicrm-core/pull/17884))** - **Load contribution page if live payment processor is disabled but test is available ([17828](https://github.com/civicrm/civicrm-core/pull/17828))** - **Search debug ([17887](https://github.com/civicrm/civicrm-core/pull/17887))** - **Use new checkPermissions shorthand in api calls ([17874](https://github.com/civicrm/civicrm-core/pull/17874))** - **Simplify flushing group contact cache query to reduce table locking and improve performance ([17846](https://github.com/civicrm/civicrm-core/pull/17846))** - **Disable frequency/interval fields if not required. Mark required if they are so they are validated before submit ([17526](https://github.com/civicrm/civicrm-core/pull/17526))** - **Fix currency symbol for Total Amount on contribution page ([17703](https://github.com/civicrm/civicrm-core/pull/17703))** - **RelationshipCache - Add a high-level index to facilitate relationship queries (more fields) ([17781](https://github.com/civicrm/civicrm-core/pull/17781))** - **Hooks/Dispatcher - Close loopholes that occur around "preboot" hooks ([17831](https://github.com/civicrm/civicrm-core/pull/17831))** - **APIv4 - Add shorthand for setCheckPermissions() ([17834](https://github.com/civicrm/civicrm-core/pull/17834))** - **Use PrematureExit exception instead of weird hack in tests ([17870](https://github.com/civicrm/civicrm-core/pull/17870))** - **Remove unnecessary try/catch per #17729 ([17823](https://github.com/civicrm/civicrm-core/pull/17823))** - **Fixed DB Error: syntax error if line item refers to civicrm_case ([16626](https://github.com/civicrm/civicrm-core/pull/16626))** - **Fix potential js error on summary screen when reloading blocks ([17865](https://github.com/civicrm/civicrm-core/pull/17865))** - **Search Ext: fix loading options and parsing custom field names ([17864](https://github.com/civicrm/civicrm-core/pull/17864))** - **EventCart - Resolve BAO identity and uncommitted DAO changes ([17861](https://github.com/civicrm/civicrm-core/pull/17861))** - **Bump lodash from 4.17.15 to 4.17.19 ([17858](https://github.com/civicrm/civicrm-core/pull/17858))** - **handlePaymentNotification() should not be declared as a static method ([17849](https://github.com/civicrm/civicrm-core/pull/17849))** - **Move BAO and template files into event cart ([17743](https://github.com/civicrm/civicrm-core/pull/17743))** - **Update regen.sh with new & upcoming core extensions ([17839](https://github.com/civicrm/civicrm-core/pull/17839))** - **MembershipRenewalTest - Fix failure ([17830](https://github.com/civicrm/civicrm-core/pull/17830))** - **Remove hard coded charset. ([17826](https://github.com/civicrm/civicrm-core/pull/17826))** - **APIv4 - Add activity contacts to APIv4 field spec ([17766](https://github.com/civicrm/civicrm-core/pull/17766))** - **Adjust mysql SET NAMES in remaining places as we agreed this was the go ([17825](https://github.com/civicrm/civicrm-core/pull/17825))** - **Make new email open and url routes 'public' ([17813](https://github.com/civicrm/civicrm-core/pull/17813))** - **Make api get upgrade-safe ([17729](https://github.com/civicrm/civicrm-core/pull/17729))** - **CRM_Utils_SQL - Add "onDuplicate()" and "syncInto()" helpers ([17780](https://github.com/civicrm/civicrm-core/pull/17780))** - **CheckEnv - Give new installs a grace period before 'Cron Not Running' msg ([17800](https://github.com/civicrm/civicrm-core/pull/17800))** - **Fix 'Undefined variable: jsSet in CRM_Core_BAO_Mapping::loadSavedMapping()' ([17816](https://github.com/civicrm/civicrm-core/pull/17816))** - **Add hidden tag to search extension ([17789](https://github.com/civicrm/civicrm-core/pull/17789))** - **Sort permittedActivityTypes ([17794](https://github.com/civicrm/civicrm-core/pull/17794))** - **Add auto-renew status to membership detail report ([17683](https://github.com/civicrm/civicrm-core/pull/17683))** - **APIv4 - Fix saving custom fields with same name ([17791](https://github.com/civicrm/civicrm-core/pull/17791))** - **Add system check to ensure WP base page exists ([17698](https://github.com/civicrm/civicrm-core/pull/17698))** - **Fixed notice error on Relationships report ([17787](https://github.com/civicrm/civicrm-core/pull/17787))** - **getLoggedInContactID() is a static function ([17783](https://github.com/civicrm/civicrm-core/pull/17783))** - **Add search extension ([17775](https://github.com/civicrm/civicrm-core/pull/17775))** - **Remove PaymentExpress ipn class ([17763](https://github.com/civicrm/civicrm-core/pull/17763))** - **Status Checks - Use more specific label regarding "Domain"/"Organization" check ([17776](https://github.com/civicrm/civicrm-core/pull/17776))** - **Bump minimum upgradable version to 4.4.7 ([17750](https://github.com/civicrm/civicrm-core/pull/17750))** - **Remove unused, deprecated functions ([17761](https://github.com/civicrm/civicrm-core/pull/17761))** - **Improve efficiency of findFiles ([17745](https://github.com/civicrm/civicrm-core/pull/17745))** - **APIv4 Explorer: Improve selection of fields for HAVING ([17746](https://github.com/civicrm/civicrm-core/pull/17746))** - **More unused functions in GenCode ([17756](https://github.com/civicrm/civicrm-core/pull/17756))** - **Fix PHP notice on wordpress permissions form ([17758](https://github.com/civicrm/civicrm-core/pull/17758))** - **Convert CRM.utils.formatDate tests to karma ([17757](https://github.com/civicrm/civicrm-core/pull/17757))** - **Teach CRM.utils.formatDate to also show time ([17684](https://github.com/civicrm/civicrm-core/pull/17684))** - **Add eventcart shell ([17741](https://github.com/civicrm/civicrm-core/pull/17741))** - **Fixed for multi-select filter ([615](https://github.com/civicrm/civicrm-drupal/pull/615))** - **fix url for file field ([608](https://github.com/civicrm/civicrm-drupal/pull/608))** - **Slow down the frequency of WordPress "heartbeat" calls in CiviCRM admin ([214](https://github.com/civicrm/civicrm-wordpress/pull/214))** - **Installation - Support "activate first" w/setup UI ([606](https://github.com/civicrm/civicrm-drupal/pull/606))** ## Miscellany - **CRM_Core_BAO_Cache - Remove functions deprecated a year ago ([17989](https://github.com/civicrm/civicrm-core/pull/17989))** - **Fix all core processors to implement doPayment and not doTransferPayment or doDirectPayment ([https://lab.civicrm.org/dev/financial/-/issues/135](https://lab.civicrm.org/dev/financial/-/issues/135): [18078](https://github.com/civicrm/civicrm-core/pull/18078) and [18072](https://github.com/civicrm/civicrm-core/pull/18072))** - **[REF] Extract setUserContext on contribution form & cleanup on backend add membership form ([17968](https://github.com/civicrm/civicrm-core/pull/17968))** - **[REF] remove unnecessary variable variables ([17903](https://github.com/civicrm/civicrm-core/pull/17903))** - **[REF] - Add helper function for the repetitive task of fetching multilingual ([17650](https://github.com/civicrm/civicrm-core/pull/17650))** - **[Ref] Unit test attempt to create reported bugs , minor cleanup ([17560](https://github.com/civicrm/civicrm-core/pull/17560))** - **REF Extract addToRecentItems from membership create ([17524](https://github.com/civicrm/civicrm-core/pull/17524))** - **[REF] Fix a couple of jQuery errors that have cropped up ([17871](https://github.com/civicrm/civicrm-core/pull/17871))** - **(REF) regen.sh - Remove unusual handling of `zipcodes.mysql` ([17869](https://github.com/civicrm/civicrm-core/pull/17869))** - **[REF] ScheduledJob cleanup, remove unused var ([17862](https://github.com/civicrm/civicrm-core/pull/17862))** - **[REF] Migrate Event Cart Setting into the Extension ([17841](https://github.com/civicrm/civicrm-core/pull/17841))** - **[REF] Only printOnly once ([17850](https://github.com/civicrm/civicrm-core/pull/17850))** - **(REF) APIv4 ConformanceTest - Split apart into per-entity sub-tests ([17845](https://github.com/civicrm/civicrm-core/pull/17845))** - **(REF) WebsiteTest - Mitigate flaky failures ([17833](https://github.com/civicrm/civicrm-core/pull/17833))** - **[REF] Follow up cleanup ([17788](https://github.com/civicrm/civicrm-core/pull/17788))** - **[REF] Remove ACL join on temp table creation in Member ContributionDetail report ([17723](https://github.com/civicrm/civicrm-core/pull/17723))** - **[REF] Do or do not - there is no try ([17795](https://github.com/civicrm/civicrm-core/pull/17795))** - **[REF] Unused interface CRM_Report_Interface ([17767](https://github.com/civicrm/civicrm-core/pull/17767))** - **REF - Cleanup StatusPreference BAO to be more standard ([17801](https://github.com/civicrm/civicrm-core/pull/17801))** - **[REF] Reduce interaction between dedupe code and createProfileContact ([17920](https://github.com/civicrm/civicrm-core/pull/17920))** - **[Ref] Simplify field reference ([17941](https://github.com/civicrm/civicrm-core/pull/17941))** - **[REF] [Test] Minor simplification on test ([18019](https://github.com/civicrm/civicrm-core/pull/18019))** - **[Ref] Simplify is_email_receipt in sendMail ([18029](https://github.com/civicrm/civicrm-core/pull/18029))** - **[REF] Remove transaction from BaseIPN completeTransaction call ([18042](https://github.com/civicrm/civicrm-core/pull/18042))** - **[REF] Simplify membership status date handling ([18030](https://github.com/civicrm/civicrm-core/pull/18030))** - **[REF] Clean up handling of financial_type_id override ([18032](https://github.com/civicrm/civicrm-core/pull/18032))** - **[REF] Remove transaction from completeOrder signature ([18046](https://github.com/civicrm/civicrm-core/pull/18046))** - **[Ref] Remove transaction instantiation in PaypalPro ([18026](https://github.com/civicrm/civicrm-core/pull/18026))** - **[REF] Stop instantiating transaction in PaypalIPN ([18020](https://github.com/civicrm/civicrm-core/pull/18020))** - **[REF] Remove pass-by-reference & always empty param ([17984](https://github.com/civicrm/civicrm-core/pull/17984))** - **[REF] Tighten up function signature for dedupePair ([17923](https://github.com/civicrm/civicrm-core/pull/17923))** - **[Ref] Move noisily deprecate BaseIPN->sendMail, call api from it rather than BAO function ([17982](https://github.com/civicrm/civicrm-core/pull/17982))** - **[REF] Use CRM_Utils_Mail::send for sending emails for confirming unsubscribe resubscribe auto replies and subscribing ([17396](https://github.com/civicrm/civicrm-core/pull/17396))** - **[REF] Reduce calls to CRM_Member_PseudoConstant::membershipType ([17987](https://github.com/civicrm/civicrm-core/pull/17987))** - **[REF] Use Standard function cacheClause to re-use contact acl cache table ([17707](https://github.com/civicrm/civicrm-core/pull/17707))** - **[REF] Make explicit what we are doing with 'values' in this code ([17979](https://github.com/civicrm/civicrm-core/pull/17979))** - **[REF] Minor code clean up ([17974](https://github.com/civicrm/civicrm-core/pull/17974))** - **[REF] Grant cleanup ([17967](https://github.com/civicrm/civicrm-core/pull/17967))** - **[REF] Refactor to use the standard CRM_Core_Form::addRadio function for a number of radio elements ([17932](https://github.com/civicrm/civicrm-core/pull/17932))** - **[REF] Fix the default to_financial_account_id for generated transactions ([17938](https://github.com/civicrm/civicrm-core/pull/17938))** - **[REF] Upgrade dompdf version to be more compatible with PHP7.4 ([17946](https://github.com/civicrm/civicrm-core/pull/17946))** - **[REF] [Tests] Cleanup test declaration to take advantage of mapping improvements ([17939](https://github.com/civicrm/civicrm-core/pull/17939))** - **[REF] Remove unnecessary complexity on im export ([17949](https://github.com/civicrm/civicrm-core/pull/17949))** - **[REF] GroupContact BAO - Minor code cleanup ([17928](https://github.com/civicrm/civicrm-core/pull/17928))** - **[REF] Minor function signuture cleanup ([17922](https://github.com/civicrm/civicrm-core/pull/17922))** - **[REF] Do not pass variable by reference ([17921](https://github.com/civicrm/civicrm-core/pull/17921))** - **[REF] remove first attempt to set currency in repeattransaction flow ([18055](https://github.com/civicrm/civicrm-core/pull/18055))** - **[REF] Even less variable variables ([18058](https://github.com/civicrm/civicrm-core/pull/18058))** - **[REF] Move handling of form elements back to the Form ([17981](https://github.com/civicrm/civicrm-core/pull/17981))** - **[REF] Simplify location metadata handling in Export class ([17951](https://github.com/civicrm/civicrm-core/pull/17951))** - **[REF] Do not pass by reference to the recur function ([18057](https://github.com/civicrm/civicrm-core/pull/18057))** - **[REF] Simplify getMembershipStatusByDate more ([18051](https://github.com/civicrm/civicrm-core/pull/18051))** - **[REF] Remove mail_mime package as now supplied by composer ([300](https://github.com/civicrm/civicrm-packages/pull/300))** - **[REF] Remove some deprecated size function calls replaced with length ([299](https://github.com/civicrm/civicrm-packages/pull/299))** - **Refactor "applyLocale" and remove references to "language" column in UFMatch table ([18049](https://github.com/civicrm/civicrm-core/pull/18049))** - **[NFC] Fix provider unit test on PHP7.4 ([18073](https://github.com/civicrm/civicrm-core/pull/18073))** - **NFC - Docblock cleanup ([610](https://github.com/civicrm/civicrm-drupal/pull/610))** - **[NFC] Update versions file to remove reference to Mail_mime and Mail ([301](https://github.com/civicrm/civicrm-packages/pull/301))** - **[NFC] Re run regen after recent merges ([17842](https://github.com/civicrm/civicrm-core/pull/17842))** - **[NFC] Fix nonstandard header comments ([17880](https://github.com/civicrm/civicrm-core/pull/17880))** - **[NFC] Add in a unit test of calling the contribution page widget endpoint and remove unneeded file ([17965](https://github.com/civicrm/civicrm-core/pull/17965))** - **[NFC] Improve docs for APIv4 Save action ([18004](https://github.com/civicrm/civicrm-core/pull/18004))** - **NFC - Docblock cleanup ([17945](https://github.com/civicrm/civicrm-core/pull/17945))** - **[NFC] Update a few doc/wiki links in code comments ([17918](https://github.com/civicrm/civicrm-core/pull/17918))** - **[NFC] Comment block cleanup ([17872](https://github.com/civicrm/civicrm-core/pull/17872))** - **[Test] Update hook signature in test ([609](https://github.com/civicrm/civicrm-drupal/pull/609))** - **Test - attempt to replicate #17852 ([18038](https://github.com/civicrm/civicrm-core/pull/18038))** - **[Test fix] We might need this to ensure really quick test runs don't fail ([18045](https://github.com/civicrm/civicrm-core/pull/18045))** - **Add testing to Authorize.net and remove the lines that are repeated ([18028](https://github.com/civicrm/civicrm-core/pull/18028))** - **Add test on status calculation ([18037](https://github.com/civicrm/civicrm-core/pull/18037))** - **Fix for failing test ([18036](https://github.com/civicrm/civicrm-core/pull/18036))** - **[Test framework] re-re-fix test and add test for test ([18013](https://github.com/civicrm/civicrm-core/pull/18013))** - **Re-fix test ([18009](https://github.com/civicrm/civicrm-core/pull/18009))** - **[Test framework] - Update failing test ([18003](https://github.com/civicrm/civicrm-core/pull/18003))** - **[Test framework] - Combine triplicate createCase functions ([17957](https://github.com/civicrm/civicrm-core/pull/17957))** - **Remove error checking by-pass in tests ([17940](https://github.com/civicrm/civicrm-core/pull/17940))** - **[Test Framework] - Tests for report downloads ([17892](https://github.com/civicrm/civicrm-core/pull/17892))** - **api_v3_TaxContributionPageTest fix - remove hard coded processor id ([17860](https://github.com/civicrm/civicrm-core/pull/17860))** - **API tests - label versions in dataprovider versionThreeAndFour ([17847](https://github.com/civicrm/civicrm-core/pull/17847))** - **Extract code to set isEmailReceipt in Contribution.completeOrder ([18039](https://github.com/civicrm/civicrm-core/pull/18039))** - **Do not pass-by-reference to recur function ([18071](https://github.com/civicrm/civicrm-core/pull/18071))** - **Unused functions in GenCode ([17753](https://github.com/civicrm/civicrm-core/pull/17753))** - **Fix typo in templates/CRM/Report/Form/Tabs/GroupBy.tpl ([17747](https://github.com/civicrm/civicrm-core/pull/17747))** - **Remove unused "ufUniqID" session variable ([213](https://github.com/civicrm/civicrm-wordpress/pull/213))** - **Remove Net packages Net_Curl Net_DIME as they do not appear to be used ([294](https://github.com/civicrm/civicrm-packages/pull/294))** - **Update contributor key for Andrew ([18230](https://github.com/civicrm/civicrm-core/pull/18230))** - **Fix qill typo ([18041](https://github.com/civicrm/civicrm-core/pull/18041))** - **Update flexmailer release information ([17912](https://github.com/civicrm/civicrm-core/pull/17912))** - **Remove invalid use of crmMoney formatter ([18031](https://github.com/civicrm/civicrm-core/pull/18031))** - **Remove main PaymentExpress class ([18010](https://github.com/civicrm/civicrm-core/pull/18010))** - **Remove unused parameter ids['billing'] ([18021](https://github.com/civicrm/civicrm-core/pull/18021))** - **Cache loader - remove legacy handling, handle null result from setting ([17999](https://github.com/civicrm/civicrm-core/pull/17999))** - **Use case id to get relationship for activity creation ([17256](https://github.com/civicrm/civicrm-core/pull/17256) and [17764](https://github.com/civicrm/civicrm-core/pull/17764))** ## Credits This release was developed by the following code authors: AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra Purohit; iXiam - César Ramos, Diego Muñio; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil Wijesooriya; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: Pengyi Zhang; Andrew Thompson; Artful Robot - Rich Lott; Australian Greens - Andrew Cormick-Dockery, John Twyman; Bastien Ho; Blackfly Solutions - Alan Dixon; Carlos Capote; CompuCorp - Jamie Novick; DevApp - Adam Kwiatkowski; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Greenpeace Central and Eastern Europe - Patrick Figel; Irene Meisel; JMA Consulting - Joe Murray; Korlon - Stuart Gaston; Nicol Wistreich; Rar9; Ray Wright; Semper IT - Karin Gerritsen; Third Sector Design - Michael McAndrew; ## 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`.