commenting and sorting
[civicrm-core.git] / release-notes / 5.29.0.md
1 # CiviCRM 5.29.0
2
3 Released September 2, 2020
4
5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
11
12 ## <a name="synopsis"></a>Synopsis
13
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | |
17 | Change the database schema? | |
18 | Alter the API? | |
19 | Require attention to configuration options? | |
20 | Fix problems installing or upgrading to a previous version? | |
21 | Introduce features? | |
22 | Fix bugs? | |
23
24 ## <a name="features"></a>Features
25
26 ### CiviMember
27
28 - **Option to update expired memberships as part of the job.process_membership
29 ([dev/membership#18](https://lab.civicrm.org/dev/membership/-/issues/18):
30 [16298](https://github.com/civicrm/civicrm-core/pull/16298))**
31
32 Improves the Job.process_membership API/Scheduled job by adding some new
33 parameters, specifically:
34
35 - exclude_test_memberships: Exclude test memberships from calculations
36 (default = TRUE)
37 - only_active_membership_types: Exclude disabled membership types from
38 calculations (default = TRUE)
39 - exclude_membership_status_ids: Default: Exclude Pending, Cancelled,
40 Expired.
41
42 Deceased will always be excluded
43
44 ### Backdrop Integration
45
46 - **Support for installing CiviCRM-Backdrop via "setup" UI
47 ([17749](https://github.com/civicrm/civicrm-core/pull/17749) and
48 [121](https://github.com/civicrm/civicrm-backdrop/pull/121))**
49
50 Improves the installation and Setup process for Backdrop integration's so that
51 one enables the CiviCRM module like any other module and then is directed to
52 the setup screen to complete installation as opposed to having to navigate to
53 a specific link.
54
55 ### Core CiviCRM
56
57 - **Icon in status message after saving a civireport is misleading
58 ([dev/report#43](https://lab.civicrm.org/dev/report/-/issues/43):
59 [17863](https://github.com/civicrm/civicrm-core/pull/17863))**
60
61 Improves icons in Status Messages for reports.
62
63 - **Remove ORDER BY and GROUP BY from alphabetQuery to improve performance
64 ([16877](https://github.com/civicrm/civicrm-core/pull/16877))**
65
66 ## <a name="bugs"></a>Bugs resolved
67
68 ### Wordpress Integration
69
70 - **[civicrm.files] token doesn't work in some cases since 5.27
71 ([dev/wordpress#66](https://lab.civicrm.org/dev/wordpress/-/issues/66):
72 [18068](https://github.com/civicrm/civicrm-core/pull/18068))**
73
74 Ensures the [civicrm.files] token plays nice for sites with older wordpress
75 file directory set ups.
76
77 ### Drupal Integration
78
79 - **Drupal 8 - Using Create User Record action on a contact with no email is too
80 quiet. Also CRM_Core_Session::setStatus is sometimes ignored.
81 ([dev/drupal#127](https://lab.civicrm.org/dev/drupal/-/issues/127):
82 [17914](https://github.com/civicrm/civicrm-core/pull/17914) and
83 [17915](https://github.com/civicrm/civicrm-core/pull/17915))**
84
85 Require email when adding a user and ensure that errors show.
86
87 ### CiviCase
88
89 - **Fix case activity field set to allow long details to be exported
90 ([17970](https://github.com/civicrm/civicrm-core/pull/17970))**
91
92 ### CiviContribute
93
94 - **Contribution Details Statistics are multiplied under many circumstances
95 ([dev/report#21](https://lab.civicrm.org/dev/report/-/issues/21):
96 [15435](https://github.com/civicrm/civicrm-core/pull/15435) and
97 [17809](https://github.com/civicrm/civicrm-core/pull/17809))**
98
99 - **Contribution Summary Report: The "general total" row does not take the
100 currency filtered
101 ([dev/report#27](https://lab.civicrm.org/dev/report/-/issues/27):
102 [16736](https://github.com/civicrm/civicrm-core/pull/16736))**
103
104 When the contribution summary report is used by filtering for a currency other
105 than the site's default currency, the "grand total" row shows the sign of the
106 default currency instead of the filtered currency.
107
108 - **Define the logic that sets (or not) contribution receive_date in relation to
109 payments
110 ([dev/financial#139](https://lab.civicrm.org/dev/financial/-/issues/139):
111 [17777](https://github.com/civicrm/civicrm-core/pull/17777))**
112
113 Ensures that the contribution receive_date does not change when payments come
114 in.
115
116 - **Fix PaypalIPN single function to not receive-by-reference
117 ([18044](https://github.com/civicrm/civicrm-core/pull/18044))**
118
119 ### CiviEvent
120
121 - **Can't meaningfully disable self-service transfer/cancellation once enabled
122 ([dev/event#35](https://lab.civicrm.org/dev/event/-/issues/35):
123 [18040](https://github.com/civicrm/civicrm-core/pull/18040))**
124
125 - **Event registration form has inconsistent labeling
126 ([dev/event#38](https://lab.civicrm.org/dev/event/-/issues/38):
127 [17695](https://github.com/civicrm/civicrm-core/pull/17695))**
128
129 - **Event cart hidden/enabled in buildkit 5.29 RC
130 ([dev/event#40](https://lab.civicrm.org/dev/event/-/issues/40):
131 [18101](https://github.com/civicrm/civicrm-core/pull/18101))**
132
133 Ensures that the Event Cart functionality defaults to off.
134
135 ### CiviMail
136
137 - **Test mailings create new contacts even when "Add Contacts" permission is not
138 present. ([dev/mail#70](https://lab.civicrm.org/dev/mail/-/issues/70):
139 [17867](https://github.com/civicrm/civicrm-core/pull/17867))**
140
141 Ensures contacts are not created when a user without permissions to create
142 contacts sends a test email.
143
144 ### Core CiviCRM
145
146 - **Installing drupal 8 using civicrm-setup leads to "incorrect resource url"
147 system status check errors
148 ([dev/drupal#114](https://lab.civicrm.org/dev/drupal/-/issues/114) and
149 [dev/core#1647](https://lab.civicrm.org/dev/core/-/issues/1647):
150 [17754](https://github.com/civicrm/civicrm-core/pull/17754))**
151
152 Removes the resource url status check.
153
154
155
156 - **dev/core#183 Use TempTable builder to generate table for import ([17827](https://github.com/civicrm/civicrm-core/pull/17827))**
157
158 - **[dev/core#750] Don't check server variables if we're running in CLI ([17636](https://github.com/civicrm/civicrm-core/pull/17636))**
159
160 - **dev/core#785 Differentiate smart group from regular group using icon in select2 field ([17927](https://github.com/civicrm/civicrm-core/pull/17927))**
161
162 - **dev/core#785 Differentiate smart group from regular group using icon in select2 field ([13958](https://github.com/civicrm/civicrm-core/pull/13958))**
163
164 - **dev/core#1090 Update extendedSerializeData to use the Backbone namesp… ([17855](https://github.com/civicrm/civicrm-core/pull/17855))**
165
166 - **dev/core#1113 - Decimal Separator - Invalid value "total_amount" (NaN,N) creating or editing a membership ([16429](https://github.com/civicrm/civicrm-core/pull/16429))**
167
168 - **dev/core#1137 - Allow ssl connection to mysql by specifying in DSN ([17706](https://github.com/civicrm/civicrm-core/pull/17706))**
169
170 - **dev/core#1280 Fix ContributionPage soft_credit translation ([16838](https://github.com/civicrm/civicrm-core/pull/16838))**
171
172 - **dev/core#1578 - Fix APIv4 chaining with custom fields ([17866](https://github.com/civicrm/civicrm-core/pull/17866))**
173
174 - **dev/core#1665 Remove the having clause as well as having needs a group by ([18052](https://github.com/civicrm/civicrm-core/pull/18052))**
175
176 - **dev/core#1670 copy custom fields from master to shared address ([17580](https://github.com/civicrm/civicrm-core/pull/17580))**
177
178 - **dev/core#1679: Ensure Paypal IPN always updates the next scheduled payment date ([17744](https://github.com/civicrm/civicrm-core/pull/17744))**
179
180 - **dev/core#1725 Only export primary address fields ([17458](https://github.com/civicrm/civicrm-core/pull/17458))**
181
182 - **dev/core#1751: [Create Email] Only Show Update/Save Template when User has Permission to Edit Templates ([17480](https://github.com/civicrm/civicrm-core/pull/17480))**
183
184 - **dev/core#1755 Fix reCaptcha on Mailing Subscribe ([17305](https://github.com/civicrm/civicrm-core/pull/17305))**
185
186 - **dev/core#1767 Fix phone key parsing in CRM_Dedupe_Finder ([17361](https://github.com/civicrm/civicrm-core/pull/17361) and [17882](https://github.com/civicrm/civicrm-core/pull/17882))**
187
188 - **dev/core#1768 - Add CiviMail synchronisation frequency setting. ([17709](https://github.com/civicrm/civicrm-core/pull/17709))**
189
190 - **core#1795: Searchable Parent tags ([17513](https://github.com/civicrm/civicrm-core/pull/17513))**
191
192 - **core#1805: Autocomplete-select custom field is not searchable ([17569](https://github.com/civicrm/civicrm-core/pull/17569))**
193
194 - **dev/core#1812 Missing view when logging set in a non-US English instance ([17815](https://github.com/civicrm/civicrm-core/pull/17815))**
195
196 - **core#1826: Ignore location_type_id when deduping postal address ([17645](https://github.com/civicrm/civicrm-core/pull/17645))**
197
198 - **dev/core#1827 activity search - fixing search by tags ([17655](https://github.com/civicrm/civicrm-core/pull/17655) and [17755](https://github.com/civicrm/civicrm-core/pull/17755))**
199
200 - **dev/core#1843 Remove url-tracking in mass sms. ([17700](https://github.com/civicrm/civicrm-core/pull/17700))**
201
202 - **dev/core#1853 - Fix validation errors when removing contact subtype ([17765](https://github.com/civicrm/civicrm-core/pull/17765))**
203
204 - **dev/core#1855 - Allow different output formats for CiviReport results and untangle code ([17901](https://github.com/civicrm/civicrm-core/pull/17901))**
205
206 - **dev/core#1858 Prevent Duplicate contact records being created and har… ([17769](https://github.com/civicrm/civicrm-core/pull/17769))**
207
208 - **dev/core#1861 fix failure to unset location_type_id when saving uffield ([17812](https://github.com/civicrm/civicrm-core/pull/17812))**
209
210 - **dev/core#1863 Downgrade checkEnvironment level and skip non-prod checks ([17807](https://github.com/civicrm/civicrm-core/pull/17807))**
211
212 - **dev/core#1868 - Regression - Description field is always blank on profiles admin page and slew of E_NOTICES ([17786](https://github.com/civicrm/civicrm-core/pull/17786))**
213
214 - **dev/core#1869 - Include BOM in attachment when sending CSV CiviReport via mail_report job ([17806](https://github.com/civicrm/civicrm-core/pull/17806))**
215
216 - **dev/core#1871 - require_once's that include "packages/" in the path don't work on drupal 8 ([17822](https://github.com/civicrm/civicrm-core/pull/17822))**
217
218 - **dev/core#1872 - Packages and vendor path calculation used in system check is outdated ([17844](https://github.com/civicrm/civicrm-core/pull/17844))**
219
220 - **dev/core#1874 - Failing test for new Individual form ([17835](https://github.com/civicrm/civicrm-core/pull/17835))**
221
222 - **dev/core#1880 add backticks to custom field insertions ([17848](https://github.com/civicrm/civicrm-core/pull/17848))**
223
224 - **dev/core#1888 - Fix one line in PR 17888 ([17898](https://github.com/civicrm/civicrm-core/pull/17898))**
225
226 - **dev/core#1888 and dev/core#1885 - Fatal error on advanced search and warnings and missing group display on contact form ([17888](https://github.com/civicrm/civicrm-core/pull/17888))**
227
228 - **dev/core#1894 - Make CRM_Activity_Form_SearchTest::testQill less time-sensitive ([17902](https://github.com/civicrm/civicrm-core/pull/17902))**
229
230 - **dev/core#1895 fix first/last name adv search ([17950](https://github.com/civicrm/civicrm-core/pull/17950))**
231
232 - **dev/core#1902: "Contribution Source" profile field has no effect ([17930](https://github.com/civicrm/civicrm-core/pull/17930))**
233
234 - **dev/core#1905 force backend links for new "configure" buttons ([18088](https://github.com/civicrm/civicrm-core/pull/18088))**
235
236 - **dev/core#1905 rework #17942 with simpler ts strings ([18064](https://github.com/civicrm/civicrm-core/pull/18064))**
237
238 - **dev/core#1905 Add configure icons on public pages ([17942](https://github.com/civicrm/civicrm-core/pull/17942))**
239
240 - **dev/core#1906 - Allow payment create api to record payment on Failed … ([17943](https://github.com/civicrm/civicrm-core/pull/17943))**
241
242 - **dev/core#1909 Fix E-notice when adding a field on a profile ([17962](https://github.com/civicrm/civicrm-core/pull/17962))**
243
244 - **dev/core#1909 Fix e-notice when adding a payment processor ([17964](https://github.com/civicrm/civicrm-core/pull/17964))**
245
246 - **dev/core#1909 - E_NOTICE opening file-on-case ([17959](https://github.com/civicrm/civicrm-core/pull/17959))**
247
248 - **dev/core#1909 - E_NOTICE on contribution edit ([18006](https://github.com/civicrm/civicrm-core/pull/18006))**
249
250 - **dev/core#1909 - Avoid E_Notice on SMS provider form when no default url ([17985](https://github.com/civicrm/civicrm-core/pull/17985))**
251
252 - **dev/core#1913 Allow for schemas to be added by extensions if they are… ([17986](https://github.com/civicrm/civicrm-core/pull/17986))**
253
254 - **dev/core#1915 - E_NOTICE when making pcp contribution ([18002](https://github.com/civicrm/civicrm-core/pull/18002))**
255
256 - **dev/core#1916 - Fix naming of case export fields / remove ones that aren't true ([18043](https://github.com/civicrm/civicrm-core/pull/18043))**
257
258 - **dev/core#1918 - Remove dubious qfkey checking code that never runs ([18007](https://github.com/civicrm/civicrm-core/pull/18007))**
259
260 - **dev/core#1919 - Missing resubscribe url in text/plain version of unsubscribe confirmation email ([18015](https://github.com/civicrm/civicrm-core/pull/18015))**
261
262 - **dev/core#1921 [Ref] remove isoToMysql ([18025](https://github.com/civicrm/civicrm-core/pull/18025))**
263
264 - **dev/core#1928 Fix HTML5 error due to required attribute being set swi… ([18080](https://github.com/civicrm/civicrm-core/pull/18080))**
265
266 - **dev/core#1932 - Make status-checks more polite during upgrade ([18085](https://github.com/civicrm/civicrm-core/pull/18085))**
267
268 - **dev/core#1937 - Upgrade message about needing composer patching turned on and updating mysql in DSN strings ([18174](https://github.com/civicrm/civicrm-core/pull/18174))**
269
270 - **dev/core#1983 Fix to tax calculation on multi-line-item ([18290](https://github.com/civicrm/civicrm-core/pull/18290))**
271
272 - **dev/core#1972 Fix tax_amount calclation on renewal form ([18271](https://github.com/civicrm/civicrm-core/pull/18271))**
273
274 - **Fix obscure dedupe scenario where 'bad' location data can overwrite good
275 data ([17993](https://github.com/civicrm/civicrm-core/pull/17993))**
276
277 - **Fix JQuery Validation for radios
278 ([17937](https://github.com/civicrm/civicrm-core/pull/17937))**
279
280 - **Fix buggy placement of icons on buttons
281 ([18005](https://github.com/civicrm/civicrm-core/pull/18005))**
282
283
284
285
286
287
288 - **Installation doclinks not getting url-rewritten ([18175](https://github.com/civicrm/civicrm-core/pull/18175))**
289
290 - **Fix button name on updated form ([18000](https://github.com/civicrm/civicrm-core/pull/18000))**
291
292 - **Show cron warning on Scheduled Jobs admin page ([18065](https://github.com/civicrm/civicrm-core/pull/18065))**
293
294 - **Use correct pdf package to generate pdf file on invoice download/email activity ([18056](https://github.com/civicrm/civicrm-core/pull/18056))**
295
296 - **CRM_Utils_Hook: deprecation warning and short array syntax ([17995](https://github.com/civicrm/civicrm-core/pull/17995))**
297
298 - **Why not make the buttons flat? ([18054](https://github.com/civicrm/civicrm-core/pull/18054))**
299
300 - **Remove requirement to pass 'contribution_status_id' => Pending from order.create ([18018](https://github.com/civicrm/civicrm-core/pull/18018))**
301
302 - **Use saved contribution's line items rather than the primaryContributionID ([18033](https://github.com/civicrm/civicrm-core/pull/18033))**
303
304 - **Wrap multi record custom field inside a div ([17966](https://github.com/civicrm/civicrm-core/pull/17966))**
305
306 - **Do not overwrite values saved from the repeatContribution routine ([17972](https://github.com/civicrm/civicrm-core/pull/17972))**
307
308 - **SystemCheck: add ability to efficiently run only specified checks ([17824](https://github.com/civicrm/civicrm-core/pull/17824))**
309
310 - **Change inform-icon to fa-info-circle ([18001](https://github.com/civicrm/civicrm-core/pull/18001))**
311
312 - **CIVICRM_BAO_CACHE_ADAPTER - Remove obsolete option ([17990](https://github.com/civicrm/civicrm-core/pull/17990))**
313
314 - **SQL temp table not using utf8mb4 if server default already set to utf8mb4 ([18012](https://github.com/civicrm/civicrm-core/pull/18012))**
315
316 - **Wrong link to admin page in error message about FROM address on PCP page ([17996](https://github.com/civicrm/civicrm-core/pull/17996))**
317
318 - **Fix repeattransaction api to use custom data from the template contribution ([17975](https://github.com/civicrm/civicrm-core/pull/17975))**
319
320 - **Fixed filling default values for tagssets in the advanced search form ([17978](https://github.com/civicrm/civicrm-core/pull/17978))**
321
322 - **Remove duplicate cache flush ([17988](https://github.com/civicrm/civicrm-core/pull/17988))**
323
324 - **Simplify caching of status checks ([17817](https://github.com/civicrm/civicrm-core/pull/17817))**
325
326 - **ensure custom field checkboxes are populated in profiles ([17977](https://github.com/civicrm/civicrm-core/pull/17977))**
327
328 - **Upgrade PEAR/mail_mime package to be compliant with PHP7.4 and deploy it using composer ([17948](https://github.com/civicrm/civicrm-core/pull/17948))**
329
330 - **APIv4 - Add keyword to select all custom fields ([17955](https://github.com/civicrm/civicrm-core/pull/17955))**
331
332 - **CRM_Utils_Check_Component_Case - Guard against post-upgrade crash ([17944](https://github.com/civicrm/civicrm-core/pull/17944))**
333
334 - **Remove extraneous opportunistic cache flush. ([17936](https://github.com/civicrm/civicrm-core/pull/17936))**
335
336 - **Improve caching of current domain ([17916](https://github.com/civicrm/civicrm-core/pull/17916))**
337
338 - **Setup UI - Validate that at least one "Component" is enabled ([17778](https://github.com/civicrm/civicrm-core/pull/17778))**
339
340 - **Member detail report: nest "in" options in parentheses ([17911](https://github.com/civicrm/civicrm-core/pull/17911))**
341
342 - **Fix sticky table header on "Find Activities" page ([17917](https://github.com/civicrm/civicrm-core/pull/17917))**
343
344 - **Remove unused "ufUniqID" session variable ([17904](https://github.com/civicrm/civicrm-core/pull/17904))**
345
346 - **Replace a load of references to the wiki with docs links ([17900](https://github.com/civicrm/civicrm-core/pull/17900))**
347
348 - **Remove check for valid email in synchronizeUFMatch ([17771](https://github.com/civicrm/civicrm-core/pull/17771))**
349
350 - **Call apiv4 from Contribution create rather than fugly addActivity function ([17881](https://github.com/civicrm/civicrm-core/pull/17881))**
351
352 - **APIv4 - Add BasicEntity helper class ([17899](https://github.com/civicrm/civicrm-core/pull/17899))**
353
354 - **Add APIv4 and pseudoconstants for RelationshipCache ([17879](https://github.com/civicrm/civicrm-core/pull/17879))**
355
356 - **Update version in the test_data_second_domain file and also update the setVersion script to update the file version as necessary ([17897](https://github.com/civicrm/civicrm-core/pull/17897))**
357
358 - **Be a little less supportive to cvs ([17896](https://github.com/civicrm/civicrm-core/pull/17896))**
359
360 - **APIv4 - Specify BridgeEntities to assist with joins ([17808](https://github.com/civicrm/civicrm-core/pull/17808))**
361
362 - **Event Cart ext: Move menu entries to extension ([17891](https://github.com/civicrm/civicrm-core/pull/17891))**
363
364 - **EventCart ext: Cleanup and move form components to ext ([17885](https://github.com/civicrm/civicrm-core/pull/17885))**
365
366 - **EventCart ext: Fix autogenerated code, remove unused hooks, update readme ([17884](https://github.com/civicrm/civicrm-core/pull/17884))**
367
368 - **Load contribution page if live payment processor is disabled but test is available ([17828](https://github.com/civicrm/civicrm-core/pull/17828))**
369
370 - **Search debug ([17887](https://github.com/civicrm/civicrm-core/pull/17887))**
371
372 - **Use new checkPermissions shorthand in api calls ([17874](https://github.com/civicrm/civicrm-core/pull/17874))**
373
374 - **Simplify flushing group contact cache query to reduce table locking and improve performance ([17846](https://github.com/civicrm/civicrm-core/pull/17846))**
375
376
377
378 - **Disable frequency/interval fields if not required. Mark required if they are so they are validated before submit ([17526](https://github.com/civicrm/civicrm-core/pull/17526))**
379
380 - **Fix currency symbol for Total Amount on contribution page ([17703](https://github.com/civicrm/civicrm-core/pull/17703))**
381
382 - **RelationshipCache - Add a high-level index to facilitate relationship queries (more fields) ([17781](https://github.com/civicrm/civicrm-core/pull/17781))**
383
384 - **Hooks/Dispatcher - Close loopholes that occur around "preboot" hooks ([17831](https://github.com/civicrm/civicrm-core/pull/17831))**
385
386 - **APIv4 - Add shorthand for setCheckPermissions() ([17834](https://github.com/civicrm/civicrm-core/pull/17834))**
387
388 - **Use PrematureExit exception instead of weird hack in tests ([17870](https://github.com/civicrm/civicrm-core/pull/17870))**
389
390 - **Remove unnecessary try/catch per #17729 ([17823](https://github.com/civicrm/civicrm-core/pull/17823))**
391
392 - **Fixed DB Error: syntax error if line item refers to civicrm_case ([16626](https://github.com/civicrm/civicrm-core/pull/16626))**
393
394 - **Fix potential js error on summary screen when reloading blocks ([17865](https://github.com/civicrm/civicrm-core/pull/17865))**
395
396 - **Search Ext: fix loading options and parsing custom field names ([17864](https://github.com/civicrm/civicrm-core/pull/17864))**
397
398 - **EventCart - Resolve BAO identity and uncommitted DAO changes ([17861](https://github.com/civicrm/civicrm-core/pull/17861))**
399
400 - **Bump lodash from 4.17.15 to 4.17.19 ([17858](https://github.com/civicrm/civicrm-core/pull/17858))**
401
402 - **handlePaymentNotification() should not be declared as a static method ([17849](https://github.com/civicrm/civicrm-core/pull/17849))**
403
404 - **Move BAO and template files into event cart ([17743](https://github.com/civicrm/civicrm-core/pull/17743))**
405
406 - **Update regen.sh with new & upcoming core extensions ([17839](https://github.com/civicrm/civicrm-core/pull/17839))**
407
408 - **MembershipRenewalTest - Fix failure ([17830](https://github.com/civicrm/civicrm-core/pull/17830))**
409
410 - **Remove hard coded charset. ([17826](https://github.com/civicrm/civicrm-core/pull/17826))**
411
412 - **APIv4 - Add activity contacts to APIv4 field spec ([17766](https://github.com/civicrm/civicrm-core/pull/17766))**
413
414 - **Adjust mysql SET NAMES in remaining places as we agreed this was the go ([17825](https://github.com/civicrm/civicrm-core/pull/17825))**
415
416 - **Make new email open and url routes 'public' ([17813](https://github.com/civicrm/civicrm-core/pull/17813))**
417
418 - **Make api get upgrade-safe ([17729](https://github.com/civicrm/civicrm-core/pull/17729))**
419
420 - **CRM_Utils_SQL - Add "onDuplicate()" and "syncInto()" helpers ([17780](https://github.com/civicrm/civicrm-core/pull/17780))**
421
422 - **CheckEnv - Give new installs a grace period before 'Cron Not Running' msg ([17800](https://github.com/civicrm/civicrm-core/pull/17800))**
423
424 - **Fix 'Undefined variable: jsSet in CRM_Core_BAO_Mapping::loadSavedMapping()' ([17816](https://github.com/civicrm/civicrm-core/pull/17816))**
425
426
427
428 - **Add hidden tag to search extension ([17789](https://github.com/civicrm/civicrm-core/pull/17789))**
429
430 - **Sort permittedActivityTypes ([17794](https://github.com/civicrm/civicrm-core/pull/17794))**
431
432 - **Add auto-renew status to membership detail report ([17683](https://github.com/civicrm/civicrm-core/pull/17683))**
433
434 - **APIv4 - Fix saving custom fields with same name ([17791](https://github.com/civicrm/civicrm-core/pull/17791))**
435
436 - **Add system check to ensure WP base page exists ([17698](https://github.com/civicrm/civicrm-core/pull/17698))**
437
438 - **Fixed notice error on Relationships report ([17787](https://github.com/civicrm/civicrm-core/pull/17787))**
439
440 - **getLoggedInContactID() is a static function ([17783](https://github.com/civicrm/civicrm-core/pull/17783))**
441
442 - **Add search extension ([17775](https://github.com/civicrm/civicrm-core/pull/17775))**
443
444 - **Remove PaymentExpress ipn class ([17763](https://github.com/civicrm/civicrm-core/pull/17763))**
445
446 - **Status Checks - Use more specific label regarding "Domain"/"Organization" check ([17776](https://github.com/civicrm/civicrm-core/pull/17776))**
447
448 - **Bump minimum upgradable version to 4.4.7 ([17750](https://github.com/civicrm/civicrm-core/pull/17750))**
449
450 - **Remove unused, deprecated functions ([17761](https://github.com/civicrm/civicrm-core/pull/17761))**
451
452 - **Improve efficiency of findFiles ([17745](https://github.com/civicrm/civicrm-core/pull/17745))**
453
454 - **APIv4 Explorer: Improve selection of fields for HAVING ([17746](https://github.com/civicrm/civicrm-core/pull/17746))**
455
456 - **More unused functions in GenCode ([17756](https://github.com/civicrm/civicrm-core/pull/17756))**
457
458 - **Fix PHP notice on wordpress permissions form ([17758](https://github.com/civicrm/civicrm-core/pull/17758))**
459
460 - **Convert CRM.utils.formatDate tests to karma ([17757](https://github.com/civicrm/civicrm-core/pull/17757))**
461
462 - **Teach CRM.utils.formatDate to also show time ([17684](https://github.com/civicrm/civicrm-core/pull/17684))**
463
464 - **Add eventcart shell ([17741](https://github.com/civicrm/civicrm-core/pull/17741))**
465
466 - **Fixed for multi-select filter ([615](https://github.com/civicrm/civicrm-drupal/pull/615))**
467
468 - **fix url for file field ([608](https://github.com/civicrm/civicrm-drupal/pull/608))**
469
470 - **Slow down the frequency of WordPress "heartbeat" calls in CiviCRM admin ([214](https://github.com/civicrm/civicrm-wordpress/pull/214))**
471
472 - **Installation - Support "activate first" w/setup UI ([606](https://github.com/civicrm/civicrm-drupal/pull/606))**
473
474 ## <a name="misc"></a>Miscellany
475
476 - **CRM_Core_BAO_Cache - Remove functions deprecated a year ago
477 ([17989](https://github.com/civicrm/civicrm-core/pull/17989))**
478
479 - **Fix all core processors to implement doPayment and not doTransferPayment or
480 doDirectPayment
481 ([https://lab.civicrm.org/dev/financial/-/issues/135](https://lab.civicrm.org/dev/financial/-/issues/135):
482 [18078](https://github.com/civicrm/civicrm-core/pull/18078) and
483 [18072](https://github.com/civicrm/civicrm-core/pull/18072))**
484
485 - **[REF] Extract setUserContext on contribution form & cleanup on backend add
486 membership form
487 ([17968](https://github.com/civicrm/civicrm-core/pull/17968))**
488
489 - **[REF] remove unnecessary variable variables
490 ([17903](https://github.com/civicrm/civicrm-core/pull/17903))**
491
492 - **[REF] - Add helper function for the repetitive task of fetching multilingual
493 ([17650](https://github.com/civicrm/civicrm-core/pull/17650))**
494
495 - **[Ref] Unit test attempt to create reported bugs , minor cleanup
496 ([17560](https://github.com/civicrm/civicrm-core/pull/17560))**
497
498 - **REF Extract addToRecentItems from membership create
499 ([17524](https://github.com/civicrm/civicrm-core/pull/17524))**
500
501 - **[REF] Fix a couple of jQuery errors that have cropped up
502 ([17871](https://github.com/civicrm/civicrm-core/pull/17871))**
503
504 - **(REF) regen.sh - Remove unusual handling of `zipcodes.mysql`
505 ([17869](https://github.com/civicrm/civicrm-core/pull/17869))**
506
507 - **[REF] ScheduledJob cleanup, remove unused var
508 ([17862](https://github.com/civicrm/civicrm-core/pull/17862))**
509
510 - **[REF] Migrate Event Cart Setting into the Extension
511 ([17841](https://github.com/civicrm/civicrm-core/pull/17841))**
512
513 - **[REF] Only printOnly once
514 ([17850](https://github.com/civicrm/civicrm-core/pull/17850))**
515
516 - **(REF) APIv4 ConformanceTest - Split apart into per-entity sub-tests
517 ([17845](https://github.com/civicrm/civicrm-core/pull/17845))**
518
519 - **(REF) WebsiteTest - Mitigate flaky failures
520 ([17833](https://github.com/civicrm/civicrm-core/pull/17833))**
521
522 - **[REF] Follow up cleanup
523 ([17788](https://github.com/civicrm/civicrm-core/pull/17788))**
524
525 - **[REF] Remove ACL join on temp table creation in Member ContributionDetail
526 report ([17723](https://github.com/civicrm/civicrm-core/pull/17723))**
527
528 - **[REF] Do or do not - there is no try
529 ([17795](https://github.com/civicrm/civicrm-core/pull/17795))**
530
531 - **[REF] Unused interface CRM_Report_Interface
532 ([17767](https://github.com/civicrm/civicrm-core/pull/17767))**
533
534 - **REF - Cleanup StatusPreference BAO to be more standard
535 ([17801](https://github.com/civicrm/civicrm-core/pull/17801))**
536
537 - **[REF] Reduce interaction between dedupe code and createProfileContact
538 ([17920](https://github.com/civicrm/civicrm-core/pull/17920))**
539
540 - **[Ref] Simplify field reference
541 ([17941](https://github.com/civicrm/civicrm-core/pull/17941))**
542
543 - **[REF] [Test] Minor simplification on test
544 ([18019](https://github.com/civicrm/civicrm-core/pull/18019))**
545
546 - **[Ref] Simplify is_email_receipt in sendMail
547 ([18029](https://github.com/civicrm/civicrm-core/pull/18029))**
548
549 - **[REF] Remove transaction from BaseIPN completeTransaction call
550 ([18042](https://github.com/civicrm/civicrm-core/pull/18042))**
551
552 - **[REF] Simplify membership status date handling
553 ([18030](https://github.com/civicrm/civicrm-core/pull/18030))**
554
555 - **[REF] Clean up handling of financial_type_id override
556 ([18032](https://github.com/civicrm/civicrm-core/pull/18032))**
557
558 - **[REF] Remove transaction from completeOrder signature
559 ([18046](https://github.com/civicrm/civicrm-core/pull/18046))**
560
561 - **[Ref] Remove transaction instantiation in PaypalPro
562 ([18026](https://github.com/civicrm/civicrm-core/pull/18026))**
563
564 - **[REF] Stop instantiating transaction in PaypalIPN
565 ([18020](https://github.com/civicrm/civicrm-core/pull/18020))**
566
567 - **[REF] Remove pass-by-reference & always empty param
568 ([17984](https://github.com/civicrm/civicrm-core/pull/17984))**
569
570 - **[REF] Tighten up function signature for dedupePair
571 ([17923](https://github.com/civicrm/civicrm-core/pull/17923))**
572
573 - **[Ref] Move noisily deprecate BaseIPN->sendMail, call api from it rather
574 than BAO function
575 ([17982](https://github.com/civicrm/civicrm-core/pull/17982))**
576
577 - **[REF] Use CRM_Utils_Mail::send for sending emails for confirming unsubscribe
578 resubscribe auto replies and subscribing
579 ([17396](https://github.com/civicrm/civicrm-core/pull/17396))**
580
581 - **[REF] Reduce calls to CRM_Member_PseudoConstant::membershipType
582 ([17987](https://github.com/civicrm/civicrm-core/pull/17987))**
583
584 - **[REF] Use Standard function cacheClause to re-use contact acl cache table
585 ([17707](https://github.com/civicrm/civicrm-core/pull/17707))**
586
587 - **[REF] Make explicit what we are doing with 'values' in this code
588 ([17979](https://github.com/civicrm/civicrm-core/pull/17979))**
589
590 - **[REF] Minor code clean up
591 ([17974](https://github.com/civicrm/civicrm-core/pull/17974))**
592
593 - **[REF] Grant cleanup
594 ([17967](https://github.com/civicrm/civicrm-core/pull/17967))**
595
596 - **[REF] Refactor to use the standard CRM_Core_Form::addRadio function for a
597 number of radio elements
598 ([17932](https://github.com/civicrm/civicrm-core/pull/17932))**
599
600 - **[REF] Fix the default to_financial_account_id for generated transactions
601 ([17938](https://github.com/civicrm/civicrm-core/pull/17938))**
602
603 - **[REF] Upgrade dompdf version to be more compatible with PHP7.4
604 ([17946](https://github.com/civicrm/civicrm-core/pull/17946))**
605
606 - **[REF] [Tests] Cleanup test declaration to take advantage of mapping
607 improvements ([17939](https://github.com/civicrm/civicrm-core/pull/17939))**
608
609 - **[REF] Remove unnecessary complexity on im export
610 ([17949](https://github.com/civicrm/civicrm-core/pull/17949))**
611
612 - **[REF] GroupContact BAO - Minor code cleanup
613 ([17928](https://github.com/civicrm/civicrm-core/pull/17928))**
614
615 - **[REF] Minor function signuture cleanup
616 ([17922](https://github.com/civicrm/civicrm-core/pull/17922))**
617
618 - **[REF] Do not pass variable by reference
619 ([17921](https://github.com/civicrm/civicrm-core/pull/17921))**
620
621 - **[REF] remove first attempt to set currency in repeattransaction flow
622 ([18055](https://github.com/civicrm/civicrm-core/pull/18055))**
623
624 - **[REF] Even less variable variables
625 ([18058](https://github.com/civicrm/civicrm-core/pull/18058))**
626
627 - **[REF] Move handling of form elements back to the Form
628 ([17981](https://github.com/civicrm/civicrm-core/pull/17981))**
629
630 - **[REF] Simplify location metadata handling in Export class
631 ([17951](https://github.com/civicrm/civicrm-core/pull/17951))**
632
633 - **[REF] Do not pass by reference to the recur function
634 ([18057](https://github.com/civicrm/civicrm-core/pull/18057))**
635
636 - **[REF] Simplify getMembershipStatusByDate more
637 ([18051](https://github.com/civicrm/civicrm-core/pull/18051))**
638
639 - **[REF] Remove mail_mime package as now supplied by composer
640 ([300](https://github.com/civicrm/civicrm-packages/pull/300))**
641
642 - **[REF] Remove some deprecated size function calls replaced with length
643 ([299](https://github.com/civicrm/civicrm-packages/pull/299))**
644
645 - **Refactor "applyLocale" and remove references to "language" column in UFMatch
646 table ([18049](https://github.com/civicrm/civicrm-core/pull/18049))**
647
648 - **[NFC] Fix provider unit test on PHP7.4
649 ([18073](https://github.com/civicrm/civicrm-core/pull/18073))**
650
651 - **NFC - Docblock cleanup
652 ([610](https://github.com/civicrm/civicrm-drupal/pull/610))**
653
654 - **[NFC] Update versions file to remove reference to Mail_mime and Mail
655 ([301](https://github.com/civicrm/civicrm-packages/pull/301))**
656
657 - **[NFC] Re run regen after recent merges
658 ([17842](https://github.com/civicrm/civicrm-core/pull/17842))**
659
660 - **[NFC] Fix nonstandard header comments
661 ([17880](https://github.com/civicrm/civicrm-core/pull/17880))**
662
663 - **[NFC] Add in a unit test of calling the contribution page widget endpoint
664 and remove unneeded file
665 ([17965](https://github.com/civicrm/civicrm-core/pull/17965))**
666
667 - **[NFC] Improve docs for APIv4 Save action
668 ([18004](https://github.com/civicrm/civicrm-core/pull/18004))**
669
670 - **NFC - Docblock cleanup
671 ([17945](https://github.com/civicrm/civicrm-core/pull/17945))**
672
673 - **[NFC] Update a few doc/wiki links in code comments
674 ([17918](https://github.com/civicrm/civicrm-core/pull/17918))**
675
676 - **[NFC] Comment block cleanup
677 ([17872](https://github.com/civicrm/civicrm-core/pull/17872))**
678
679 - **[Test] Update hook signature in test
680 ([609](https://github.com/civicrm/civicrm-drupal/pull/609))**
681
682 - **Test - attempt to replicate #17852
683 ([18038](https://github.com/civicrm/civicrm-core/pull/18038))**
684
685 - **[Test fix] We might need this to ensure really quick test runs don't fail
686 ([18045](https://github.com/civicrm/civicrm-core/pull/18045))**
687
688 - **Add testing to Authorize.net and remove the lines that are repeated
689 ([18028](https://github.com/civicrm/civicrm-core/pull/18028))**
690
691 - **Add test on status calculation
692 ([18037](https://github.com/civicrm/civicrm-core/pull/18037))**
693
694 - **Fix for failing test
695 ([18036](https://github.com/civicrm/civicrm-core/pull/18036))**
696
697 - **[Test framework] re-re-fix test and add test for test
698 ([18013](https://github.com/civicrm/civicrm-core/pull/18013))**
699
700 - **Re-fix test ([18009](https://github.com/civicrm/civicrm-core/pull/18009))**
701
702 - **[Test framework] - Update failing test
703 ([18003](https://github.com/civicrm/civicrm-core/pull/18003))**
704
705 - **[Test framework] - Combine triplicate createCase functions
706 ([17957](https://github.com/civicrm/civicrm-core/pull/17957))**
707
708 - **Remove error checking by-pass in tests
709 ([17940](https://github.com/civicrm/civicrm-core/pull/17940))**
710
711 - **[Test Framework] - Tests for report downloads
712 ([17892](https://github.com/civicrm/civicrm-core/pull/17892))**
713
714 - **api_v3_TaxContributionPageTest fix - remove hard coded processor id
715 ([17860](https://github.com/civicrm/civicrm-core/pull/17860))**
716
717 - **API tests - label versions in dataprovider versionThreeAndFour
718 ([17847](https://github.com/civicrm/civicrm-core/pull/17847))**
719
720 - **Extract code to set isEmailReceipt in Contribution.completeOrder
721 ([18039](https://github.com/civicrm/civicrm-core/pull/18039))**
722
723 - **Do not pass-by-reference to recur function
724 ([18071](https://github.com/civicrm/civicrm-core/pull/18071))**
725
726 - **Unused functions in GenCode
727 ([17753](https://github.com/civicrm/civicrm-core/pull/17753))**
728
729 - **Fix typo in templates/CRM/Report/Form/Tabs/GroupBy.tpl
730 ([17747](https://github.com/civicrm/civicrm-core/pull/17747))**
731
732 - **Remove unused "ufUniqID" session variable
733 ([213](https://github.com/civicrm/civicrm-wordpress/pull/213))**
734
735 - **Remove Net packages Net_Curl Net_DIME as they do not appear to be used
736 ([294](https://github.com/civicrm/civicrm-packages/pull/294))**
737
738 - **Update contributor key for Andrew
739 ([18230](https://github.com/civicrm/civicrm-core/pull/18230))**
740
741 - **Fix qill typo
742 ([18041](https://github.com/civicrm/civicrm-core/pull/18041))**
743
744 - **Update flexmailer release information
745 ([17912](https://github.com/civicrm/civicrm-core/pull/17912))**
746
747 - **Remove invalid use of crmMoney formatter
748 ([18031](https://github.com/civicrm/civicrm-core/pull/18031))**
749
750 - **Remove main PaymentExpress class
751 ([18010](https://github.com/civicrm/civicrm-core/pull/18010))**
752
753 - **Remove unused parameter ids['billing']
754 ([18021](https://github.com/civicrm/civicrm-core/pull/18021))**
755
756 - **Cache loader - remove legacy handling, handle null result from setting
757 ([17999](https://github.com/civicrm/civicrm-core/pull/17999))**
758
759
760 - **Use case id to get relationship for activity creation
761 ([17256](https://github.com/civicrm/civicrm-core/pull/17256) and
762 [17764](https://github.com/civicrm/civicrm-core/pull/17764))**
763
764 ## <a name="credits"></a>Credits
765
766 This release was developed by the following code authors:
767
768 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman;
769 Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma,
770 Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
771 Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra
772 Purohit; iXiam - César Ramos, Diego Muñio; JMA Consulting - Monish Deb, Seamus
773 Lee; John Kingsnorth; Joinery - Allen Shaw; Lighthouse Consulting and Design -
774 Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech -
775 Chamil Wijesooriya; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire;
776 Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan
777 Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; Timbsoft
778 Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
779
780 Most authors also reviewed code for this release; in addition, the following
781 reviewers contributed their comments:
782
783 Pengyi Zhang; Andrew Thompson; Artful Robot - Rich Lott; Australian Greens -
784 Andrew Cormick-Dockery, John Twyman; Bastien Ho; Blackfly Solutions - Alan
785 Dixon; Carlos Capote; CompuCorp - Jamie Novick; DevApp - Adam Kwiatkowski;
786 Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Greenpeace
787 Central and Eastern Europe - Patrick Figel; Irene Meisel; JMA Consulting - Joe
788 Murray; Korlon - Stuart Gaston; Nicol Wistreich; Rar9; Ray Wright; Semper IT -
789 Karin Gerritsen; Third Sector Design - Michael McAndrew;
790
791 ## <a name="feedback"></a>Feedback
792
793 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
794 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
795 and contact `@agh1`.