Afform - convert afEntity and afField to components, standardize js filenames
[civicrm-core.git] / release-notes / 5.29.0.md
CommitLineData
6f2bdb76
AH
1# CiviCRM 5.29.0
2
cb42725f 3Released September 2, 2020
6f2bdb76 4
cb42725f 5- **[Synopsis](#synopsis)**
6f2bdb76
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
cb42725f
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
79212351
AH
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| **Require attention to configuration options?** | **yes** |
20| **Fix problems installing or upgrading to a previous version?** | **yes** |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
6f2bdb76
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
0cce8662
AF
28- **Contact export is very slow, creates huge temporary tables
29 ([dev/core#1725](https://lab.civicrm.org/dev/core/-/issues/1725):
30 [17458](https://github.com/civicrm/civicrm-core/pull/17458))**
31
32 Improves performance when exporting contacts by only exporting primary address
33 fields.
34
79212351
AH
35- **Allow different output formats for CiviReport results, like native excel
36 format, and untangle code
37 ([dev/core#1855](https://lab.civicrm.org/dev/core/-/issues/1855):
38 [17901](https://github.com/civicrm/civicrm-core/pull/17901))**
39
40 This makes it possible to extend CiviReport by reworking the PDF and CSV
41 generation code as new output handlers, and allowing for extension developers
42 to add new ones.
43
f8220fdf
AF
44- **Icon in status message after saving a civireport is misleading
45 ([dev/report#43](https://lab.civicrm.org/dev/report/-/issues/43):
46 [17863](https://github.com/civicrm/civicrm-core/pull/17863))**
47
48 Improves icons in Status Messages for reports.
6f2bdb76 49
79212351
AH
50- **Show cron warning on Scheduled Jobs admin page
51 ([18065](https://github.com/civicrm/civicrm-core/pull/18065))**
52
53 A pop-up message will appear on the Scheduled Jobs page if cron has not been
54 running.
55
56- **Add APIv4 and pseudoconstants for RelationshipCache
57 ()**
58
59- **RelationshipCache - Add a high-level index to facilitate relationship
60 queries (more fields)
61 ([17781](https://github.com/civicrm/civicrm-core/pull/17781) and
62 [17879](https://github.com/civicrm/civicrm-core/pull/17879))**
63
64 A new table caches relationships to provide a single resource for tracking
65 relationships from a specified contact's perspective. The RelationshipCache
66 records the "near" and "far" contacts and relationship names along with the
67 orientation and relationship type. Each record from `civicrm_relationship`
68 will have two records in `civicrm_relationship_cache`, one for each
69 orientation.
70
f8220fdf
AF
71- **Remove ORDER BY and GROUP BY from alphabetQuery to improve performance
72 ([16877](https://github.com/civicrm/civicrm-core/pull/16877))**
6f2bdb76 73
0cce8662
AF
74- **Differentiate smart group from regular group using icon in select2 field
75 ([dev/core#785](https://lab.civicrm.org/dev/core/-/issues/785):
79212351 76 [17927](https://github.com/civicrm/civicrm-core/pull/17927))**
0cce8662
AF
77
78 Improves Group's select2 by adding icon next to smart groups.
79
80- **Feature: Ability to enable SSL for database connection.
81 ([dev/core#1137](https://lab.civicrm.org/dev/core/-/issues/1137):
82 [17706](https://github.com/civicrm/civicrm-core/pull/17706))**
83
84 Makes it so sites can use ssl to connect to mysql.
85
79212351
AH
86- **Add in hook to allow for altering of Profile Schemas
87 ([dev/core#1913](https://lab.civicrm.org/dev/core/-/issues/1913):
88 [17986](https://github.com/civicrm/civicrm-core/pull/17986))**
89
90 Extensions that allow additional fields to be added to profiles can now add
91 schemas so that fields can be added from new entities.
92
93- **Why not make the buttons flat?
94 ([18054](https://github.com/civicrm/civicrm-core/pull/18054))**
95
96 Buttons no longer have a gradient background.
97
98- **SystemCheck: add ability to efficiently run only specified checks
99 ([17824](https://github.com/civicrm/civicrm-core/pull/17824))**
100
101 The APIv4 system check action can now filter on name, running just the
102 specified check(s).
103
104- **Change inform-icon to fa-info-circle
105 ([18001](https://github.com/civicrm/civicrm-core/pull/18001))**
106
107 The information icon is now produced with Font Awesome rather than a sprite.
108
109- **APIv4 - Add keyword to select all custom fields
110 ([17955](https://github.com/civicrm/civicrm-core/pull/17955))**
111
112 You can now use a wildcard to select all custom fields on an entity without
113 specifying each individually.
114
115- **Improve caching of current domain
116 ([17916](https://github.com/civicrm/civicrm-core/pull/17916))**
117
118 Domain information is now cached in one central place, making it more
119 straightforward to use and flush.
120
121- **APIv4 - Specify BridgeEntities to assist with joins
122 ([17808](https://github.com/civicrm/civicrm-core/pull/17808))**
123
124 Minor entities that intermediate many-to-many relationships are now specified
125 as bridge entities and extend from a new base class. This will allow them to
126 be distinguished better in the future.
127
128- **APIv4 - Add shorthand for setCheckPermissions()
129 ([17834](https://github.com/civicrm/civicrm-core/pull/17834) and
130 [17874](https://github.com/civicrm/civicrm-core/pull/17874))**
131
132 The CRUD functions of APIv4 now accept a boolean argument that corresponds to
133 the value sent to `setCheckPermissions()`. This provides a shorthand for a
134 very common use case.
135
136- **Add search extension
137 ([17775](https://github.com/civicrm/civicrm-core/pull/17775),
138 [17789](https://github.com/civicrm/civicrm-core/pull/17789), and
139 [17864](https://github.com/civicrm/civicrm-core/pull/17864))**
140
141 An extension that replaces Search Builder is now shipped with core, though it
142 is hidden from the extensions user interface because it is currently
143 incompatible with the default theming framework.
144
f8220fdf 145### CiviContribute
6f2bdb76 146
47c2ce56
AH
147- **Add configure and priceset url icons on public contribution & event pages
148 ([dev/core#1905](https://lab.civicrm.org/dev/core/-/issues/1905):
149 [17942](https://github.com/civicrm/civicrm-core/pull/17942),
150 [18088](https://github.com/civicrm/civicrm-core/pull/18088) and
151 [18064](https://github.com/civicrm/civicrm-core/pull/18064))**
79212351 152
47c2ce56
AH
153 A "Configure" button now appears to administrators when viewing a contribution
154 page or event, or a priceset within either, from the frontend. This links to
155 the corresponding form to administer the contribution page, event, or
156 priceset.
79212351 157
47c2ce56 158### CiviEvent
79212351 159
47c2ce56
AH
160- **Move Event Cart to extension
161 ([17741](https://github.com/civicrm/civicrm-core/pull/17741),
162 [17743](https://github.com/civicrm/civicrm-core/pull/17743),
163 [17861](https://github.com/civicrm/civicrm-core/pull/17861),
164 [17884](https://github.com/civicrm/civicrm-core/pull/17884),
165 [17885](https://github.com/civicrm/civicrm-core/pull/17885), and
166 [17891](https://github.com/civicrm/civicrm-core/pull/17891))**
79212351 167
47c2ce56
AH
168 The event cart features have been moved to a separate extension that is
169 shipped with core.
79212351 170
47c2ce56 171### CiviMember
79212351 172
47c2ce56
AH
173- **Option to update expired memberships as part of the job.process_membership
174 ([dev/membership#18](https://lab.civicrm.org/dev/membership/-/issues/18):
175 [16298](https://github.com/civicrm/civicrm-core/pull/16298))**
6f2bdb76 176
47c2ce56
AH
177 Improves the Job.process_membership API/Scheduled job by adding some new
178 parameters, specifically:
6f2bdb76 179
47c2ce56
AH
180 - exclude_test_memberships: Exclude test memberships from calculations
181 (default = TRUE)
182 - only_active_membership_types: Exclude disabled membership types from
183 calculations (default = TRUE)
184 - exclude_membership_status_ids: Default: Exclude Pending, Cancelled,
185 Expired.
6f2bdb76 186
47c2ce56 187 Deceased will always be excluded
6f2bdb76 188
47c2ce56
AH
189- **Add auto-renew status to membership detail report
190 ([17683](https://github.com/civicrm/civicrm-core/pull/17683) and
191 [17911](https://github.com/civicrm/civicrm-core/pull/17911))**
6f2bdb76 192
47c2ce56
AH
193 The membership detail report can now display and filter on the auto-renew
194 status of each membership.
6f2bdb76 195
47c2ce56 196### Backdrop Integration
79212351 197
47c2ce56
AH
198- **Support for installing CiviCRM-Backdrop via "setup" UI
199 ([17749](https://github.com/civicrm/civicrm-core/pull/17749) and
200 [121](https://github.com/civicrm/civicrm-backdrop/pull/121))**
79212351 201
47c2ce56
AH
202 Improves the installation and Setup process for Backdrop integration's so that
203 one enables the CiviCRM module like any other module and then is directed to
204 the setup screen to complete installation as opposed to having to navigate to
205 a specific link.
6f2bdb76 206
47c2ce56 207### Drupal Integration
6f2bdb76 208
47c2ce56
AH
209- **Upgrading a site that still has "mysql" in the dsn string breaks in latest
210 master ([dev/core#1937](https://lab.civicrm.org/dev/core/-/issues/1937):
211 [18174](https://github.com/civicrm/civicrm-core/pull/18174))**
79212351 212
47c2ce56
AH
213 This adds an upgrade message for 5.29.0 warning that Composer patching will
214 need to be enabled before upgrading to 5.30.0 or higher.
79212351 215
47c2ce56
AH
216 The "mysql" in the DSN (as opposed to "mysqli") will not be a problem, but the
217 solution for this is in a package patch that appears in 5.30.
79212351 218
47c2ce56
AH
219- **Installation - Support "activate first" w/setup UI
220 ([606](https://github.com/civicrm/civicrm-drupal/pull/606))**
79212351 221
47c2ce56
AH
222 The new setup user interface for Backdrop and WordPress installations is now
223 available for Drupal 7.
79212351 224
47c2ce56 225### WordPress Integration
79212351 226
47c2ce56
AH
227- **Add system check to ensure WP base page exists
228 ([17698](https://github.com/civicrm/civicrm-core/pull/17698))**
0cce8662 229
47c2ce56
AH
230 A new system check will display a message if the base page, as set in CiviCRM,
231 doesn't match an existing page in WordPress. No message will display if
232 WordPress multisite is enabled.
0cce8662 233
47c2ce56 234## <a name="bugs"></a>Bugs resolved
79212351 235
f8220fdf 236### Core CiviCRM
6f2bdb76 237
79212351
AH
238- **CRM_Dedupe_Finder parses phone key incorrectly
239 ([dev/core#1767](https://lab.civicrm.org/dev/core/-/issues/1767):
240 [17361](https://github.com/civicrm/civicrm-core/pull/17361) and
241 [17882](https://github.com/civicrm/civicrm-core/pull/17882))**
242
243 The process to match duplicate contacts was not accurately identifying phone
244 fields, causing contacts with matching phone numbers to be treated as if they
245 didn't match.
246
247- **Dedupe: Location type is treated inconsistently
248 ([dev/core#1826](https://lab.civicrm.org/dev/core/-/issues/1826):
249 [17645](https://github.com/civicrm/civicrm-core/pull/17645))**
250
251 Duplicate matching now ignores location type for postal address fields, now
252 consistent with how it has ignored phone and email location types.
253
afea6949 254- **Installing Drupal 8 using civicrm-setup leads to "incorrect resource url"
f8220fdf
AF
255 system status check errors
256 ([dev/drupal#114](https://lab.civicrm.org/dev/drupal/-/issues/114) and
257 [dev/core#1647](https://lab.civicrm.org/dev/core/-/issues/1647):
258 [17754](https://github.com/civicrm/civicrm-core/pull/17754))**
6f2bdb76 259
afea6949 260 Removes the resource URL status check.
6f2bdb76 261
0cce8662
AF
262- **API4: 500 error on chain with custom field
263 ([dev/core#1578](https://lab.civicrm.org/dev/core/-/issues/1578):
264 [17866](https://github.com/civicrm/civicrm-core/pull/17866))**
6f2bdb76 265
0cce8662
AF
266- **MySQL uses filesort index when building the query which can cause
267 performance issues
268 ([dev/core#1665](https://lab.civicrm.org/dev/core/-/issues/1665):
269 [18052](https://github.com/civicrm/civicrm-core/pull/18052))**
6f2bdb76 270
0cce8662
AF
271- **Custom fields not copied on shared address
272 ([dev/core#1670](https://lab.civicrm.org/dev/core/-/issues/1670):
273 [17580](https://github.com/civicrm/civicrm-core/pull/17580))**
6f2bdb76 274
79212351
AH
275- **Email template permissions
276 ([dev/core#1751](https://lab.civicrm.org/dev/core/-/issues/1751):
277 [17480](https://github.com/civicrm/civicrm-core/pull/17480))**
278
279 Users sending an email are no longer able to save or modify a template if they
280 lack the "edit message templates" permission.
281
282- **Using Parent tag in search form doesn't pull contacts marked with child tag
283 in search form result
284 ([dev/core#1795](https://lab.civicrm.org/dev/core/-/issues/1795):
285 [17513](https://github.com/civicrm/civicrm-core/pull/17513))**
286
287- **Activity Search : Tags are not working
288 ([dev/core#1827](https://lab.civicrm.org/dev/core/-/issues/1827):
289 [17655](https://github.com/civicrm/civicrm-core/pull/17655) and
290 [17755](https://github.com/civicrm/civicrm-core/pull/17755))**
6f2bdb76 291
79212351
AH
292- **Autocomplete-select custom field is not searchable
293 ([dev/core#1805](https://lab.civicrm.org/dev/core/-/issues/1805):
294 [17569](https://github.com/civicrm/civicrm-core/pull/17569))**
6f2bdb76 295
79212351
AH
296- **Do not allow enabling database logging when using multilingual
297 ([dev/core#1812](https://lab.civicrm.org/dev/core/-/issues/1812):
298 [17815](https://github.com/civicrm/civicrm-core/pull/17815))**
6f2bdb76 299
79212351
AH
300 This has never worked, with network errors as the result. This prevents it
301 from being set.
6f2bdb76 302
79212351
AH
303- **Can't remove subtype if any required custom field is based on it
304 ([dev/core#1853](https://lab.civicrm.org/dev/core/-/issues/1853):
305 [17765](https://github.com/civicrm/civicrm-core/pull/17765))**
6f2bdb76 306
79212351
AH
307- **User account form action not passing along contact id correctly possibly
308 leading to duplicate contacts
309 ([dev/core#1858](https://lab.civicrm.org/dev/core/-/issues/1858):
310 [17769](https://github.com/civicrm/civicrm-core/pull/17769))**
6f2bdb76 311
79212351
AH
312 When creating a user account from a contact record, the contact ID was not
313 properly passed along. Depending upon your unsupervised duplicate matching
314 rule, it would potentially create a duplicate contact record.
6f2bdb76 315
79212351
AH
316- **Cannot edit a profile field of "Email" to use the Location Type "Primary"
317 ([dev/core#1861](https://lab.civicrm.org/dev/core/-/issues/1861):
318 [17812](https://github.com/civicrm/civicrm-core/pull/17812))**
6f2bdb76 319
79212351
AH
320 The location type would get reset to your default location type rather than
321 staying as "primary".
6f2bdb76 322
79212351
AH
323- **Downgrade checkEnvironment level and skip non-prod checks (part of
324 [dev/core#1863](https://lab.civicrm.org/dev/core/-/issues/1863):
325 [17807](https://github.com/civicrm/civicrm-core/pull/17807))**
6f2bdb76 326
79212351
AH
327 In non-production environments, a system check produces a message saying so.
328 This downgrades it from an "Alert" to a more appropriate level of "Notice",
329 and it also suppresses cron and CiviMail system checks in this situation.
6f2bdb76 330
79212351
AH
331- **Slew of E_NOTICES on Profiles admin page and description field is always
332 blank ([dev/core#1868](https://lab.civicrm.org/dev/core/-/issues/1868):
333 [17786](https://github.com/civicrm/civicrm-core/pull/17786))**
6f2bdb76 334
79212351
AH
335- **CiviReport sent as email via mail_report job with a CSV attachment doesn't
336 show UTF8 characters properly in Excel
337 ([dev/core#1869](https://lab.civicrm.org/dev/core/-/issues/1869):
338 [17806](https://github.com/civicrm/civicrm-core/pull/17806))**
6f2bdb76 339
79212351
AH
340- **References to packages path in security status checks are assumed to be
341 under civicrm root
342 ([dev/core#1872](https://lab.civicrm.org/dev/core/-/issues/1872):
343 [17844](https://github.com/civicrm/civicrm-core/pull/17844))**
6f2bdb76 344
79212351
AH
345 This changes how package and vendor paths are calculated in system checks
346 since (in Drupal 8 and potentially elsewhere) they may not be within the
347 CiviCRM root folder.
6f2bdb76 348
afea6949 349- **Custom data insert/update error if using reserved words
79212351
AH
350 ([dev/core#1880](https://lab.civicrm.org/dev/core/-/issues/1880):
351 [17848](https://github.com/civicrm/civicrm-core/pull/17848))**
6f2bdb76 352
79212351
AH
353- **Advanced Search (search by complete or partial name) returns all contacts
354 ([dev/core#1895](https://lab.civicrm.org/dev/core/-/issues/1895):
355 [17950](https://github.com/civicrm/civicrm-core/pull/17950))**
6f2bdb76 356
79212351
AH
357 The ability to search first/last name was recently added to core. The primary
358 intent was to properly handle advanced searches that originate from
359 quicksearch first/last name filters. While that was working, a first/last name
360 search that originated directly from an advanced search was not working. This
361 fixes the issue.
6f2bdb76 362
79212351
AH
363- **Miscellaneous E_NOTICES
364 ([dev/core#1909](https://lab.civicrm.org/dev/core/-/issues/1909):
365 [18006](https://github.com/civicrm/civicrm-core/pull/18006),
366 [17962](https://github.com/civicrm/civicrm-core/pull/17962),
367 [17964](https://github.com/civicrm/civicrm-core/pull/17964),
368 [17959](https://github.com/civicrm/civicrm-core/pull/17959), and
369 [17985](https://github.com/civicrm/civicrm-core/pull/17985))**
6f2bdb76 370
79212351
AH
371- **CRM_Core_Key::valid() does backwards comparison
372 ([dev/core#1918](https://lab.civicrm.org/dev/core/-/issues/1918):
373 [18007](https://github.com/civicrm/civicrm-core/pull/18007))**
6f2bdb76 374
79212351
AH
375 This removes legacy code that appeared to attempt to check for a valid
376 quickForm key but wasn't effectively doing so.
6f2bdb76 377
79212351
AH
378- **Upgrade fails for 4.6 => 5.29 during status-check
379 ([dev/core#1932](https://lab.civicrm.org/dev/core/-/issues/1932):
380 [18085](https://github.com/civicrm/civicrm-core/pull/18085))**
6f2bdb76 381
79212351
AH
382- **Installation doclinks not getting url-rewritten
383 ([18175](https://github.com/civicrm/civicrm-core/pull/18175))**
6f2bdb76 384
79212351
AH
385 Links to the new installation documentation are now handled in the same way as
386 other documentation sites.
6f2bdb76 387
79212351
AH
388- **Wrap multi record custom field inside a div
389 ([17966](https://github.com/civicrm/civicrm-core/pull/17966))**
6f2bdb76 390
79212351
AH
391- **Fixed filling default values for tagssets in the advanced search form
392 ([17978](https://github.com/civicrm/civicrm-core/pull/17978))**
6f2bdb76 393
79212351
AH
394- **Simplify caching of status checks
395 ([17817](https://github.com/civicrm/civicrm-core/pull/17817))**
6f2bdb76 396
afea6949 397- **Ensure custom field checkboxes are populated in profiles
79212351 398 ([17977](https://github.com/civicrm/civicrm-core/pull/17977))**
6f2bdb76 399
79212351
AH
400- **Upgrade PEAR/mail_mime package to be compliant with PHP7.4 and deploy it
401 using composer ([17948](https://github.com/civicrm/civicrm-core/pull/17948))**
6f2bdb76 402
79212351
AH
403- **Setup UI - Validate that at least one "Component" is enabled
404 ([17778](https://github.com/civicrm/civicrm-core/pull/17778))**
6f2bdb76 405
79212351
AH
406 This prevents you from proceeding with installation without enabling at least
407 one component. Not enabling any components causes a messy failed
408 installation.
6f2bdb76 409
79212351
AH
410- **Call apiv4 from Contribution create rather than fugly addActivity function
411 ([17881](https://github.com/civicrm/civicrm-core/pull/17881))**
6f2bdb76 412
8bd48a0f 413- **Search debug ([17887](https://github.com/civicrm/civicrm-core/pull/17887))**
6f2bdb76 414
79212351
AH
415- **Simplify flushing group contact cache query to reduce table locking and
416 improve performance
417 ([17846](https://github.com/civicrm/civicrm-core/pull/17846))**
6f2bdb76 418
79212351
AH
419- **Make api get upgrade-safe
420 ([17729](https://github.com/civicrm/civicrm-core/pull/17729))**
6f2bdb76 421
79212351
AH
422 This avoids database errors when the code and database versions don't match by
423 preventing the API from accessing fields that are unsupported in the database.
6f2bdb76 424
79212351
AH
425- **CheckEnv - Give new installs a grace period before 'Cron Not Running' msg
426 ([17800](https://github.com/civicrm/civicrm-core/pull/17800))**
6f2bdb76 427
79212351
AH
428 The system check will lower the severity of the "cron not running" check for
429 the first 24 hours after a site has been installed.
6f2bdb76 430
79212351
AH
431- **Sort permittedActivityTypes
432 ([17794](https://github.com/civicrm/civicrm-core/pull/17794))**
6f2bdb76 433
79212351
AH
434 This improves performance on filtering activity types by making it possible to
435 compare a list of permitted types with the overall list of activity type IDs.
6f2bdb76 436
79212351
AH
437- **APIv4 - Fix saving custom fields with same name
438 ([17791](https://github.com/civicrm/civicrm-core/pull/17791))**
0cce8662 439
79212351
AH
440- **Status Checks - Use more specific label regarding "Domain"/"Organization"
441 check ([17776](https://github.com/civicrm/civicrm-core/pull/17776))**
0cce8662
AF
442
443- **SQL temp table not using utf8mb4 if server default already set to utf8mb4
444 ([18012](https://github.com/civicrm/civicrm-core/pull/18012))**
445
446- **Wrong link to admin page in error message about FROM address on PCP page
447 ([17996](https://github.com/civicrm/civicrm-core/pull/17996))**
448
449- **Fix sticky table header on "Find Activities" page
450 ([17917](https://github.com/civicrm/civicrm-core/pull/17917))**
451
452- **Fixed DB Error: syntax error if line item refers to civicrm_case
453 ([16626](https://github.com/civicrm/civicrm-core/pull/16626))**
454
455- **Fix potential js error on summary screen when reloading blocks
456 ([17865](https://github.com/civicrm/civicrm-core/pull/17865))**
457
458- **Fix 'Undefined variable: jsSet in CRM_Core_BAO_Mapping::loadSavedMapping()'
459 ([17816](https://github.com/civicrm/civicrm-core/pull/17816))**
460
461- **Fixed notice error on Relationships report
462 ([17787](https://github.com/civicrm/civicrm-core/pull/17787))**
463
464- **Fix obscure dedupe scenario where 'bad' location data can overwrite good
465 data ([17993](https://github.com/civicrm/civicrm-core/pull/17993))**
466
467- **Fix JQuery Validation for radios
468 ([17937](https://github.com/civicrm/civicrm-core/pull/17937))**
469
47c2ce56
AH
470### CiviCase
471
472- **Fix case activity field set to allow long details to be exported
473 ([17970](https://github.com/civicrm/civicrm-core/pull/17970))**
474
475- **Case export has two fields that are not what they say they are
476 ([dev/core#1916](https://lab.civicrm.org/dev/core/-/issues/1916):
477 [18043](https://github.com/civicrm/civicrm-core/pull/18043))**
478
479- **Collapsed custom field set for activities with a required radio makes case
480 activity buttons seem disabled
481 ([dev/core#1928](https://lab.civicrm.org/dev/core/-/issues/1928):
482 [18080](https://github.com/civicrm/civicrm-core/pull/18080))**
483
484- **CRM_Utils_Check_Component_Case - Guard against post-upgrade crash
485 ([17944](https://github.com/civicrm/civicrm-core/pull/17944))**
486
487### CiviContribute
488
489- **Define the logic that sets (or not) contribution receive_date in relation to
490 payments
491 ([dev/financial#139](https://lab.civicrm.org/dev/financial/-/issues/139):
492 [17777](https://github.com/civicrm/civicrm-core/pull/17777) and
493 [18000](https://github.com/civicrm/civicrm-core/pull/18000))**
494
495 This undoes a regression where the contribution date of a pay-later
496 contribution would change when a payment completes the contribution. The
497 contribution date is the accrual date and is distinct from the date the
498 contribution is entered and the date when all payments have been received.
499
500 In the process, this changes the "Update pending contribution status" search
501 action to be "Record payments for contributions". The result is generally the
502 same, but the status change comes about because the payments complete the
503 contributions. You can modify contribution statuses in bulk with a profile by
504 using the "Update multiple contributions" action.
505
506- **Disable frequency/interval fields if not required. Mark required if they are
507 so they are validated before submit
508 ([17526](https://github.com/civicrm/civicrm-core/pull/17526))**
509
510 The frequency and interval fields for recurring contributions now use jQuery
511 validation to disable or require them as appropriate.
512
513- **Paypal IPN sometimes fails to update the next scheduled payment date when
514 recording the latest recurring payment
515 ([dev/core#1679](https://lab.civicrm.org/dev/core/-/issues/1679):
516 [17744](https://github.com/civicrm/civicrm-core/pull/17744))**
517
518- **Contribution Details Statistics are multiplied under many circumstances
519 ([dev/report#21](https://lab.civicrm.org/dev/report/-/issues/21):
520 [15435](https://github.com/civicrm/civicrm-core/pull/15435) and
521 [17809](https://github.com/civicrm/civicrm-core/pull/17809))**
522
523- **Contribution Summary Report: The "general total" row does not take the
524 currency filtered
525 ([dev/report#27](https://lab.civicrm.org/dev/report/-/issues/27):
526 [16736](https://github.com/civicrm/civicrm-core/pull/16736))**
527
528 When the contribution summary report is used by filtering for a currency other
529 than the site's default currency, the "grand total" row shows the sign of the
530 default currency instead of the filtered currency.
531
532- **Fix PaypalIPN single function to not receive-by-reference
533 ([18044](https://github.com/civicrm/civicrm-core/pull/18044))**
534
535- **Allow Failed -> Completed status for contributions
536 ([dev/core#1906](https://lab.civicrm.org/dev/core/-/issues/1906):
537 [17943](https://github.com/civicrm/civicrm-core/pull/17943))**
538
539- **Fix currency symbol for Total Amount on contribution page
540 ([17703](https://github.com/civicrm/civicrm-core/pull/17703))**
541
542 This resolves a but where the total amount would show the default system
543 currency symbol regardless of the currency configured on the contribution
544 page.
545
546- **On behalf label / Honoree Title / Honoree Description not translatable on
547 contribution page
548 ([dev/core#1280](https://lab.civicrm.org/dev/core/-/issues/1280):
549 [16838](https://github.com/civicrm/civicrm-core/pull/16838))**
550
551- **Load contribution page if live payment processor is disabled but test is
552 available ([17828](https://github.com/civicrm/civicrm-core/pull/17828))**
553
554- **Remove requirement to pass 'contribution_status_id' => Pending from
555 order.create ([18018](https://github.com/civicrm/civicrm-core/pull/18018))**
556
557- **Use saved contribution's line items rather than the primaryContributionID
558 ([18033](https://github.com/civicrm/civicrm-core/pull/18033))**
559
560- **Do not overwrite values saved from the repeatContribution routine
561 ([17972](https://github.com/civicrm/civicrm-core/pull/17972))**
562
563- **"Contribution Source" profile field has no effect on new contribution
564 ([dev/core#1902](https://lab.civicrm.org/dev/core/-/issues/1902):
565 [17930](https://github.com/civicrm/civicrm-core/pull/17930))**
566
567- **Incorrect check for "soft_credit" after making pcp donation
568 ([dev/core#1915](https://lab.civicrm.org/dev/core/-/issues/1915):
569 [18002](https://github.com/civicrm/civicrm-core/pull/18002))**
570
571- **Total Tax Amount on the Contribution (generated in backoffice/offline) no
572 longer adds up to sum of the Tax Amount for the individual line items
573 ([dev/core#1983](https://lab.civicrm.org/dev/core/-/issues/1983):
574 [18290](https://github.com/civicrm/civicrm-core/pull/18290))**
575
576- **Downloaded Invoice activity attaches non wkhtmltopdf invoice
577 ([dev/core#1922](https://lab.civicrm.org/dev/core/-/issues/1922):
578 [18056](https://github.com/civicrm/civicrm-core/pull/18056))**
579
580 Downloading an invoice would ignore whether wkhtmltopdf was configured and
581 always use dompdf.
582
583- **Fix repeattransaction api to use custom data from the template contribution
584 ([17975](https://github.com/civicrm/civicrm-core/pull/17975))**
585
586 The Contribution.repeattransaction API will now copy custom data from the
587 template rather than the earliest related contribution.
588
589### CiviEvent
590
591- **Can't meaningfully disable self-service transfer/cancellation once enabled
592 ([dev/event#35](https://lab.civicrm.org/dev/event/-/issues/35):
593 [18040](https://github.com/civicrm/civicrm-core/pull/18040))**
594
595- **Event registration form has inconsistent labeling
596 ([dev/event#38](https://lab.civicrm.org/dev/event/-/issues/38):
597 [17695](https://github.com/civicrm/civicrm-core/pull/17695))**
598
599- **Event cart hidden/enabled in buildkit 5.29 RC
600 ([dev/event#40](https://lab.civicrm.org/dev/event/-/issues/40):
601 [18101](https://github.com/civicrm/civicrm-core/pull/18101))**
602
603 Ensures that the Event Cart functionality defaults to off.
604
605### CiviMail
606
afea6949 607- **Remove URL-tracking in mass SMS
47c2ce56
AH
608 ([dev/core#1843](https://lab.civicrm.org/dev/core/-/issues/1843):
609 [17700](https://github.com/civicrm/civicrm-core/pull/17700))**
610
611 Rewritten URLs were confusing and made SMS messages unnecessarily long. There
612 also have never been SMS tracking reports to use them anyway.
613
614- **Test mailings create new contacts even when "Add Contacts" permission is not
615 present. ([dev/mail#70](https://lab.civicrm.org/dev/mail/-/issues/70):
616 [17867](https://github.com/civicrm/civicrm-core/pull/17867))**
617
618 Ensures contacts are not created when a user without permissions to create
619 contacts sends a test email.
620
afea6949 621- **Mailing Subscription form does not validate reCAPTCHA
47c2ce56
AH
622 ([dev/core#1755](https://lab.civicrm.org/dev/core/-/issues/1755):
623 [17305](https://github.com/civicrm/civicrm-core/pull/17305))**
624
625- **Text version of unsubscribed email is missing the link to resubscribe
626 ([dev/core#1919](https://lab.civicrm.org/dev/core/-/issues/1919):
627 [18015](https://github.com/civicrm/civicrm-core/pull/18015))**
628
629- **Add CiviMail synchronisation frequency setting
630 (in support of [dev/core#1768](https://lab.civicrm.org/dev/core/-/issues/1768):
631 [17709](https://github.com/civicrm/civicrm-core/pull/17709))**
632
633 This adds a setting for updating how frequently the database should be updated
634 with the status of emails that have been sent. Updating the database more
635 frequently can slow the process down, but it reduces the likelihood that a
636 recipient will be re-emailed when recovering from a stalled mailing.
637
afea6949 638- **Mark the new routes for "open.php" and "url.php" as public
47c2ce56
AH
639 ([17813](https://github.com/civicrm/civicrm-core/pull/17813))**
640
641 This denotes the paths for open and URL tracking as "public" pages as they are
642 meant to be used by unauthenticated email clients and recipients.
643
644### CiviMember
645
646- **Decimal Separator - Invalid value "total_amount" (NaN,N) creating or editing
647 a membership ([dev/core#1113](https://lab.civicrm.org/dev/core/-/issues/1113):
648 [16429](https://github.com/civicrm/civicrm-core/pull/16429))**
649
650- **Offline Membership Renewal Tax Calculation is incorrect [regression]
651 ([dev/core#1972](https://lab.civicrm.org/dev/core/-/issues/1972):
652 [18271](https://github.com/civicrm/civicrm-core/pull/18271))**
653
654### Drupal Integration
655
656- **Drupal 8 - Using Create User Record action on a contact with no email is too
657 quiet. Also CRM_Core_Session::setStatus is sometimes ignored.
658 ([dev/drupal#127](https://lab.civicrm.org/dev/drupal/-/issues/127):
659 [17914](https://github.com/civicrm/civicrm-core/pull/17914) and
660 [17915](https://github.com/civicrm/civicrm-core/pull/17915))**
661
662 Require email when adding a user and ensure that errors show.
663
664- **The following PHP variables are not set: $_SERVER[HTTP_HOST]
665 ([dev/core#750](https://lab.civicrm.org/dev/core/-/issues/750):
666 [17636](https://github.com/civicrm/civicrm-core/pull/17636))**
667
668 Skip the server variable checks if running in a CLI environment, removing an
669 error when running Drush commands against Drupal 8 and Drupal 9 based sites.
670
afea6949 671- **Can't find reCAPTCHA in Drupal 8
47c2ce56
AH
672 ([dev/core#1871](https://lab.civicrm.org/dev/core/-/issues/1871):
673 [17822](https://github.com/civicrm/civicrm-core/pull/17822))**
674
675- **Fixed for multi-select filter
676 ([615](https://github.com/civicrm/civicrm-drupal/pull/615))**
677
678 This fixes filters for multi-select fields in Views.
679
afea6949 680- **Fix URL for file field
47c2ce56
AH
681 ([608](https://github.com/civicrm/civicrm-drupal/pull/608))**
682
683 This fixes the generated URL for file fields in Views.
684
685### Wordpress Integration
686
687- **[civicrm.files] token doesn't work in some cases since 5.27
688 ([dev/wordpress#66](https://lab.civicrm.org/dev/wordpress/-/issues/66):
689 [18068](https://github.com/civicrm/civicrm-core/pull/18068))**
690
afea6949 691 Ensures the [civicrm.files] token plays nice for sites with older WordPress
47c2ce56
AH
692 file directory set ups.
693
694- **CiviCRM and the WordPress Pods plugin (since version 2.7.13) is incompatible
695 due to Pods including marionette v3.3.1 for backbone, newer than CiviCRM's
696 bundled marionette v1.0.3
697 ([dev/core#1090](https://lab.civicrm.org/dev/core/-/issues/1090):
698 [17855](https://github.com/civicrm/civicrm-core/pull/17855))**
699
700 Ensures CiviCRM plays nicely with recent versions of Elementor Plugin.
701
afea6949 702- **Fix PHP notice on WordPress permissions form
47c2ce56
AH
703 ([17758](https://github.com/civicrm/civicrm-core/pull/17758))**
704
705- **Slow down the frequency of WordPress "heartbeat" calls in CiviCRM admin
706 ([dev/wordpress#67](https://lab.civicrm.org/dev/wordpress/-/issues/67):
707 [214](https://github.com/civicrm/civicrm-wordpress/pull/214))**
708
e4ee9e7b
TO
709- **Be more forgiving about slash in wpBasePage ([dev/wordpress#73](https://lab.civicrm.org/dev/wordpress/issues/73):
710 [18332](https://github.com/civicrm/civicrm-core/pull/18332))**
711
8bd48a0f 712## <a name="misc"></a>Miscellany
6f2bdb76 713
79212351
AH
714- **APIv4 - Add BasicEntity helper class
715 ([17899](https://github.com/civicrm/civicrm-core/pull/17899))**
716
717- **Bump minimum upgradable version to 4.4.7
718 ([17750](https://github.com/civicrm/civicrm-core/pull/17750))**
719
720- **Update version in the test_data_second_domain file and also update the
721 setVersion script to update the file version as necessary
722 ([17897](https://github.com/civicrm/civicrm-core/pull/17897))**
723
724- **Be a little less supportive to cvs
725 ([17896](https://github.com/civicrm/civicrm-core/pull/17896))**
726
727- **Replace a load of references to the wiki with docs links
728 ([17900](https://github.com/civicrm/civicrm-core/pull/17900))**
729
730- **Remove unneccessary isoToDate function
731 ([dev/core#1921](https://lab.civicrm.org/dev/core/-/issues/1921):
732 [18025](https://github.com/civicrm/civicrm-core/pull/18025))**
733
734- **CRM_Activity_Form_SearchTest::testQill can fail semi-randomly
735 ([dev/core#1894](https://lab.civicrm.org/dev/core/-/issues/1894):
736 [17902](https://github.com/civicrm/civicrm-core/pull/17902))**
737
738- **Test for fatal error on new individual form
739 ([dev/core#1874](https://lab.civicrm.org/dev/core/-/issues/1874):
740 [17835](https://github.com/civicrm/civicrm-core/pull/17835))**
741
742- **Bump lodash from 4.17.15 to 4.17.19
743 ([17858](https://github.com/civicrm/civicrm-core/pull/17858))**
744
745- **Update regen.sh with new & upcoming core extensions
746 ([17839](https://github.com/civicrm/civicrm-core/pull/17839))**
747
748- **APIv4 - Add activity contacts to APIv4 field spec
749 ([17766](https://github.com/civicrm/civicrm-core/pull/17766))**
750
751- **Adjust mysql SET NAMES in remaining places as we agreed this was the go
752 ([17825](https://github.com/civicrm/civicrm-core/pull/17825))**
753
754- **CRM_Utils_SQL - Add "onDuplicate()" and "syncInto()" helpers
755 ([17780](https://github.com/civicrm/civicrm-core/pull/17780))**
756
757- **Improve efficiency of findFiles
758 ([17745](https://github.com/civicrm/civicrm-core/pull/17745))**
759
760- **APIv4 Explorer: Improve selection of fields for HAVING
761 ([17746](https://github.com/civicrm/civicrm-core/pull/17746))**
762
763- **Convert CRM.utils.formatDate tests to karma
764 ([17757](https://github.com/civicrm/civicrm-core/pull/17757))**
765
766- **Teach CRM.utils.formatDate to also show time
767 ([17684](https://github.com/civicrm/civicrm-core/pull/17684))**
768
0cce8662
AF
769- **CRM_Utils_Hook: deprecation warning and short array syntax
770 ([17995](https://github.com/civicrm/civicrm-core/pull/17995))**
771
772- **Remove check for valid email in synchronizeUFMatch
773 ([17771](https://github.com/civicrm/civicrm-core/pull/17771))**
774
775- **Remove unused "ufUniqID" session variable
776 ([17904](https://github.com/civicrm/civicrm-core/pull/17904))**
777
778- **Remove duplicate cache flush
779 ([17988](https://github.com/civicrm/civicrm-core/pull/17988))**
780
781- **Remove extraneous opportunistic cache flush.
782 ([17936](https://github.com/civicrm/civicrm-core/pull/17936))**
783
784- **Hooks/Dispatcher - Close loopholes that occur around "preboot" hooks
785 ([17831](https://github.com/civicrm/civicrm-core/pull/17831))**
786
0cce8662
AF
787- **Use PrematureExit exception instead of weird hack in tests
788 ([17870](https://github.com/civicrm/civicrm-core/pull/17870))**
789
790- **Remove unnecessary try/catch per #17729
791 ([17823](https://github.com/civicrm/civicrm-core/pull/17823))**
792
793- **handlePaymentNotification() should not be declared as a static method
794 ([17849](https://github.com/civicrm/civicrm-core/pull/17849))**
795
796- **MembershipRenewalTest - Fix failure
797 ([17830](https://github.com/civicrm/civicrm-core/pull/17830))**
798
799- **Remove hard coded charset.
800 ([17826](https://github.com/civicrm/civicrm-core/pull/17826))**
801
802- **getLoggedInContactID() is a static function
803 ([17783](https://github.com/civicrm/civicrm-core/pull/17783))**
804
805- **Remove PaymentExpress ipn class
806 ([17763](https://github.com/civicrm/civicrm-core/pull/17763))**
807
808- **Remove unused, deprecated functions
809 ([17761](https://github.com/civicrm/civicrm-core/pull/17761))**
810
811- **CIVICRM_BAO_CACHE_ADAPTER - Remove obsolete option
812 ([17990](https://github.com/civicrm/civicrm-core/pull/17990))**
813
814- **More unused functions in GenCode
815 ([17756](https://github.com/civicrm/civicrm-core/pull/17756))**
816
817- **Temporary tables should follow consistent naming convention
818 ([dev/core#183](https://lab.civicrm.org/dev/core/-/issues/183):
819 [17827](https://github.com/civicrm/civicrm-core/pull/17827))**
820
f8220fdf
AF
821- **CRM_Core_BAO_Cache - Remove functions deprecated a year ago
822 ([17989](https://github.com/civicrm/civicrm-core/pull/17989))**
823
824- **Fix all core processors to implement doPayment and not doTransferPayment or
825 doDirectPayment
826 ([https://lab.civicrm.org/dev/financial/-/issues/135](https://lab.civicrm.org/dev/financial/-/issues/135):
827 [18078](https://github.com/civicrm/civicrm-core/pull/18078) and
828 [18072](https://github.com/civicrm/civicrm-core/pull/18072))**
829
8bd48a0f
AF
830- **[REF] Extract setUserContext on contribution form & cleanup on backend add
831 membership form
832 ([17968](https://github.com/civicrm/civicrm-core/pull/17968))**
6f2bdb76 833
8bd48a0f
AF
834- **[REF] remove unnecessary variable variables
835 ([17903](https://github.com/civicrm/civicrm-core/pull/17903))**
6f2bdb76 836
8bd48a0f
AF
837- **[REF] - Add helper function for the repetitive task of fetching multilingual
838 ([17650](https://github.com/civicrm/civicrm-core/pull/17650))**
6f2bdb76 839
afea6949 840- **[REF] Unit test attempt to create reported bugs , minor cleanup
8bd48a0f 841 ([17560](https://github.com/civicrm/civicrm-core/pull/17560))**
6f2bdb76 842
afea6949 843- **[REF] Extract addToRecentItems from membership create
8bd48a0f 844 ([17524](https://github.com/civicrm/civicrm-core/pull/17524))**
6f2bdb76 845
8bd48a0f
AF
846- **[REF] Fix a couple of jQuery errors that have cropped up
847 ([17871](https://github.com/civicrm/civicrm-core/pull/17871))**
6f2bdb76 848
afea6949 849- **[REF] regen.sh - Remove unusual handling of `zipcodes.mysql`
8bd48a0f 850 ([17869](https://github.com/civicrm/civicrm-core/pull/17869))**
6f2bdb76 851
8bd48a0f
AF
852- **[REF] ScheduledJob cleanup, remove unused var
853 ([17862](https://github.com/civicrm/civicrm-core/pull/17862))**
6f2bdb76 854
8bd48a0f
AF
855- **[REF] Migrate Event Cart Setting into the Extension
856 ([17841](https://github.com/civicrm/civicrm-core/pull/17841))**
6f2bdb76 857
8bd48a0f
AF
858- **[REF] Only printOnly once
859 ([17850](https://github.com/civicrm/civicrm-core/pull/17850))**
6f2bdb76 860
afea6949 861- **[REF] APIv4 ConformanceTest - Split apart into per-entity sub-tests
8bd48a0f 862 ([17845](https://github.com/civicrm/civicrm-core/pull/17845))**
6f2bdb76 863
afea6949 864- **[REF] WebsiteTest - Mitigate flaky failures
8bd48a0f 865 ([17833](https://github.com/civicrm/civicrm-core/pull/17833))**
6f2bdb76 866
8bd48a0f
AF
867- **[REF] Follow up cleanup
868 ([17788](https://github.com/civicrm/civicrm-core/pull/17788))**
6f2bdb76 869
8bd48a0f
AF
870- **[REF] Remove ACL join on temp table creation in Member ContributionDetail
871 report ([17723](https://github.com/civicrm/civicrm-core/pull/17723))**
6f2bdb76 872
8bd48a0f
AF
873- **[REF] Do or do not - there is no try
874 ([17795](https://github.com/civicrm/civicrm-core/pull/17795))**
6f2bdb76 875
8bd48a0f
AF
876- **[REF] Unused interface CRM_Report_Interface
877 ([17767](https://github.com/civicrm/civicrm-core/pull/17767))**
6f2bdb76 878
afea6949 879- **[REF] - Cleanup StatusPreference BAO to be more standard
8bd48a0f 880 ([17801](https://github.com/civicrm/civicrm-core/pull/17801))**
6f2bdb76 881
8bd48a0f
AF
882- **[REF] Reduce interaction between dedupe code and createProfileContact
883 ([17920](https://github.com/civicrm/civicrm-core/pull/17920))**
6f2bdb76 884
afea6949 885- **[REF] Simplify field reference
8bd48a0f 886 ([17941](https://github.com/civicrm/civicrm-core/pull/17941))**
6f2bdb76 887
8bd48a0f
AF
888- **[REF] [Test] Minor simplification on test
889 ([18019](https://github.com/civicrm/civicrm-core/pull/18019))**
6f2bdb76 890
afea6949 891- **[REF] Simplify is_email_receipt in sendMail
8bd48a0f 892 ([18029](https://github.com/civicrm/civicrm-core/pull/18029))**
6f2bdb76 893
8bd48a0f
AF
894- **[REF] Remove transaction from BaseIPN completeTransaction call
895 ([18042](https://github.com/civicrm/civicrm-core/pull/18042))**
6f2bdb76 896
8bd48a0f
AF
897- **[REF] Simplify membership status date handling
898 ([18030](https://github.com/civicrm/civicrm-core/pull/18030))**
6f2bdb76 899
8bd48a0f
AF
900- **[REF] Clean up handling of financial_type_id override
901 ([18032](https://github.com/civicrm/civicrm-core/pull/18032))**
6f2bdb76 902
8bd48a0f
AF
903- **[REF] Remove transaction from completeOrder signature
904 ([18046](https://github.com/civicrm/civicrm-core/pull/18046))**
6f2bdb76 905
afea6949 906- **[REF] Remove transaction instantiation in PaypalPro
8bd48a0f 907 ([18026](https://github.com/civicrm/civicrm-core/pull/18026))**
6f2bdb76 908
8bd48a0f
AF
909- **[REF] Stop instantiating transaction in PaypalIPN
910 ([18020](https://github.com/civicrm/civicrm-core/pull/18020))**
6f2bdb76 911
8bd48a0f
AF
912- **[REF] Remove pass-by-reference & always empty param
913 ([17984](https://github.com/civicrm/civicrm-core/pull/17984))**
6f2bdb76 914
8bd48a0f
AF
915- **[REF] Tighten up function signature for dedupePair
916 ([17923](https://github.com/civicrm/civicrm-core/pull/17923))**
6f2bdb76 917
afea6949 918- **[REF] Move noisily deprecate BaseIPN->sendMail, call api from it rather
8bd48a0f
AF
919 than BAO function
920 ([17982](https://github.com/civicrm/civicrm-core/pull/17982))**
6f2bdb76 921
8bd48a0f
AF
922- **[REF] Use CRM_Utils_Mail::send for sending emails for confirming unsubscribe
923 resubscribe auto replies and subscribing
924 ([17396](https://github.com/civicrm/civicrm-core/pull/17396))**
6f2bdb76 925
8bd48a0f
AF
926- **[REF] Reduce calls to CRM_Member_PseudoConstant::membershipType
927 ([17987](https://github.com/civicrm/civicrm-core/pull/17987))**
6f2bdb76 928
8bd48a0f
AF
929- **[REF] Use Standard function cacheClause to re-use contact acl cache table
930 ([17707](https://github.com/civicrm/civicrm-core/pull/17707))**
6f2bdb76 931
8bd48a0f
AF
932- **[REF] Make explicit what we are doing with 'values' in this code
933 ([17979](https://github.com/civicrm/civicrm-core/pull/17979))**
6f2bdb76 934
8bd48a0f
AF
935- **[REF] Minor code clean up
936 ([17974](https://github.com/civicrm/civicrm-core/pull/17974))**
6f2bdb76 937
8bd48a0f
AF
938- **[REF] Grant cleanup
939 ([17967](https://github.com/civicrm/civicrm-core/pull/17967))**
6f2bdb76 940
8bd48a0f
AF
941- **[REF] Refactor to use the standard CRM_Core_Form::addRadio function for a
942 number of radio elements
943 ([17932](https://github.com/civicrm/civicrm-core/pull/17932))**
6f2bdb76 944
8bd48a0f
AF
945- **[REF] Fix the default to_financial_account_id for generated transactions
946 ([17938](https://github.com/civicrm/civicrm-core/pull/17938))**
6f2bdb76 947
8bd48a0f
AF
948- **[REF] Upgrade dompdf version to be more compatible with PHP7.4
949 ([17946](https://github.com/civicrm/civicrm-core/pull/17946))**
6f2bdb76 950
8bd48a0f
AF
951- **[REF] [Tests] Cleanup test declaration to take advantage of mapping
952 improvements ([17939](https://github.com/civicrm/civicrm-core/pull/17939))**
6f2bdb76 953
8bd48a0f
AF
954- **[REF] Remove unnecessary complexity on im export
955 ([17949](https://github.com/civicrm/civicrm-core/pull/17949))**
6f2bdb76 956
8bd48a0f
AF
957- **[REF] GroupContact BAO - Minor code cleanup
958 ([17928](https://github.com/civicrm/civicrm-core/pull/17928))**
6f2bdb76 959
8bd48a0f
AF
960- **[REF] Minor function signuture cleanup
961 ([17922](https://github.com/civicrm/civicrm-core/pull/17922))**
6f2bdb76 962
8bd48a0f
AF
963- **[REF] Do not pass variable by reference
964 ([17921](https://github.com/civicrm/civicrm-core/pull/17921))**
6f2bdb76 965
8bd48a0f
AF
966- **[REF] remove first attempt to set currency in repeattransaction flow
967 ([18055](https://github.com/civicrm/civicrm-core/pull/18055))**
6f2bdb76 968
8bd48a0f
AF
969- **[REF] Even less variable variables
970 ([18058](https://github.com/civicrm/civicrm-core/pull/18058))**
6f2bdb76 971
8bd48a0f
AF
972- **[REF] Move handling of form elements back to the Form
973 ([17981](https://github.com/civicrm/civicrm-core/pull/17981))**
6f2bdb76 974
8bd48a0f
AF
975- **[REF] Simplify location metadata handling in Export class
976 ([17951](https://github.com/civicrm/civicrm-core/pull/17951))**
6f2bdb76 977
8bd48a0f
AF
978- **[REF] Do not pass by reference to the recur function
979 ([18057](https://github.com/civicrm/civicrm-core/pull/18057))**
6f2bdb76 980
8bd48a0f
AF
981- **[REF] Simplify getMembershipStatusByDate more
982 ([18051](https://github.com/civicrm/civicrm-core/pull/18051))**
6f2bdb76 983
8bd48a0f
AF
984- **[REF] Remove mail_mime package as now supplied by composer
985 ([300](https://github.com/civicrm/civicrm-packages/pull/300))**
6f2bdb76 986
8bd48a0f
AF
987- **[REF] Remove some deprecated size function calls replaced with length
988 ([299](https://github.com/civicrm/civicrm-packages/pull/299))**
6f2bdb76 989
f8220fdf
AF
990- **Refactor "applyLocale" and remove references to "language" column in UFMatch
991 table ([18049](https://github.com/civicrm/civicrm-core/pull/18049))**
992
8bd48a0f
AF
993- **[NFC] Fix provider unit test on PHP7.4
994 ([18073](https://github.com/civicrm/civicrm-core/pull/18073))**
6f2bdb76 995
afea6949 996- **[NFC] Docblock cleanup
8bd48a0f 997 ([610](https://github.com/civicrm/civicrm-drupal/pull/610))**
6f2bdb76 998
8bd48a0f
AF
999- **[NFC] Update versions file to remove reference to Mail_mime and Mail
1000 ([301](https://github.com/civicrm/civicrm-packages/pull/301))**
6f2bdb76 1001
8bd48a0f
AF
1002- **[NFC] Re run regen after recent merges
1003 ([17842](https://github.com/civicrm/civicrm-core/pull/17842))**
6f2bdb76 1004
8bd48a0f
AF
1005- **[NFC] Fix nonstandard header comments
1006 ([17880](https://github.com/civicrm/civicrm-core/pull/17880))**
6f2bdb76 1007
8bd48a0f
AF
1008- **[NFC] Add in a unit test of calling the contribution page widget endpoint
1009 and remove unneeded file
1010 ([17965](https://github.com/civicrm/civicrm-core/pull/17965))**
6f2bdb76 1011
8bd48a0f
AF
1012- **[NFC] Improve docs for APIv4 Save action
1013 ([18004](https://github.com/civicrm/civicrm-core/pull/18004))**
6f2bdb76 1014
afea6949 1015- **[NFC] Docblock cleanup
8bd48a0f 1016 ([17945](https://github.com/civicrm/civicrm-core/pull/17945))**
6f2bdb76 1017
8bd48a0f
AF
1018- **[NFC] Update a few doc/wiki links in code comments
1019 ([17918](https://github.com/civicrm/civicrm-core/pull/17918))**
6f2bdb76 1020
8bd48a0f
AF
1021- **[NFC] Comment block cleanup
1022 ([17872](https://github.com/civicrm/civicrm-core/pull/17872))**
6f2bdb76 1023
8bd48a0f
AF
1024- **[Test] Update hook signature in test
1025 ([609](https://github.com/civicrm/civicrm-drupal/pull/609))**
6f2bdb76 1026
afea6949 1027- **[Test] Attempt to replicate #17852
8bd48a0f 1028 ([18038](https://github.com/civicrm/civicrm-core/pull/18038))**
6f2bdb76 1029
8bd48a0f
AF
1030- **[Test fix] We might need this to ensure really quick test runs don't fail
1031 ([18045](https://github.com/civicrm/civicrm-core/pull/18045))**
6f2bdb76 1032
8bd48a0f
AF
1033- **Add testing to Authorize.net and remove the lines that are repeated
1034 ([18028](https://github.com/civicrm/civicrm-core/pull/18028))**
6f2bdb76 1035
8bd48a0f
AF
1036- **Add test on status calculation
1037 ([18037](https://github.com/civicrm/civicrm-core/pull/18037))**
6f2bdb76 1038
8bd48a0f
AF
1039- **Fix for failing test
1040 ([18036](https://github.com/civicrm/civicrm-core/pull/18036))**
6f2bdb76 1041
8bd48a0f
AF
1042- **[Test framework] re-re-fix test and add test for test
1043 ([18013](https://github.com/civicrm/civicrm-core/pull/18013))**
6f2bdb76 1044
8bd48a0f 1045- **Re-fix test ([18009](https://github.com/civicrm/civicrm-core/pull/18009))**
6f2bdb76 1046
8bd48a0f
AF
1047- **[Test framework] - Update failing test
1048 ([18003](https://github.com/civicrm/civicrm-core/pull/18003))**
6f2bdb76 1049
8bd48a0f
AF
1050- **[Test framework] - Combine triplicate createCase functions
1051 ([17957](https://github.com/civicrm/civicrm-core/pull/17957))**
6f2bdb76 1052
8bd48a0f
AF
1053- **Remove error checking by-pass in tests
1054 ([17940](https://github.com/civicrm/civicrm-core/pull/17940))**
6f2bdb76 1055
8bd48a0f
AF
1056- **[Test Framework] - Tests for report downloads
1057 ([17892](https://github.com/civicrm/civicrm-core/pull/17892))**
6f2bdb76 1058
afea6949 1059- **api_v3_TaxContributionPageTest - Remove hard coded processor id
8bd48a0f 1060 ([17860](https://github.com/civicrm/civicrm-core/pull/17860))**
6f2bdb76 1061
8bd48a0f
AF
1062- **API tests - label versions in dataprovider versionThreeAndFour
1063 ([17847](https://github.com/civicrm/civicrm-core/pull/17847))**
6f2bdb76 1064
8bd48a0f
AF
1065- **Extract code to set isEmailReceipt in Contribution.completeOrder
1066 ([18039](https://github.com/civicrm/civicrm-core/pull/18039))**
6f2bdb76 1067
8bd48a0f
AF
1068- **Do not pass-by-reference to recur function
1069 ([18071](https://github.com/civicrm/civicrm-core/pull/18071))**
6f2bdb76 1070
8bd48a0f
AF
1071- **Unused functions in GenCode
1072 ([17753](https://github.com/civicrm/civicrm-core/pull/17753))**
6f2bdb76 1073
8bd48a0f
AF
1074- **Fix typo in templates/CRM/Report/Form/Tabs/GroupBy.tpl
1075 ([17747](https://github.com/civicrm/civicrm-core/pull/17747))**
6f2bdb76 1076
8bd48a0f
AF
1077- **Remove unused "ufUniqID" session variable
1078 ([213](https://github.com/civicrm/civicrm-wordpress/pull/213))**
6f2bdb76 1079
8bd48a0f
AF
1080- **Remove Net packages Net_Curl Net_DIME as they do not appear to be used
1081 ([294](https://github.com/civicrm/civicrm-packages/pull/294))**
6f2bdb76 1082
8bd48a0f
AF
1083- **Update contributor key for Andrew
1084 ([18230](https://github.com/civicrm/civicrm-core/pull/18230))**
6f2bdb76 1085
8bd48a0f
AF
1086- **Fix qill typo
1087 ([18041](https://github.com/civicrm/civicrm-core/pull/18041))**
6f2bdb76 1088
8bd48a0f
AF
1089- **Update flexmailer release information
1090 ([17912](https://github.com/civicrm/civicrm-core/pull/17912))**
6f2bdb76 1091
8bd48a0f
AF
1092- **Remove invalid use of crmMoney formatter
1093 ([18031](https://github.com/civicrm/civicrm-core/pull/18031))**
6f2bdb76 1094
8bd48a0f
AF
1095- **Remove main PaymentExpress class
1096 ([18010](https://github.com/civicrm/civicrm-core/pull/18010))**
6f2bdb76 1097
8bd48a0f
AF
1098- **Remove unused parameter ids['billing']
1099 ([18021](https://github.com/civicrm/civicrm-core/pull/18021))**
6f2bdb76 1100
8bd48a0f
AF
1101- **Cache loader - remove legacy handling, handle null result from setting
1102 ([17999](https://github.com/civicrm/civicrm-core/pull/17999))**
6f2bdb76 1103
f8220fdf
AF
1104- **Use case id to get relationship for activity creation
1105 ([17256](https://github.com/civicrm/civicrm-core/pull/17256) and
1106 [17764](https://github.com/civicrm/civicrm-core/pull/17764))**
1107
6f2bdb76
AH
1108## <a name="credits"></a>Credits
1109
1110This release was developed by the following code authors:
1111
8bd48a0f
AF
1112AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman;
1113Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma,
1114Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
1115Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra
1116Purohit; iXiam - César Ramos, Diego Muñio; JMA Consulting - Monish Deb, Seamus
1117Lee; John Kingsnorth; Joinery - Allen Shaw; Lighthouse Consulting and Design -
1118Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech -
1119Chamil Wijesooriya; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire;
1120Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan
1121Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; Timbsoft
1122Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
6f2bdb76
AH
1123
1124Most authors also reviewed code for this release; in addition, the following
1125reviewers contributed their comments:
1126
79212351
AH
1127Agileware - Pengyi Zhang; Andrew Thompson; Artful Robot - Rich Lott; Australian
1128Greens - Andrew Cormick-Dockery, John Twyman; Bastien Ho; Blackfly Solutions -
1129Alan Dixon; Carlos Capote; CompuCorp - Jamie Novick; DevApp - Adam Kwiatkowski;
8bd48a0f
AF
1130Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Greenpeace
1131Central and Eastern Europe - Patrick Figel; Irene Meisel; JMA Consulting - Joe
1132Murray; Korlon - Stuart Gaston; Nicol Wistreich; Rar9; Ray Wright; Semper IT -
79212351 1133Karin Gerritsen; Third Sector Design - Michael McAndrew
cb42725f
AH
1134
1135## <a name="feedback"></a>Feedback
1136
1137These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
1138to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1139and contact `@agh1`.