Merge pull request #22972 from eileenmcnaughton/notice_send
[civicrm-core.git] / release-notes / 5.38.0.md
CommitLineData
d95235d1
AH
1# CiviCRM 5.38.0
2
8951b470 3Released June 2, 2021
d95235d1 4
8951b470 5- **[Synopsis](#synopsis)**
d95235d1
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
8951b470
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
829521b0
AF
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| Require attention to configuration options? | no |
20| **Fix problems installing or upgrading to a previous version?** | **yes** |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
d95235d1
AH
23
24## <a name="features"></a>Features
25
d95235d1
AH
26### Core CiviCRM
27
829521b0
AF
28- **Civi::log()->debug() should only log if debugging is enabled
29 ([community/feature-request#12](https://lab.civicrm.org/community/feature-request/-/issues/12):
30 [20079](https://github.com/civicrm/civicrm-core/pull/20079))**
d95235d1 31
829521b0
AF
32 Makes it easier to route log messages based on their topic (e.g.
33 CiviContribute-related logs vs CiviMail-related logs).
d95235d1 34
829521b0
AF
35- **We should not be auto-generating 5.xx.beta1.mysql.tpl files
36 ([dev/release#16](https://lab.civicrm.org/dev/release/-/issues/16):
37 [19744](https://github.com/civicrm/civicrm-core/pull/19744))**
d95235d1 38
829521b0 39 Streamlines the upgrader by removing a number of empty upgrade steps.
d95235d1 40
829521b0
AF
41- **SearchBuilder: contact search for tags with child-tags broken when using '='
42 operator ([dev/core#2502](https://lab.civicrm.org/dev/core/-/issues/2502):
43 [20016](https://github.com/civicrm/civicrm-core/pull/20016))**
d95235d1 44
829521b0 45 Adds unit test for SearchBuilder fix.
d95235d1 46
829521b0
AF
47- **Import the base upgrader
48 ([dev/core#2547](https://lab.civicrm.org/dev/core/-/issues/2547):
49 [20090](https://github.com/civicrm/civicrm-core/pull/20090))**
d95235d1 50
829521b0 51 Moves the extension upgrader, base upgrader class to core.
d95235d1 52
829521b0
AF
53- **Add contact source column in some Reports
54 ([20112](https://github.com/civicrm/civicrm-core/pull/20112))**
d95235d1 55
829521b0 56 Improves reports by adding a contact source column option.
d95235d1 57
829521b0
AF
58- **SearchKit - Make contribution tasks available as actions
59 ([20004](https://github.com/civicrm/civicrm-core/pull/20004))**
d95235d1 60
829521b0 61 Improves the SearchKit UI by making contribution tasks available as actions.
d95235d1 62
829521b0
AF
63- **Move reCAPTCHA to core extension (Work Towards
64 [dev/core#2571](https://lab.civicrm.org/dev/core/-/issues/2571):
65 [20166](https://github.com/civicrm/civicrm-core/pull/20166),
66 [20193](https://github.com/civicrm/civicrm-core/pull/20193) and
67 [20199](https://github.com/civicrm/civicrm-core/pull/20199))**
d95235d1 68
829521b0 69 Code cleanup in preparation of moving reCAPTCHA to its own extension.
d95235d1 70
829521b0
AF
71- **Api4 Services - Lazy-load subscriber-objects
72 ([20221](https://github.com/civicrm/civicrm-core/pull/20221))**
d95235d1 73
829521b0 74 Improves loading of APIv4 subscriber objects.
d95235d1 75
829521b0
AF
76- **Authx - Retain authentication outcome/metadata
77 ([20026](https://github.com/civicrm/civicrm-core/pull/20026))**
d95235d1 78
829521b0
AF
79 Improves the internal APIs for Authx. Authx supports additional ways to
80 authenticate requests (e.g. passwords, API keys, JWTs). With this patchset, we
81 have an internal way to see how the user was authenticated, e.g.
d95235d1 82
829521b0
AF
83- **Increase civicrm_queue_item.data field size
84 ([20107](https://github.com/civicrm/civicrm-core/pull/20107))**
d95235d1 85
829521b0
AF
86 Changes the data type for the `data` column on the `civicrm_queue_item` table
87 from TEXT to LONGTEXT.
d95235d1 88
829521b0
AF
89- **Include more data in error message
90 ([20110](https://github.com/civicrm/civicrm-core/pull/20110))**
d95235d1 91
829521b0 92 More explicit error messaging.
d95235d1 93
829521b0
AF
94- **Add 'contact-actions-ribbon' region
95 ([20108](https://github.com/civicrm/civicrm-core/pull/20108))**
d95235d1 96
829521b0
AF
97 Adds a region to the top of the contact summary screen where action buttons
98 go.
d95235d1 99
829521b0 100### CiviContribute
d95235d1 101
829521b0
AF
102- **Add pager to bottom of Manage Contribution Pages
103 ([20061](https://github.com/civicrm/civicrm-core/pull/20061))**
d95235d1 104
829521b0 105 Improves the UI by adding a pager to the Manage Contribution Pages form.
d95235d1 106
829521b0
AF
107- **Add installments to propertyBag
108 ([20023](https://github.com/civicrm/civicrm-core/pull/20023))**
d95235d1 109
829521b0 110 Adds installments property to propertyBag.
d95235d1 111
829521b0
AF
112- **Define return parameters for doPayment (Work Towards
113 [dev/financial#141](https://lab.civicrm.org/dev/financial/-/issues/141):
114 [20021](https://github.com/civicrm/civicrm-core/pull/20021))**
d95235d1 115
829521b0 116 Ensures the core doPayment function returns payment_status.
d95235d1 117
829521b0
AF
118- **Add support for receipt task outside the search process
119 ([19848](https://github.com/civicrm/civicrm-core/pull/19848))**
d95235d1 120
829521b0 121 Adds support for url-based receipt sending.
d95235d1 122
829521b0 123### CiviMail
d95235d1 124
829521b0
AF
125- **Make it possible to make a copy of a draft mailing
126 ([dev/mail#90](https://lab.civicrm.org/dev/mail/-/issues/90):
127 [20058](https://github.com/civicrm/civicrm-core/pull/20058))**
d95235d1 128
829521b0 129 Allow re-use mailing of draft mailings and adhoc mailings.
d95235d1 130
829521b0 131### Drupal Integration
d95235d1 132
829521b0
AF
133- **In Drupal8, CMS intergration don't show table mapping
134 ([dev/core#2490](https://lab.civicrm.org/dev/core/-/issues/2490):
135 [19989](https://github.com/civicrm/civicrm-core/pull/19989))**
d95235d1 136
829521b0 137 Hides table mapping for Drupal8 integrations because it is not necessary.
d95235d1 138
829521b0
AF
139- **Consider joining the GitHub Sponsors program (Work Towards
140 [community/sustainability#20](https://lab.civicrm.org/community/sustainability/-/issues/20):
141 [644](https://github.com/civicrm/civicrm-drupal/pull/644) and
142 [63](https://github.com/civicrm/civicrm-drupal-8/pull/63))**
d95235d1 143
829521b0 144 Add FUNDING.yml to display a SPONSOR link that directs to c.o.
d95235d1 145
829521b0 146## <a name="bugs"></a>Bugs resolved
d95235d1 147
829521b0 148### Core CiviCRM
d95235d1 149
0f7bb53e
AH
150- **Create User Record now hides the Password field and uses the check
151 isUserRegistrationPermitted - which prevents Administrators from setting
152 passwords for new Users
153 ([dev/core#2605](https://lab.civicrm.org/dev/core/-/issues/2605):
154 [20274](https://github.com/civicrm/civicrm-core/pull/20274))**
155
156 This restores the ability for administrators to set passwords for new users on
157 the Create User Record form.
158
829521b0
AF
159- **Activity Type and Case Type not being combined correctly in Advanced Search
160 ([dev/report#53](https://lab.civicrm.org/dev/report/-/issues/53):
161 [20002](https://github.com/civicrm/civicrm-core/pull/20002))**
d95235d1 162
829521b0
AF
163 Ensures when running an advanced search that displays related contacts with case
164 parameters set, only contacts related to the relevant cases are displayed.
d95235d1 165
0f7bb53e
AH
166- **Upgrade CKEditor to be 4.16.1
167 ([20428](https://github.com/civicrm/civicrm-core/pull/20428))**
d95235d1 168
0f7bb53e 169 Change log is here https://github.com/ckeditor/ckeditor4/blob/major/CHANGES.md
d95235d1 170
829521b0
AF
171- **Fix invalidate cache for smart groups
172 ([dev/core#2516](https://lab.civicrm.org/dev/core/-/issues/2516):
173 [19986](https://github.com/civicrm/civicrm-core/pull/19986))**
d95235d1 174
829521b0
AF
175 Method CRM_Contact_BAO_GroupContactCache::invalidateGroupContactCache() is
176 described as touching smart groups but there is no condition for smart groups.
d95235d1 177
829521b0
AF
178- **APIv4 - Fix unserialize settings
179 ([20048](https://github.com/civicrm/civicrm-core/pull/20048))**
d95235d1 180
829521b0
AF
181 Fixes a bug in the APIv4 "Setting" entity where serialized values were not
182 getting returned properly.
d95235d1 183
829521b0
AF
184- **Globally reset angular hashPrefix
185 ([20152](https://github.com/civicrm/civicrm-core/pull/20152))**
d95235d1 186
829521b0
AF
187 Globally reset the AngularJS hash prefix for consistency across all modules
188 and pages in CiviCRM.
d95235d1 189
829521b0
AF
190- **PayPal fails to create contribution following duplicate merge when
191 membership record has been deleted
192 ([dev/core#2593](https://lab.civicrm.org/dev/core/-/issues/2593):
193 [20244](https://github.com/civicrm/civicrm-core/pull/20244))**
d95235d1 194
829521b0 195 Stop passing membership id into recur notify.
d95235d1 196
829521b0
AF
197- **Afform - Set default position for contact layout editor
198 ([20228](https://github.com/civicrm/civicrm-core/pull/20228))**
d95235d1 199
829521b0
AF
200 Makes Afform blocks appear in their default positions in the "System Default"
201 layout in Contact Summary Editor 2.0+.
d95235d1 202
829521b0
AF
203- **Search Kit links improvements
204 ([20134](https://github.com/civicrm/civicrm-core/pull/20134))**
d95235d1 205
829521b0
AF
206 Fixes some problems with creating links in Search Kit and improves the UX
207 around editing links.
d95235d1 208
829521b0
AF
209- **Uninstall for `org.civicrm.search` extension fails
210 ([dev/core#2556](https://lab.civicrm.org/dev/core/-/issues/2556):
211 [20124](https://github.com/civicrm/civicrm-core/pull/20124))**
d95235d1 212
829521b0 213 Renames the extension org.civicrm.search to org.civicrm.search_kit.
d95235d1 214
829521b0
AF
215- **Redundant indexes (Work Towards
216 [dev/core#2575](https://lab.civicrm.org/dev/core/-/issues/2575):
217 [20245](https://github.com/civicrm/civicrm-core/pull/20245))**
d95235d1 218
829521b0 219 Removes a couple of indexes on the id field as they are duplicates.
d95235d1 220
829521b0
AF
221- **system workflow template uses backend URL
222 ([dev/core#2582](https://lab.civicrm.org/dev/core/-/issues/2582):
223 [20203](https://github.com/civicrm/civicrm-core/pull/20203))**
d95235d1 224
829521b0
AF
225- **Unable to send transactional email to more than 2 recipients if there is an
226 attachment ([dev/core#2588](https://lab.civicrm.org/dev/core/-/issues/2588):
227 [20222](https://github.com/civicrm/civicrm-core/pull/20222) and
228 [20227](https://github.com/civicrm/civicrm-core/pull/20227))**
d95235d1 229
829521b0
AF
230- **Afform - Fix saving joined entities (email, address, phone, etc)
231 ([20264](https://github.com/civicrm/civicrm-core/pull/20264))**
d95235d1 232
829521b0
AF
233- **Afform - Fix loading entities from url args
234 ([20145](https://github.com/civicrm/civicrm-core/pull/20145))**
d95235d1 235
829521b0
AF
236- **Afform - Improve integration with ContactLayout editor
237 ([20042](https://github.com/civicrm/civicrm-core/pull/20042))**
d95235d1 238
829521b0
AF
239- **Afform - include Generic.html by default
240 ([dev/core#2533](https://lab.civicrm.org/dev/core/-/issues/2533):
241 [20141](https://github.com/civicrm/civicrm-core/pull/20141))**
d95235d1 242
829521b0
AF
243- **SearchKit - Fix updating Entity Ref fields
244 ([20125](https://github.com/civicrm/civicrm-core/pull/20125))**
d95235d1 245
829521b0
AF
246- **SearchKit - Exclude serialized fields from implicit join selection
247 ([20156](https://github.com/civicrm/civicrm-core/pull/20156))**
d95235d1 248
829521b0
AF
249- **SearchKit - Fix display of contact reference fields (single-value)
250 ([20117](https://github.com/civicrm/civicrm-core/pull/20117))**
d95235d1 251
829521b0
AF
252- **APIv4 - Setting api misc fixes & tests
253 ([20191](https://github.com/civicrm/civicrm-core/pull/20191))**
d95235d1 254
829521b0
AF
255- **Save entities created by api v4 to managed
256 ([20105](https://github.com/civicrm/civicrm-core/pull/20105))**
d95235d1 257
829521b0
AF
258- **APIv4 - Fix Setting api to work with index param
259 ([20072](https://github.com/civicrm/civicrm-core/pull/20072))**
d95235d1 260
829521b0
AF
261- **Fix enotice when Log service is swapped out
262 ([20146](https://github.com/civicrm/civicrm-core/pull/20146))**
d95235d1 263
829521b0
AF
264- **Fix PayPal IPN URL and WordPress URLs when Permalinks are set to "Plain"
265 ([20063](https://github.com/civicrm/civicrm-core/pull/20063))**
d95235d1 266
829521b0
AF
267- **fix capitalization to allow proper access to 'access AJAX API' perm.
268 ([20200](https://github.com/civicrm/civicrm-core/pull/20200))**
d95235d1 269
829521b0
AF
270- **Fix a copy-and-paste error in the field definitions for OAuthSysToken
271 ([20157](https://github.com/civicrm/civicrm-core/pull/20157))**
d95235d1 272
829521b0
AF
273- **Fixes issue with state/province & country not translating values
274 ([20169](https://github.com/civicrm/civicrm-core/pull/20169))**
d95235d1 275
829521b0 276- **Enotice fix ([20122](https://github.com/civicrm/civicrm-core/pull/20122))**
d95235d1 277
829521b0
AF
278- **Extensions - Setup `<classloader>` during installation
279 ([20091](https://github.com/civicrm/civicrm-core/pull/20091))**
d95235d1 280
829521b0
AF
281- **Extensions - Setup <classloader> during "enable" and "uninstall"
282 ([20116](https://github.com/civicrm/civicrm-core/pull/20116))**
d95235d1 283
829521b0
AF
284- **Fix for importing preferred language (and other fields) by label
285 ([19886](https://github.com/civicrm/civicrm-core/pull/19886))**
d95235d1 286
829521b0
AF
287- **Fix AuthX Setting Labels
288 ([20055](https://github.com/civicrm/civicrm-core/pull/20055))**
d95235d1 289
829521b0
AF
290- **Removed limit of 25 groups and past mailings
291 ([20069](https://github.com/civicrm/civicrm-core/pull/20069))**
d95235d1 292
829521b0
AF
293- **When generating boilerplate code from xml, make error text more helpful and
294 spelt correctly
295 ([20054](https://github.com/civicrm/civicrm-core/pull/20054))**
d95235d1 296
829521b0
AF
297- **File CustomField: avoid renaming an empty file
298 ([19890](https://github.com/civicrm/civicrm-core/pull/19890))**
d95235d1 299
829521b0
AF
300- **Calling UFGroup.create to update a profile without specifying is_active=1
301 disables the profile
302 ([dev/core#2501](https://lab.civicrm.org/dev/core/-/issues/2501):
303 [19995](https://github.com/civicrm/civicrm-core/pull/19995))**
d95235d1 304
829521b0
AF
305- **CiviReport does not localize custom fields of type Number
306 ([dev/core#2505](https://lab.civicrm.org/dev/core/-/issues/2505):
307 [20123](https://github.com/civicrm/civicrm-core/pull/20123) and
308 [20053](https://github.com/civicrm/civicrm-core/pull/20053))**
d95235d1 309
829521b0
AF
310- **Autocomplete-select custom field (Multi-Select=true) values with checked are
311 reset in case of form rule errors
312 ([dev/core#2506](https://lab.civicrm.org/dev/core/-/issues/2506):
313 [20137](https://github.com/civicrm/civicrm-core/pull/20137))**
d95235d1 314
829521b0
AF
315- **Search kit: Links to case (and other) activities go to the wrong form
316 ([dev/core#2509](https://lab.civicrm.org/dev/core/-/issues/2509):
317 [20118](https://github.com/civicrm/civicrm-core/pull/20118),
318 [20114](https://github.com/civicrm/civicrm-core/pull/20114)
319 [20060](https://github.com/civicrm/civicrm-core/pull/20060) and
320 [20106](https://github.com/civicrm/civicrm-core/pull/20106))**
d95235d1 321
829521b0
AF
322- **Empty extension requires tag misevaluated
323 ([dev/core#2536](https://lab.civicrm.org/dev/core/-/issues/2536):
324 [20064](https://github.com/civicrm/civicrm-core/pull/20064))**
d95235d1 325
829521b0
AF
326- **Clarify scheduled reminder options: Event Start Date -> Event Start, etc
327 ([dev/core#2541](https://lab.civicrm.org/dev/core/-/issues/2541):
328 [20070](https://github.com/civicrm/civicrm-core/pull/20070))**
d95235d1 329
829521b0
AF
330- **Errors on merging contacts with websites
331 ([dev/core#2549](https://lab.civicrm.org/dev/core/-/issues/2549):
332 [20101](https://github.com/civicrm/civicrm-core/pull/20101))**
d95235d1 333
829521b0 334### CiviCampaign
d95235d1 335
829521b0
AF
336- **Set html type of campaign fields
337 ([20215](https://github.com/civicrm/civicrm-core/pull/20215))**
d95235d1 338
829521b0 339 Cleanup metadata for the campaign_id field.
d95235d1 340
0f7bb53e
AH
341- **Petition confirmation email places space at end of confirmation URL
342 ([dev/core#403](https://lab.civicrm.org/dev/core/-/issues/403):
343 [20080](https://github.com/civicrm/civicrm-core/pull/20080))**
344
345 Remove trailing white space in url.
346
829521b0
AF
347- **APIv4 - Don't show campaign_id in getFields if campaign component disabled
348 ([20219](https://github.com/civicrm/civicrm-core/pull/20219))**
d95235d1 349
829521b0 350### CiviContribute
d95235d1 351
829521b0
AF
352- **Undefined index: contribution in
353 CRM_Contribute_BAO_Contribution::getContributionTokenValues()
354 ([dev/core#2568](https://lab.civicrm.org/dev/core/-/issues/2568):
355 [20188](https://github.com/civicrm/civicrm-core/pull/20188))**
d95235d1 356
829521b0
AF
357 Fixes an undefined index error after sending thank-you emails/letters for
358 contributions.
d95235d1 359
829521b0
AF
360- **CiviCRM 5.35.1, truncation of money values where $1,000 donation is recorded
361 as $1 which appears to be truncating at the thousand separator when using the
362 Australian (AU) and US Locale
363 ([dev/core#2493](https://lab.civicrm.org/dev/core/-/issues/2493):
364 [19991](https://github.com/civicrm/civicrm-core/pull/19991))**
d95235d1 365
829521b0 366 Default to not cleaning money for order.create api.
d95235d1 367
829521b0
AF
368- **Recurring contributions label on contribution pages is unstylable text,
369 leading to problems with themes
370 ([dev/core#1452](https://lab.civicrm.org/dev/core/-/issues/1452):
371 [20092](https://github.com/civicrm/civicrm-core/pull/20092))**
d95235d1 372
829521b0
AF
373- **Fix money formatting opps
374 ([20277](https://github.com/civicrm/civicrm-core/pull/20277))**
d95235d1 375
829521b0
AF
376- **Make reCAPTCHA not conditional on paymentprocessor on contribution page
377 ([20180](https://github.com/civicrm/civicrm-core/pull/20180))**
d95235d1 378
829521b0
AF
379- **Contribution.sendconfirmation API3 function should return
380 ([20182](https://github.com/civicrm/civicrm-core/pull/20182))**
d95235d1 381
829521b0
AF
382- **Suppress legacy warnings by default in propertyBag to allow transition to
383 propertyBag without hitting legacy warnings on unconverted payment processors
384 ([20038](https://github.com/civicrm/civicrm-core/pull/20038))**
d95235d1 385
829521b0
AF
386- **Make it clear that doDirectPayment/doTransferCheckout are deprecated and
387 should not be used
388 ([20020](https://github.com/civicrm/civicrm-core/pull/20020))**
d95235d1 389
829521b0
AF
390- **Fix Payment.create to update (recalculate) contribution fee_amount
391 ([20008](https://github.com/civicrm/civicrm-core/pull/20008))**
d95235d1 392
829521b0 393### CiviEvent
d95235d1 394
829521b0
AF
395- **Cannot "Transfer or Cancel" event participant as admin user
396 ([dev/event#54](https://lab.civicrm.org/dev/event/-/issues/54):
397 [20150](https://github.com/civicrm/civicrm-core/pull/20150))**
d95235d1 398
829521b0 399### CiviMember
d95235d1 400
829521b0
AF
401- **Set the smarty variables for mem_status and mem_join_date for back-end
402 membership renewals
403 ([20224](https://github.com/civicrm/civicrm-core/pull/20224))**
d95235d1 404
829521b0
AF
405- **Membership form Remove check for installments as not on the form (copied
406 from shared code)
407 ([19964](https://github.com/civicrm/civicrm-core/pull/19964))**
d95235d1 408
829521b0 409### Drupal integration
d95235d1 410
829521b0
AF
411- **Make APIv4 Subscribers Public to fix D9 install
412 ([20254](https://github.com/civicrm/civicrm-core/pull/20254))**
d95235d1 413
829521b0
AF
414 Fixes a "The "Civi_Api4_Event_Subscriber_PermissionCheckSubscriber" service or
415 alias has been removed..." failure on the D9 demo install.
d95235d1 416
829521b0
AF
417- **Fix Drupal8 CiviCRM menu translation on multilingual (and ajax calls)
418 ([20085](https://github.com/civicrm/civicrm-core/pull/20085))**
d95235d1 419
829521b0 420### Joomla integration
d95235d1 421
829521b0
AF
422- **Cannot edit CiviCRM Joomla permissions (access control) in 5.37.0
423 ([dev/core#2601](https://lab.civicrm.org/dev/core/-/issues/2601):
424 [20256](https://github.com/civicrm/civicrm-core/pull/20256))**
d95235d1 425
829521b0 426### Wordpress Integration
d95235d1 427
829521b0
AF
428- **WordPress - redirect after login from event registration or contribution
429 page ([dev/core#2436](https://lab.civicrm.org/dev/core/-/issues/2436):
430 [19718](https://github.com/civicrm/civicrm-core/pull/19718))**
d95235d1 431
829521b0
AF
432- **Update WP permission page for new string array keys
433 ([20045](https://github.com/civicrm/civicrm-core/pull/20045))**
d95235d1 434
829521b0 435## <a name="misc"></a>Miscellany
d95235d1 436
829521b0
AF
437- **Add amount as standard property to PaymentPropertyBag
438 ([20037](https://github.com/civicrm/civicrm-core/pull/20037))**
d95235d1 439
829521b0
AF
440- **Use propertyBag in doPayment
441 ([20022](https://github.com/civicrm/civicrm-core/pull/20022))**
d95235d1 442
829521b0
AF
443- **Move tpl assignment to email function
444 ([20013](https://github.com/civicrm/civicrm-core/pull/20013))**
d95235d1 445
829521b0
AF
446- **Initial refactor of PayPal core processor to stop using
447 doDirectPayment/doTransferCheckout
448 ([20030](https://github.com/civicrm/civicrm-core/pull/20030))**
d95235d1 449
829521b0
AF
450- **Convert Dummy payment processor to use doPayment function
451 ([20029](https://github.com/civicrm/civicrm-core/pull/20029))**
d95235d1 452
829521b0
AF
453- **Switch to Call contribution api
454 ([20041](https://github.com/civicrm/civicrm-core/pull/20041))**
d95235d1 455
829521b0
AF
456- **Alter dedupe code to call api rather than bao->save()
457 ([20036](https://github.com/civicrm/civicrm-core/pull/20036))**
d95235d1 458
829521b0
AF
459- **Fix the MOST out-of-date parts of the afform readme
460 ([20100](https://github.com/civicrm/civicrm-core/pull/20100))**
d95235d1 461
829521b0
AF
462- **oauth-client - Add test for existing Auth Code flow behavior
463 ([20162](https://github.com/civicrm/civicrm-core/pull/20162))**
d95235d1 464
829521b0 465- **add me ([20183](https://github.com/civicrm/civicrm-core/pull/20183))**
d95235d1 466
829521b0
AF
467- **Make send letter function available to searchkit, individual contributions
468 ([20187](https://github.com/civicrm/civicrm-core/pull/20187))**
d95235d1 469
829521b0
AF
470- **Extract sales tax test config to a trait
471 ([20233](https://github.com/civicrm/civicrm-core/pull/20233))**
d95235d1 472
829521b0
AF
473- **APIv4 - Remove unnecessary custom getActions class
474 ([20181](https://github.com/civicrm/civicrm-core/pull/20181))**
d95235d1 475
829521b0
AF
476- **APIv4 - Remove unnecessary class override (handled by generic)
477 ([20173](https://github.com/civicrm/civicrm-core/pull/20173))**
d95235d1 478
829521b0
AF
479- **APIv4 - Improve entity name lookup
480 ([20056](https://github.com/civicrm/civicrm-core/pull/20056))**
d95235d1 481
829521b0
AF
482- **APIv4 - Deprecate nonstandard syntax for implicit joins
483 ([20130](https://github.com/civicrm/civicrm-core/pull/20130))**
d95235d1 484
829521b0
AF
485- **Extract out getReceiveDate
486 ([20007](https://github.com/civicrm/civicrm-core/pull/20007))**
d95235d1 487
829521b0
AF
488- **Simplify mailing check
489 ([20076](https://github.com/civicrm/civicrm-core/pull/20076))**
d95235d1 490
829521b0
AF
491- **Remove unused functions
492 ([20099](https://github.com/civicrm/civicrm-core/pull/20099))**
d95235d1 493
829521b0
AF
494- **Replace string org.civicrm.search -> org.civicrm.search_kit
495 ([20132](https://github.com/civicrm/civicrm-core/pull/20132))**
d95235d1 496
829521b0
AF
497- **Move more functions to the pdfLetter class
498 ([20143](https://github.com/civicrm/civicrm-core/pull/20143))**
d95235d1 499
829521b0
AF
500- **Remove apparent copy & paste from Contribution pdf letter function
501 ([20161](https://github.com/civicrm/civicrm-core/pull/20161))**
d95235d1 502
829521b0
AF
503- **Remove reference to trxn_id, not on form, from previously shared code
504 ([19965](https://github.com/civicrm/civicrm-core/pull/19965))**
d95235d1 505
829521b0
AF
506- **Add deprected warning to apparently unused functions
507 ([20192](https://github.com/civicrm/civicrm-core/pull/20192))**
d95235d1 508
829521b0
AF
509- **[REF] Add strict types to Utils_Mail::Send
510 ([20171](https://github.com/civicrm/civicrm-core/pull/20171))**
d95235d1 511
829521b0
AF
512- **REF Cleanup ReCAPTCHA code
513 ([20167](https://github.com/civicrm/civicrm-core/pull/20167))**
d95235d1 514
829521b0
AF
515- **[REF] Post move cleanup - switch from $form to $this
516 ([20160](https://github.com/civicrm/civicrm-core/pull/20160))**
d95235d1 517
829521b0
AF
518- **REF reCAPTCHA Simplify buildCustom function on Registration form
519 ([20164](https://github.com/civicrm/civicrm-core/pull/20164))**
d95235d1 520
829521b0
AF
521- **REF reCAPTCHA Simplify buildCustom function on Signature form
522 ([20165](https://github.com/civicrm/civicrm-core/pull/20165))**
d95235d1 523
829521b0
AF
524- **[REF] Minor tidy up - use writeRecord
525 ([20159](https://github.com/civicrm/civicrm-core/pull/20159))**
d95235d1 526
829521b0
AF
527- **[REF] Move more functions back to pdfLetter class
528 ([20155](https://github.com/civicrm/civicrm-core/pull/20155))**
d95235d1 529
829521b0
AF
530- **[REF] Fix Security status check urls to work on WordPress
531 ([20111](https://github.com/civicrm/civicrm-core/pull/20111))**
d95235d1 532
829521b0
AF
533- **[REF] Move functions back to class that uses it
534 ([20136](https://github.com/civicrm/civicrm-core/pull/20136))**
d95235d1 535
829521b0
AF
536- **[Ref] Simplify getMembershipParameters
537 ([20014](https://github.com/civicrm/civicrm-core/pull/20014))**
d95235d1 538
829521b0
AF
539- **(REF) Payflow Pro - Migrate code into a core extension
540 ([20043](https://github.com/civicrm/civicrm-core/pull/20043))**
d95235d1 541
829521b0
AF
542- **[REF] Minor code cleanup
543 ([20175](https://github.com/civicrm/civicrm-core/pull/20175))**
d95235d1 544
829521b0
AF
545- **[REF] Complete decommissioning of
546 CRM/Contribute/Form/Task/PDFLetterCommon.php
547 ([20172](https://github.com/civicrm/civicrm-core/pull/20172))**
d95235d1 548
829521b0
AF
549- **[REF] Cleanup interaction with membership & membership id
550 ([20153](https://github.com/civicrm/civicrm-core/pull/20153))**
d95235d1 551
829521b0
AF
552- **[REF] Fix error where entryURL does not contain id of the contributio…
553 ([19917](https://github.com/civicrm/civicrm-core/pull/19917))**
d95235d1 554
829521b0
AF
555- **[REF] Simplify interaction with contributionRecur
556 ([20017](https://github.com/civicrm/civicrm-core/pull/20017))**
d95235d1 557
829521b0
AF
558- **[REF] Minor tidy up
559 ([20194](https://github.com/civicrm/civicrm-core/pull/20194))**
d95235d1 560
829521b0
AF
561- **[REF] Remove redundant code
562 ([20138](https://github.com/civicrm/civicrm-core/pull/20138))**
d95235d1 563
829521b0
AF
564- **[REF] [ipn] Simplification around contributionRecur ID
565 ([19903](https://github.com/civicrm/civicrm-core/pull/19903))**
d95235d1 566
829521b0
AF
567- **REF Update Pear/log to fix issues with install CiviCRM on Drupal 9.2
568 ([20218](https://github.com/civicrm/civicrm-core/pull/20218))**
d95235d1 569
829521b0
AF
570- **[REF] [Towards membership api] extract getContributionSource
571 ([19966](https://github.com/civicrm/civicrm-core/pull/19966))**
d95235d1 572
829521b0
AF
573- **[REF] [Towards membership api] Simplify determination on contribution recur
574 contact id ([19902](https://github.com/civicrm/civicrm-core/pull/19902))**
575
576- **[Ref] One more place to use total fn
577 ([20010](https://github.com/civicrm/civicrm-core/pull/20010))**
578
579- **[NFC] Consistency fix when defining CIVICRM_TEST
580 ([64](https://github.com/civicrm/civicrm-drupal-8/pull/64))**
581
582- **[NFC] [Test] Minor preliminary cleanup
583 ([20006](https://github.com/civicrm/civicrm-core/pull/20006))**
584
585- **[NFC] [Test] Preliminary cleanup
586 ([20012](https://github.com/civicrm/civicrm-core/pull/20012))**
587
588- **[NFC] Code cleanup, docblocks, strict comparison, type hints
589 ([20240](https://github.com/civicrm/civicrm-core/pull/20240))**
590
591- **[NFC] code cleanups in test class
592 ([20237](https://github.com/civicrm/civicrm-core/pull/20237))**
593
594- **[NFC] Regenerate Grant DAO
595 ([20104](https://github.com/civicrm/civicrm-core/pull/20104))**
596
597- **[NFC/Unit Test] - Help avoid problems when using assertApproxEquals with
598 integers instead of fractions
599 ([20089](https://github.com/civicrm/civicrm-core/pull/20089))**
600
601- **(NFC) Fix possible flacky tests by splitting the parts of the checksum
602 ([20088](https://github.com/civicrm/civicrm-core/pull/20088))**
603
604- **Add unit test for core#19628
605 ([19972](https://github.com/civicrm/civicrm-core/pull/19972))**
d95235d1
AH
606
607## <a name="credits"></a>Credits
608
609This release was developed by the following code authors:
610
88bd6b02 611AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Francis Whittle, Justin
829521b0
AF
612Freeman; Benjamin W; Caltha - Tomasz Pietrzkowski; Christian Wach; CiviCoop -
613Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid, Omar Abu
614Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich;
615Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting - Monish
616Deb, Seamus Lee; John Kingsnorth; Kartik Kathuria; Wildsight - Lars SG;
617Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO -
618Mikey O'Toole; MJW Consulting - Matthew Wire; Olivier Hertrich; Progressive
619Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders;
620Wikimedia Foundation - Eileen McNaughton
d95235d1
AH
621
622Most authors also reviewed code for this release; in addition, the following
623reviewers contributed their comments:
624
829521b0
AF
625Artful Robot - Rich Lott; Australian Greens - John Twyman; Caltha - Tomasz
626Pietrzkowski; Christian Wach; CiviCoop - Jaap Jansma; CiviDesk - Yashodha Chaku;
627JMA Consulting - Edsel Lopez, Joe Murray; Richard van Oosterhout; Semper IT -
628Karin Gerritsen; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole
0f7bb53e 629Collective - Kevin Cristiano; Web Access - Kurund Jalmi
8951b470
AH
630
631## <a name="feedback"></a>Feedback
632
88bd6b02 633These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
8951b470
AH
634to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
635and contact `@agh1`.