Merge pull request #20471 from eileenmcnaughton/schema
[civicrm-core.git] / release-notes / 5.39.0.md
1 # CiviCRM 5.39.0
2
3 Released July 7, 2021
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 ### Core CiviCRM
27
28 - **crm- Missing Summary ([20419](https://github.com/civicrm/civicrm-core/pull/20419))**
29
30 ## <a name="bugs"></a>Bugs resolved
31
32 ### Core CiviCRM
33
34 - **APIv4 - Make LineItem, EntityFinancialTrxn and FinancialTrxn read-only ([20609](https://github.com/civicrm/civicrm-core/pull/20609))**
35
36 - **Fix unreleased api change to more logical variant ([20611](https://github.com/civicrm/civicrm-core/pull/20611))**
37
38 - **dev/core#2649 - Make 5.39 upgrade more robust ([20580](https://github.com/civicrm/civicrm-core/pull/20580))**
39
40 - **Update civicrm_generated (5.39 version) ([20571](https://github.com/civicrm/civicrm-core/pull/20571))**
41
42 - **[NFC] Fix phpunit9 deprecation issues on using assertType instead of … ([20567](https://github.com/civicrm/civicrm-core/pull/20567))**
43
44 - **Fix Financial item test to validate Financials ([20532](https://github.com/civicrm/civicrm-core/pull/20532))**
45
46 - **Mark DetailTest as having invalid financials ([20552](https://github.com/civicrm/civicrm-core/pull/20552))**
47
48 - **Introduce civi.api4.authorizeRecord and civi.api4.validate ([20533](https://github.com/civicrm/civicrm-core/pull/20533))**
49
50 - **dev/core#2646 juice up the error a little ([20564](https://github.com/civicrm/civicrm-core/pull/20564))**
51
52 - **Fix for dev/membership#37 ([20493](https://github.com/civicrm/civicrm-core/pull/20493))**
53
54 - **REF - Cleanup array key checking to use array_key_exists ([20563](https://github.com/civicrm/civicrm-core/pull/20563))**
55
56 - **[REF] CRM_Contact_Task - Use short array syntax ([20562](https://github.com/civicrm/civicrm-core/pull/20562))**
57
58 - **dev/core#2479 Adjust generic copy for localizable fields ([20059](https://github.com/civicrm/civicrm-core/pull/20059))**
59
60 - **APIv4 - Make the @searchable flag explicit for OptionList type entities. ([20560](https://github.com/civicrm/civicrm-core/pull/20560))**
61
62 - **[php8-compat] Partial Fix of hook tests for php8 ([20545](https://github.com/civicrm/civicrm-core/pull/20545))**
63
64 - **Fix the populateTempTable to be more direct ([20548](https://github.com/civicrm/civicrm-core/pull/20548))**
65
66 - **[php8-compact] Add in guards into various templates to fix hook tests… ([20542](https://github.com/civicrm/civicrm-core/pull/20542))**
67
68 - **[php8-compact] Fix Report tests failing on php8 ([20549](https://github.com/civicrm/civicrm-core/pull/20549))**
69
70 - **[php8-compat] Upgrade TCPDF version to support php8 ([20540](https://github.com/civicrm/civicrm-core/pull/20540))**
71
72 - **SearchKit - allow searches based on relationships ([20558](https://github.com/civicrm/civicrm-core/pull/20558))**
73
74 - **dev/core#2486 - Add WordReplacement APIv4 entity ([20559](https://github.com/civicrm/civicrm-core/pull/20559))**
75
76 - **(REF) dev/core#1744 - Simplify Afform event naming ([20555](https://github.com/civicrm/civicrm-core/pull/20555))**
77
78 - **Fix v3 api payment test to validate on postAssert ([20530](https://github.com/civicrm/civicrm-core/pull/20530))**
79
80 - **Sort trigger data before processing ([20541](https://github.com/civicrm/civicrm-core/pull/20541))**
81
82 - **[php8-compat] Fix Include/Exclude Group Custom Search Tests by better… ([20539](https://github.com/civicrm/civicrm-core/pull/20539))**
83
84 - **SearchKit - Fix link target selection ([20537](https://github.com/civicrm/civicrm-core/pull/20537))**
85
86 - **[php8-compat] Fix Resources Test issue due to undefined array key add… ([20538](https://github.com/civicrm/civicrm-core/pull/20538))**
87
88 - **Switch table mapping to square bracket array syntax. ([20535](https://github.com/civicrm/civicrm-core/pull/20535))**
89
90 - **Dedupe DAO is out of date ([20534](https://github.com/civicrm/civicrm-core/pull/20534))**
91
92 - **[php8-compat][REF] Fix Date unit tests in php8 by passing in 00 inste… ([20525](https://github.com/civicrm/civicrm-core/pull/20525))**
93
94 - **dev/report#67 Fix standalone export classes ([20528](https://github.com/civicrm/civicrm-core/pull/20528))**
95
96 - **[php8-compact][REF] Fix another couple of places where by there are r… ([20526](https://github.com/civicrm/civicrm-core/pull/20526))**
97
98 - **[php8-compact][REF] Fix api_v3_PaymentTokenTest to work on php8 ([20527](https://github.com/civicrm/civicrm-core/pull/20527))**
99
100 - **[php8-compat][REF] Fix Case and Custom data tests by adding guards in… ([20524](https://github.com/civicrm/civicrm-core/pull/20524))**
101
102 - **Fix for tax rates being mangled on contribution update ([20357](https://github.com/civicrm/civicrm-core/pull/20357))**
103
104 - **Use line items to look up memberships ([20495](https://github.com/civicrm/civicrm-core/pull/20495))**
105
106 - **Test fix up for AdditionalPaymentTest ([20521](https://github.com/civicrm/civicrm-core/pull/20521))**
107
108 - **SearchKit - Add API filter for contacts in groups and smart groups ([20507](https://github.com/civicrm/civicrm-core/pull/20507))**
109
110 - **[php8-compat] Fix api_v3_PaymentTest failures by putting in more guar… ([20520](https://github.com/civicrm/civicrm-core/pull/20520))**
111
112 - **dev/core#2486 - Use read-only permissions for FinancialItem API ([20499](https://github.com/civicrm/civicrm-core/pull/20499))**
113
114 - **dev/core#1549 - Malleate civicrm_generated so that long lines are split ([20513](https://github.com/civicrm/civicrm-core/pull/20513))**
115
116 - **[php8-compat][REF] Fix some more test failures in php8 ([20516](https://github.com/civicrm/civicrm-core/pull/20516))**
117
118 - **[php8-compat][REF] Fix api_v3_contributionpagetest on php8 ([20518](https://github.com/civicrm/civicrm-core/pull/20518))**
119
120 - **[php8-compat][REF] Fix more php8 test failures caused by template issues ([20517](https://github.com/civicrm/civicrm-core/pull/20517))**
121
122 - **[php8-compat] Update smarty templates and some php files to get the a… ([20512](https://github.com/civicrm/civicrm-core/pull/20512))**
123
124 - **[php8-compat] Fix some more examples of where required parameters are… ([20515](https://github.com/civicrm/civicrm-core/pull/20515))**
125
126 - **Allow legacy warnings to be fully suppressed in PropertyBag ([20331](https://github.com/civicrm/civicrm-core/pull/20331))**
127
128 - **[php8-compat] Fix php beautifier notice by conditionally assinging dy… ([20509](https://github.com/civicrm/civicrm-core/pull/20509))**
129
130 - **[php8-compat] Fix issue in APIv3 Where by because product has a colum… ([20508](https://github.com/civicrm/civicrm-core/pull/20508))**
131
132 - **[php8-compat] Fix issue with returning bool from uasort by using the … ([20502](https://github.com/civicrm/civicrm-core/pull/20502))**
133
134 - **[php8-compat][NFC] Fix using ZipArchive::open on an empty file ([20500](https://github.com/civicrm/civicrm-core/pull/20500))**
135
136 - **ACLEntityRole BAO tidy fixes ([20504](https://github.com/civicrm/civicrm-core/pull/20504))**
137
138 - **[php8-compat] fix Upgrade call back issues by making functions static… ([20503](https://github.com/civicrm/civicrm-core/pull/20503))**
139
140 - **[REF] Fix Authx tests on Druapl 8/9 by ensuring that we only return a… ([20498](https://github.com/civicrm/civicrm-core/pull/20498))**
141
142 - **APIv4 - Delete undocumented deprecated activityType lookup ([20506](https://github.com/civicrm/civicrm-core/pull/20506))**
143
144 - **Add APIv4 Batch.create spec ([20501](https://github.com/civicrm/civicrm-core/pull/20501))**
145
146 - **[php8-compat][NFC] Fix issue where by we are tryiing to access array keys … ([20496](https://github.com/civicrm/civicrm-core/pull/20496))**
147
148 - **[REF][php8-compat] Fix more instances of where there is a required pa… ([20497](https://github.com/civicrm/civicrm-core/pull/20497))**
149
150 - **Clarify types on `hook_custom` and `hook_customPre` ([20488](https://github.com/civicrm/civicrm-core/pull/20488))**
151
152 - **dev/core#2636 - Authx - Undefined function in drupal 9 ([20479](https://github.com/civicrm/civicrm-core/pull/20479))**
153
154 - **Prevent adding duplicate dashlet if present with same name and label ([20375](https://github.com/civicrm/civicrm-core/pull/20375))**
155
156 - **APIv4 Entity.get refactor to be more efficient ([20470](https://github.com/civicrm/civicrm-core/pull/20470))**
157
158 - **Cleanup references to old dedupe class names ([20492](https://github.com/civicrm/civicrm-core/pull/20492))**
159
160 - **dev/core#2486 Add ACLEntityRole APIv4 Entity ([20474](https://github.com/civicrm/civicrm-core/pull/20474))**
161
162 - **Add DedupeRule, DedupeRuleGroup and DedupeException API4 entity ([20466](https://github.com/civicrm/civicrm-core/pull/20466))**
163
164 - **[php8-compat] Fix undefined property on Array Cache class in wordpres… ([20491](https://github.com/civicrm/civicrm-core/pull/20491))**
165
166 - **[REF][php8-compat] Further fixes where there is a required paramater … ([20490](https://github.com/civicrm/civicrm-core/pull/20490))**
167
168 - **dev/translation#67 - Define "Translation" table. Add during installation/upgrade. ([20478](https://github.com/civicrm/civicrm-core/pull/20478))**
169
170 - **APIv4 - Cleanup getFields, add @internal flag for non-public field attributes ([20489](https://github.com/civicrm/civicrm-core/pull/20489))**
171
172 - **Remove some unused variables ([20487](https://github.com/civicrm/civicrm-core/pull/20487))**
173
174 - **[php8-compat][REF] Fix php8 error on undefined constant CIVICRM_DISAB… ([20485](https://github.com/civicrm/civicrm-core/pull/20485))**
175
176 - **5.38 ([20486](https://github.com/civicrm/civicrm-core/pull/20486))**
177
178 - **[php8-compat][NFC] Ensure that the 2nd parameter of hash_equals is a … ([20483](https://github.com/civicrm/civicrm-core/pull/20483))**
179
180 - **Afform - Fix custom field handling and add tests ([20480](https://github.com/civicrm/civicrm-core/pull/20480))**
181
182 - **Extract code that populates temp table for an individual group ([20458](https://github.com/civicrm/civicrm-core/pull/20458))**
183
184 - **APIv4 - Fix getFields to respect default_value from getFields ([20481](https://github.com/civicrm/civicrm-core/pull/20481))**
185
186 - **Remove pass-by-ref as param not altered ([20475](https://github.com/civicrm/civicrm-core/pull/20475))**
187
188 - **[php8-compat][phpunit8][NFC] Fix PHPUnit Warnings and fix a php error on f… ([20477](https://github.com/civicrm/civicrm-core/pull/20477))**
189
190 - **[php8-compat] Fix deprecation error where by required function parame… ([20473](https://github.com/civicrm/civicrm-core/pull/20473))**
191
192 - **5.38 ([20469](https://github.com/civicrm/civicrm-core/pull/20469))**
193
194 - **Bump DOMPDF to `~1.0.0` ([20465](https://github.com/civicrm/civicrm-core/pull/20465))**
195
196 - **SearchKit - Update `hook_civicrm_searchKitTasks` signature ([20467](https://github.com/civicrm/civicrm-core/pull/20467))**
197
198 - **[Ref] [tests only] replace direct calls to enable logging with calls to the setting ([20460](https://github.com/civicrm/civicrm-core/pull/20460))**
199
200 - ** [Ref] Remove function parameter only used from test ([20459](https://github.com/civicrm/civicrm-core/pull/20459))**
201
202 - **APIv4 - Return id_field as part of Entity.get ([20457](https://github.com/civicrm/civicrm-core/pull/20457))**
203
204 - **dev/core#2486 Add pseudoconstant callback for LineItem and Financial item entity ([20464](https://github.com/civicrm/civicrm-core/pull/20464))**
205
206 - **Don't pass doPayment by reference in Contribution.transact API ([20463](https://github.com/civicrm/civicrm-core/pull/20463))**
207
208 - **dev/core#2486 Add in FinancialItem APIv4 Entity ([20433](https://github.com/civicrm/civicrm-core/pull/20433))**
209
210 - **[Ref] remove never-passed param ([20456](https://github.com/civicrm/civicrm-core/pull/20456))**
211
212 - **Make functions protected ([20455](https://github.com/civicrm/civicrm-core/pull/20455))**
213
214 - **Mark test class as having invalid financials ([20448](https://github.com/civicrm/civicrm-core/pull/20448))**
215
216 - **SearchKit - Organize ON clause field selectors with joined entity first ([20454](https://github.com/civicrm/civicrm-core/pull/20454))**
217
218 - **BAOs, Tests, etal - Support `HookInterface` and `EventSubscriberInterface` for auto-registration ([20427](https://github.com/civicrm/civicrm-core/pull/20427))**
219
220 - **AfformGui - Fix tabs when cms theme adds extra margin ([20431](https://github.com/civicrm/civicrm-core/pull/20431))**
221
222 - **[REF] APIv4 refactoring to support calculated fields ([20440](https://github.com/civicrm/civicrm-core/pull/20440))**
223
224 - **SearchKit - Add static groups and organize main entity selector ([20434](https://github.com/civicrm/civicrm-core/pull/20434))**
225
226 - **dev/core#2369 - Change missing image fatal error to 404 ([20447](https://github.com/civicrm/civicrm-core/pull/20447))**
227
228 - **[REF] Set receipt_date after sending, (from batch) not in anticipation ([20395](https://github.com/civicrm/civicrm-core/pull/20395))**
229
230 - **dev/core#2593 Fix failure to complete contributions when membership deleted ([20424](https://github.com/civicrm/civicrm-core/pull/20424))**
231
232 - **[php8-compat] Upgrade PHPWord Package to support php8 ([20449](https://github.com/civicrm/civicrm-core/pull/20449))**
233
234 - **[NFC] Superficial code cleanup ([20446](https://github.com/civicrm/civicrm-core/pull/20446))**
235
236 - **financial#173: Show 'Pay Now' on user dashboard for partially paid contributions ([20376](https://github.com/civicrm/civicrm-core/pull/20376))**
237
238 - **[php8-compat] [REF] Fix a couple of functions triggering deprecation notices in php… ([20442](https://github.com/civicrm/civicrm-core/pull/20442))**
239
240 - **[php8-compat] Fix Warning Notices when running schema generation ([20445](https://github.com/civicrm/civicrm-core/pull/20445))**
241
242 - **[php8-compat] Update Various Symfony components to latest version in … ([20444](https://github.com/civicrm/civicrm-core/pull/20444))**
243
244 - **OAuth: initial support for per-contact OAuth tokens ([20189](https://github.com/civicrm/civicrm-core/pull/20189))**
245
246 - **Fix profile test teardown ([20439](https://github.com/civicrm/civicrm-core/pull/20439))**
247
248 - **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([20443](https://github.com/civicrm/civicrm-core/pull/20443))**
249
250 - **[php8-compat] [REF] Fix call to function CRM_Utils_String::createRandom by ensuring that … ([20441](https://github.com/civicrm/civicrm-core/pull/20441))**
251
252 - **[REF] Extract code to transfer groups from temp table to cache ([20435](https://github.com/civicrm/civicrm-core/pull/20435))**
253
254 - **Fix separate payment membership test to create valid financial transa… ([20436](https://github.com/civicrm/civicrm-core/pull/20436))**
255
256 - **Ensure contacts without a name are updated when primary email changes ([20403](https://github.com/civicrm/civicrm-core/pull/20403))**
257
258 - **Afform GUI - Fix tab breakage in Shoreditch theme ([20416](https://github.com/civicrm/civicrm-core/pull/20416))**
259
260 - **Fix internal group contact cache functions to be protected ([20385](https://github.com/civicrm/civicrm-core/pull/20385))**
261
262 - **[REF] minor extraction - getInfoUrl ([20421](https://github.com/civicrm/civicrm-core/pull/20421))**
263
264 - **5.38 ([20430](https://github.com/civicrm/civicrm-core/pull/20430))**
265
266 - **[REF] Fix issue where by mailing urls were always stuck in the origin… ([20102](https://github.com/civicrm/civicrm-core/pull/20102))**
267
268 - **dev/mailing#95 Only track <a> urls in Flexmailer for HTML emails ([20129](https://github.com/civicrm/civicrm-core/pull/20129))**
269
270 - **Test - fix contributionTest to validate contributions ([20415](https://github.com/civicrm/civicrm-core/pull/20415))**
271
272 - **dev/core#2593 Fully remove loadRelatedObjects from PaypalExpress ([20422](https://github.com/civicrm/civicrm-core/pull/20422))**
273
274 - **Test fixes ([20426](https://github.com/civicrm/civicrm-core/pull/20426))**
275
276 - **[REF] Paypal pro - remove call to load contact record ([20423](https://github.com/civicrm/civicrm-core/pull/20423))**
277
278 - **[REF] Stop passing unneed params to the recur function ([20412](https://github.com/civicrm/civicrm-core/pull/20412))**
279
280 - **Remove unused functions from payJunction ([20417](https://github.com/civicrm/civicrm-core/pull/20417))**
281
282 - **Remove unused variable on dummy processor ([20418](https://github.com/civicrm/civicrm-core/pull/20418))**
283
284 - **Add defaults for APIv4 Case create ([20306](https://github.com/civicrm/civicrm-core/pull/20306))**
285
286 - **Revised fix for menu/UI issues for Joomla 4.0 ([20401](https://github.com/civicrm/civicrm-core/pull/20401))**
287
288 - **Describe logic behind placement of `invalidateRouteCache` ([20414](https://github.com/civicrm/civicrm-core/pull/20414))**
289
290 - **[REF] replace isFirst parameter ([20411](https://github.com/civicrm/civicrm-core/pull/20411))**
291
292 - **[REF] Remove now-unused params ([20410](https://github.com/civicrm/civicrm-core/pull/20410))**
293
294 - **[REF] Paypal ipn - cleanup references to completion ([20407](https://github.com/civicrm/civicrm-core/pull/20407))**
295
296 - **[NFC] Cleanup in test class ([20402](https://github.com/civicrm/civicrm-core/pull/20402))**
297
298 - **[REF] Replace deprecated code call ([20409](https://github.com/civicrm/civicrm-core/pull/20409))**
299
300 - **Remove remains of md5 check from authorizenet ([20406](https://github.com/civicrm/civicrm-core/pull/20406))**
301
302 - **Update eventcart test to only test payment form ([20405](https://github.com/civicrm/civicrm-core/pull/20405))**
303
304 - **Fix contribution page pledge tests to create valid contributions ([20404](https://github.com/civicrm/civicrm-core/pull/20404))**
305
306 - **[REF] Cleanup validation in PaypalProIPN single function ([20360](https://github.com/civicrm/civicrm-core/pull/20360))**
307
308 - **[REF] Minor simplification ([20393](https://github.com/civicrm/civicrm-core/pull/20393))**
309
310 - **Tax fixes in unit test ([20390](https://github.com/civicrm/civicrm-core/pull/20390))**
311
312 - **fix arguments sent to hook_civicrm_check ([20400](https://github.com/civicrm/civicrm-core/pull/20400))**
313
314 - **Afform - Improve Gui, prefill & submit APIs ([20383](https://github.com/civicrm/civicrm-core/pull/20383))**
315
316 - **Add call to validateAllContributions & fix getTotalAmount ([20391](https://github.com/civicrm/civicrm-core/pull/20391))**
317
318 - **Remove legacy references to partial_amount_to_pay ([20358](https://github.com/civicrm/civicrm-core/pull/20358))**
319
320 - **[NFC] {test} code cleanup in test class ([20389](https://github.com/civicrm/civicrm-core/pull/20389))**
321
322 - **[NFC] Minor cleanup ([20387](https://github.com/civicrm/civicrm-core/pull/20387))**
323
324 - **[NFC] Minor code cleanup ([20386](https://github.com/civicrm/civicrm-core/pull/20386))**
325
326 - **Use PHPUnit8 in main test suites ([20370](https://github.com/civicrm/civicrm-core/pull/20370))**
327
328 - **If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger deprecated function warning ([20384](https://github.com/civicrm/civicrm-core/pull/20384))**
329
330 - **[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites ([20380](https://github.com/civicrm/civicrm-core/pull/20380))**
331
332 - **[REF] extract function to get locks ([20373](https://github.com/civicrm/civicrm-core/pull/20373))**
333
334 - **[NFC] [Test] Big cleanup in test class ([20374](https://github.com/civicrm/civicrm-core/pull/20374))**
335
336 - **[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite ([20381](https://github.com/civicrm/civicrm-core/pull/20381))**
337
338 - **[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests ([20379](https://github.com/civicrm/civicrm-core/pull/20379))**
339
340 - **[REF] Remove unused variable ([20378](https://github.com/civicrm/civicrm-core/pull/20378))**
341
342 - **[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite ([20377](https://github.com/civicrm/civicrm-core/pull/20377))**
343
344 - **Afform Entity Reference Submit ([20305](https://github.com/civicrm/civicrm-core/pull/20305))**
345
346 - **[NFC] Further cleanup in test class ([20372](https://github.com/civicrm/civicrm-core/pull/20372))**
347
348 - **[NFC] Add in more voids to unit tests to support PHPUnit8 ([20369](https://github.com/civicrm/civicrm-core/pull/20369))**
349
350 - **[NFC] [Test] Preliminary cleanup in test class ([20371](https://github.com/civicrm/civicrm-core/pull/20371))**
351
352 - **Fix Distmaker building by ensuring we are rsyncing from the right folder ([20353](https://github.com/civicrm/civicrm-core/pull/20353))**
353
354 - **[Test] Add test cover for contribution tokens in pdf letter ([20217](https://github.com/civicrm/civicrm-core/pull/20217))**
355
356 - **[REF] Slightly more logical order of code ([20368](https://github.com/civicrm/civicrm-core/pull/20368))**
357
358 - **Deprecate function CRM_Core_BAO_CustomField::bulkSave ([20367](https://github.com/civicrm/civicrm-core/pull/20367))**
359
360 - **[REF] Useradd contact task - Use OO instead of hardcoding "if Wordpress" ([20366](https://github.com/civicrm/civicrm-core/pull/20366))**
361
362 - **Superficial tidy up in test class ([20359](https://github.com/civicrm/civicrm-core/pull/20359))**
363
364 - **Cleanup - declare return types, remove unused var ([20363](https://github.com/civicrm/civicrm-core/pull/20363))**
365
366 - **[REF] Cleanup on import rows error ([20196](https://github.com/civicrm/civicrm-core/pull/20196))**
367
368 - **Update bulkSave test to use the api ([20362](https://github.com/civicrm/civicrm-core/pull/20362))**
369
370 - **SearchKit - Fix menu permission ([20349](https://github.com/civicrm/civicrm-core/pull/20349))**
371
372 - **[NFC] Add in voids to various setUpBeforeClass and tearDownAfterClass… ([20365](https://github.com/civicrm/civicrm-core/pull/20365))**
373
374 - **SearchKit and Afform UI improvements ([20348](https://github.com/civicrm/civicrm-core/pull/20348))**
375
376 - **Unit test for #20342 ([20361](https://github.com/civicrm/civicrm-core/pull/20361))**
377
378 - **[REF] Extract function to build temporary table of members of group from Report_Form ([20297](https://github.com/civicrm/civicrm-core/pull/20297))**
379
380 - **Fix mandatory keys check fail for value of float 0.0 in a required key in an entity ([20342](https://github.com/civicrm/civicrm-core/pull/20342))**
381
382 - **[REF] Extract getContributionObject ([20355](https://github.com/civicrm/civicrm-core/pull/20355))**
383
384 - **[NFC] Update PHPUnit config to not cache results in phpunit8 and add … ([20356](https://github.com/civicrm/civicrm-core/pull/20356))**
385
386 - **[REF] Remove now-unused parameter ([20354](https://github.com/civicrm/civicrm-core/pull/20354))**
387
388 - **Add test for mixed Order data ([20241](https://github.com/civicrm/civicrm-core/pull/20241))**
389
390 - **[REF] Add getter for contributionID ([20318](https://github.com/civicrm/civicrm-core/pull/20318))**
391
392 - **[REF] Make previous unshared function protected & Remove hard-coded params ([20345](https://github.com/civicrm/civicrm-core/pull/20345))**
393
394 - **Fix form params for testEventPaymentForms ([20330](https://github.com/civicrm/civicrm-core/pull/20330))**
395
396 - **[NFC] Add in unit tests of credit card validation rules ([20352](https://github.com/civicrm/civicrm-core/pull/20352))**
397
398 - **[REF] Update Pear Validate Finance CreditCard to use latest tagged re… ([20351](https://github.com/civicrm/civicrm-core/pull/20351))**
399
400 - **Fix extraneous white space in generated sql ([20340](https://github.com/civicrm/civicrm-core/pull/20340))**
401
402 - **Give the custom css file a 'name' to make it easier to manipulate in hook_civicrm_alterBundle() ([20278](https://github.com/civicrm/civicrm-core/pull/20278))**
403
404 - **[REF] Make previously unshared function protected ([20346](https://github.com/civicrm/civicrm-core/pull/20346))**
405
406 - **Remove extraneous debug ([20319](https://github.com/civicrm/civicrm-core/pull/20319))**
407
408 - **dev/core#2613 - Replace deprecated function in useradd task ([20347](https://github.com/civicrm/civicrm-core/pull/20347))**
409
410 - **[REF] Remove unused parameters ([20301](https://github.com/civicrm/civicrm-core/pull/20301))**
411
412 - **5.38 ([20344](https://github.com/civicrm/civicrm-core/pull/20344))**
413
414 - **SearchKit - Rename crmSearchActions module to crmSearchTasks & add hook ([20307](https://github.com/civicrm/civicrm-core/pull/20307))**
415
416 - **[NFC] Remove timecop function references from Cache Tiered Test ([20343](https://github.com/civicrm/civicrm-core/pull/20343))**
417
418 - **dev/core#2403 - Change Greenwich link color from gray to blue ([20341](https://github.com/civicrm/civicrm-core/pull/20341))**
419
420 - **[REF] Cleanup BAO_ActionSchedule::getlist() signature ([20239](https://github.com/civicrm/civicrm-core/pull/20239))**
421
422 - **SearchKit - Use default_pager_size setting ([20336](https://github.com/civicrm/civicrm-core/pull/20336))**
423
424 - **(REF) Regen CRM/Core/DAO/CustomField.php ([20337](https://github.com/civicrm/civicrm-core/pull/20337))**
425
426 - **Fix case sensitive parameter for call to getCustomFieldTokens ([20333](https://github.com/civicrm/civicrm-core/pull/20333))**
427
428 - **Core_DAO - fire links_callback for all entities ([20332](https://github.com/civicrm/civicrm-core/pull/20332))**
429
430 - **Fix CKEditor5 link editing in modal dialog ([20285](https://github.com/civicrm/civicrm-core/pull/20285))**
431
432 - **Fix old-ish regression on paypal standard self-service cancel links ([20210](https://github.com/civicrm/civicrm-core/pull/20210))**
433
434 - **[Ref] remove redundant call to clearGroupContactCache ([20243](https://github.com/civicrm/civicrm-core/pull/20243))**
435
436 - **Convert payJunction to doPayment ([20326](https://github.com/civicrm/civicrm-core/pull/20326))**
437
438 - **Convert FirstData to doPayment ([20325](https://github.com/civicrm/civicrm-core/pull/20325))**
439
440 - **Convert elavon to doPayment ([20324](https://github.com/civicrm/civicrm-core/pull/20324))**
441
442 - **Convert Realex to doPayment ([20327](https://github.com/civicrm/civicrm-core/pull/20327))**
443
444 - **Convert payflowpro to doPayment ([20328](https://github.com/civicrm/civicrm-core/pull/20328))**
445
446 - **Convert eway to doPayment ([20323](https://github.com/civicrm/civicrm-core/pull/20323))**
447
448 - **Correct copy-paste error in CustomField schema ([20329](https://github.com/civicrm/civicrm-core/pull/20329))**
449
450 - **Convert AuthorizeNet to doPayment() ([20322](https://github.com/civicrm/civicrm-core/pull/20322))**
451
452 - **get county fields populated via api call ([20309](https://github.com/civicrm/civicrm-core/pull/20309))**
453
454 - **dev/release#17 - Synchronize version#s for core and core-extensions ([20303](https://github.com/civicrm/civicrm-core/pull/20303))**
455
456 - **APIv4 - Save custom fields in bulk ([20269](https://github.com/civicrm/civicrm-core/pull/20269))**
457
458 - **[REF] Make use of recently added default pager size setting in Reports ([20273](https://github.com/civicrm/civicrm-core/pull/20273))**
459
460 - **[REF] Duplicate & deprecate processMembership ([20313](https://github.com/civicrm/civicrm-core/pull/20313))**
461
462 - **Add unit test for #20144 ([20320](https://github.com/civicrm/civicrm-core/pull/20320))**
463
464 - **Explicitly throw an error/status bounce on Edit/New if no types. ([19840](https://github.com/civicrm/civicrm-core/pull/19840))**
465
466 - **[REF] Switch to using getContributionRecurID function, remove now unused param ([20316](https://github.com/civicrm/civicrm-core/pull/20316))**
467
468 - **Afform drag n drop fixes ([20281](https://github.com/civicrm/civicrm-core/pull/20281))**
469
470 - **[REF] Fully remove ids variable from paypal std ([20317](https://github.com/civicrm/civicrm-core/pull/20317))**
471
472 - **(dev/release#17) Extension UI - Show developmental icon for alpha/beta-stage extensions ([20302](https://github.com/civicrm/civicrm-core/pull/20302))**
473
474 - **Cleanup tracking on group.load ([20310](https://github.com/civicrm/civicrm-core/pull/20310))**
475
476 - **authx - Accept API keys by default ([20081](https://github.com/civicrm/civicrm-core/pull/20081))**
477
478 - **Activate user when no activation is required ([20229](https://github.com/civicrm/civicrm-core/pull/20229))**
479
480 - **Separates the default language for contacts from the site language ([20214](https://github.com/civicrm/civicrm-core/pull/20214))**
481
482 - **Switch to non deprecated buildPermissionClause() for contact detail report ([20314](https://github.com/civicrm/civicrm-core/pull/20314))**
483
484 - **Do not error on view contribution recur if not displaying contributions ([20209](https://github.com/civicrm/civicrm-core/pull/20209))**
485
486 - **dev/core#2593 stop calling loadRelatedObjects / fix for bug ([20300](https://github.com/civicrm/civicrm-core/pull/20300))**
487
488 - **[REF] Provide standardised methods to get recurring contribution id & object ([20294](https://github.com/civicrm/civicrm-core/pull/20294))**
489
490 - **[REF] Reverse if statement ([20211](https://github.com/civicrm/civicrm-core/pull/20211))**
491
492 - **Remove deprecation of order-must-be-pending ([20205](https://github.com/civicrm/civicrm-core/pull/20205))**
493
494 - **Improve Sample data by ensuring all Credit Card Contributions have a … ([20312](https://github.com/civicrm/civicrm-core/pull/20312))**
495
496 - **Remove never-passed parameter from now unshared function ([20304](https://github.com/civicrm/civicrm-core/pull/20304))**
497
498 - **dev/core#2614 - Sample payment processor is the wrong id in the generated sample data for demos ([20311](https://github.com/civicrm/civicrm-core/pull/20311))**
499
500 - **Add warning when url_site is not specified for paypal (it won't work if not set) ([20082](https://github.com/civicrm/civicrm-core/pull/20082))**
501
502 - **Remove defunct default return property ([20139](https://github.com/civicrm/civicrm-core/pull/20139))**
503
504 - **Afform Gui - Add support for entityRef fields ([20216](https://github.com/civicrm/civicrm-core/pull/20216))**
505
506 - **Remove now-unused ids parameter from signature ([20299](https://github.com/civicrm/civicrm-core/pull/20299))**
507
508 - **[REF] Use function to getContributionRecurID ([20293](https://github.com/civicrm/civicrm-core/pull/20293))**
509
510 - **[REF] Duplicate processMembership preliminary to cleanup ([20295](https://github.com/civicrm/civicrm-core/pull/20295))**
511
512 - **Switch to non deprecated buildPermissionClause() for contact summary report ([20287](https://github.com/civicrm/civicrm-core/pull/20287))**
513
514 - **[NFC/TEST] - Add unit test enforcing automatic chaining for financial type/account creation via api ([20288](https://github.com/civicrm/civicrm-core/pull/20288))**
515
516 - **5.38 ([20290](https://github.com/civicrm/civicrm-core/pull/20290))**
517
518 - **dev/core#2593 [REF] Fix function signature to actually-used variables ([20246](https://github.com/civicrm/civicrm-core/pull/20246))**
519
520 - **Use order api when creating a recurring membership from the Membershi… ([20077](https://github.com/civicrm/civicrm-core/pull/20077))**
521
522 - **Change the help text for Message Templates and Scheduled Reminders to include link to CiviCRM Token Documentation page ([20259](https://github.com/civicrm/civicrm-core/pull/20259))**
523
524 - **5.38 ([20284](https://github.com/civicrm/civicrm-core/pull/20284))**
525
526 - **Afform - hide disabled contact types & entities from disabled components/extensions ([20283](https://github.com/civicrm/civicrm-core/pull/20283))**
527
528 - **5.38 ([20280](https://github.com/civicrm/civicrm-core/pull/20280))**
529
530 - **Typo when retrieving help_pre textarea attributes for price field ([20276](https://github.com/civicrm/civicrm-core/pull/20276))**
531
532 - **[REF] Move ACLPermission Trait into Civi Folder so that it can be acc… ([20208](https://github.com/civicrm/civicrm-core/pull/20208))**
533
534 - **dev/core#2606 - Typo in rowCount variable in pager ([20275](https://github.com/civicrm/civicrm-core/pull/20275))**
535
536 - **dev/core#2590 - Remove unused function CRM_Utils_File::relativeDirectory ([20270](https://github.com/civicrm/civicrm-core/pull/20270))**
537
538 - **Afform - Drag & drop fixes ([20263](https://github.com/civicrm/civicrm-core/pull/20263))**
539
540 - **(REF) dev/core#2601 - Cleanup stale parameter ([20271](https://github.com/civicrm/civicrm-core/pull/20271))**
541
542 - **[NFC] Test - Improve tearDown cleanup of domain contacts ([20258](https://github.com/civicrm/civicrm-core/pull/20258))**
543
544 - **dev/core#2187 Allow sites to customise the default number of rows ret… ([18969](https://github.com/civicrm/civicrm-core/pull/18969))**
545
546 - **Freeze readonly fields ([20204](https://github.com/civicrm/civicrm-core/pull/20204))**
547
548 - **CiviCRM Scheduled Reminders, Subject field missing Token selector - users must copy Token from Body field to Subject ([20260](https://github.com/civicrm/civicrm-core/pull/20260))**
549
550 - **Fix delete customgroup using API4 so it removes data table ([20265](https://github.com/civicrm/civicrm-core/pull/20265))**
551
552 - **5.38 ([20266](https://github.com/civicrm/civicrm-core/pull/20266))**
553
554 - **fix missing parent tearDown ([20261](https://github.com/civicrm/civicrm-core/pull/20261))**
555
556 - **Fix missing parent tearDown ([20262](https://github.com/civicrm/civicrm-core/pull/20262))**
557
558 - **[NFC] Test - fix to use v3 api on postAsserts ([20257](https://github.com/civicrm/civicrm-core/pull/20257))**
559
560 - **[REF] Extract code determining list of groups requiring a refresh ([20242](https://github.com/civicrm/civicrm-core/pull/20242))**
561
562 - **[Test] Improve cleanup of domain contacts ([20253](https://github.com/civicrm/civicrm-core/pull/20253))**
563
564 - **dev/core#2602 - Installer doesn't check mysql version properly ([20255](https://github.com/civicrm/civicrm-core/pull/20255))**
565
566 - **Switch l10n.js from ajax callback to assetBuilder ([20121](https://github.com/civicrm/civicrm-core/pull/20121))**
567
568 - **Test fix - assertion fails when run with other tests (sometimes) ([20250](https://github.com/civicrm/civicrm-core/pull/20250))**
569
570 - **Improve cleanup on contact test ([20248](https://github.com/civicrm/civicrm-core/pull/20248))**
571
572 - **APIv4 - CiviCase API: Fix openening a case with current user as creator ([20238](https://github.com/civicrm/civicrm-core/pull/20238))**
573
574 - **Bump lodash from 4.17.19 to 4.17.21 ([20247](https://github.com/civicrm/civicrm-core/pull/20247))**
575
576 - **hook_managed - do not try to disable managed entities if is_active is not available to api3.create ([20144](https://github.com/civicrm/civicrm-core/pull/20144))**
577
578 - **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([645](https://github.com/civicrm/civicrm-drupal/pull/645))**
579
580 - **Remove Base Page content filter once it has been used ([240](https://github.com/civicrm/civicrm-wordpress/pull/240))**
581
582 - **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([248](https://github.com/civicrm/civicrm-wordpress/pull/248))**
583
584 - **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([249](https://github.com/civicrm/civicrm-wordpress/pull/249))**
585
586 - **Add FUNDING.yml to display a SPONSOR link that directs to c.o ([62](https://github.com/civicrm/civicrm-joomla/pull/62))**
587
588 - **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results ([140](https://github.com/civicrm/civicrm-backdrop/pull/140))**
589
590 - **1.x 5.38 ([139](https://github.com/civicrm/civicrm-backdrop/pull/139))**
591
592 - **drush install - Bump up entropy for autogenerated creds. Add signing key. ([128](https://github.com/civicrm/civicrm-backdrop/pull/128))**
593
594 - **DB/DataObject: use mb_strtolower because in turkish, INSERT becomes Insert ([324](https://github.com/civicrm/civicrm-packages/pull/324))**
595
596 - **[php8-compat] Fix calling method_exist with paremeter that is bool not an object in… ([323](https://github.com/civicrm/civicrm-packages/pull/323))**
597
598 ## <a name="misc"></a>Miscellany
599
600 ## <a name="credits"></a>Credits
601
602 This release was developed by the following code authors:
603
604 AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; bugfolder; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; dependabot[bot]; invalid-email-address; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
605
606 Most authors also reviewed code for this release; in addition, the following
607 reviewers contributed their comments:
608
609 Agileware - Justin Freeman; Artful Robot - Rich Lott; bugfolder; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - Vangelis Pantazis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green
610
611 ## <a name="feedback"></a>Feedback
612
613 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
614 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
615 and contact `@agh1`.