5.40.0 release notes: added late changes
[civicrm-core.git] / release-notes / 5.40.0.md
CommitLineData
ba3bb40e
AH
1# CiviCRM 5.40.0
2
d30fe70a 3Released August 4, 2021
ba3bb40e 4
d30fe70a 5- **[Synopsis](#synopsis)**
ba3bb40e
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
d30fe70a
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
04ae6d84
AF
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| Require attention to configuration options? | no |
20| **Fix problems installing or upgrading to a previous version?** | **yes** |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
ba3bb40e
AH
23
24## <a name="features"></a>Features
25
ba3bb40e
AH
26### Core CiviCRM
27
04ae6d84
AF
28- **Move check for presence of the phone strip function to a Check (currently
29 done whenever a phone number is edited)
30 ([dev/core#27](https://lab.civicrm.org/dev/core/-/issues/27):
31 [20757](https://github.com/civicrm/civicrm-core/pull/20757))**
ba3bb40e 32
04ae6d84
AF
33 Adds a new system status check "Missing Phone numeric check" instead of
34 checking when crudding phone numbers.
ba3bb40e 35
04ae6d84
AF
36- **Searchkit display with event location data
37 ([dev/core#2676](https://lab.civicrm.org/dev/core/-/issues/2676):
38 [20746](https://github.com/civicrm/civicrm-core/pull/20746))**
ba3bb40e 39
04ae6d84 40 Adds LocBlock entity to display event location data in SearchKit.
ba3bb40e 41
04ae6d84
AF
42- **SearchKit - Allow super admins to disable Search Display access checks
43 ([20607](https://github.com/civicrm/civicrm-core/pull/20607))**
ba3bb40e 44
04ae6d84
AF
45 Allows users with 'all CiviCRM permissions and ACLs' to configure a search
46 display to bypass permission checks and display all records to the user.
ba3bb40e 47
04ae6d84
AF
48- **SearchKit - Add translatable descriptions to entities
49 ([20598](https://github.com/civicrm/civicrm-core/pull/20598))**
ba3bb40e 50
04ae6d84
AF
51 Adds user-friendly descriptions to the top-level entities in SearchKit, and
52 makes it possible to add them to other entities as well.
ba3bb40e 53
04ae6d84
AF
54- **SearchKit - Show Pledge as a primary entity
55 ([20589](https://github.com/civicrm/civicrm-core/pull/20589))**
ba3bb40e 56
04ae6d84
AF
57 Shows Pledges as a primary entity in SearchKit, since it has its own tab on
58 the contact summary screen.
ba3bb40e 59
04ae6d84
AF
60- **SearchKit - Add ability to join on multi-select ContactRef fields
61 ([20764](https://github.com/civicrm/civicrm-core/pull/20764))**
ba3bb40e 62
04ae6d84
AF
63 Improves support for custom contact Reference fields in APIv4, SearchKit, and
64 Afform. Makes it possible to save, search for, and filter by serialized
65 (multi-select) custom Contact Reference fields.
ba3bb40e 66
04ae6d84
AF
67- **Improve api consistency on custom field creation
68 ([20743](https://github.com/civicrm/civicrm-core/pull/20743))**
ba3bb40e 69
04ae6d84
AF
70 Makes it so the parameter "option_type" is not needed to create an
71 option_value in APIv4.
ba3bb40e 72
04ae6d84
AF
73- **APIv4 Explorer: show joins for write actions
74 ([20731](https://github.com/civicrm/civicrm-core/pull/20731))**
ba3bb40e 75
04ae6d84 76 Displays information about joins for write operations in the API Explorer.
ba3bb40e 77
04ae6d84
AF
78- **APIv4 - Add `@since` annotation to each entity
79 ([20701](https://github.com/civicrm/civicrm-core/pull/20701))**
ba3bb40e 80
04ae6d84 81 Adds since version for each entity to APIv4 code documentation.
ba3bb40e 82
04ae6d84
AF
83- **APIv4 - Allow FK dot notation in create/update/save actions
84 ([20677](https://github.com/civicrm/civicrm-core/pull/20677))**
ba3bb40e 85
04ae6d84
AF
86 Makes it possible to reference other entities during create without knowing
87 their ID when using the APIv4. Makes it easier to package entities e.g. with
88 civicrm_managed.
ba3bb40e 89
04ae6d84
AF
90- **APIv4 - Add filter for entity tags
91 ([20573](https://github.com/civicrm/civicrm-core/pull/20573))**
ba3bb40e 92
04ae6d84
AF
93 Adds a SearchKit/APIv4 filter for tags similar to the "groups" filter recently
94 added to SearchKit.
ba3bb40e 95
04ae6d84
AF
96- **APIv4 - add is_current as a pseudo (calculated) field
97 ([20586](https://github.com/civicrm/civicrm-core/pull/20586))**
ba3bb40e 98
04ae6d84
AF
99 Adds an "is_current" field to SearchKit for relationships, events & campaigns.
100 It checks that the record is active and has a non-past end date and a
101 non-future start date.
ba3bb40e 102
04ae6d84
AF
103- **APIv4 Explorer - When joining via EntityBridge, make bridge fields
104 selectable ([20721](https://github.com/civicrm/civicrm-core/pull/20721))**
ba3bb40e 105
04ae6d84 106 Improves the APIv4 Explorer by displaying bridge fields.
ba3bb40e 107
04ae6d84
AF
108- **Canonize API for storing translated data (Work Towards
109 [dev/translation#67](https://lab.civicrm.org/dev/translation/-/issues/67):
110 [20606](https://github.com/civicrm/civicrm-core/pull/20606) and
111 [20584](https://github.com/civicrm/civicrm-core/pull/20584))**
ba3bb40e 112
04ae6d84
AF
113 Adds APIv4 support for the "Translation" entity. Allows translation of fields
114 which lack an explicit HTML type.
ba3bb40e 115
04ae6d84
AF
116- **Apiv4 entity parity
117 (Work Towards [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486):
118 [20553](https://github.com/civicrm/civicrm-core/pull/20553))**
ba3bb40e 119
04ae6d84 120 Adds a foreign key on civicrm_contribution_product.product_id.
ba3bb40e 121
04ae6d84
AF
122- **Add calling function to deprecatedWarning log message
123 ([20719](https://github.com/civicrm/civicrm-core/pull/20719))**
ba3bb40e 124
04ae6d84 125 Improves logging.
ba3bb40e 126
04ae6d84
AF
127- **Add contact-summary-image region
128 ([20662](https://github.com/civicrm/civicrm-core/pull/20662))**
ba3bb40e 129
04ae6d84 130 Adds a new region around the contact summary image.
ba3bb40e 131
04ae6d84
AF
132- **Replace extension key with description in 'Add New' tab
133 ([20720](https://github.com/civicrm/civicrm-core/pull/20720))**
ba3bb40e 134
04ae6d84
AF
135 Improves the "Extensions" -> "Add New" form user experience by displaying the
136 description below the extension name instead of the extension key.
ba3bb40e 137
04ae6d84
AF
138- **User experience improvement - Remove the confusing mixed terminology used to
139 describe Tags: "Tags (Categories)" and "Tag (Category)"
140 ([20268](https://github.com/civicrm/civicrm-core/pull/20268))**
ba3bb40e 141
04ae6d84
AF
142 Improves user experience by removing the term "Category" when referencing
143 tags.
ba3bb40e 144
04ae6d84
AF
145- **Improve output triggers when logged to file
146 ([20472](https://github.com/civicrm/civicrm-core/pull/20472))**
ba3bb40e 147
04ae6d84
AF
148 Improves output triggers when logged to a file by adding an asort, putting all
149 the triggers into an array keyed by the statement and opening and closing the
150 delimiters just once.
ba3bb40e 151
04ae6d84
AF
152- **Show smarty E-notices when in debug mode
153 ([20640](https://github.com/civicrm/civicrm-core/pull/20640))**
ba3bb40e 154
04ae6d84
AF
155 Improves the user experience in debug mode by showing php notices (e.g.
156 "undefined variable").
ba3bb40e 157
04ae6d84
AF
158- **Add pseudoconstant to acl_entity_role
159 ([20566](https://github.com/civicrm/civicrm-core/pull/20566))**
ba3bb40e 160
04ae6d84 161 Adds a pseudoconstant for `acl_entity_role`.
ba3bb40e 162
04ae6d84
AF
163- **[php8-compact] Allow for CiviCRM to be installed by 3rd parties using
164 composer on php8 systems
165 ([20625](https://github.com/civicrm/civicrm-core/pull/20625))**
ba3bb40e 166
04ae6d84
AF
167 Makes it so sites can install and update CiviCRM via CLI when their CLI uses
168 PHP8.
ba3bb40e 169
04ae6d84 170### CiviContribute
ba3bb40e 171
04ae6d84
AF
172- **Move financialACLs to a core extension (Work Towards
173 [dev/core#2115](https://lab.civicrm.org/dev/core/-/issues/2115):
174 [20761](https://github.com/civicrm/civicrm-core/pull/20761),
175 [20762](https://github.com/civicrm/civicrm-core/pull/20762) and
176 [20769](https://github.com/civicrm/civicrm-core/pull/20769))**
ba3bb40e 177
04ae6d84
AF
178 Moves financial acl code out of APIv3 Contribution.create and assorted cleanup
179 towards moving the Financial ACL code to an extension.
ba3bb40e 180
04ae6d84
AF
181- **Proposal - make future recurring contribution instances modifiable & not
182 fail if the only contribution is deleted. (Work Towards
183 [dev/financial#6](https://lab.civicrm.org/dev/financial/-/issues/6):
184 [20452](https://github.com/civicrm/civicrm-core/pull/20452),
185 [20451](https://github.com/civicrm/civicrm-core/pull/20451) and
186 [20450](https://github.com/civicrm/civicrm-core/pull/20450))**
ba3bb40e 187
04ae6d84 188 Work to make it possible to edit recurring contributions.
ba3bb40e 189
04ae6d84
AF
190- **Make Order api easier to use for default price set
191 ([20681](https://github.com/civicrm/civicrm-core/pull/20681))**
ba3bb40e 192
04ae6d84
AF
193 Improves the order api by making it not necessary to figure out the details of
194 the default price set when using it to create memberships.
ba3bb40e 195
04ae6d84 196### CiviSMS
ba3bb40e 197
04ae6d84
AF
198- **Display SMS segment count when constructing a Mass SMS
199 ([dev/core#1711](https://lab.civicrm.org/dev/core/-/issues/1711):
200 [20722](https://github.com/civicrm/civicrm-core/pull/20722) and
201 [20220](https://github.com/civicrm/civicrm-core/pull/20220))**
ba3bb40e 202
04ae6d84
AF
203 Modifies the javascript that shows the character count when creating a SMS
204 message so that it also shows how many SMS segments are required to send the
205 message.
ba3bb40e 206
04ae6d84 207### WordPress Integration
ba3bb40e 208
04ae6d84
AF
209- **Fail gracefully when errors are detected
210 ([251](https://github.com/civicrm/civicrm-wordpress/pull/251))**
ba3bb40e 211
04ae6d84
AF
212 Rewrites the error checking that the WordPress plugin performs and fails
213 gracefully instead of throwing fatal errors and making WordPress inoperable.
214 Introduces a "CiviCRM Troubleshooting" page to help diagnose and fix problems.
ba3bb40e 215
04ae6d84 216## <a name="bugs"></a>Bugs resolved
ba3bb40e 217
04ae6d84 218### Core CiviCRM
ba3bb40e 219
0ca33b8c
AH
220- **Regression: Smart group rebuild in default config crashes cron
221 ([dev/core#2687](https://lab.civicrm.org/dev/core/-/issues/2687):
222 [20835](https://github.com/civicrm/civicrm-core/pull/20835))**
223
224- **Syntax errors when loading sample data
225 ([dev/drupal#161](https://lab.civicrm.org/dev/drupal/-/issues/161):
226 [20925](https://github.com/civicrm/civicrm-core/pull/20925))**
227
228- **During upgrade ConfigAndLog has errors about crm-l10n.js for every upgrade
229 step because assets aren't built during upgrade
230 ([dev/core#2666](https://lab.civicrm.org/dev/core/-/issues/2666):
231 [20890](https://github.com/civicrm/civicrm-core/pull/20890))**
232
04ae6d84
AF
233- **Exporting in localized civicrm crashes due to long translation for
234 preferred_mail_format varchar(8) field.
235 ([dev/core#2645](https://lab.civicrm.org/dev/core/-/issues/2645):
236 [20626](https://github.com/civicrm/civicrm-core/pull/20626))**
ba3bb40e 237
04ae6d84
AF
238- **failing update Smart Groups for installs with none
239 ([dev/core#2659](https://lab.civicrm.org/dev/core/-/issues/2659):
240 [20756](https://github.com/civicrm/civicrm-core/pull/20756))**
ba3bb40e 241
04ae6d84
AF
242- **Menu link for "New Tag" doesn't quite work
243 ([dev/core#2660](https://lab.civicrm.org/dev/core/-/issues/2660):
244 [20686](https://github.com/civicrm/civicrm-core/pull/20686))**
ba3bb40e 245
04ae6d84
AF
246 Points the "New Tag" menu link to form to create a new tag instead of "Manage
247 Tags" form.
ba3bb40e 248
04ae6d84
AF
249- **Special characters in password cause trouble.
250 ([dev/core#2663](https://lab.civicrm.org/dev/core/-/issues/2663):
251 [20713](https://github.com/civicrm/civicrm-core/pull/20713))**
ba3bb40e 252
04ae6d84
AF
253- **Upgrade to Nightly (5.40.alpha1) from Stable (5.38.1) fails with DB Error:
254 constraint violation
255 ([dev/core#2680](https://lab.civicrm.org/dev/core/-/issues/2680):
256 [20814](https://github.com/civicrm/civicrm-core/pull/20814))**
ba3bb40e 257
04ae6d84
AF
258- **Afform - cosmetic fixes in palette panel
259 ([20755](https://github.com/civicrm/civicrm-core/pull/20755))**
ba3bb40e 260
04ae6d84
AF
261- **Search-kit - declaring joins breaks deduping
262 ([dev/core#2656](https://lab.civicrm.org/dev/core/-/issues/2656):
263 [20631](https://github.com/civicrm/civicrm-core/pull/20631) and
264 [20639](https://github.com/civicrm/civicrm-core/pull/20639))**
ba3bb40e 265
04ae6d84
AF
266- **SearchKit - use primary_key info instead of assuming 'id'
267 ([20763](https://github.com/civicrm/civicrm-core/pull/20763))**
ba3bb40e 268
04ae6d84
AF
269 Fixes a bug in SearchKit when dealing with entities without "id" as their
270 primary key field.
ba3bb40e 271
04ae6d84
AF
272- **SearchKit - Remove automatic filter from address
273 ([20803](https://github.com/civicrm/civicrm-core/pull/20803))**
ba3bb40e 274
04ae6d84
AF
275 Usability fix for SearchKit - stops automatically add "Location Type" to the
276 search when joining with Address.
ba3bb40e 277
04ae6d84
AF
278- **OR term in WHERE clause crashes Search Kit
279 ([dev/report#71](https://lab.civicrm.org/dev/report/-/issues/71):
280 [20824](https://github.com/civicrm/civicrm-core/pull/20824))**
ba3bb40e 281
04ae6d84 282 Fixes an error when saving or opening a search with an OR group in a clause.
ba3bb40e 283
04ae6d84
AF
284- **[php8-compact] Add in more protection for unset variables in various smarty
285 templates ([20546](https://github.com/civicrm/civicrm-core/pull/20546) and
286 [20547](https://github.com/civicrm/civicrm-core/pull/20547))**
ba3bb40e 287
04ae6d84
AF
288- **APIv4 - Silently ignore non-permissioned fields instead of throwing
289 exceptions ([20724](https://github.com/civicrm/civicrm-core/pull/20724))**
ba3bb40e 290
04ae6d84
AF
291- **APIv4 - Fix same-table joins and remove unused code
292 ([20715](https://github.com/civicrm/civicrm-core/pull/20715))**
ba3bb40e 293
04ae6d84
AF
294- **APIv4 - Don't assume the identifier field for a table is named 'id'
295 ([20707](https://github.com/civicrm/civicrm-core/pull/20707) and
296 [20749](https://github.com/civicrm/civicrm-core/pull/20749))**
ba3bb40e 297
04ae6d84
AF
298- **APIv4 - Deprecate Entity::getLinks action
299 ([20727](https://github.com/civicrm/civicrm-core/pull/20727))**
ba3bb40e 300
04ae6d84
AF
301- **APIv4 - Deprecate passing 'id' to basic actions
302 ([20765](https://github.com/civicrm/civicrm-core/pull/20765))**
ba3bb40e 303
04ae6d84
AF
304- **APIv4 Explorer - Only apply default limit 25 for "get" action
305 ([20698](https://github.com/civicrm/civicrm-core/pull/20698))**
ba3bb40e 306
04ae6d84
AF
307- **Force cleanup of setting value type "checkboxes" when is empty
308 ([20600](https://github.com/civicrm/civicrm-core/pull/20600))**
ba3bb40e 309
04ae6d84
AF
310 Fixes a bug where custom settings of the type "checkboxes" with no checked
311 values were not saving to the database correctly.
ba3bb40e 312
04ae6d84
AF
313- **Fix activity_date_time_relative filter when `preserve_activity_tab_filter`
314 setting is on ([20602](https://github.com/civicrm/civicrm-core/pull/20602))**
ba3bb40e 315
04ae6d84
AF
316- **Support saving more than 25 records in Profile.submit api
317 ([20744](https://github.com/civicrm/civicrm-core/pull/20744))**
ba3bb40e 318
04ae6d84
AF
319- **Fix schema support for composite primary keys
320 ([20705](https://github.com/civicrm/civicrm-core/pull/20705))**
ba3bb40e 321
04ae6d84
AF
322- **Fix sorting for drop triggers
323 ([20693](https://github.com/civicrm/civicrm-core/pull/20693))**
ba3bb40e 324
04ae6d84
AF
325- **Fix Schema calculation of usePrefix to cope with rpow:
326 ([20471](https://github.com/civicrm/civicrm-core/pull/20471))**
ba3bb40e 327
04ae6d84 328- **Fixed url ([20641](https://github.com/civicrm/civicrm-core/pull/20641))**
ba3bb40e 329
04ae6d84
AF
330- **Ensure custom group name does not conflict with existing field
331 ([20694](https://github.com/civicrm/civicrm-core/pull/20694))**
ba3bb40e 332
04ae6d84
AF
333- **Force the right path in github action script
334 ([20688](https://github.com/civicrm/civicrm-core/pull/20688))**
ba3bb40e 335
04ae6d84
AF
336 The original script ran in a repo called civicrm-regen, but because the name
337 of this repo is civicrm-core and hence the github workspace folder contains
338 the literal "civicrm-core" in it, the civicrm.config.php file determines that
339 this must be a composer install, and so it gets the path to
340 civicrm.settings.php wrong.
ba3bb40e 341
04ae6d84
AF
342- **Always assign mode to smarty
343 ([20664](https://github.com/civicrm/civicrm-core/pull/20664))**
ba3bb40e 344
04ae6d84
AF
345- **AngularLoader - Emit warning when setModules method is used.
346 ([20628](https://github.com/civicrm/civicrm-core/pull/20628))**
ba3bb40e 347
04ae6d84
AF
348 Emits a warning when extensions do something that could potentially cause
349 problems with other extensions.
ba3bb40e 350
04ae6d84
AF
351- **Throw exception when baoName is not found
352 ([20696](https://github.com/civicrm/civicrm-core/pull/20696) and
353 [20742](https://github.com/civicrm/civicrm-core/pull/20742))**
ba3bb40e 354
04ae6d84
AF
355- **Convert Notes to use option_group instead of hardcoded list
356 ([20554](https://github.com/civicrm/civicrm-core/pull/20554))**
ba3bb40e 357
04ae6d84
AF
358- **Fix a few more undefined template vars
359 ([20577](https://github.com/civicrm/civicrm-core/pull/20577) and
360 [20684](https://github.com/civicrm/civicrm-core/pull/20684))**
ba3bb40e 361
04ae6d84
AF
362- **CKEditor - Fix .tpl insertion on every form
363 ([20846](https://github.com/civicrm/civicrm-core/pull/20846))**
ba3bb40e 364
04ae6d84
AF
365- **Fix undefined tpl vars in CiviReport
366 ([20797](https://github.com/civicrm/civicrm-core/pull/20797))**
ba3bb40e 367
04ae6d84
AF
368- **smarty notice - title is only set for a list of existing report instances
369 ([20771](https://github.com/civicrm/civicrm-core/pull/20771))**
ba3bb40e 370
04ae6d84
AF
371- **smarty notice - confirm_message is usually irrelevant in report listings
372 ([20772](https://github.com/civicrm/civicrm-core/pull/20772))**
ba3bb40e 373
04ae6d84
AF
374- **Minor tpl simplificaiton, notice reduction
375 ([20663](https://github.com/civicrm/civicrm-core/pull/20663))**
ba3bb40e 376
04ae6d84
AF
377- **Fix undefined tpl variables on contact summary
378 ([20659](https://github.com/civicrm/civicrm-core/pull/20659))**
ba3bb40e 379
04ae6d84
AF
380- **Some php warnings on new case
381 ([20712](https://github.com/civicrm/civicrm-core/pull/20712))**
ba3bb40e 382
04ae6d84
AF
383- **Remove deprecated use of format money
384 ([20697](https://github.com/civicrm/civicrm-core/pull/20697))**
ba3bb40e 385
04ae6d84
AF
386- **Fix possibly undefined custom groupTree tpl variable
387 ([20737](https://github.com/civicrm/civicrm-core/pull/20737))**
ba3bb40e 388
04ae6d84
AF
389- **Fix undefined tpl vars on contact summary page
390 ([20754](https://github.com/civicrm/civicrm-core/pull/20754))**
ba3bb40e 391
04ae6d84
AF
392- **Tpl enotice fix
393 ([20735](https://github.com/civicrm/civicrm-core/pull/20735))**
ba3bb40e 394
04ae6d84
AF
395- **Fix undefined indexes in tpls
396 ([20781](https://github.com/civicrm/civicrm-core/pull/20781))**
ba3bb40e 397
04ae6d84
AF
398- **Enotice fix Remove references to savedFieldMapping in page 2 of the import
399 ([20738](https://github.com/civicrm/civicrm-core/pull/20738))**
ba3bb40e 400
04ae6d84
AF
401- **Fix undefined tpl vars on custom field page
402 ([20726](https://github.com/civicrm/civicrm-core/pull/20726))**
ba3bb40e 403
04ae6d84
AF
404- **Fix often undefined variable $row.class in tpl tables
405 ([20725](https://github.com/civicrm/civicrm-core/pull/20725))**
ba3bb40e 406
04ae6d84
AF
407- **Throw exception rather than allow php fail
408 ([20565](https://github.com/civicrm/civicrm-core/pull/20565))**
ba3bb40e 409
04ae6d84
AF
410 Throws an exception rather than allow php fail when the api class is not
411 found.
ba3bb40e 412
04ae6d84
AF
413- **Proposal - store metadata on membership renewal on line item (Work Towards
414 [dev/membership#29](https://lab.civicrm.org/dev/membership/-/issues/29):
415 [20672](https://github.com/civicrm/civicrm-core/pull/20672))**
ba3bb40e 416
04ae6d84 417 Adds a new column to the civicrm_line_item table: membership_num_terms.
ba3bb40e 418
0ca33b8c
AH
419- **Failing api4 test
420 api.v4.Action.CreateWithOptionGroupTest.testWithCustomDataForMultipleContacts
421 ([dev/core#2699](https://lab.civicrm.org/dev/core/-/issues/2699):
422 [20928](https://github.com/civicrm/civicrm-core/pull/20928))**
423
04ae6d84 424### CiviCase
ba3bb40e 425
04ae6d84
AF
426- **Case Manager is not shown for closed cases.
427 ([dev/core#542](https://lab.civicrm.org/dev/core/-/issues/542) and
428 [dev/core#1947](https://lab.civicrm.org/dev/core/-/issues/1947):
429 [19737](https://github.com/civicrm/civicrm-core/pull/19737))**
ba3bb40e 430
04ae6d84 431 Ensures inactive active case role are shown for closed cases.
ba3bb40e 432
04ae6d84
AF
433- **Some php warnings on case dashboard
434 ([20711](https://github.com/civicrm/civicrm-core/pull/20711))**
ba3bb40e 435
04ae6d84
AF
436- **smarty notice - case dashboard when no upcoming/recent cases
437 ([20770](https://github.com/civicrm/civicrm-core/pull/20770))**
ba3bb40e 438
04ae6d84
AF
439- **smarty notices - New case screen - Case.hlp
440 ([20795](https://github.com/civicrm/civicrm-core/pull/20795))**
ba3bb40e 441
04ae6d84
AF
442- **Error when sorting case roles table by end date
443 ([20728](https://github.com/civicrm/civicrm-core/pull/20728))**
ba3bb40e 444
04ae6d84 445### CiviContribute
ba3bb40e 446
04ae6d84
AF
447- **Can't remove previously-added currencies
448 ([dev/financial#175](https://lab.civicrm.org/dev/financial/-/issues/175):
449 [20627](https://github.com/civicrm/civicrm-core/pull/20627))**
ba3bb40e 450
04ae6d84
AF
451- **civicrm/payment/form url got empty currency argument in backoffice live CC
452 form ([dev/financial#150](https://lab.civicrm.org/dev/financial/-/issues/150):
453 [18517](https://github.com/civicrm/civicrm-core/pull/18517))**
ba3bb40e 454
04ae6d84
AF
455- **"Non-static method CRM_Financial_Form_BatchTransaction::links() should not
456 be called statically" when viewing accounting batch
457 ([dev/core#2647](https://lab.civicrm.org/dev/core/-/issues/2647):
458 [20691](https://github.com/civicrm/civicrm-core/pull/20691))**
ba3bb40e 459
04ae6d84
AF
460- **pre hook is not triggered for LineItem delete
461 ([dev/core#2657](https://lab.civicrm.org/dev/core/-/issues/2657):
462 [20644](https://github.com/civicrm/civicrm-core/pull/20644))**
ba3bb40e 463
04ae6d84
AF
464- **Undefined variable ids in CRM\Core\Payment\AuthorizeNetIPN.php
465 ([dev/core#2685](https://lab.civicrm.org/dev/core/-/issues/2685):
466 [20818](https://github.com/civicrm/civicrm-core/pull/20818))**
ba3bb40e 467
04ae6d84
AF
468- **Send pcp notification only when the contribution is completed
469 ([20523](https://github.com/civicrm/civicrm-core/pull/20523))**
ba3bb40e 470
04ae6d84
AF
471- **Add missing "View Recurring Contribution" link to contribution view
472 ([20750](https://github.com/civicrm/civicrm-core/pull/20750))**
ba3bb40e 473
04ae6d84
AF
474 Add missing "View Recurring Contribution" link to contribution view when
475 displaying line items.
ba3bb40e 476
04ae6d84 477### CiviEvent
ba3bb40e 478
04ae6d84
AF
479- **Fix bug where only one participant registration is completed
480 ([20654](https://github.com/civicrm/civicrm-core/pull/20654))**
ba3bb40e 481
04ae6d84 482### CiviMail
ba3bb40e 483
04ae6d84
AF
484- **Unwanted mail blast sent by Scheduled Reminders
485 ([dev/core#365](https://lab.civicrm.org/dev/core/-/issues/365):
486 [20432](https://github.com/civicrm/civicrm-core/pull/20432) and
487 [19973](https://github.com/civicrm/civicrm-core/pull/19973))**
ba3bb40e 488
04ae6d84 489 Adds Effective start and end date to the Schedule Reminder UI.
ba3bb40e 490
04ae6d84
AF
491- **Specifying a "Selection Method" without a location type gives a DB error
492 ([dev/mail#96](https://lab.civicrm.org/dev/mail/-/issues/96):
493 [20536](https://github.com/civicrm/civicrm-core/pull/20536))**
ba3bb40e 494
04ae6d84
AF
495- **Mailing label prints name twice
496 ([dev/core#2681](https://lab.civicrm.org/dev/core/-/issues/2681):
497 [20783](https://github.com/civicrm/civicrm-core/pull/20783))**
ba3bb40e 498
04ae6d84
AF
499- **Fix invalid defaults for Mailing.update_email_resetdate API
500 ([20751](https://github.com/civicrm/civicrm-core/pull/20751))**
ba3bb40e 501
04ae6d84
AF
502- **Use mysql to set mailing.created_date
503 ([20630](https://github.com/civicrm/civicrm-core/pull/20630))**
ba3bb40e 504
04ae6d84 505### Drupal Integration
ba3bb40e 506
04ae6d84
AF
507- **hook_civicrm_buildProfile not working on Drupal 8
508 ([dev/drupal#113](https://lab.civicrm.org/dev/drupal/-/issues/113):
509 [65](https://github.com/civicrm/civicrm-drupal-8/pull/65))**
ba3bb40e 510
04ae6d84 511## <a name="misc"></a>Miscellany
ba3bb40e 512
04ae6d84
AF
513- **Unused smarty variable
514 ([20796](https://github.com/civicrm/civicrm-core/pull/20796))**
ba3bb40e 515
04ae6d84
AF
516- **Remove unreachable code from admin page
517 ([20642](https://github.com/civicrm/civicrm-core/pull/20642))**
ba3bb40e 518
04ae6d84
AF
519- **replace unnecessary function call with string literal
520 ([20634](https://github.com/civicrm/civicrm-core/pull/20634))**
ba3bb40e 521
04ae6d84
AF
522- **APIv4 - Remove POC code leftover from early alpha development
523 ([20709](https://github.com/civicrm/civicrm-core/pull/20709))**
ba3bb40e 524
04ae6d84
AF
525- **Move upgrade code to correct version
526 ([20643](https://github.com/civicrm/civicrm-core/pull/20643))**
ba3bb40e 527
04ae6d84
AF
528- **Move determination of priceSetID to the internal order class
529 ([20669](https://github.com/civicrm/civicrm-core/pull/20669))**
ba3bb40e 530
04ae6d84
AF
531- **CRM_Utils_Array::asColumns() - Add helper to rotate a matrix (from rows to
532 columns) ([20788](https://github.com/civicrm/civicrm-core/pull/20788))**
ba3bb40e 533
04ae6d84
AF
534- **CRM_Utils_Array - Implement pathUnset() method
535 ([20787](https://github.com/civicrm/civicrm-core/pull/20787))**
ba3bb40e 536
04ae6d84
AF
537- **Handle participant payment create in line item
538 ([20790](https://github.com/civicrm/civicrm-core/pull/20790))**
ba3bb40e 539
04ae6d84
AF
540- **APIv4 Explorer - Render joins using addJoin function in OOP
541 ([20723](https://github.com/civicrm/civicrm-core/pull/20723))**
ba3bb40e 542
04ae6d84
AF
543- **Deprecate duplicate getLoggedInContactID() function
544 ([20321](https://github.com/civicrm/civicrm-core/pull/20321))**
ba3bb40e 545
04ae6d84
AF
546- **Remove deprecated function
547 ([20760](https://github.com/civicrm/civicrm-core/pull/20760))**
ba3bb40e 548
04ae6d84
AF
549- **Hopefully fix time rollover problem in MessageTemplateTest
550 ([20714](https://github.com/civicrm/civicrm-core/pull/20714))**
ba3bb40e 551
04ae6d84
AF
552- **Extract feeBlock to it's own tpl
553 ([20679](https://github.com/civicrm/civicrm-core/pull/20679))**
ba3bb40e 554
04ae6d84
AF
555- **Deprecate passing in 'null' for tax
556 ([20671](https://github.com/civicrm/civicrm-core/pull/20671))**
ba3bb40e 557
04ae6d84
AF
558- **Add test validation for Membership & participant payments
559 ([20621](https://github.com/civicrm/civicrm-core/pull/20621))**
ba3bb40e 560
04ae6d84
AF
561- **Fix up on invalid test data
562 ([20667](https://github.com/civicrm/civicrm-core/pull/20667))**
ba3bb40e 563
04ae6d84
AF
564- **Fix test to use valid amounts
565 ([20668](https://github.com/civicrm/civicrm-core/pull/20668))**
ba3bb40e 566
04ae6d84
AF
567- **Fix test to use valid financials
568 ([20676](https://github.com/civicrm/civicrm-core/pull/20676))**
ba3bb40e 569
04ae6d84
AF
570- **Improve CustomGroupTest
571 ([20617](https://github.com/civicrm/civicrm-core/pull/20617))**
ba3bb40e 572
04ae6d84
AF
573- **Test cleanup - specify return
574 ([20570](https://github.com/civicrm/civicrm-core/pull/20570))**
ba3bb40e 575
04ae6d84
AF
576- **Clean up code to determine line items for membership batch entry
577 ([20779](https://github.com/civicrm/civicrm-core/pull/20779))**
ba3bb40e 578
04ae6d84
AF
579- **AssetBuilderTest - Raise threshold for timeout
580 ([20810](https://github.com/civicrm/civicrm-core/pull/20810))**
ba3bb40e 581
04ae6d84
AF
582- **Reduce test api calls with no 'return'
583 ([20574](https://github.com/civicrm/civicrm-core/pull/20574))**
ba3bb40e 584
04ae6d84
AF
585- **Fix BaseIPN test to (mostly) pass invalid financials checks
586 ([20785](https://github.com/civicrm/civicrm-core/pull/20785))**
ba3bb40e 587
04ae6d84
AF
588- **Fix test set up to user Order api
589 ([20780](https://github.com/civicrm/civicrm-core/pull/20780))**
ba3bb40e 590
04ae6d84
AF
591- **[REF] Membership api for v4 (Work Towards
592 [dev/core#2634](https://lab.civicrm.org/dev/core/-/issues/2634):
593 [20759](https://github.com/civicrm/civicrm-core/pull/20759))**
ba3bb40e 594
04ae6d84
AF
595- **[Ref] Remove (more) unreachable code from order api
596 ([20793](https://github.com/civicrm/civicrm-core/pull/20793))**
ba3bb40e 597
04ae6d84
AF
598- **[REF] Add in template guard for not being always set as per html format
599 ([20747](https://github.com/civicrm/civicrm-core/pull/20747))**
ba3bb40e 600
04ae6d84
AF
601- **[REF] Remove isPayLater from membership batch screen
602 ([20396](https://github.com/civicrm/civicrm-core/pull/20396))**
ba3bb40e 603
04ae6d84
AF
604- **[REF] Extend testing on membership batch entry & minor cleanup
605 ([20394](https://github.com/civicrm/civicrm-core/pull/20394))**
ba3bb40e 606
04ae6d84
AF
607- **[REF] Fix trying to access array offset from boolean value
608 ([20734](https://github.com/civicrm/civicrm-core/pull/20734))**
ba3bb40e 609
04ae6d84
AF
610- **[REF] Alter new Setup process to use CiviCRM's Event Dispatcher
611 ([20717](https://github.com/civicrm/civicrm-core/pull/20717))**
ba3bb40e 612
04ae6d84
AF
613- **[REF] - Improve efficiency of APIv4 GetInfo
614 ([20708](https://github.com/civicrm/civicrm-core/pull/20708))**
ba3bb40e 615
04ae6d84
AF
616- **REF - Get Contact Summary tab counts after calling hook to avoid wasting
617 time ([20673](https://github.com/civicrm/civicrm-core/pull/20673))**
ba3bb40e 618
04ae6d84
AF
619- **[REF] Remove always false if
620 ([20653](https://github.com/civicrm/civicrm-core/pull/20653))**
ba3bb40e 621
04ae6d84
AF
622- **[REF] Extract CKEditor into its own core extension
623 ([20392](https://github.com/civicrm/civicrm-core/pull/20392))**
ba3bb40e 624
04ae6d84
AF
625- **(REF) crmUi - Support onCrmUiSelect for using select2 as a picklist
626 ([20789](https://github.com/civicrm/civicrm-core/pull/20789))**
ba3bb40e 627
04ae6d84
AF
628- **[REF] Tidy up param transforms
629 ([20778](https://github.com/civicrm/civicrm-core/pull/20778))**
ba3bb40e 630
04ae6d84
AF
631- **[REF] Follow up clean up - remove contribution_mode
632 ([20656](https://github.com/civicrm/civicrm-core/pull/20656))**
ba3bb40e 633
04ae6d84
AF
634- **[REF] Remove unnecessary variable wrangling in case roles section
635 ([20729](https://github.com/civicrm/civicrm-core/pull/20729))**
ba3bb40e 636
04ae6d84
AF
637- **[REF] Follow up fix to fixing note entity tables in views
638 ([144](https://github.com/civicrm/civicrm-backdrop/pull/144))**
ba3bb40e 639
04ae6d84
AF
640- **[REF] Follow up fix to fixing note entity tables in views
641 ([646](https://github.com/civicrm/civicrm-drupal/pull/646))**
ba3bb40e 642
04ae6d84
AF
643- **[NFC] - update code comment
644 ([20599](https://github.com/civicrm/civicrm-core/pull/20599))**
ba3bb40e 645
04ae6d84
AF
646- **[NFC] Fix test failure on MySQL8 because of lack of order in API
647 ([20605](https://github.com/civicrm/civicrm-core/pull/20605))**
ba3bb40e 648
04ae6d84
AF
649- **[NFC] [Test] Remove duplicate cleanup
650 ([20647](https://github.com/civicrm/civicrm-core/pull/20647))**
ba3bb40e 651
04ae6d84
AF
652- **[NFC] [TEST] cleanup, more use of return in ActivityTest
653 ([20633](https://github.com/civicrm/civicrm-core/pull/20633))**
ba3bb40e 654
04ae6d84
AF
655- **[NFC] Cleanup on membership test
656 ([20636](https://github.com/civicrm/civicrm-core/pull/20636))**
ba3bb40e 657
04ae6d84
AF
658- **[NFC] [Test] Remove duplicate cleanup
659 ([20637](https://github.com/civicrm/civicrm-core/pull/20637))**
ba3bb40e 660
04ae6d84
AF
661- **[NFC] Cleanup on contribution v3 api test
662 ([20638](https://github.com/civicrm/civicrm-core/pull/20638))**
ba3bb40e 663
04ae6d84
AF
664- **[NFC] Add in unit test to lock in the fix for the is_deleted in where clause
665 issue ([20733](https://github.com/civicrm/civicrm-core/pull/20733))**
ba3bb40e 666
04ae6d84
AF
667- **[NFC] Afform - Regenerate civix files
668 ([20615](https://github.com/civicrm/civicrm-core/pull/20615))**
ba3bb40e 669
04ae6d84
AF
670- **[NFC] Fix test setup on a couple of tests to make them pass in php8
671 ([20614](https://github.com/civicrm/civicrm-core/pull/20614))**
ba3bb40e 672
04ae6d84
AF
673- **[NFC] Update various npm depdencies used only in unit testing
674 ([20748](https://github.com/civicrm/civicrm-core/pull/20748))**
ba3bb40e 675
04ae6d84
AF
676- **[NFC] Improve use of return parameters in ContributionPage test class
677 ([20648](https://github.com/civicrm/civicrm-core/pull/20648))**
ba3bb40e 678
04ae6d84
AF
679- **[NFC] Unit test for 20602
680 ([20745](https://github.com/civicrm/civicrm-core/pull/20745))**
ba3bb40e 681
04ae6d84
AF
682- **[NFC] Remove boilerplate comment block from APIv4 classes
683 ([20700](https://github.com/civicrm/civicrm-core/pull/20700))**
ba3bb40e 684
04ae6d84
AF
685- **[NFC] Github action script to run regen.sh for you
686 ([20680](https://github.com/civicrm/civicrm-core/pull/20680))**
ba3bb40e 687
04ae6d84
AF
688- **[NFC] Regenerate ContributeProduct DAO and also fix search_kit install on
689 MySQL 5.6 on test boxes
690 ([20674](https://github.com/civicrm/civicrm-core/pull/20674))**
ba3bb40e 691
04ae6d84
AF
692- **[NFC] Fixes an issue in this unit test where we are trying to do an array
693 access on an integer
694 ([20652](https://github.com/civicrm/civicrm-core/pull/20652))**
ba3bb40e 695
04ae6d84
AF
696- **[NFC] [Test] Cleanup on membership type test
697 ([20649](https://github.com/civicrm/civicrm-core/pull/20649))**
ba3bb40e 698
04ae6d84
AF
699- **[NFC/Unit test] - Add a test for getCaseRoles when there's a lot of roles
700 assigned ([20657](https://github.com/civicrm/civicrm-core/pull/20657))**
ba3bb40e 701
04ae6d84
AF
702- **[NFC] [TEST] cleanup, more use of return in AddressTest
703 ([20635](https://github.com/civicrm/civicrm-core/pull/20635))**
704
705- **[NFC] [Test] Specify return values on get calls
706 ([20632](https://github.com/civicrm/civicrm-core/pull/20632))**
707
708- **[TEST][NFC] CiviCRM reaching MySQL join limit (Work Towards
709 [dev/core#1191](https://lab.civicrm.org/dev/core/-/issues/1191):
710 [20618](https://github.com/civicrm/civicrm-core/pull/20618) and
711 [20622](https://github.com/civicrm/civicrm-core/pull/20622))**
712
713- **[php8-compact][NFC] Update testGroupClause unit test to work on php8
714 ([20624](https://github.com/civicrm/civicrm-core/pull/20624))**
715
716- **[php8-compact][REF] Fix failing custom group test on php8 by better handling
717 strings in 2nd key of the extends array and also validating the child and main
718 entity work ([20616](https://github.com/civicrm/civicrm-core/pull/20616))**
719
720- **[php8-compact] Fix APIv4 Group Concat Test by setting dataType to be NULL if
721 the first expression is a SQL Function
722 ([20655](https://github.com/civicrm/civicrm-core/pull/20655))**
723
724- **[php8-compact] Fix issues with participant message templates causing Event
725 Tests to fail ([20613](https://github.com/civicrm/civicrm-core/pull/20613))**
726
727- **[php8-compact] Add in guards into common templates to assit with fixing test
728 failures on php8
729 ([20543](https://github.com/civicrm/civicrm-core/pull/20543))**
730
731- **[php8-compact] Fix Array to String in formButtons in CRM_Core_FormTest
732 ([20608](https://github.com/civicrm/civicrm-core/pull/20608))**
733
734- **[php8-compact] Fix Event Form test for php8 by setting totalAmount in the
735 form params ([20623](https://github.com/civicrm/civicrm-core/pull/20623))**
736
737- **[php8-compat] Alternate to the alternate for testOpeningForms
738 ([20603](https://github.com/civicrm/civicrm-core/pull/20603))**
739
740- **[php8-compact] Fix apiv4 tests in php8 by not incrementing an array
741 ([20594](https://github.com/civicrm/civicrm-core/pull/20594))**
742
743- **[php8-compact] Further test fixes for php8
744 ([20597](https://github.com/civicrm/civicrm-core/pull/20597))**
745
746- **[php8-compact] Fix failing AuthorizeNetIPN tests on php8
747 ([20596](https://github.com/civicrm/civicrm-core/pull/20596))**
748
749- **[php8-compact] Fix failing CRM_Core_InvokeTest on php8
750 ([20595](https://github.com/civicrm/civicrm-core/pull/20595))**
751
752- **[php8-compact] Fix Session Test errors in php8
753 ([20593](https://github.com/civicrm/civicrm-core/pull/20593))**
754
755- **[php8-compact] Fix Case Activity Message Template to fix test failure in
756 php8 ([20592](https://github.com/civicrm/civicrm-core/pull/20592))**
757
758- **[php8-compact] Fix PDF Letter Test by ensuring that all actual DB fields
759 are in the tokens array and also by resetting the static cache of tokens
760 ([20591](https://github.com/civicrm/civicrm-core/pull/20591))**
761
762- **[php8-compact] Add in guards into various templates to fix the
763 CRM_Contact_Form_IndividualTest suite
764 ([20579](https://github.com/civicrm/civicrm-core/pull/20579))**
765
766- **[php8-compact] Fixes test failures in the
767 CRM_Contribute_Form_ContributionTest class due to template issues
768 ([20581](https://github.com/civicrm/civicrm-core/pull/20581))**
769
770- **[php8-compact] Fix Dashboard Tests by adding in if guards into smarty
771 templates ([20575](https://github.com/civicrm/civicrm-core/pull/20575))**
772
773- **[php8-compact] Add in guards into various templates to fix issues in test
774 runs on php8 ([20544](https://github.com/civicrm/civicrm-core/pull/20544))**
ba3bb40e
AH
775
776## <a name="credits"></a>Credits
777
778This release was developed by the following code authors:
779
88bd6b02 780AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin
04ae6d84
AF
781Freeman; Akos Garai; Australian Greens - John Twyman; Blackfly Solutions - Alan
782Dixon; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap
783Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Debarshi Bhaumik; Dave
784D; Gokhalemethod- Sadashiv; iXiam - Luciano Spiegel; JMA Consulting - Monish
785Deb, Seamus Lee; Lemniscus - Noah Miller; Lighthouse Consulting and Design -
786Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW
787Consulting - Matthew Wire; Skvare - Sunil Pawar; Wikimedia Foundation - Eileen
788McNaughton
ba3bb40e
AH
789
790Most authors also reviewed code for this release; in addition, the following
791reviewers contributed their comments:
792
04ae6d84
AF
793Artful Robot - Rich Lott; Bob Silvern; CiviCoop - Klaas Eikelboom; CiviDesk -
794Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Freeform Solutions - Herb van
795den Dool; Fuzion - Jitendra Purohit; JMA Consulting - Joe Murray; Ray Wright;
796Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole
797Collective - Kevin Cristiano; Tech To The People - Xavier Dutoit; Third Sector
0ca33b8c 798Design - Michael McAndrew; Web Access - Kurund Jalmi
d30fe70a
AH
799
800## <a name="feedback"></a>Feedback
801
88bd6b02 802These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
d30fe70a
AH
803to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
804and contact `@agh1`.