X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=release-notes%2F5.40.0.md;h=9457fd3685c64a4565248e25648128ea6859eefc;hb=0550a87997419f1a272a23aae8238b7ad413a6aa;hp=b9953911332d62d7ef4573001d048aa804979ce0;hpb=906d150fcd172d27b28d9b89020c5b64117fe220;p=civicrm-core.git diff --git a/release-notes/5.40.0.md b/release-notes/5.40.0.md index b995391133..9457fd3685 100644 --- a/release-notes/5.40.0.md +++ b/release-notes/5.40.0.md @@ -1,6 +1,6 @@ # CiviCRM 5.40.0 -Released August 4, 2021 +Released August 5, 2021 - **[Synopsis](#synopsis)** - **[Features](#features)** @@ -13,452 +13,806 @@ Released August 4, 2021 | *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? | | +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| Require attention to configuration options? | no | +| **Fix problems installing or upgrading to a previous version?** | **yes** | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features -## Bugs resolved - ### Core CiviCRM -- **CKEditor - Fix .tpl insertion on every form ([20846](https://github.com/civicrm/civicrm-core/pull/20846))** +- **Move check for presence of the phone strip function to a Check (currently + done whenever a phone number is edited) + ([dev/core#27](https://lab.civicrm.org/dev/core/-/issues/27): + [20757](https://github.com/civicrm/civicrm-core/pull/20757))** + + CiviCRM relies on a MySQL function to generate a numeric-only version of phone + numbers. This change adds a system check to ensure the function exists + instead of checking for the function each time a phone number is added or + edited. -- **Resolve dev/rc#13 by permitting civi.setupui events to be dispatched … ([20836](https://github.com/civicrm/civicrm-core/pull/20836))** +- **Add calling function to deprecatedWarning log message + ([20719](https://github.com/civicrm/civicrm-core/pull/20719))** -- **Fix for issue 2685 ([20818](https://github.com/civicrm/civicrm-core/pull/20818))** + Improves logging. -- **SearchKit - Fix reloading a search with an OR group in the WHERE clause ([20824](https://github.com/civicrm/civicrm-core/pull/20824))** +- **Add contact-summary-image region + ([20662](https://github.com/civicrm/civicrm-core/pull/20662))** -- **dev/core#2680 Remove rows in the civicrm_contribution_product table t… ([20814](https://github.com/civicrm/civicrm-core/pull/20814))** + Adds a new region around the contact summary image. -- **AssetBuilderTest - Raise threshold for timeout ([20810](https://github.com/civicrm/civicrm-core/pull/20810))** +- **Replace extension key with description in 'Add New' tab + ([20720](https://github.com/civicrm/civicrm-core/pull/20720))** -- **Merge forward 5.39 => master ([20809](https://github.com/civicrm/civicrm-core/pull/20809))** + Improves the "Extensions" -> "Add New" form user experience by displaying the + description below the extension name instead of the extension key. -- **SearchKit - Remove automatic filter from address ([20803](https://github.com/civicrm/civicrm-core/pull/20803))** +- **User experience improvement - Remove the confusing mixed terminology used to + describe Tags: "Tags (Categories)" and "Tag (Category)" + ([20268](https://github.com/civicrm/civicrm-core/pull/20268))** -- **5.39.0 - Final updates ([20808](https://github.com/civicrm/civicrm-core/pull/20808))** + Improves user experience by removing the term "Category" when referencing + tags. -- **Force cleanup of setting value type "checkboxes" when is empty ([20600](https://github.com/civicrm/civicrm-core/pull/20600))** +- **Improve output triggers when logged to file + ([20472](https://github.com/civicrm/civicrm-core/pull/20472))** -- **dev/core#2659 Move group cleanup to latest release ([20756](https://github.com/civicrm/civicrm-core/pull/20756))** + Improves output triggers when logged to a file by adding an asort, putting all + the triggers into an array keyed by the statement and opening and closing the + delimiters just once. -- **SearchKit - Add ability to join on multi-select ContactRef fields ([20764](https://github.com/civicrm/civicrm-core/pull/20764))** +- **Show smarty E-notices when in debug mode + ([20640](https://github.com/civicrm/civicrm-core/pull/20640))** -- **Fix BaseIPN test to (mostly) pass invalid financials checks ([20785](https://github.com/civicrm/civicrm-core/pull/20785))** + Improves the user experience in debug mode by showing php notices (e.g. + "undefined variable"). -- **dev/core#2676 SearchKit - Add LocBlock entity to display Event location data ([20746](https://github.com/civicrm/civicrm-core/pull/20746))** +- **Add pseudoconstant to acl_entity_role + ([20566](https://github.com/civicrm/civicrm-core/pull/20566))** -- **Fix test set up to user Order api ([20780](https://github.com/civicrm/civicrm-core/pull/20780))** + Adds a pseudoconstant for `acl_entity_role`. -- **5.39 to master ([20802](https://github.com/civicrm/civicrm-core/pull/20802))** +- **[php8-compact] Allow for CiviCRM to be installed by 3rd parties using + composer on php8 systems + ([20625](https://github.com/civicrm/civicrm-core/pull/20625))** -- **APIv4 - Deprecate passing 'id' to basic actions ([20765](https://github.com/civicrm/civicrm-core/pull/20765))** + Makes it so sites can install and update CiviCRM via CLI when their CLI uses + PHP8. -- **Add calling function to deprecatedWarning log message ([20719](https://github.com/civicrm/civicrm-core/pull/20719))** +### Afform and SearchKit -- **Fix undefined tpl vars in CiviReport ([20797](https://github.com/civicrm/civicrm-core/pull/20797))** +- **Searchkit display with event location data + ([dev/core#2676](https://lab.civicrm.org/dev/core/-/issues/2676): + [20746](https://github.com/civicrm/civicrm-core/pull/20746))** -- **Unused smarty variable ([20796](https://github.com/civicrm/civicrm-core/pull/20796))** + Adds LocBlock entity to display event location data in SearchKit. -- **smarty notices - New case screen - Case.hlp ([20795](https://github.com/civicrm/civicrm-core/pull/20795))** +- **SearchKit - Allow super admins to disable Search Display access checks + ([20607](https://github.com/civicrm/civicrm-core/pull/20607))** -- **[Ref] Remove (more) unreachable code from order api ([20793](https://github.com/civicrm/civicrm-core/pull/20793))** + Allows users with 'all CiviCRM permissions and ACLs' to configure a search + display to bypass permission checks and display all records to the user. -- **dev/financial#150: civicrm/payment/form url got empty currency argument in backoffice live CC form ([18517](https://github.com/civicrm/civicrm-core/pull/18517))** +- **SearchKit - Add translatable descriptions to entities + ([20598](https://github.com/civicrm/civicrm-core/pull/20598))** -- **[REF] Extract CKEditor into its own core extension ([20392](https://github.com/civicrm/civicrm-core/pull/20392))** + Adds user-friendly descriptions to the top-level entities in SearchKit, and + makes it possible to add them to other entities as well. -- **Handle participant payment create in line item ([20790](https://github.com/civicrm/civicrm-core/pull/20790))** +- **SearchKit - Show Pledge as a primary entity + ([20589](https://github.com/civicrm/civicrm-core/pull/20589))** -- **(REF) crmUi - Support onCrmUiSelect for using select2 as a picklist ([20789](https://github.com/civicrm/civicrm-core/pull/20789))** + Shows Pledges as a primary entity in SearchKit, since it has its own tab on + the contact summary screen. -- **dev#2861: Prevent duplicate names in mailing labels ([20783](https://github.com/civicrm/civicrm-core/pull/20783))** +- **SearchKit - Add ability to join on multi-select ContactRef fields + ([20764](https://github.com/civicrm/civicrm-core/pull/20764))** -- **CRM_Utils_Array::asColumns() - Add helper to rotate a matrix (from rows to columns) ([20788](https://github.com/civicrm/civicrm-core/pull/20788))** + Improves support for custom contact Reference fields in APIv4, SearchKit, and + Afform. Makes it possible to save, search for, and filter by serialized + (multi-select) custom Contact Reference fields. -- **CRM_Utils_Array - Implement pathUnset() method ([20787](https://github.com/civicrm/civicrm-core/pull/20787))** +### API version 4 -- ** Clean up code to determine line items for membership batch entry ([20779](https://github.com/civicrm/civicrm-core/pull/20779))** +- **Improve api consistency on custom field creation + ([20743](https://github.com/civicrm/civicrm-core/pull/20743))** -- **Fix undefined indexes in tpls ([20781](https://github.com/civicrm/civicrm-core/pull/20781))** + Makes it so the parameter "option_type" is not needed to create an + option_value in APIv4. -- **[REF] Tidy up param transforms ([20778](https://github.com/civicrm/civicrm-core/pull/20778))** +- **APIv4 Explorer: show joins for write actions + ([20731](https://github.com/civicrm/civicrm-core/pull/20731))** -- **Error when sorting case roles table by end date ([20728](https://github.com/civicrm/civicrm-core/pull/20728))** + Displays information about joins for write operations in the API Explorer. -- **Enotice fix Remove references to savedFieldMapping in page 2 of the import ([20738](https://github.com/civicrm/civicrm-core/pull/20738))** +- **APIv4 - Add `@since` annotation to each entity + ([20701](https://github.com/civicrm/civicrm-core/pull/20701))** -- **dev/membership#29 Add civicrm_line_item.membership_num_terms ([20672](https://github.com/civicrm/civicrm-core/pull/20672))** + Adds since version for each entity to APIv4 code documentation. -- **5.39 ([20774](https://github.com/civicrm/civicrm-core/pull/20774))** +- **APIv4 - Allow FK dot notation in create/update/save actions + ([20677](https://github.com/civicrm/civicrm-core/pull/20677))** -- **APIv4 - Deprecate Entity::getLinks action ([20727](https://github.com/civicrm/civicrm-core/pull/20727))** + Makes it possible to reference other entities during create without knowing + their ID when using the APIv4. Makes it easier to package entities e.g. with + civicrm_managed. -- **smarty notice - case dashboard when no upcoming/recent cases ([20770](https://github.com/civicrm/civicrm-core/pull/20770))** +- **APIv4 - Add filter for entity tags + ([20573](https://github.com/civicrm/civicrm-core/pull/20573))** -- **dev/core#2115 Move financial acl code out of v3 Contribution create ([20769](https://github.com/civicrm/civicrm-core/pull/20769))** + Adds a SearchKit/APIv4 filter for tags similar to the "groups" filter recently + added to SearchKit. -- **smarty notice - title is only set for a list of existing report instances ([20771](https://github.com/civicrm/civicrm-core/pull/20771))** +- **APIv4 - add is_current as a pseudo (calculated) field + ([20586](https://github.com/civicrm/civicrm-core/pull/20586))** -- **smarty notice - confirm_message is usually irrelevant in report listings ([20772](https://github.com/civicrm/civicrm-core/pull/20772))** + Adds an "is_current" field to SearchKit for relationships, events & campaigns. + It checks that the record is active and has a non-past end date and a + non-future start date. -- **[NFC] Add in unit test to lock in the fix for the is_deleted in where… ([20733](https://github.com/civicrm/civicrm-core/pull/20733))** +- **APIv4 Explorer - When joining via EntityBridge, make bridge fields + selectable ([20721](https://github.com/civicrm/civicrm-core/pull/20721))** -- **Deprecate duplicate getLoggedInContactID() function ([20321](https://github.com/civicrm/civicrm-core/pull/20321))** + Improves the APIv4 Explorer by displaying bridge fields. -- **Fix invalid defaults for Mailing.update_email_resetdate API ([20751](https://github.com/civicrm/civicrm-core/pull/20751))** +- **Canonize API for storing translated data (Work Towards + [dev/translation#67](https://lab.civicrm.org/dev/translation/-/issues/67): + [20606](https://github.com/civicrm/civicrm-core/pull/20606) and + [20584](https://github.com/civicrm/civicrm-core/pull/20584))** -- **Make Order api easier to use for default price set ([20681](https://github.com/civicrm/civicrm-core/pull/20681))** + Adds APIv4 support for the "Translation" entity. Allows translation of fields + which lack an explicit HTML type. -- **[REF] Follow up clean up - remove contribution_mode ([20656](https://github.com/civicrm/civicrm-core/pull/20656))** +- **Apiv4 entity parity + (Work Towards [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486): + [20553](https://github.com/civicrm/civicrm-core/pull/20553))** -- **SearchKit - use primary_key info instead of assuming 'id' ([20763](https://github.com/civicrm/civicrm-core/pull/20763))** + Adds a foreign key on civicrm_contribution_product.product_id. -- **dev/core#2115 Add test cover for membership type page ([20761](https://github.com/civicrm/civicrm-core/pull/20761))** +### CiviContribute -- **Afform - cosmetic fixes in palette panel ([20755](https://github.com/civicrm/civicrm-core/pull/20755))** +- **Move financialACLs to a core extension (Work Towards + [dev/core#2115](https://lab.civicrm.org/dev/core/-/issues/2115): + [20761](https://github.com/civicrm/civicrm-core/pull/20761), + [20762](https://github.com/civicrm/civicrm-core/pull/20762) and + [20769](https://github.com/civicrm/civicrm-core/pull/20769))** -- **dev/core#2115 prep - Remove silly if, silly rename ([20762](https://github.com/civicrm/civicrm-core/pull/20762))** + Moves financial acl code out of APIv3 Contribution.create and assorted cleanup + towards moving the Financial ACL code to an extension. -- **Remove deprecated function ([20760](https://github.com/civicrm/civicrm-core/pull/20760))** +- **Proposal - make future recurring contribution instances modifiable & not + fail if the only contribution is deleted. (Work Towards + [dev/financial#6](https://lab.civicrm.org/dev/financial/-/issues/6): + [20452](https://github.com/civicrm/civicrm-core/pull/20452), + [20451](https://github.com/civicrm/civicrm-core/pull/20451) and + [20450](https://github.com/civicrm/civicrm-core/pull/20450))** -- ** APIv4 - Rename id_field to primary_key and make it an array ([20749](https://github.com/civicrm/civicrm-core/pull/20749))** + Work to make it possible to edit recurring contributions. -- **dev/core#27 Move check for phone function to a check ([20757](https://github.com/civicrm/civicrm-core/pull/20757))** +- **Make Order api easier to use for default price set + ([20681](https://github.com/civicrm/civicrm-core/pull/20681))** -- **Improve api consistency on custom field creation ([20743](https://github.com/civicrm/civicrm-core/pull/20743))** + Improves the order api by making it not necessary to figure out the details of + the default price set when using it to create memberships. -- **[NFC] Update various npm depdencies used only in unit testing ([20748](https://github.com/civicrm/civicrm-core/pull/20748))** +### CiviSMS -- **dev/core#2634 [REF] Move membership date calc from v3 api to BAO ([20759](https://github.com/civicrm/civicrm-core/pull/20759))** +- **Display SMS segment count when constructing a Mass SMS + ([dev/core#1711](https://lab.civicrm.org/dev/core/-/issues/1711): + [20722](https://github.com/civicrm/civicrm-core/pull/20722) and + [20220](https://github.com/civicrm/civicrm-core/pull/20220))** -- **[REF] Remove unnecessary variable wrangling in case roles section ([20729](https://github.com/civicrm/civicrm-core/pull/20729))** + Modifies the javascript that shows the character count when creating a SMS + message so that it also shows how many SMS segments are required to send the + message. -- **Fix undefined tpl vars on contact summary page ([20754](https://github.com/civicrm/civicrm-core/pull/20754))** +### WordPress Integration -- **Add missing "View Recurring Contribution" link to contribution view ([20750](https://github.com/civicrm/civicrm-core/pull/20750))** +- **Fail gracefully when errors are detected + ([251](https://github.com/civicrm/civicrm-wordpress/pull/251))** -- **[REF] Add in template guard for not being always set as per html format ([20747](https://github.com/civicrm/civicrm-core/pull/20747))** + Rewrites the error checking that the WordPress plugin performs and fails + gracefully instead of throwing fatal errors and making WordPress inoperable. + Introduces a "CiviCRM Troubleshooting" page to help diagnose and fix problems. + +## Bugs resolved -- **APIv4 - add is_current as a pseudo (calculated) field ([20586](https://github.com/civicrm/civicrm-core/pull/20586))** +### Core CiviCRM -- **[NFC] Improve use of return parameters in ContributionPage test class ([20648](https://github.com/civicrm/civicrm-core/pull/20648))** +- **Regression: Smart group rebuild in default config crashes cron + ([dev/core#2687](https://lab.civicrm.org/dev/core/-/issues/2687): + [20835](https://github.com/civicrm/civicrm-core/pull/20835))** -- **[NFC] Unit test for 20602 ([20745](https://github.com/civicrm/civicrm-core/pull/20745))** +- **Syntax errors when loading sample data + ([dev/drupal#161](https://lab.civicrm.org/dev/drupal/-/issues/161): + [20925](https://github.com/civicrm/civicrm-core/pull/20925))** -- **Fix activity_date_time_relative filter when `preserve_activity_tab_fi… ([20602](https://github.com/civicrm/civicrm-core/pull/20602))** +- **During upgrade ConfigAndLog has errors about crm-l10n.js for every upgrade + step because assets aren't built during upgrade + ([dev/core#2666](https://lab.civicrm.org/dev/core/-/issues/2666): + [20890](https://github.com/civicrm/civicrm-core/pull/20890))** -- **dev/financial#175 - Unable to remove a currency once added ([20627](https://github.com/civicrm/civicrm-core/pull/20627))** +- **Exporting in localized civicrm crashes due to long translation for + preferred_mail_format varchar(8) field. + ([dev/core#2645](https://lab.civicrm.org/dev/core/-/issues/2645): + [20626](https://github.com/civicrm/civicrm-core/pull/20626))** -- **Support saving more than 25 records in Profile.submit api ([20744](https://github.com/civicrm/civicrm-core/pull/20744))** +- **failing update Smart Groups for installs with none + ([dev/core#2659](https://lab.civicrm.org/dev/core/-/issues/2659): + [20756](https://github.com/civicrm/civicrm-core/pull/20756))** -- **[REF] Remove isPayLater from membership batch screen ([20396](https://github.com/civicrm/civicrm-core/pull/20396))** +- **Menu link for "New Tag" doesn't quite work + ([dev/core#2660](https://lab.civicrm.org/dev/core/-/issues/2660): + [20686](https://github.com/civicrm/civicrm-core/pull/20686))** -- **[REF] Extend testing on membership batch entry & minor cleanup ([20394](https://github.com/civicrm/civicrm-core/pull/20394))** + Points the "New Tag" menu link to form to create a new tag instead of "Manage + Tags" form. -- **Fix test to use valid financials ([20676](https://github.com/civicrm/civicrm-core/pull/20676))** +- **Special characters in password cause trouble. + ([dev/core#2663](https://lab.civicrm.org/dev/core/-/issues/2663): + [20713](https://github.com/civicrm/civicrm-core/pull/20713))** -- **Throw exception rather than fatal ([20742](https://github.com/civicrm/civicrm-core/pull/20742))** +- **Upgrade to Nightly (5.40.alpha1) from Stable (5.38.1) fails with DB Error: + constraint violation + ([dev/core#2680](https://lab.civicrm.org/dev/core/-/issues/2680): + [20814](https://github.com/civicrm/civicrm-core/pull/20814))** -- **[REF] Fix trying to access array offset from boolean value ([20734](https://github.com/civicrm/civicrm-core/pull/20734))** +- **[php8-compact] Add in more protection for unset variables in various smarty + templates ([20546](https://github.com/civicrm/civicrm-core/pull/20546) and + [20547](https://github.com/civicrm/civicrm-core/pull/20547))** -- **APIv4 Explorer: show joins for write actions ([20731](https://github.com/civicrm/civicrm-core/pull/20731))** +- **Force cleanup of setting value type "checkboxes" when is empty + ([20600](https://github.com/civicrm/civicrm-core/pull/20600))** -- **5.39 ([20741](https://github.com/civicrm/civicrm-core/pull/20741))** + Fixes a bug where custom settings of the type "checkboxes" with no checked + values were not saving to the database correctly. -- **Fix possibly undefined custom groupTree tpl variable ([20737](https://github.com/civicrm/civicrm-core/pull/20737))** +- **Fix activity_date_time_relative filter when `preserve_activity_tab_filter` + setting is on ([20602](https://github.com/civicrm/civicrm-core/pull/20602))** -- **Tpl enotice fix ([20735](https://github.com/civicrm/civicrm-core/pull/20735))** +- **Support saving more than 25 records in Profile.submit api + ([20744](https://github.com/civicrm/civicrm-core/pull/20744))** -- **[REF] Alter new Setup process to use CiviCRM's Event Dispatcher ([20717](https://github.com/civicrm/civicrm-core/pull/20717))** +- **Fix schema support for composite primary keys + ([20705](https://github.com/civicrm/civicrm-core/pull/20705))** -- **dev/core#542 dev/core#1947 - Show inactive active case role for closed cases ([19737](https://github.com/civicrm/civicrm-core/pull/19737))** +- **Fix sorting for drop triggers + ([20693](https://github.com/civicrm/civicrm-core/pull/20693))** -- **APIv4 - Silently ignore non-permissioned fields instead of throwing exceptions ([20724](https://github.com/civicrm/civicrm-core/pull/20724))** +- **Fix Schema calculation of usePrefix to cope with rpow: + ([20471](https://github.com/civicrm/civicrm-core/pull/20471))** -- **Add contact-summary-image region ([20662](https://github.com/civicrm/civicrm-core/pull/20662))** +- **Fixed url ([20641](https://github.com/civicrm/civicrm-core/pull/20641))** -- **dev/financial#6 Do not include template contributions in reports ([20450](https://github.com/civicrm/civicrm-core/pull/20450))** +- **Ensure custom group name does not conflict with existing field + ([20694](https://github.com/civicrm/civicrm-core/pull/20694))** -- **APIv4 - Fix same-table joins and remove unused code ([20715](https://github.com/civicrm/civicrm-core/pull/20715))** +- **Force the right path in github action script + ([20688](https://github.com/civicrm/civicrm-core/pull/20688))** -- **Fix bug where only one participant registration is completed ([20654](https://github.com/civicrm/civicrm-core/pull/20654))** + The original script ran in a repo called civicrm-regen, but because the name + of this repo is civicrm-core and hence the github workspace folder contains + the literal "civicrm-core" in it, the civicrm.config.php file determines that + this must be a composer install, and so it gets the path to + civicrm.settings.php wrong. -- **Fix undefined tpl vars on custom field page ([20726](https://github.com/civicrm/civicrm-core/pull/20726))** +- **Always assign mode to smarty + ([20664](https://github.com/civicrm/civicrm-core/pull/20664))** -- **Fix often undefined variable $row.class in tpl tables ([20725](https://github.com/civicrm/civicrm-core/pull/20725))** +- **AngularLoader - Emit warning when setModules method is used. + ([20628](https://github.com/civicrm/civicrm-core/pull/20628))** -- **APIv4 Explorer - Render joins using addJoin function in OOP ([20723](https://github.com/civicrm/civicrm-core/pull/20723))** + Emits a warning when extensions do something that could potentially cause + problems with other extensions. -- **APIv4 - Don't assume the identifier field for a table is named 'id' ([20707](https://github.com/civicrm/civicrm-core/pull/20707))** +- **Throw exception when baoName is not found + ([20696](https://github.com/civicrm/civicrm-core/pull/20696) and + [20742](https://github.com/civicrm/civicrm-core/pull/20742))** -- **dev/financial#6 Template contributions on the contact summary ([20452](https://github.com/civicrm/civicrm-core/pull/20452))** +- **Convert Notes to use option_group instead of hardcoded list + ([20554](https://github.com/civicrm/civicrm-core/pull/20554))** -- **dev/financial#6 Added is template to search screen ([20451](https://github.com/civicrm/civicrm-core/pull/20451))** +- **Fix a few more undefined template vars + ([20577](https://github.com/civicrm/civicrm-core/pull/20577) and + [20684](https://github.com/civicrm/civicrm-core/pull/20684))** -- ** dev/core#1711 - small translation improvement ([20722](https://github.com/civicrm/civicrm-core/pull/20722))** +- **CKEditor - Fix .tpl insertion on every form + ([20846](https://github.com/civicrm/civicrm-core/pull/20846))** -- **APIv4 Explorer - When joining via EntityBridge, make bridge fields selectable ([20721](https://github.com/civicrm/civicrm-core/pull/20721))** +- **Fix undefined tpl vars in CiviReport + ([20797](https://github.com/civicrm/civicrm-core/pull/20797))** -- **Replace extension key with description in 'Add New' tab ([20720](https://github.com/civicrm/civicrm-core/pull/20720))** +- **smarty notice - title is only set for a list of existing report instances + ([20771](https://github.com/civicrm/civicrm-core/pull/20771))** -- **dev/core#1711 - Display SMS segment count when constructing Mass SMS ([20220](https://github.com/civicrm/civicrm-core/pull/20220))** +- **smarty notice - confirm_message is usually irrelevant in report listings + ([20772](https://github.com/civicrm/civicrm-core/pull/20772))** -- **Some php warnings on case dashboard ([20711](https://github.com/civicrm/civicrm-core/pull/20711))** +- **Minor tpl simplificaiton, notice reduction + ([20663](https://github.com/civicrm/civicrm-core/pull/20663))** -- **dev/core#2663 - Setup - Consistently handle special characters per URL conventions ([20713](https://github.com/civicrm/civicrm-core/pull/20713))** +- **Fix undefined tpl variables on contact summary + ([20659](https://github.com/civicrm/civicrm-core/pull/20659))** -- **Hopefully fix time rollover problem in MessageTemplateTest ([20714](https://github.com/civicrm/civicrm-core/pull/20714))** +- **Some php warnings on new case + ([20712](https://github.com/civicrm/civicrm-core/pull/20712))** -- **Remove deprecated use of format money ([20697](https://github.com/civicrm/civicrm-core/pull/20697))** +- **Remove deprecated use of format money + ([20697](https://github.com/civicrm/civicrm-core/pull/20697))** -- **Some php warnings on new case ([20712](https://github.com/civicrm/civicrm-core/pull/20712))** +- **Fix possibly undefined custom groupTree tpl variable + ([20737](https://github.com/civicrm/civicrm-core/pull/20737))** -- **Ensure custom group name does not conflict with existing field ([20694](https://github.com/civicrm/civicrm-core/pull/20694))** +- **Fix undefined tpl vars on contact summary page + ([20754](https://github.com/civicrm/civicrm-core/pull/20754))** -- **[REF] - Improve efficiency of APIv4 GetInfo ([20708](https://github.com/civicrm/civicrm-core/pull/20708))** +- **Tpl enotice fix + ([20735](https://github.com/civicrm/civicrm-core/pull/20735))** -- **Throw exception when baoName is not found ([20696](https://github.com/civicrm/civicrm-core/pull/20696))** +- **Fix undefined indexes in tpls + ([20781](https://github.com/civicrm/civicrm-core/pull/20781))** -- **APIv4 - Remove POC code leftover from early alpha development ([20709](https://github.com/civicrm/civicrm-core/pull/20709))** +- **Enotice fix Remove references to savedFieldMapping in page 2 of the import + ([20738](https://github.com/civicrm/civicrm-core/pull/20738))** -- **dev/core#2656 Add test to demonstrate issue / bug ([20631](https://github.com/civicrm/civicrm-core/pull/20631))** +- **Fix undefined tpl vars on custom field page + ([20726](https://github.com/civicrm/civicrm-core/pull/20726))** -- **REF - Get Contact Summary tab counts after calling hook to avoid wasting time ([20673](https://github.com/civicrm/civicrm-core/pull/20673))** +- **Fix often undefined variable $row.class in tpl tables + ([20725](https://github.com/civicrm/civicrm-core/pull/20725))** -- **Fix schema support for composite primary keys ([20705](https://github.com/civicrm/civicrm-core/pull/20705))** +- **Throw exception rather than allow php fail + ([20565](https://github.com/civicrm/civicrm-core/pull/20565))** -- **APIv4 Explorer - Only apply default limit 25 for "get" action ([20698](https://github.com/civicrm/civicrm-core/pull/20698))** + Throws an exception rather than allow php fail when the api class is not + found. -- **[NFC] Remove boilerplate comment block from APIv4 classes ([20700](https://github.com/civicrm/civicrm-core/pull/20700))** +- **Proposal - store metadata on membership renewal on line item (Work Towards + [dev/membership#29](https://lab.civicrm.org/dev/membership/-/issues/29): + [20672](https://github.com/civicrm/civicrm-core/pull/20672))** -- **APIv4 - Add `@since` annotation to each entity ([20701](https://github.com/civicrm/civicrm-core/pull/20701))** + Adds a new column to the civicrm_line_item table: membership_num_terms. -- **5.39 to master ([20703](https://github.com/civicrm/civicrm-core/pull/20703))** +### Afform and SearchKit -- **Fix sorting for drop triggers ([20693](https://github.com/civicrm/civicrm-core/pull/20693))** +- **Afform - cosmetic fixes in palette panel + ([20755](https://github.com/civicrm/civicrm-core/pull/20755))** -- **dev/core#2647 - Deprecated call to non-static CRM_Financial_Form_BatchTransaction::links() ([20691](https://github.com/civicrm/civicrm-core/pull/20691))** +- **Search-kit - declaring joins breaks deduping + ([dev/core#2656](https://lab.civicrm.org/dev/core/-/issues/2656): + [20631](https://github.com/civicrm/civicrm-core/pull/20631) and + [20639](https://github.com/civicrm/civicrm-core/pull/20639))** -- **APIv4 - Allow FK dot notation in create/update/save actions ([20677](https://github.com/civicrm/civicrm-core/pull/20677))** +- **SearchKit - use primary_key info instead of assuming 'id' + ([20763](https://github.com/civicrm/civicrm-core/pull/20763))** -- **5.39 ([20690](https://github.com/civicrm/civicrm-core/pull/20690))** + Fixes a bug in SearchKit when dealing with entities without "id" as their + primary key field. -- **dev/core#2660 - Remove old menu entry for "New Tag" ([20686](https://github.com/civicrm/civicrm-core/pull/20686))** +- **SearchKit - Remove automatic filter from address + ([20803](https://github.com/civicrm/civicrm-core/pull/20803))** -- **Force the right path in github action script ([20688](https://github.com/civicrm/civicrm-core/pull/20688))** + Usability fix for SearchKit - stops automatically add "Location Type" to the + search when joining with Address. -- **[php8-compact] Allow for CiviCRM to be installed by 3rd parties using… ([20625](https://github.com/civicrm/civicrm-core/pull/20625))** +- **OR term in WHERE clause crashes Search Kit + ([dev/report#71](https://lab.civicrm.org/dev/report/-/issues/71): + [20824](https://github.com/civicrm/civicrm-core/pull/20824))** -- **dev/core#2645 Proposed fix for exporting preferred_mail_format field ([20626](https://github.com/civicrm/civicrm-core/pull/20626))** + Fixes an error when saving or opening a search with an OR group in a clause. -- **Fix undefined tpl vars ([20684](https://github.com/civicrm/civicrm-core/pull/20684))** +### API version 4 -- **Always assign mode to smarty ([20664](https://github.com/civicrm/civicrm-core/pull/20664))** +- **APIv4 - Silently ignore non-permissioned fields instead of throwing + exceptions ([20724](https://github.com/civicrm/civicrm-core/pull/20724))** -- **5.39 ([20683](https://github.com/civicrm/civicrm-core/pull/20683))** +- **APIv4 - Fix same-table joins and remove unused code + ([20715](https://github.com/civicrm/civicrm-core/pull/20715))** -- **Extract feeBlock to it's own tpl ([20679](https://github.com/civicrm/civicrm-core/pull/20679))** +- **APIv4 - Don't assume the identifier field for a table is named 'id' + ([20707](https://github.com/civicrm/civicrm-core/pull/20707) and + [20749](https://github.com/civicrm/civicrm-core/pull/20749))** -- **[NFC] Github action script to run regen.sh for you ([20680](https://github.com/civicrm/civicrm-core/pull/20680))** +- **APIv4 - Deprecate Entity::getLinks action + ([20727](https://github.com/civicrm/civicrm-core/pull/20727))** -- **User experience improvement - Remove the confusing mixed terminology used to describe Tags: "Tags (Categories)" and "Tag (Category)" ([20268](https://github.com/civicrm/civicrm-core/pull/20268))** +- **APIv4 - Deprecate passing 'id' to basic actions + ([20765](https://github.com/civicrm/civicrm-core/pull/20765))** -- **[NFC] Regenerate ContributeProduct DAO and also fix search_kit instal… ([20674](https://github.com/civicrm/civicrm-core/pull/20674))** +- **APIv4 Explorer - Only apply default limit 25 for "get" action + ([20698](https://github.com/civicrm/civicrm-core/pull/20698))** -- **Fix up on invalid test data ([20667](https://github.com/civicrm/civicrm-core/pull/20667))** +- **Failing api4 test + api.v4.Action.CreateWithOptionGroupTest.testWithCustomDataForMultipleContacts + ([dev/core#2699](https://lab.civicrm.org/dev/core/-/issues/2699): + [20928](https://github.com/civicrm/civicrm-core/pull/20928))** -- **Move determination of priceSetID to the internal order class ([20669](https://github.com/civicrm/civicrm-core/pull/20669))** +### CiviCase -- **Fix test to use valid amounts ([20668](https://github.com/civicrm/civicrm-core/pull/20668))** +- **Case Manager is not shown for closed cases. + ([dev/core#542](https://lab.civicrm.org/dev/core/-/issues/542) and + [dev/core#1947](https://lab.civicrm.org/dev/core/-/issues/1947): + [19737](https://github.com/civicrm/civicrm-core/pull/19737))** -- **Deprecate passing in 'null' for tax ([20671](https://github.com/civicrm/civicrm-core/pull/20671))** + Ensures inactive active case role are shown for closed cases. -- **Minor tpl simplificaiton, notice reduction ([20663](https://github.com/civicrm/civicrm-core/pull/20663))** +- **Some php warnings on case dashboard + ([20711](https://github.com/civicrm/civicrm-core/pull/20711))** -- **5.39 to master ([20666](https://github.com/civicrm/civicrm-core/pull/20666))** +- **smarty notice - case dashboard when no upcoming/recent cases + ([20770](https://github.com/civicrm/civicrm-core/pull/20770))** -- **Fix undefined tpl variables on contact summary ([20659](https://github.com/civicrm/civicrm-core/pull/20659))** +- **smarty notices - New case screen - Case.hlp + ([20795](https://github.com/civicrm/civicrm-core/pull/20795))** -- **[php8-compact] Fix APIv4 Group Concat Test by setting dataType to be … ([20655](https://github.com/civicrm/civicrm-core/pull/20655))** +- **Error when sorting case roles table by end date + ([20728](https://github.com/civicrm/civicrm-core/pull/20728))** -- **[NFC] Fixes an issue in this unit test where we are trying to do an a… ([20652](https://github.com/civicrm/civicrm-core/pull/20652))** +### CiviContribute -- **Improve output triggers when logged to file ([20472](https://github.com/civicrm/civicrm-core/pull/20472))** +- **Error submitting contribution form if ""is_monetary=0"" + ([dev/wordpress#109](https://lab.civicrm.org/dev/wordpress/-/issues/109): + [#20929](https://github.com/civicrm/civicrm-core/pull/20929))** -- **Fix Schema calculation of usePrefix to cope with rpow: ([20471](https://github.com/civicrm/civicrm-core/pull/20471))** +- **Can't remove previously-added currencies + ([dev/financial#175](https://lab.civicrm.org/dev/financial/-/issues/175): + [20627](https://github.com/civicrm/civicrm-core/pull/20627))** -- **[NFC] [Test] Cleanup on membership type test ([20649](https://github.com/civicrm/civicrm-core/pull/20649))** +- **civicrm/payment/form url got empty currency argument in backoffice live CC + form ([dev/financial#150](https://lab.civicrm.org/dev/financial/-/issues/150): + [18517](https://github.com/civicrm/civicrm-core/pull/18517))** -- **[NFC/Unit test] - Add a test for getCaseRoles when there's a lot of roles assigned ([20657](https://github.com/civicrm/civicrm-core/pull/20657))** +- **"Non-static method CRM_Financial_Form_BatchTransaction::links() should not + be called statically" when viewing accounting batch + ([dev/core#2647](https://lab.civicrm.org/dev/core/-/issues/2647): + [20691](https://github.com/civicrm/civicrm-core/pull/20691))** -- **[REF] Remove always false if ([20653](https://github.com/civicrm/civicrm-core/pull/20653))** +- **pre hook is not triggered for LineItem delete + ([dev/core#2657](https://lab.civicrm.org/dev/core/-/issues/2657): + [20644](https://github.com/civicrm/civicrm-core/pull/20644))** -- **[php8-compact][REF] Fix failing custom group test on php8 by better h… ([20616](https://github.com/civicrm/civicrm-core/pull/20616))** +- **Undefined variable ids in CRM\Core\Payment\AuthorizeNetIPN.php + ([dev/core#2685](https://lab.civicrm.org/dev/core/-/issues/2685): + [20818](https://github.com/civicrm/civicrm-core/pull/20818))** -- **Add test validation for Membership & participant payments ([20621](https://github.com/civicrm/civicrm-core/pull/20621))** +- **Send pcp notification only when the contribution is completed + ([20523](https://github.com/civicrm/civicrm-core/pull/20523))** -- **[php8-compact] Fix Event Form test for php8 by setting totalAmount in… ([20623](https://github.com/civicrm/civicrm-core/pull/20623))** +- **Add missing "View Recurring Contribution" link to contribution view + ([20750](https://github.com/civicrm/civicrm-core/pull/20750))** -- **dev/core#2656 Fix getReferencesToContactTable to ignore non-id references ([20639](https://github.com/civicrm/civicrm-core/pull/20639))** + Add missing "View Recurring Contribution" link to contribution view when + displaying line items. -- **[NFC] [Test] Remove duplicate cleanup ([20647](https://github.com/civicrm/civicrm-core/pull/20647))** +### CiviEvent -- **[NFC] [TEST] cleanup, more use of return in ActivityTest ([20633](https://github.com/civicrm/civicrm-core/pull/20633))** +- **Fix bug where only one participant registration is completed + ([20654](https://github.com/civicrm/civicrm-core/pull/20654))** -- **[NFC] Cleanup on membership test ([20636](https://github.com/civicrm/civicrm-core/pull/20636))** +### CiviMail -- **[NFC] [Test] Remove duplicate cleanup ([20637](https://github.com/civicrm/civicrm-core/pull/20637))** +- **Unwanted mail blast sent by Scheduled Reminders + ([dev/core#365](https://lab.civicrm.org/dev/core/-/issues/365): + [20432](https://github.com/civicrm/civicrm-core/pull/20432) and + [19973](https://github.com/civicrm/civicrm-core/pull/19973))** -- **[NFC] Cleanup on contribution v3 api test ([20638](https://github.com/civicrm/civicrm-core/pull/20638))** + Adds Effective start and end date to the Schedule Reminder UI. -- **dev/core#2657 trigger pre hook on LineItem delete ([20644](https://github.com/civicrm/civicrm-core/pull/20644))** +- **Specifying a "Selection Method" without a location type gives a DB error + ([dev/mail#96](https://lab.civicrm.org/dev/mail/-/issues/96): + [20536](https://github.com/civicrm/civicrm-core/pull/20536))** -- **5.39 ([20646](https://github.com/civicrm/civicrm-core/pull/20646))** +- **Mailing label prints name twice + ([dev/core#2681](https://lab.civicrm.org/dev/core/-/issues/2681): + [20783](https://github.com/civicrm/civicrm-core/pull/20783))** -- **Convert Notes to use option_group instead of hardcoded list ([20554](https://github.com/civicrm/civicrm-core/pull/20554))** +- **Fix invalid defaults for Mailing.update_email_resetdate API + ([20751](https://github.com/civicrm/civicrm-core/pull/20751))** -- **Remove unreachable code from admin page ([20642](https://github.com/civicrm/civicrm-core/pull/20642))** +- **Use mysql to set mailing.created_date + ([20630](https://github.com/civicrm/civicrm-core/pull/20630))** -- **Move upgrade code to correct version ([20643](https://github.com/civicrm/civicrm-core/pull/20643))** +### Drupal Integration -- **Fixed url ([20641](https://github.com/civicrm/civicrm-core/pull/20641))** +- **hook_civicrm_buildProfile not working on Drupal 8 + ([dev/drupal#113](https://lab.civicrm.org/dev/drupal/-/issues/113): + [65](https://github.com/civicrm/civicrm-drupal-8/pull/65))** -- **Show smarty E-notices when in debug mode ([20640](https://github.com/civicrm/civicrm-core/pull/20640))** +## Miscellany -- **dev/core#2486 - Add foreign key on civicrm_contribution_product.product_id ([20553](https://github.com/civicrm/civicrm-core/pull/20553))** +- **Unused smarty variable + ([20796](https://github.com/civicrm/civicrm-core/pull/20796))** -- **[NFC] [TEST] cleanup, more use of return in AddressTest ([20635](https://github.com/civicrm/civicrm-core/pull/20635))** +- **Remove unreachable code from admin page + ([20642](https://github.com/civicrm/civicrm-core/pull/20642))** -- **SearchKit - Allow super admins to disable Search Display access checks ([20607](https://github.com/civicrm/civicrm-core/pull/20607))** +- **replace unnecessary function call with string literal + ([20634](https://github.com/civicrm/civicrm-core/pull/20634))** -- **replace unnecessary function call with string literal ([20634](https://github.com/civicrm/civicrm-core/pull/20634))** +- **APIv4 - Remove POC code leftover from early alpha development + ([20709](https://github.com/civicrm/civicrm-core/pull/20709))** -- **Use mysql to set mailing.created_date ([20630](https://github.com/civicrm/civicrm-core/pull/20630))** +- **Move upgrade code to correct version + ([20643](https://github.com/civicrm/civicrm-core/pull/20643))** -- **[NFC] [Test] Specify return values on get calls ([20632](https://github.com/civicrm/civicrm-core/pull/20632))** +- **Move determination of priceSetID to the internal order class + ([20669](https://github.com/civicrm/civicrm-core/pull/20669))** -- **AngularLoader - Emit warning when setModules method is used. ([20628](https://github.com/civicrm/civicrm-core/pull/20628))** +- **CRM_Utils_Array::asColumns() - Add helper to rotate a matrix (from rows to + columns) ([20788](https://github.com/civicrm/civicrm-core/pull/20788))** -- **dev/core#1191 [TEST][NFC] Increase setting of return in tests ([20622](https://github.com/civicrm/civicrm-core/pull/20622))** +- **CRM_Utils_Array - Implement pathUnset() method + ([20787](https://github.com/civicrm/civicrm-core/pull/20787))** -- **SearchKit - Add translatable descriptions to entities ([20598](https://github.com/civicrm/civicrm-core/pull/20598))** +- **Handle participant payment create in line item + ([20790](https://github.com/civicrm/civicrm-core/pull/20790))** -- **Improve CustomGroupTest ([20617](https://github.com/civicrm/civicrm-core/pull/20617))** +- **APIv4 Explorer - Render joins using addJoin function in OOP + ([20723](https://github.com/civicrm/civicrm-core/pull/20723))** -- **5.39 ([20629](https://github.com/civicrm/civicrm-core/pull/20629))** +- **Deprecate duplicate getLoggedInContactID() function + ([20321](https://github.com/civicrm/civicrm-core/pull/20321))** -- **dev/core#1191 Try adding a strict return function to getAndCheck ([20618](https://github.com/civicrm/civicrm-core/pull/20618))** +- **Remove deprecated function + ([20760](https://github.com/civicrm/civicrm-core/pull/20760))** -- **[php8-compact][NFC] Update testGroupClause unit test to work on php8 ([20624](https://github.com/civicrm/civicrm-core/pull/20624))** +- **Hopefully fix time rollover problem in MessageTemplateTest + ([20714](https://github.com/civicrm/civicrm-core/pull/20714))** -- **mailing#96: Warn on invalid mailing options ([20536](https://github.com/civicrm/civicrm-core/pull/20536))** +- **Extract feeBlock to it's own tpl + ([20679](https://github.com/civicrm/civicrm-core/pull/20679))** -- **[NFC] Afform - Regenerate civix files ([20615](https://github.com/civicrm/civicrm-core/pull/20615))** +- **Deprecate passing in 'null' for tax + ([20671](https://github.com/civicrm/civicrm-core/pull/20671))** -- **[NFC] Fix test setup on a couple of tests to make them pass in php8 ([20614](https://github.com/civicrm/civicrm-core/pull/20614))** +- **Add test validation for Membership & participant payments + ([20621](https://github.com/civicrm/civicrm-core/pull/20621))** -- **[php8-compact] Fix Array to String in formButtons in CRM_Core_FormTest ([20608](https://github.com/civicrm/civicrm-core/pull/20608))** +- **Fix up on invalid test data + ([20667](https://github.com/civicrm/civicrm-core/pull/20667))** -- **[php8-compact] Fix issues with participant message templates causing… ([20613](https://github.com/civicrm/civicrm-core/pull/20613))** +- **Fix test to use valid amounts + ([20668](https://github.com/civicrm/civicrm-core/pull/20668))** -- **Test cleanup - specify return ([20570](https://github.com/civicrm/civicrm-core/pull/20570))** +- **Fix test to use valid financials + ([20676](https://github.com/civicrm/civicrm-core/pull/20676))** -- **5.39 ([20612](https://github.com/civicrm/civicrm-core/pull/20612))** +- **Improve CustomGroupTest + ([20617](https://github.com/civicrm/civicrm-core/pull/20617))** -- **APIv4 - Add filter for entity tags ([20573](https://github.com/civicrm/civicrm-core/pull/20573))** +- **Test cleanup - specify return + ([20570](https://github.com/civicrm/civicrm-core/pull/20570))** -- **dev/translation#67 - Allow translation of fields which lack an explicit HTML type ([20606](https://github.com/civicrm/civicrm-core/pull/20606))** +- **Clean up code to determine line items for membership batch entry + ([20779](https://github.com/civicrm/civicrm-core/pull/20779))** -- **[NFC] Fix test failure on MySQL8 because of lack of order in API ([20605](https://github.com/civicrm/civicrm-core/pull/20605))** +- **AssetBuilderTest - Raise threshold for timeout + ([20810](https://github.com/civicrm/civicrm-core/pull/20810))** -- **[php8-compat] Alternate to the alternate for testOpeningForms ([20603](https://github.com/civicrm/civicrm-core/pull/20603))** +- **Reduce test api calls with no 'return' + ([20574](https://github.com/civicrm/civicrm-core/pull/20574))** -- **[php8-compact] Fix apiv4 tests in php8 by not incrementing an array ([20594](https://github.com/civicrm/civicrm-core/pull/20594))** +- **Fix BaseIPN test to (mostly) pass invalid financials checks + ([20785](https://github.com/civicrm/civicrm-core/pull/20785))** -- **[NFC] - update code comment ([20599](https://github.com/civicrm/civicrm-core/pull/20599))** +- **Fix test set up to user Order api + ([20780](https://github.com/civicrm/civicrm-core/pull/20780))** -- **[php8-compact] Further test fixes for php8 ([20597](https://github.com/civicrm/civicrm-core/pull/20597))** +- **[REF] Membership api for v4 (Work Towards + [dev/core#2634](https://lab.civicrm.org/dev/core/-/issues/2634): + [20759](https://github.com/civicrm/civicrm-core/pull/20759))** -- **Send pcp notification only when the contribution is completed ([20523](https://github.com/civicrm/civicrm-core/pull/20523))** +- **[Ref] Remove (more) unreachable code from order api + ([20793](https://github.com/civicrm/civicrm-core/pull/20793))** -- **[php8-compact] Fix failing AuthorizeNetIPN tests on php8 ([20596](https://github.com/civicrm/civicrm-core/pull/20596))** +- **[REF] Add in template guard for not being always set as per html format + ([20747](https://github.com/civicrm/civicrm-core/pull/20747))** -- **[php8-compact] Fix failing CRM_Core_InvokeTest on php8 ([20595](https://github.com/civicrm/civicrm-core/pull/20595))** +- **[REF] Remove isPayLater from membership batch screen + ([20396](https://github.com/civicrm/civicrm-core/pull/20396))** -- **[php8-compact] Fix Session Test errors in php8 ([20593](https://github.com/civicrm/civicrm-core/pull/20593))** +- **[REF] Extend testing on membership batch entry & minor cleanup + ([20394](https://github.com/civicrm/civicrm-core/pull/20394))** -- **Fix a few more undefined template vars ([20577](https://github.com/civicrm/civicrm-core/pull/20577))** +- **[REF] Fix trying to access array offset from boolean value + ([20734](https://github.com/civicrm/civicrm-core/pull/20734))** -- **[php8-compact] Fix Case Activity Message Template to fix test failure… ([20592](https://github.com/civicrm/civicrm-core/pull/20592))** +- **[REF] Alter new Setup process to use CiviCRM's Event Dispatcher + ([20717](https://github.com/civicrm/civicrm-core/pull/20717))** -- **Reduce test api calls with no 'return' ([20574](https://github.com/civicrm/civicrm-core/pull/20574))** +- **[REF] - Improve efficiency of APIv4 GetInfo + ([20708](https://github.com/civicrm/civicrm-core/pull/20708))** -- **[php8-compact] Fix PDF Letter Test by ensuring that all actual DB fi… ([20591](https://github.com/civicrm/civicrm-core/pull/20591))** +- **REF - Get Contact Summary tab counts after calling hook to avoid wasting + time ([20673](https://github.com/civicrm/civicrm-core/pull/20673))** -- **SearchKit - Show Pledge as a primary entity ([20589](https://github.com/civicrm/civicrm-core/pull/20589))** +- **[REF] Remove always false if + ([20653](https://github.com/civicrm/civicrm-core/pull/20653))** -- **dev/translation#67 - Add APIv4 support for "Translation" entity. ([20584](https://github.com/civicrm/civicrm-core/pull/20584))** +- **[REF] Extract CKEditor into its own core extension + ([20392](https://github.com/civicrm/civicrm-core/pull/20392))** -- **5.39 ([20585](https://github.com/civicrm/civicrm-core/pull/20585))** +- **(REF) crmUi - Support onCrmUiSelect for using select2 as a picklist + ([20789](https://github.com/civicrm/civicrm-core/pull/20789))** -- **[php8-compact] Add in guards into various templates to fix the CRM_Co… ([20579](https://github.com/civicrm/civicrm-core/pull/20579))** +- **[REF] Tidy up param transforms + ([20778](https://github.com/civicrm/civicrm-core/pull/20778))** -- **[php8-compact] Fixes test failures in the CRM_Contribute_Form_Contrib… ([20581](https://github.com/civicrm/civicrm-core/pull/20581))** +- **[REF] Follow up clean up - remove contribution_mode + ([20656](https://github.com/civicrm/civicrm-core/pull/20656))** -- **[php8-compact] Fix Dashboard Tests by adding in if guards into smarty… ([20575](https://github.com/civicrm/civicrm-core/pull/20575))** +- **[REF] Remove unnecessary variable wrangling in case roles section + ([20729](https://github.com/civicrm/civicrm-core/pull/20729))** -- **[php8-compact] Add in guards into various templates to fix issues in … ([20544](https://github.com/civicrm/civicrm-core/pull/20544))** +- **[REF] Follow up fix to fixing note entity tables in views + ([144](https://github.com/civicrm/civicrm-backdrop/pull/144))** -- **[php8-compact] Add in more protection for unset variables in various … ([20546](https://github.com/civicrm/civicrm-core/pull/20546))** +- **[REF] Follow up fix to fixing note entity tables in views + ([646](https://github.com/civicrm/civicrm-drupal/pull/646))** -- **[php8-compact] Add in protection for unset variables in admin smarty … ([20547](https://github.com/civicrm/civicrm-core/pull/20547))** +- **[NFC] - update code comment + ([20599](https://github.com/civicrm/civicrm-core/pull/20599))** -- **5.39 to master ([20576](https://github.com/civicrm/civicrm-core/pull/20576))** +- **[NFC] Fix test failure on MySQL8 because of lack of order in API + ([20605](https://github.com/civicrm/civicrm-core/pull/20605))** -- **[php8-compact] Add in guards into common templates to assit with fixi… ([20543](https://github.com/civicrm/civicrm-core/pull/20543))** +- **[NFC] [Test] Remove duplicate cleanup + ([20647](https://github.com/civicrm/civicrm-core/pull/20647))** -- **5.39 ([20568](https://github.com/civicrm/civicrm-core/pull/20568))** +- **[NFC] [TEST] cleanup, more use of return in ActivityTest + ([20633](https://github.com/civicrm/civicrm-core/pull/20633))** -- **Add pseudoconstant to acl_entity_role ([20566](https://github.com/civicrm/civicrm-core/pull/20566))** +- **[NFC] Cleanup on membership test + ([20636](https://github.com/civicrm/civicrm-core/pull/20636))** -- **Throw exception rather than allow php fail ([20565](https://github.com/civicrm/civicrm-core/pull/20565))** +- **[NFC] [Test] Remove duplicate cleanup + ([20637](https://github.com/civicrm/civicrm-core/pull/20637))** -- **(dev/core#365) Scheduled Reminders - Add effective start and end date to admin UI ([20432](https://github.com/civicrm/civicrm-core/pull/20432))** +- **[NFC] Cleanup on contribution v3 api test + ([20638](https://github.com/civicrm/civicrm-core/pull/20638))** -- **(dev/core#365) Scheduled Reminders - Add effective end and start date, extend unit test ([19973](https://github.com/civicrm/civicrm-core/pull/19973))** +- **[NFC] Add in unit test to lock in the fix for the is_deleted in where clause + issue ([20733](https://github.com/civicrm/civicrm-core/pull/20733))** -- **[REF] Follow up fix to fixing note entity tables in views ([646](https://github.com/civicrm/civicrm-drupal/pull/646))** +- **[NFC] Afform - Regenerate civix files + ([20615](https://github.com/civicrm/civicrm-core/pull/20615))** -- **dev/drupal#113 - Include additional civicrm core resources when building a UserProfile ([65](https://github.com/civicrm/civicrm-drupal-8/pull/65))** +- **[NFC] Fix test setup on a couple of tests to make them pass in php8 + ([20614](https://github.com/civicrm/civicrm-core/pull/20614))** -- **Fail gracefully when errors are detected ([251](https://github.com/civicrm/civicrm-wordpress/pull/251))** +- **[NFC] Update various npm depdencies used only in unit testing + ([20748](https://github.com/civicrm/civicrm-core/pull/20748))** -- **[REF] Follow up fix to fixing note entity tables in views ([144](https://github.com/civicrm/civicrm-backdrop/pull/144))** +- **[NFC] Improve use of return parameters in ContributionPage test class + ([20648](https://github.com/civicrm/civicrm-core/pull/20648))** -## Miscellany +- **[NFC] Unit test for 20602 + ([20745](https://github.com/civicrm/civicrm-core/pull/20745))** + +- **[NFC] Remove boilerplate comment block from APIv4 classes + ([20700](https://github.com/civicrm/civicrm-core/pull/20700))** + +- **[NFC] Github action script to run regen.sh for you + ([20680](https://github.com/civicrm/civicrm-core/pull/20680))** + +- **[NFC] Regenerate ContributeProduct DAO and also fix search_kit install on + MySQL 5.6 on test boxes + ([20674](https://github.com/civicrm/civicrm-core/pull/20674))** + +- **[NFC] Fixes an issue in this unit test where we are trying to do an array + access on an integer + ([20652](https://github.com/civicrm/civicrm-core/pull/20652))** + +- **[NFC] [Test] Cleanup on membership type test + ([20649](https://github.com/civicrm/civicrm-core/pull/20649))** + +- **[NFC/Unit test] - Add a test for getCaseRoles when there's a lot of roles + assigned ([20657](https://github.com/civicrm/civicrm-core/pull/20657))** + +- **[NFC] [TEST] cleanup, more use of return in AddressTest + ([20635](https://github.com/civicrm/civicrm-core/pull/20635))** + +- **[NFC] [Test] Specify return values on get calls + ([20632](https://github.com/civicrm/civicrm-core/pull/20632))** + +- **[TEST][NFC] CiviCRM reaching MySQL join limit (Work Towards + [dev/core#1191](https://lab.civicrm.org/dev/core/-/issues/1191): + [20618](https://github.com/civicrm/civicrm-core/pull/20618) and + [20622](https://github.com/civicrm/civicrm-core/pull/20622))** + +- **[php8-compact][NFC] Update testGroupClause unit test to work on php8 + ([20624](https://github.com/civicrm/civicrm-core/pull/20624))** + +- **[php8-compact][REF] Fix failing custom group test on php8 by better handling + strings in 2nd key of the extends array and also validating the child and main + entity work ([20616](https://github.com/civicrm/civicrm-core/pull/20616))** + +- **[php8-compact] Fix APIv4 Group Concat Test by setting dataType to be NULL if + the first expression is a SQL Function + ([20655](https://github.com/civicrm/civicrm-core/pull/20655))** + +- **[php8-compact] Fix issues with participant message templates causing Event + Tests to fail ([20613](https://github.com/civicrm/civicrm-core/pull/20613))** + +- **[php8-compact] Add in guards into common templates to assit with fixing test + failures on php8 + ([20543](https://github.com/civicrm/civicrm-core/pull/20543))** + +- **[php8-compact] Fix Array to String in formButtons in CRM_Core_FormTest + ([20608](https://github.com/civicrm/civicrm-core/pull/20608))** + +- **[php8-compact] Fix Event Form test for php8 by setting totalAmount in the + form params ([20623](https://github.com/civicrm/civicrm-core/pull/20623))** + +- **[php8-compat] Alternate to the alternate for testOpeningForms + ([20603](https://github.com/civicrm/civicrm-core/pull/20603))** + +- **[php8-compact] Fix apiv4 tests in php8 by not incrementing an array + ([20594](https://github.com/civicrm/civicrm-core/pull/20594))** + +- **[php8-compact] Further test fixes for php8 + ([20597](https://github.com/civicrm/civicrm-core/pull/20597))** + +- **[php8-compact] Fix failing AuthorizeNetIPN tests on php8 + ([20596](https://github.com/civicrm/civicrm-core/pull/20596))** + +- **[php8-compact] Fix failing CRM_Core_InvokeTest on php8 + ([20595](https://github.com/civicrm/civicrm-core/pull/20595))** + +- **[php8-compact] Fix Session Test errors in php8 + ([20593](https://github.com/civicrm/civicrm-core/pull/20593))** + +- **[php8-compact] Fix Case Activity Message Template to fix test failure in + php8 ([20592](https://github.com/civicrm/civicrm-core/pull/20592))** + +- **[php8-compact] Fix PDF Letter Test by ensuring that all actual DB fields + are in the tokens array and also by resetting the static cache of tokens + ([20591](https://github.com/civicrm/civicrm-core/pull/20591))** + +- **[php8-compact] Add in guards into various templates to fix the + CRM_Contact_Form_IndividualTest suite + ([20579](https://github.com/civicrm/civicrm-core/pull/20579))** + +- **[php8-compact] Fixes test failures in the + CRM_Contribute_Form_ContributionTest class due to template issues + ([20581](https://github.com/civicrm/civicrm-core/pull/20581))** + +- **[php8-compact] Fix Dashboard Tests by adding in if guards into smarty + templates ([20575](https://github.com/civicrm/civicrm-core/pull/20575))** + +- **[php8-compact] Add in guards into various templates to fix issues in test + runs on php8 ([20544](https://github.com/civicrm/civicrm-core/pull/20544))** ## Credits This release was developed by the following code authors: -; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman; akosgarai; Australian Greens - John Twyman; Blackfly Solutions - Alan Dixon; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Debarshi Bhaumik; Dave D; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; sadashivdalvi; Skvare - Sunil Pawar; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin +Freeman; Akos Garai; Australian Greens - John Twyman; Blackfly Solutions - Alan +Dixon; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap +Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Debarshi Bhaumik; Dave +D; Gokhalemethod- Sadashiv; iXiam - Luciano Spiegel; JMA Consulting - Monish +Deb, Seamus Lee; Lemniscus - Noah Miller; Lighthouse Consulting and Design - +Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW +Consulting - Matthew Wire; Skvare - Sunil Pawar; Wikimedia Foundation - Eileen +McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -Agileware - Justin Freeman; akosgarai; Artful Robot - Rich Lott; Australian Greens - John Twyman; Bob Silvern; Christian Wach; civibot[bot]; CiviCoop - Jaap Jansma, Klaas Eikelboom; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Debarshi Bhaumik; Coop SymbioTIC - Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Ray Wright; sadashivdalvi; Semper IT - Karin Gerritsen; Skvare - Sunil Pawar; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Tech To The People - Xavier Dutoit; Third Sector Design - Michael McAndrew; Web Access - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton +Artful Robot - Rich Lott; Bob Silvern; CiviCoop - Klaas Eikelboom; CiviDesk - +Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Freeform Solutions - Herb van +den Dool; Fuzion - Jitendra Purohit; JMA Consulting - Joe Murray; Ray Wright; +Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole +Collective - Kevin Cristiano; Tech To The People - Xavier Dutoit; Third Sector +Design - Michael McAndrew; Web Access - Kurund Jalmi ## Feedback -These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like +These release notes are edited by Alice Frumin and Andie Hunt. If you'd like to provide feedback on them, please log in to https://chat.civicrm.org/civicrm and contact `@agh1`. -