Merge pull request #24082 from seamuslee001/php81_batch_5
[civicrm-core.git] / release-notes / 5.39.0.md
CommitLineData
82ab111c
AH
1# CiviCRM 5.39.0
2
c1aa8c84 3Released July 7, 2021
82ab111c 4
c1aa8c84 5- **[Synopsis](#synopsis)**
82ab111c
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
c1aa8c84
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
647509b9
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** |
82ab111c
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
91366cd8 28- **Separate the default language for contacts from the site language (Work Towards
647509b9
AF
29 [dev/core#2584](https://lab.civicrm.org/dev/core/-/issues/2584):
30 [20214](https://github.com/civicrm/civicrm-core/pull/20214))**
82ab111c 31
647509b9
AF
32 Improves user experience for multilingual sites by separating the
33 CiviCRM contacts default language setting from the site default language.
82ab111c 34
647509b9
AF
35- **Canonize API for storing translated data (Work Towards
36 [dev/translation#67](https://lab.civicrm.org/dev/translation/-/issues/67):
37 [20478](https://github.com/civicrm/civicrm-core/pull/20478))**
82ab111c 38
91366cd8 39 Defines a "Translation" table (`civicrm_translation`), to represent a single
647509b9
AF
40 translated string (e.g. a translated message-title or a translated
41 event-description).
82ab111c 42
647509b9
AF
43- **Allow for the default number of search results to be configurable
44 ([dev/core#2187](https://lab.civicrm.org/dev/core/-/issues/2187):
45 [20336](https://github.com/civicrm/civicrm-core/pull/20336 and
46 [18969](https://github.com/civicrm/civicrm-core/pull/18969))**
82ab111c 47
647509b9 48 Creates a setting to define the number of search results to be returned.
82ab111c 49
91366cd8 50- **Give the custom CSS file a 'name' to make it easier to manipulate in
647509b9
AF
51 hook_civicrm_alterBundle()
52 ([20278](https://github.com/civicrm/civicrm-core/pull/20278))**
82ab111c 53
647509b9
AF
54 Gives the resource bundles custom CSS file a useful 'name' to make it easier
55 to manipulate in the alterBundle hook.
82ab111c 56
647509b9
AF
57- **OAuth: initial support for per-contact OAuth tokens
58 ([20189](https://github.com/civicrm/civicrm-core/pull/20189))**
82ab111c 59
647509b9
AF
60 Adds a system for managing OAuthContactTokens -- tokens linked to a
61 contact_id.
82ab111c 62
647509b9
AF
63- **BAOs, Tests, etal - Support `HookInterface` and `EventSubscriberInterface`
64 for auto-registration
65 ([20427](https://github.com/civicrm/civicrm-core/pull/20427))**
82ab111c 66
647509b9
AF
67 Expands the functionality for declaring event-listeners in different classes,
68 making it easier to participate in Symfony events.
82ab111c 69
647509b9
AF
70- **The version numbers for core-extensions should match core-proper.
71 ([dev/release#17](https://lab.civicrm.org/dev/release/-/issues/17):
72 [20303](https://github.com/civicrm/civicrm-core/pull/20303) and
73 [20302](https://github.com/civicrm/civicrm-core/pull/20302))**
82ab111c 74
647509b9
AF
75 Ensures that CiviCRM core extension version numbers are updated to match the
76 core release they are included in and denotes development stage of extensions
77 using icons.
82ab111c 78
647509b9
AF
79- **Enable/Disable Extension Receives API Error (Work Towards
80 [dev/core#2646](https://lab.civicrm.org/dev/core/-/issues/2646):
81 [20564](https://github.com/civicrm/civicrm-core/pull/20564))**
82ab111c 82
647509b9
AF
83 Improves the error messages when disabling or enabling an extension causes an
84 API Error.
82ab111c 85
647509b9
AF
86- **Regen.sh/setup.sh would be nice if the output for civicrm_generated.mysql
87 had long lines broken up
88 ([dev/core#1549](https://lab.civicrm.org/dev/core/-/issues/1549):
89 [20513](https://github.com/civicrm/civicrm-core/pull/20513))**
82ab111c 90
647509b9 91 Improves display of civicrm_generated.mysql output so its easier to read.
82ab111c 92
647509b9
AF
93- **Use new crm-angular-js instead of ng-app to bootstrap AngularJS
94 ([20419](https://github.com/civicrm/civicrm-core/pull/20419))**
82ab111c 95
647509b9
AF
96 Updates the method used to bootstrap Angular for internal consistency and so
97 that multiple angular apps can be used on the same page.
82ab111c 98
647509b9
AF
99- **APIv4 - Save custom fields in bulk
100 ([20269](https://github.com/civicrm/civicrm-core/pull/20269))**
82ab111c 101
647509b9 102 Makes it so custom fields can be saved in bulk thru APIv4.
82ab111c 103
647509b9
AF
104- **Add APIv4 Batch.create spec
105 ([20501](https://github.com/civicrm/civicrm-core/pull/20501))**
82ab111c 106
647509b9 107 Adds a spec for APIv4 Batch.create.
82ab111c 108
647509b9
AF
109- **APIv4 - Make the @searchable flag explicit for OptionList type entities.
110 ([20560](https://github.com/civicrm/civicrm-core/pull/20560))**
82ab111c 111
647509b9
AF
112 Improves code for categorizing entities for SearchKit, making searchability
113 easier to grok and less magical/mysterious.
82ab111c 114
647509b9
AF
115- **Apiv4 entity parity (Work Towards
116 [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486):
117 [20559](https://github.com/civicrm/civicrm-core/pull/20559),
118 [20499](https://github.com/civicrm/civicrm-core/pull/20499),
119 [20464](https://github.com/civicrm/civicrm-core/pull/20464),
120 [20609](https://github.com/civicrm/civicrm-core/pull/20609),
121 [20433](https://github.com/civicrm/civicrm-core/pull/20433) and
122 [20474](https://github.com/civicrm/civicrm-core/pull/20474))**
82ab111c 123
647509b9
AF
124 Works towards APIv4 parity with APIv3 by adding the following entities to
125 APIv4: WordReplacement, FinancialItem and ACLEntityRole.
82ab111c 126
647509b9
AF
127- **Introduce civi.api4.authorizeRecord and civi.api4.validate
128 ([20533](https://github.com/civicrm/civicrm-core/pull/20533))**
82ab111c 129
647509b9
AF
130 Refactors APIv4 code so that events use more consistent style (ie
131 civi.api4.{$TASK} with alias civi.api4.{$TASK}::{$ENTITY}).
82ab111c 132
647509b9
AF
133- **APIv4 Entity.get refactor to be more efficient
134 ([20470](https://github.com/civicrm/civicrm-core/pull/20470))**
82ab111c 135
647509b9 136 Makes APIv4 Entity.get more efficient.
82ab111c 137
647509b9
AF
138- **APIv4 - Return id_field as part of Entity.get
139 ([20457](https://github.com/civicrm/civicrm-core/pull/20457))**
82ab111c 140
647509b9
AF
141 Improves APIv4 metadata so it returns the name of the unique identifier field
142 for each entity (usually but not always named "id").
82ab111c 143
647509b9
AF
144- **Add DedupeRule, DedupeRuleGroup and DedupeException API4 entity
145 ([20466](https://github.com/civicrm/civicrm-core/pull/20466))**
82ab111c 146
647509b9
AF
147 Adds the following entities to APIv4: DedupeRule, DedupeRuleGroup and
148 DedupeException.
82ab111c 149
647509b9
AF
150- **Use PHPUnit8 in main test suites
151 ([20370](https://github.com/civicrm/civicrm-core/pull/20370))**
82ab111c 152
91366cd8 153 Makes phpunit8 the default test runner for PHP versions greater than 7.2 for
647509b9 154 the core test suites.
82ab111c 155
647509b9
AF
156- **Link styling with default greenwich theme is not linklike on search kit
157 screen ([dev/core#2403](https://lab.civicrm.org/dev/core/-/issues/2403):
158 [20341](https://github.com/civicrm/civicrm-core/pull/20341))**
82ab111c 159
647509b9
AF
160 Improves the SearchKit user interface by making links blue so that they are
161 easier to find.
82ab111c 162
647509b9
AF
163- **Afform - Improve Gui, prefill & submit APIs
164 ([20383](https://github.com/civicrm/civicrm-core/pull/20383))**
82ab111c 165
647509b9
AF
166 Standardizes prefill & submit APIs to use the same logic for validating
167 contacts. Displays correct form URL in the Afform GUI depending on is_frontend
168 setting. Shows warning about url arguments to prevent unintentional
169 permissions escalation.
82ab111c 170
647509b9
AF
171- **Afform Gui - Add support for entityRef fields
172 ([20216](https://github.com/civicrm/civicrm-core/pull/20216))**
82ab111c 173
647509b9
AF
174 Adds a widget to Afform for EntityRef to autocomplete contacts & other
175 entities, allows the autocomplete field to be changed to Number (for entering
176 ID) or Select (for choosing another entity on a form).
82ab111c 177
647509b9
AF
178- **Afform Entity Reference Submit
179 ([20305](https://github.com/civicrm/civicrm-core/pull/20305))**
82ab111c 180
647509b9
AF
181 Improves Afform Submit handling to handle entity reference fields that
182 reference other form elements.
82ab111c 183
647509b9
AF
184- **SearchKit - allow searches based on relationships
185 ([20558](https://github.com/civicrm/civicrm-core/pull/20558))**
82ab111c 186
647509b9 187 Allows SearchKit searches based on relationships.
82ab111c 188
647509b9
AF
189- **SearchKit - Add API filter for contacts in groups and smart groups
190 ([20507](https://github.com/civicrm/civicrm-core/pull/20507))**
82ab111c 191
647509b9
AF
192 Adds a filter-style field to search for contacts in (or not in) one or more
193 groups.
82ab111c 194
647509b9
AF
195- **SearchKit - Update `hook_civicrm_searchKitTasks` signature
196 ([20467](https://github.com/civicrm/civicrm-core/pull/20467))**
82ab111c 197
647509b9
AF
198 Updates the hook_civicrm_searchKitTasks signature to include checkPermissions
199 and userId.
82ab111c 200
647509b9
AF
201- **SearchKit - Add static groups and organize main entity selector
202 ([20434](https://github.com/civicrm/civicrm-core/pull/20434))**
82ab111c 203
647509b9
AF
204 Adds static (non-smart) groups to SearchKit, and organizes main entity
205 selector to be less cluttered, with primary entities up top and the rest
206 within a collapsible optgroup.
82ab111c 207
647509b9
AF
208- **SearchKit and Afform UI improvements
209 ([20348](https://github.com/civicrm/civicrm-core/pull/20348))**
82ab111c 210
647509b9
AF
211 Cleans up the admin UI for SearchKit and Afform, adds click-to-sort table
212 headers and fixes a bug where SavedSearch modified_date were not being saved.
82ab111c 213
647509b9
AF
214- **SearchKit - Rename crmSearchActions module to crmSearchTasks & add hook
215 ([20307](https://github.com/civicrm/civicrm-core/pull/20307))**
82ab111c 216
647509b9
AF
217 Adds hook_civicrm_searchKitTasks() to make it easy for other extensions to add
218 tasks specific to SearchKit. Also renames the module for consistency.
82ab111c 219
647509b9
AF
220- **[php8-compat] Upgrade PHPWord Package to support php8
221 ([20449](https://github.com/civicrm/civicrm-core/pull/20449))**
82ab111c 222
647509b9
AF
223 Work towards making CiviCRM php8 compatible, specifically by upgrading PHPWord
224 Package.
82ab111c 225
647509b9
AF
226- **[php8-compat] Upgrade TCPDF version to support php8
227 ([20540](https://github.com/civicrm/civicrm-core/pull/20540))**
82ab111c 228
647509b9 229 Work Towards making CiviCRM php8 compatible specifically by upgrading TCPDF.
82ab111c 230
647509b9
AF
231- **Consider joining the GitHub Sponsors program
232 ([community/sustainability#20](https://lab.civicrm.org/community/sustainability/-/issues/20):
233 [248](https://github.com/civicrm/civicrm-wordpress/pull/248) and
234 [62](https://github.com/civicrm/civicrm-joomla/pull/62))**
82ab111c 235
647509b9 236 Adds a sponsor link as apart of the GitHub Sponsors program.
82ab111c 237
647509b9
AF
238- **Change the help text for Message Templates and Scheduled Reminders to
239 include link to CiviCRM Token Documentation page
240 ([20259](https://github.com/civicrm/civicrm-core/pull/20259))**
82ab111c 241
647509b9
AF
242 Improves user experience by linking to CiviCRM Token documentation from the
243 Message Templates and Scheduled Reminders forms.
82ab111c 244
647509b9
AF
245- **authx - Accept API keys by default
246 ([20081](https://github.com/civicrm/civicrm-core/pull/20081))**
82ab111c 247
647509b9
AF
248 Relaxes the default settings so that it is easier to use authx
249 as a replacement for extern/rest.php (which uses the api_key for
250 authentication).
82ab111c 251
647509b9 252### CiviCase
82ab111c 253
647509b9
AF
254- **Add defaults for APIv4 Case create
255 ([20306](https://github.com/civicrm/civicrm-core/pull/20306))**
82ab111c 256
647509b9
AF
257 Adds the following defaults for APIv4 Case.create:
258 - default Case Creator = current user
259 - default Case Start Date = now
82ab111c 260
647509b9 261### CiviContribute
82ab111c 262
647509b9
AF
263- **Improve Sample data by ensuring all Credit Card Contributions have a
264 transaction id and that they are shown to be linked to the test payment
265 processor ([20312](https://github.com/civicrm/civicrm-core/pull/20312))**
82ab111c 266
647509b9 267 Improves CiviContribute sample date.
82ab111c 268
647509b9 269## <a name="bugs"></a>Bugs resolved
82ab111c 270
647509b9 271### Core CiviCRM
82ab111c 272
647509b9
AF
273- **"You do not have permission to access this page" when exporting participants
274 in Search Kit
275 ([dev/report#67](https://lab.civicrm.org/dev/report/-/issues/67):
276 [20528](https://github.com/civicrm/civicrm-core/pull/20528))**
82ab111c 277
647509b9 278 Fixes an 'access denied' error on standalone SearchKit export forms, caused by
91366cd8 279 renaming the PHP classes.
82ab111c 280
baf03f04
AH
281- **500 error saving Search Kit Smart Group sorted on aggregated field
282 ([dev/report#68](https://lab.civicrm.org/dev/report/-/issues/68):
283 [20610](https://github.com/civicrm/civicrm-core/pull/20610))**
284
647509b9
AF
285- **Fatal error reported when photo cannot be found
286 ([dev/core#2369](https://lab.civicrm.org/dev/core/-/issues/2369):
287 [20447](https://github.com/civicrm/civicrm-core/pull/20447))**
82ab111c 288
647509b9
AF
289- **Loss of translation when copying (cloning) entities (multilingual)
290 ([dev/core#2479](https://lab.civicrm.org/dev/core/-/issues/2479):
291 [20059](https://github.com/civicrm/civicrm-core/pull/20059))**
82ab111c 292
efddb753
TO
293- **Fatal error while upgrading smart-group data
294 ([dev/core#2659](https://lab.civicrm.org/dev/core/-/issues/2659):
295 [20756](https://github.com/civicrm/civicrm-core/pull/20756/))**
296
647509b9
AF
297- **CRM_Utils_File::isAbsolute does not respect PHP stream wrappers (Work
298 Towards [dev/core#2590](https://lab.civicrm.org/dev/core/-/issues/2590):
299 [20270](https://github.com/civicrm/civicrm-core/pull/20270))**
82ab111c 300
647509b9 301 Removes unused function.
82ab111c 302
91366cd8 303- **Installer doesn't check MySQL version properly
647509b9
AF
304 ([dev/core#2602](https://lab.civicrm.org/dev/core/-/issues/2602):
305 [20255](https://github.com/civicrm/civicrm-core/pull/20255))**
82ab111c 306
647509b9
AF
307- **Useradd task gives a deprecation notice for the password confirmation field
308 ([dev/core#2613](https://lab.civicrm.org/dev/core/-/issues/2613):
309 [20347](https://github.com/civicrm/civicrm-core/pull/20347))**
82ab111c 310
647509b9
AF
311- **APIv4 - Delete undocumented deprecated activityType lookup
312 ([20506](https://github.com/civicrm/civicrm-core/pull/20506))**
82ab111c 313
647509b9
AF
314 Deletes an undocumented APIv4 quirk that's been giving deprecated warnings for
315 over a year.
82ab111c 316
647509b9
AF
317- **APIv4 - Fix getFields to respect default_value from getFields
318 ([20481](https://github.com/civicrm/civicrm-core/pull/20481))**
82ab111c 319
647509b9
AF
320- **AfformGui - Fix tabs when cms theme adds extra margin
321 ([20431](https://github.com/civicrm/civicrm-core/pull/20431))**
82ab111c 322
647509b9
AF
323- **Afform GUI - Fix tab breakage in Shoreditch theme
324 ([20416](https://github.com/civicrm/civicrm-core/pull/20416))**
82ab111c 325
647509b9
AF
326- **Afform drag n drop fixes
327 ([20281](https://github.com/civicrm/civicrm-core/pull/20281) and
328 [20263](https://github.com/civicrm/civicrm-core/pull/20263))**
82ab111c 329
647509b9
AF
330- **Afform - Fix custom field handling and add tests
331 ([20480](https://github.com/civicrm/civicrm-core/pull/20480))**
82ab111c 332
647509b9
AF
333- **Afform - hide disabled contact types & entities from disabled
334 components/extensions
335 ([20283](https://github.com/civicrm/civicrm-core/pull/20283))**
82ab111c 336
647509b9
AF
337 Cleans up and improves Afform's internal entity lookup so it won't show
338 disabled entities.
82ab111c 339
647509b9
AF
340- **SearchKit - Fix link target selection
341 ([20537](https://github.com/civicrm/civicrm-core/pull/20537))**
82ab111c 342
647509b9
AF
343- **SearchKit - Fix menu permission
344 ([20349](https://github.com/civicrm/civicrm-core/pull/20349))**
82ab111c 345
647509b9
AF
346- **SearchKit - Organize ON clause field selectors with joined entity first
347 ([20454](https://github.com/civicrm/civicrm-core/pull/20454))**
82ab111c 348
647509b9
AF
349- **[php8-compat] Fix some more examples of where required parameters are after
350 optional parameters in function declaration
351 ([20515](https://github.com/civicrm/civicrm-core/pull/20515))**
82ab111c 352
91366cd8 353- **[php8-compat] Fix PHP Beautifier notice by conditionally assigning dynamic
647509b9
AF
354 foreign key to the template
355 ([20509](https://github.com/civicrm/civicrm-core/pull/20509))**
82ab111c 356
647509b9
AF
357- **[php8-compat] Fix issue in APIv3 Where by because product has a column
358 called options the testCreateSingleValueAlter triggers a cannot access offset
359 of type string on string in php8
360 ([20508](https://github.com/civicrm/civicrm-core/pull/20508))**
82ab111c 361
647509b9
AF
362- **[php8-compat] Fix issue with returning bool from uasort by using the
363 spaceship operator
364 ([20502](https://github.com/civicrm/civicrm-core/pull/20502))**
82ab111c 365
91366cd8 366- **[php8-compat] Fix Upgrade call back issues by making functions static and
647509b9
AF
367 also fixing an issue with an array key not existing when checking obsolete
368 extensions ([20503](https://github.com/civicrm/civicrm-core/pull/20503))**
82ab111c 369
647509b9
AF
370- **Update PHPUnit for PHPUnit8 config to ensure we don't cache test results
371 ([645](https://github.com/civicrm/civicrm-drupal/pull/645),
372 [140](https://github.com/civicrm/civicrm-backdrop/pull/140) and
373 [249](https://github.com/civicrm/civicrm-wordpress/pull/249))**
82ab111c 374
647509b9
AF
375- **[php8-compat] Fix calling method_exist with paremeter that is bool not an
376 object in php8 ([323](https:
82ab111c 377
647509b9
AF
378- **[php8-compat] Fix calling method_exist with paremeter that is bool not an
379 object in php8 ([20443](https://github.com/civicrm/civicrm-core/pull/20443))**
82ab111c 380
647509b9
AF
381- **[php8-compat] Fix deprecation error where by required function parameter
382 follows an optional function parameter
383 ([20473](https://github.com/civicrm/civicrm-core/pull/20473))**
82ab111c 384
647509b9
AF
385- **[php8-compat] Fix Warning Notices when running schema generation
386 ([20445](https://github.com/civicrm/civicrm-core/pull/20445))**
82ab111c 387
647509b9
AF
388- **[php8-compat] Update Various Symfony components to latest version in the
389 3.4.x series to fix deprecation notice around libxml entity disable
390 ([20444](https://github.com/civicrm/civicrm-core/pull/20444))**
82ab111c 391
647509b9
AF
392- **Fix the populateTempTable to be more direct
393 ([20548](https://github.com/civicrm/civicrm-core/pull/20548))**
82ab111c 394
647509b9
AF
395- **Sort trigger data before processing
396 ([20541](https://github.com/civicrm/civicrm-core/pull/20541))**
82ab111c 397
647509b9
AF
398- **Allow legacy warnings to be fully suppressed in PropertyBag
399 ([20331](https://github.com/civicrm/civicrm-core/pull/20331))**
82ab111c 400
647509b9
AF
401- **Prevent adding duplicate dashlet if present with same name and label
402 ([20375](https://github.com/civicrm/civicrm-core/pull/20375))**
82ab111c 403
647509b9
AF
404- **Ensure contacts without a name are updated when primary email changes
405 ([20403](https://github.com/civicrm/civicrm-core/pull/20403))**
82ab111c 406
647509b9
AF
407- **fix arguments sent to hook_civicrm_check
408 ([20400](https://github.com/civicrm/civicrm-core/pull/20400))**
82ab111c 409
647509b9
AF
410- **Fix Distmaker building by ensuring we are rsyncing from the right folder
411 ([20353](https://github.com/civicrm/civicrm-core/pull/20353))**
82ab111c 412
647509b9
AF
413- **Fix mandatory keys check fail for value of float 0.0 in a required key in an
414 entity ([20342](https://github.com/civicrm/civicrm-core/pull/20342))**
82ab111c 415
91366cd8 416- **Fix extraneous white space in generated SQL
647509b9 417 ([20340](https://github.com/civicrm/civicrm-core/pull/20340))**
82ab111c 418
647509b9
AF
419- **Fix case sensitive parameter for call to getCustomFieldTokens
420 ([20333](https://github.com/civicrm/civicrm-core/pull/20333))**
82ab111c 421
647509b9
AF
422- **Fix CKEditor5 link editing in modal dialog
423 ([20285](https://github.com/civicrm/civicrm-core/pull/20285))**
82ab111c 424
647509b9
AF
425- **Correct copy-paste error in CustomField schema
426 ([20329](https://github.com/civicrm/civicrm-core/pull/20329))**
82ab111c 427
647509b9
AF
428- **Explicitly throw an error/status bounce on Edit/New if no types.
429 ([19840](https://github.com/civicrm/civicrm-core/pull/19840))**
82ab111c 430
91366cd8 431- **Core_DAO - Fire links_callback for all entities
647509b9 432 ([20332](https://github.com/civicrm/civicrm-core/pull/20332))**
82ab111c 433
91366cd8 434- **Get county fields populated via api call
647509b9 435 ([20309](https://github.com/civicrm/civicrm-core/pull/20309))**
82ab111c 436
647509b9
AF
437 Ensure that county fields are properly populated when calling the
438 Profile.getfields api.
82ab111c 439
647509b9
AF
440- **Activate user when no activation is required
441 ([20229](https://github.com/civicrm/civicrm-core/pull/20229))**
82ab111c 442
647509b9
AF
443 Ensures that any user created on a site that does not require admin approval
444 is considered active.
82ab111c 445
647509b9
AF
446- **Switch to non deprecated buildPermissionClause() for contact detail report
447 ([20314](https://github.com/civicrm/civicrm-core/pull/20314))**
82ab111c 448
647509b9
AF
449- **Switch to non deprecated buildPermissionClause() for contact summary report
450 ([20287](https://github.com/civicrm/civicrm-core/pull/20287))**
82ab111c 451
647509b9
AF
452- **Freeze readonly fields
453 ([20204](https://github.com/civicrm/civicrm-core/pull/20204))**
82ab111c 454
647509b9
AF
455- **CiviCRM Scheduled Reminders, Subject field missing Token selector - users
456 must copy Token from Body field to Subject
457 ([20260](https://github.com/civicrm/civicrm-core/pull/20260))**
82ab111c 458
647509b9
AF
459- **Fix delete customgroup using API4 so it removes data table
460 ([20265](https://github.com/civicrm/civicrm-core/pull/20265))**
82ab111c 461
91366cd8 462- **hook_managed - Do not try to disable managed entities if is_active is not
647509b9
AF
463 available to api3.create
464 ([20144](https://github.com/civicrm/civicrm-core/pull/20144))**
82ab111c 465
647509b9
AF
466- **DB/DataObject: use mb_strtolower because in turkish, INSERT becomes Insert
467 ([324](https://github.com/civicrm/civicrm-packages/pull/324))**
82ab111c 468
647509b9 469### CiviCase
82ab111c 470
647509b9
AF
471- **APIv4 - CiviCase API: Fix opening a case with current user as creator
472 ([20238](https://github.com/civicrm/civicrm-core/pull/20238))**
82ab111c 473
647509b9
AF
474- **My Cases dashlet no longer working (javascript network error - blank
475 dashlet) ([dev/core#2606](https://lab.civicrm.org/dev/core/-/issues/2606):
476 [20275](https://github.com/civicrm/civicrm-core/pull/20275))**
82ab111c 477
647509b9 478## CiviContribute
82ab111c 479
647509b9
AF
480- **PayPal fails to create contribution following duplicate merge when
481 membership record has been deleted
482 ([dev/core#2593](https://lab.civicrm.org/dev/core/-/issues/2593):
483 [20422](https://github.com/civicrm/civicrm-core/pull/20422),
484 [20424](https://github.com/civicrm/civicrm-core/pull/20424),
485 [20246](https://github.com/civicrm/civicrm-core/pull/20246) and
486 [20300](https://github.com/civicrm/civicrm-core/pull/20300))**
82ab111c 487
647509b9
AF
488- **"Pay Now" button on user dashboard is only for Pending, not Partially Paid
489 contributions
490 ([dev/financial#173](https://lab.civicrm.org/dev/financial/-/issues/173):
491 [20376](https://github.com/civicrm/civicrm-core/pull/20376))**
82ab111c 492
647509b9
AF
493 Ensures the 'Pay Now' buttons on the user dashboard are displayed for
494 partially paid contributions.
82ab111c 495
647509b9
AF
496- **Do not error on view contribution recur if not displaying contributions
497 ([20209](https://github.com/civicrm/civicrm-core/pull/20209))**
82ab111c 498
647509b9
AF
499- **Fix for tax rates being mangled on contribution update
500 ([20357](https://github.com/civicrm/civicrm-core/pull/20357))**
82ab111c 501
647509b9
AF
502- **Add call to validateAllContributions & fix getTotalAmount
503 ([20391](https://github.com/civicrm/civicrm-core/pull/20391))**
82ab111c 504
647509b9
AF
505- **Add warning when url_site is not specified for paypal (it won't work if not
506 set) ([20082](https://github.com/civicrm/civicrm-core/pull/20082))**
82ab111c 507
647509b9
AF
508- **Typo when retrieving help_pre textarea attributes for price field
509 ([20276](https://github.com/civicrm/civicrm-core/pull/20276))**
82ab111c 510
647509b9
AF
511- **Fix old-ish regression on paypal standard self-service cancel links
512 ([20210](https://github.com/civicrm/civicrm-core/pull/20210))**
82ab111c 513
647509b9
AF
514- **Don't pass doPayment by reference in Contribution.transact API
515 ([20463](https://github.com/civicrm/civicrm-core/pull/20463))**
82ab111c 516
647509b9
AF
517- **If paymentprocessor still uses doTransferCheckout/doDirectPayment trigger
518 deprecated function warning
519 ([20384](https://github.com/civicrm/civicrm-core/pull/20384))**
82ab111c 520
647509b9
AF
521- **Convert payJunction to doPayment
522 ([20326](https://github.com/civicrm/civicrm-core/pull/20326))**
82ab111c 523
647509b9
AF
524- **Convert FirstData to doPayment
525 ([20325](https://github.com/civicrm/civicrm-core/pull/20325))**
82ab111c 526
647509b9
AF
527- **Convert elavon to doPayment
528 ([20324](https://github.com/civicrm/civicrm-core/pull/20324))**
82ab111c 529
647509b9
AF
530- **Convert Realex to doPayment
531 ([20327](https://github.com/civicrm/civicrm-core/pull/20327))**
82ab111c 532
647509b9
AF
533- **Convert payflowpro to doPayment
534 ([20328](https://github.com/civicrm/civicrm-core/pull/20328))**
82ab111c 535
647509b9
AF
536- **Convert eway to doPayment
537 ([20323](https://github.com/civicrm/civicrm-core/pull/20323))**
82ab111c 538
647509b9
AF
539- **Convert AuthorizeNet to doPayment()
540 ([20322](https://github.com/civicrm/civicrm-core/pull/20322))**
82ab111c 541
647509b9
AF
542- **Sample payment processor types are misaligned in the sample data
543 ([dev/core#2614](https://lab.civicrm.org/dev/core/-/issues/2614):
544 [20311](https://github.com/civicrm/civicrm-core/pull/20311))**
82ab111c 545
647509b9 546### CiviMail
82ab111c 547
647509b9
AF
548- **<link> URLs are tracked and shouldn't be
549 ([dev/mail#95](https://lab.civicrm.org/dev/mail/-/issues/95):
550 [20129](https://github.com/civicrm/civicrm-core/pull/20129))**
82ab111c 551
647509b9 552 Ensures link tracking is applied only to URLs inside <a> tags.
82ab111c 553
baf03f04 554### CiviMember
82ab111c 555
647509b9
AF
556- **Creating a relationship fails when a related membership has a contact
557 reference custom field.
558 ([dev/membership#37](https://lab.civicrm.org/dev/membership/-/issues/37):
559 [20493](https://github.com/civicrm/civicrm-core/pull/20493))**
82ab111c 560
647509b9
AF
561- **Use line items to look up memberships
562 ([20495](https://github.com/civicrm/civicrm-core/pull/20495))**
82ab111c 563
647509b9
AF
564- **Use order api when creating a recurring membership from the Membership
565 ([20077](https://github.com/civicrm/civicrm-core/pull/20077))**
82ab111c 566
647509b9 567### Drupal Integration
82ab111c 568
647509b9
AF
569- **AuthX extension: user_load() deprecated in Drupal 8.x.
570 ([dev/core#2636](https://lab.civicrm.org/dev/core/-/issues/2636):
571 [20479](https://github.com/civicrm/civicrm-core/pull/20479))**
82ab111c 572
647509b9
AF
573- **drush install - Bump up entropy for autogenerated creds. Add signing key.
574 ([128](https://github.com/civicrm/civicrm-backdrop/pull/128))**
82ab111c 575
647509b9 576### WordPress Integration
82ab111c 577
647509b9
AF
578- **[php8-compat] Fix undefined property on Array Cache class in wordpress on
579 PHP8 ([20491](https://github.com/civicrm/civicrm-core/pull/20491))**
82ab111c 580
647509b9
AF
581- **Remove Base Page content filter once it has been used
582 ([dev/wordpress#91](https://lab.civicrm.org/dev/wordpress/-/issues/91):
583 [240](https://github.com/civicrm/civicrm-wordpress/pull/240))**
82ab111c 584
647509b9
AF
585 Fixes a bug where CiviCRM content would repeat itself in certain page
586 configurations.
82ab111c 587
647509b9 588## <a name="misc"></a>Miscellany
82ab111c 589
baf03f04
AH
590- **Add file_exists check on loading services xml
591 ([20620](https://github.com/civicrm/civicrm-core/pull/20620))**
592
647509b9
AF
593- **APIv4 - Cleanup getFields, add @internal flag for non-public field
594 attributes ([20489](https://github.com/civicrm/civicrm-core/pull/20489))**
82ab111c 595
647509b9
AF
596- **Extract code that populates temp table for an individual group
597 ([20458](https://github.com/civicrm/civicrm-core/pull/20458))**
82ab111c 598
647509b9
AF
599- **Cleanup - declare return types, remove unused var
600 ([20363](https://github.com/civicrm/civicrm-core/pull/20363))**
82ab111c 601
647509b9
AF
602- **Bump lodash from 4.17.19 to 4.17.21
603 ([20247](https://github.com/civicrm/civicrm-core/pull/20247))**
82ab111c 604
647509b9
AF
605- **Bump DOMPDF to `~1.0.0`
606 ([20465](https://github.com/civicrm/civicrm-core/pull/20465))**
82ab111c 607
647509b9
AF
608- **Make functions protected
609 ([20455](https://github.com/civicrm/civicrm-core/pull/20455))**
82ab111c 610
647509b9
AF
611- **Deprecate function CRM_Core_BAO_CustomField::bulkSave
612 ([20367](https://github.com/civicrm/civicrm-core/pull/20367))**
82ab111c 613
647509b9
AF
614- **Cleanup tracking on group.load
615 ([20310](https://github.com/civicrm/civicrm-core/pull/20310))**
82ab111c 616
647509b9
AF
617- **Describe logic behind placement of `invalidateRouteCache`
618 ([20414](https://github.com/civicrm/civicrm-core/pull/20414))**
82ab111c 619
647509b9
AF
620- **Fix internal group contact cache functions to be protected
621 ([20385](https://github.com/civicrm/civicrm-core/pull/20385))**
82ab111c 622
647509b9
AF
623- **Clarify types on `hook_custom` and `hook_customPre`
624 ([20488](https://github.com/civicrm/civicrm-core/pull/20488))**
82ab111c 625
647509b9
AF
626- **Cleanup references to old dedupe class names
627 ([20492](https://github.com/civicrm/civicrm-core/pull/20492))**
82ab111c 628
647509b9
AF
629- **Switch l10n.js from ajax callback to assetBuilder
630 ([20121](https://github.com/civicrm/civicrm-core/pull/20121))**
82ab111c 631
647509b9
AF
632- **ACLEntityRole BAO tidy fixes
633 ([20504](https://github.com/civicrm/civicrm-core/pull/20504))**
82ab111c 634
647509b9
AF
635- **Dedupe DAO is out of date
636 ([20534](https://github.com/civicrm/civicrm-core/pull/20534))**
82ab111c 637
647509b9
AF
638- **Switch table mapping to square bracket array syntax.
639 ([20535](https://github.com/civicrm/civicrm-core/pull/20535))**
82ab111c 640
647509b9
AF
641- **Update civicrm_generated (5.39 version)
642 ([20571](https://github.com/civicrm/civicrm-core/pull/20571))**
82ab111c 643
647509b9
AF
644- **[REF] Cannot edit CiviCRM Joomla permissions (access control) in 5.37.0
645 (Clean up for [dev/core#2601](https://lab.civicrm.org/dev/core/-/issues/2601):
646 [20271](https://github.com/civicrm/civicrm-core/pull/20271))**
82ab111c 647
647509b9
AF
648- **Revised fix for menu/UI issues for Joomla 4.0
649 ([20401](https://github.com/civicrm/civicrm-core/pull/20401))**
82ab111c 650
647509b9
AF
651- **[php8-compat] Fix Include/Exclude Group Custom Search Tests by better
652 handling empty arrays on exclusions in the custom search
653 ([20539](https://github.com/civicrm/civicrm-core/pull/20539))**
82ab111c 654
647509b9
AF
655- **[php8-compat] Fix Resources Test issue due to undefined array key add
656 CacheCode ([20538](https://github.com/civicrm/civicrm-core/pull/20538))**
82ab111c 657
647509b9
AF
658- **[php8-compat] Fix api_v3_PaymentTest failures by putting in more guards into
659 message templates
660 ([20520](https://github.com/civicrm/civicrm-core/pull/20520))**
82ab111c 661
91366cd8 662- **[php8-compat] Update smarty templates and some PHP files to get the
647509b9
AF
663 api_v3_contribution testclass to pass on php8
664 ([20512](https://github.com/civicrm/civicrm-core/pull/20512))**
82ab111c 665
647509b9
AF
666- **[php8-compact] Add in guards into various templates to fix hook tests in
667 php8 ([20542](https://github.com/civicrm/civicrm-core/pull/20542))**
82ab111c 668
647509b9
AF
669- **[php8-compact] Fix Report tests failing on php8
670 ([20549](https://github.com/civicrm/civicrm-core/pull/20549))**
82ab111c 671
647509b9
AF
672- **[php8-compat] Partial Fix of hook tests for php8
673 ([20545](https://github.com/civicrm/civicrm-core/pull/20545))**
82ab111c 674
647509b9
AF
675- **[php8-compat] [REF] Fix a couple of functions triggering deprecation notices
676 in php 8.0 where by an optional parameter is before required parameters in the
677 function signature
678 ([20442](https://github.com/civicrm/civicrm-core/pull/20442))**
82ab111c 679
647509b9
AF
680- **[php8-compat] [REF] Fix call to function CRM_Utils_String::createRandom by
681 ensuring that the length is the first parameter not 2nd
682 ([20441](https://github.com/civicrm/civicrm-core/pull/20441))**
82ab111c 683
647509b9
AF
684- **[php8-compat][NFC] Ensure that the 2nd parameter of hash_equals is a string
685 in authx ([20483](https://github.com/civicrm/civicrm-core/pull/20483))**
82ab111c 686
647509b9
AF
687- **[php8-compat][NFC] Fix using ZipArchive::open on an empty file
688 ([20500](https://github.com/civicrm/civicrm-core/pull/20500))**
82ab111c 689
647509b9
AF
690- **[php8-compat][NFC] Fix issue where by we are tryiing to access array keys
691 that haven't been created yet
692 ([20496](https://github.com/civicrm/civicrm-core/pull/20496))**
82ab111c 693
647509b9
AF
694- **[REF][php8-compat] Fix more instances of where there is a required parameter
695 for a function after an optional one and fix an issue where by a NULL function
696 property is treated as not exisiting in php8
697 ([20497](https://github.com/civicrm/civicrm-core/pull/20497))**
82ab111c 698
647509b9
AF
699- **[REF][php8-compat] Further fixes where there is a required paramater after
700 an optional paramater
701 ([20490](https://github.com/civicrm/civicrm-core/pull/20490))**
82ab111c 702
647509b9
AF
703- **[php8-compat][REF] Fix some more test failures in php8
704 ([20516](https://github.com/civicrm/civicrm-core/pull/20516))**
82ab111c 705
647509b9
AF
706- **[php8-compat][REF] Fix api_v3_contributionpagetest on php8
707 ([20518](https://github.com/civicrm/civicrm-core/pull/20518))**
82ab111c 708
647509b9
AF
709- **[php8-compat][REF] Fix more php8 test failures caused by template issues
710 ([20517](https://github.com/civicrm/civicrm-core/pull/20517))**
82ab111c 711
647509b9
AF
712- **[php8-compat][REF] Fix php8 error on undefined constant
713 CIVICRM_DISABLE_DEFAULT_MENU
714 ([20485](https://github.com/civicrm/civicrm-core/pull/20485))**
82ab111c 715
647509b9
AF
716- **[php8-compat][REF] Fix Date unit tests in php8 by passing in 00 instead of
717 null for hours,minutes and seconds
718 ([20525](https://github.com/civicrm/civicrm-core/pull/20525))**
82ab111c 719
647509b9
AF
720- **[php8-compact][REF] Fix another couple of places where by there are required
721 variables in php function declaration after optional ones
722 ([20526](https://github.com/civicrm/civicrm-core/pull/20526))**
82ab111c 723
647509b9
AF
724- **[php8-compact][REF] Fix api_v3_PaymentTokenTest to work on php8
725 ([20527](https://github.com/civicrm/civicrm-core/pull/20527))**
82ab111c 726
647509b9
AF
727- **[php8-compat][REF] Fix Case and Custom data tests by adding guards in to
728 templates ([20524](https://github.com/civicrm/civicrm-core/pull/20524))**
82ab111c 729
647509b9
AF
730- **[php8-compat][phpunit8][NFC] Fix PHPUnit Warnings and fix a php error on
731 function declaration syntax in core extension tests
732 ([20477](https://github.com/civicrm/civicrm-core/pull/20477))**
82ab111c 733
647509b9
AF
734- **Remove extraneous debug
735 ([20319](https://github.com/civicrm/civicrm-core/pull/20319))**
82ab111c 736
647509b9
AF
737- **Remove legacy references to partial_amount_to_pay
738 ([20358](https://github.com/civicrm/civicrm-core/pull/20358))**
82ab111c 739
647509b9
AF
740- **Remove remains of md5 check from authorizenet
741 ([20406](https://github.com/civicrm/civicrm-core/pull/20406))**
82ab111c 742
647509b9
AF
743- **Remove deprecation of order-must-be-pending
744 ([20205](https://github.com/civicrm/civicrm-core/pull/20205))**
82ab111c 745
647509b9
AF
746- **Remove some unused variables
747 ([20487](https://github.com/civicrm/civicrm-core/pull/20487))**
82ab111c 748
647509b9
AF
749- **Remove never-passed parameter from now unshared function
750 ([20304](https://github.com/civicrm/civicrm-core/pull/20304))**
82ab111c 751
647509b9
AF
752- **Remove defunct default return property
753 ([20139](https://github.com/civicrm/civicrm-core/pull/20139))**
82ab111c 754
647509b9
AF
755- **Remove now-unused ids parameter from signature
756 ([20299](https://github.com/civicrm/civicrm-core/pull/20299))**
82ab111c 757
647509b9
AF
758- **Remove unused functions from payJunction
759 ([20417](https://github.com/civicrm/civicrm-core/pull/20417))**
82ab111c 760
647509b9
AF
761- **Remove unused variable on dummy processor
762 ([20418](https://github.com/civicrm/civicrm-core/pull/20418))**
82ab111c 763
647509b9
AF
764- **Remove pass-by-ref as param not altered
765 ([20475](https://github.com/civicrm/civicrm-core/pull/20475))**
82ab111c 766
647509b9
AF
767- **[REF] (Code style) To const, or not const - that is the event
768 ([dev/core#1744](https://lab.civicrm.org/dev/core/-/issues/1744):
769 [20555](https://github.com/civicrm/civicrm-core/pull/20555))**
82ab111c 770
91366cd8 771- **[REF] Extract function to get locks
647509b9 772 ([20373](https://github.com/civicrm/civicrm-core/pull/20373))**
82ab111c 773
647509b9
AF
774- **[REF] Remove unused variable
775 ([20378](https://github.com/civicrm/civicrm-core/pull/20378))**
82ab111c 776
647509b9
AF
777- **[REF] Slightly more logical order of code
778 ([20368](https://github.com/civicrm/civicrm-core/pull/20368))**
82ab111c 779
647509b9
AF
780- **[REF] Extract code to transfer groups from temp table to cache
781 ([20435](https://github.com/civicrm/civicrm-core/pull/20435))**
82ab111c 782
91366cd8 783- **[REF] Remove never-passed param
647509b9 784 ([20456](https://github.com/civicrm/civicrm-core/pull/20456))**
82ab111c 785
647509b9
AF
786- **[REF] APIv4 refactoring to support calculated fields
787 ([20440](https://github.com/civicrm/civicrm-core/pull/20440))**
82ab111c 788
647509b9
AF
789- **[REF] Set receipt_date after sending, (from batch) not in anticipation
790 ([20395](https://github.com/civicrm/civicrm-core/pull/20395))**
82ab111c 791
91366cd8 792- **[REF] Minor extraction - getInfoUrl
647509b9 793 ([20421](https://github.com/civicrm/civicrm-core/pull/20421))**
82ab111c 794
647509b9
AF
795- **[REF] Fix issue where by mailing urls were always stuck in the original
796 language not the overriden language in a multilingual site
797 ([20102](https://github.com/civicrm/civicrm-core/pull/20102))**
82ab111c 798
647509b9
AF
799- **[REF] Paypal pro - remove call to load contact record
800 ([20423](https://github.com/civicrm/civicrm-core/pull/20423))**
82ab111c 801
647509b9
AF
802- **[REF] Stop passing unneed params to the recur function
803 ([20412](https://github.com/civicrm/civicrm-core/pull/20412))**
82ab111c 804
91366cd8 805- **[REF] Replace isFirst parameter
647509b9 806 ([20411](https://github.com/civicrm/civicrm-core/pull/20411))**
82ab111c 807
647509b9
AF
808- **[REF] Remove now-unused params
809 ([20410](https://github.com/civicrm/civicrm-core/pull/20410))**
82ab111c 810
91366cd8 811- **[REF] Paypal IPN - Cleanup references to completion
647509b9 812 ([20407](https://github.com/civicrm/civicrm-core/pull/20407))**
82ab111c 813
647509b9
AF
814- **[REF] Replace deprecated code call
815 ([20409](https://github.com/civicrm/civicrm-core/pull/20409))**
82ab111c 816
647509b9
AF
817- **[REF] Cleanup validation in PaypalProIPN single function
818 ([20360](https://github.com/civicrm/civicrm-core/pull/20360))**
82ab111c 819
647509b9
AF
820- **[REF] Minor simplification
821 ([20393](https://github.com/civicrm/civicrm-core/pull/20393))**
82ab111c 822
647509b9
AF
823- **[REF] Useradd contact task - Use OO instead of hardcoding "if Wordpress"
824 ([20366](https://github.com/civicrm/civicrm-core/pull/20366))**
82ab111c 825
647509b9
AF
826- **[REF] Cleanup on import rows error
827 ([20196](https://github.com/civicrm/civicrm-core/pull/20196))**
82ab111c 828
647509b9
AF
829- **[REF] Extract function to build temporary table of members of group from
830 Report_Form ([20297](https://github.com/civicrm/civicrm-core/pull/20297))**
82ab111c 831
647509b9
AF
832- **[REF] Remove now-unused parameter
833 ([20354](https://github.com/civicrm/civicrm-core/pull/20354))**
82ab111c 834
647509b9
AF
835- **[REF] Extract getContributionObject
836 ([20355](https://github.com/civicrm/civicrm-core/pull/20355))**
82ab111c 837
647509b9
AF
838- **[REF] Add getter for contributionID
839 ([20318](https://github.com/civicrm/civicrm-core/pull/20318))**
82ab111c 840
647509b9
AF
841- **[REF] Make previous unshared function protected & Remove hard-coded params
842 ([20345](https://github.com/civicrm/civicrm-core/pull/20345))**
82ab111c 843
647509b9
AF
844- **[REF] Update Pear Validate Finance CreditCard to use latest tagged release
845 that now includes the improved mastercard 2bin regex
846 ([20351](https://github.com/civicrm/civicrm-core/pull/20351))**
82ab111c 847
647509b9
AF
848- **[REF] Make previously unshared function protected
849 ([20346](https://github.com/civicrm/civicrm-core/pull/20346))**
82ab111c 850
647509b9
AF
851- **[REF] Remove unused parameters
852 ([20301](https://github.com/civicrm/civicrm-core/pull/20301))**
82ab111c 853
647509b9
AF
854- **[REF] Cleanup BAO_ActionSchedule::getlist() signature
855 ([20239](https://github.com/civicrm/civicrm-core/pull/20239))**
82ab111c 856
647509b9
AF
857- **(REF) Regen CRM/Core/DAO/CustomField.php
858 ([20337](https://github.com/civicrm/civicrm-core/pull/20337))**
82ab111c 859
91366cd8 860- **[REF] Remove redundant call to clearGroupContactCache
647509b9 861 ([20243](https://github.com/civicrm/civicrm-core/pull/20243))**
82ab111c 862
91366cd8 863- **[REF] [tests only] Replace direct calls to enable logging with calls to the
647509b9 864 setting ([20460](https://github.com/civicrm/civicrm-core/pull/20460))**
82ab111c 865
91366cd8 866- **[REF] Remove function parameter only used from test
647509b9 867 ([20459](https://github.com/civicrm/civicrm-core/pull/20459))**
82ab111c 868
647509b9
AF
869- **[REF] Extract code determining list of groups requiring a refresh
870 ([20242](https://github.com/civicrm/civicrm-core/pull/20242))**
82ab111c 871
647509b9
AF
872- **REF - Cleanup array key checking to use array_key_exists
873 ([20563](https://github.com/civicrm/civicrm-core/pull/20563))**
82ab111c 874
647509b9
AF
875- **[REF] CRM_Contact_Task - Use short array syntax
876 ([20562](https://github.com/civicrm/civicrm-core/pull/20562))**
82ab111c 877
647509b9
AF
878- **[REF] Fix Authx tests on Druapl 8/9 by ensuring that we only return an id
879 for the user id if it is greater than 0
880 ([20498](https://github.com/civicrm/civicrm-core/pull/20498))**
82ab111c 881
647509b9
AF
882- **[REF] Move ACLPermission Trait into Civi Folder so that it can be accessed
883 by Extensions ([20208](https://github.com/civicrm/civicrm-core/pull/20208))**
82ab111c 884
647509b9
AF
885- **[REF] Use function to getContributionRecurID
886 ([20293](https://github.com/civicrm/civicrm-core/pull/20293))**
82ab111c 887
647509b9
AF
888- **[REF] Duplicate processMembership preliminary to cleanup
889 ([20295](https://github.com/civicrm/civicrm-core/pull/20295))**
82ab111c 890
647509b9
AF
891- **[REF] Switch to using getContributionRecurID function, remove now unused
892 param ([20316](https://github.com/civicrm/civicrm-core/pull/20316))**
82ab111c 893
647509b9
AF
894- **[REF] Fully remove ids variable from paypal std
895 ([20317](https://github.com/civicrm/civicrm-core/pull/20317))**
82ab111c 896
647509b9
AF
897- **[REF] Make use of recently added default pager size setting in Reports
898 ([20273](https://github.com/civicrm/civicrm-core/pull/20273))**
82ab111c 899
647509b9
AF
900- **[REF] Duplicate & deprecate processMembership
901 ([20313](https://github.com/civicrm/civicrm-core/pull/20313))**
82ab111c 902
647509b9
AF
903- **[REF] Provide standardised methods to get recurring contribution id & object
904 ([20294](https://github.com/civicrm/civicrm-core/pull/20294))**
82ab111c 905
647509b9
AF
906- **[REF] Reverse if statement
907 ([20211](https://github.com/civicrm/civicrm-core/pull/20211))**
82ab111c 908
647509b9
AF
909- **Mark test class as having invalid financials
910 ([20448](https://github.com/civicrm/civicrm-core/pull/20448))**
82ab111c 911
647509b9
AF
912- **Update eventcart test to only test payment form
913 ([20405](https://github.com/civicrm/civicrm-core/pull/20405))**
82ab111c 914
647509b9
AF
915- **Fix profile test teardown
916 ([20439](https://github.com/civicrm/civicrm-core/pull/20439))**
82ab111c 917
647509b9
AF
918- **Fix separate payment membership test to create valid financial transactions
919 ([20436](https://github.com/civicrm/civicrm-core/pull/20436))**
82ab111c 920
647509b9
AF
921- **fix missing parent tearDown
922 ([20261](https://github.com/civicrm/civicrm-core/pull/20261) and
923 [20262](https://github.com/civicrm/civicrm-core/pull/20262))**
82ab111c 924
647509b9
AF
925- **Fix v3 api payment test to validate on postAssert
926 ([20530](https://github.com/civicrm/civicrm-core/pull/20530))**
82ab111c 927
647509b9
AF
928- **Fix Financial item test to validate Financials
929 ([20532](https://github.com/civicrm/civicrm-core/pull/20532))**
82ab111c 930
647509b9
AF
931- **Mark DetailTest as having invalid financials
932 ([20552](https://github.com/civicrm/civicrm-core/pull/20552))**
82ab111c 933
647509b9
AF
934- **Fix form params for testEventPaymentForms
935 ([20330](https://github.com/civicrm/civicrm-core/pull/20330))**
82ab111c 936
647509b9
AF
937- **Update bulkSave test to use the api
938 ([20362](https://github.com/civicrm/civicrm-core/pull/20362))**
82ab111c 939
647509b9
AF
940- **Fix contribution page pledge tests to create valid contributions
941 ([20404](https://github.com/civicrm/civicrm-core/pull/20404))**
82ab111c 942
647509b9
AF
943- **Improve cleanup on contact test
944 ([20248](https://github.com/civicrm/civicrm-core/pull/20248))**
82ab111c 945
647509b9
AF
946- **Test fix up for AdditionalPaymentTest
947 ([20521](https://github.com/civicrm/civicrm-core/pull/20521))**
82ab111c 948
647509b9
AF
949- **Test fix - assertion fails when run with other tests (sometimes)
950 ([20250](https://github.com/civicrm/civicrm-core/pull/20250))**
82ab111c 951
647509b9
AF
952- **[Test] Improve cleanup of domain contacts
953 ([20253](https://github.com/civicrm/civicrm-core/pull/20253))**
82ab111c 954
647509b9
AF
955- **Test - fix contributionTest to validate contributions
956 ([20415](https://github.com/civicrm/civicrm-core/pull/20415))**
82ab111c 957
647509b9
AF
958- **Test fixes ([20426](https://github.com/civicrm/civicrm-core/pull/20426))**
959
960- **Tax fixes in unit test
961 ([20390](https://github.com/civicrm/civicrm-core/pull/20390))**
962
963- **[Test] Add test cover for contribution tokens in pdf letter
964 ([20217](https://github.com/civicrm/civicrm-core/pull/20217))**
965
966- **Unit test for #20342
967 ([20361](https://github.com/civicrm/civicrm-core/pull/20361))**
968
969- **Add test for mixed Order data
970 ([20241](https://github.com/civicrm/civicrm-core/pull/20241))**
971
972- **Add unit test for #20144
973 ([20320](https://github.com/civicrm/civicrm-core/pull/20320))**
974
975- **Superficial tidy up in test class
976 ([20359](https://github.com/civicrm/civicrm-core/pull/20359))**
977
978- **[NFC] Remove timecop function references from Cache Tiered Test
979 ([20343](https://github.com/civicrm/civicrm-core/pull/20343))**
980
981- **[NFC] Superficial code cleanup
982 ([20446](https://github.com/civicrm/civicrm-core/pull/20446))**
983
984- **[NFC] Cleanup in test class
985 ([20402](https://github.com/civicrm/civicrm-core/pull/20402))**
986
987- **[NFC] {test} code cleanup in test class
988 ([20389](https://github.com/civicrm/civicrm-core/pull/20389))**
989
990- **[NFC] Minor cleanup
991 ([20387](https://github.com/civicrm/civicrm-core/pull/20387))**
992
993- **[NFC] Minor code cleanup
994 ([20386](https://github.com/civicrm/civicrm-core/pull/20386))**
995
996- **[NFC] Fix PHPUnit8 Deprecation Warnings in api_v3 and Civi Test Suites
997 ([20380](https://github.com/civicrm/civicrm-core/pull/20380))**
998
999- **[NFC] [Test] Big cleanup in test class
1000 ([20374](https://github.com/civicrm/civicrm-core/pull/20374))**
1001
1002- **[NFC] Fix PHPUnit8 Deprecation warnings in the api_v4 Test Suite
1003 ([20381](https://github.com/civicrm/civicrm-core/pull/20381))**
1004
1005- **[NFC] Fix PHPUnit8 Warning notices in E2E And in some API unit tests
1006 ([20379](https://github.com/civicrm/civicrm-core/pull/20379))**
1007
1008- **[NFC] Fix PHPUnit8 deprecation warnings in the CRM_AllTests suite
1009 ([20377](https://github.com/civicrm/civicrm-core/pull/20377))**
1010
1011- **[NFC] Further cleanup in test class
1012 ([20372](https://github.com/civicrm/civicrm-core/pull/20372))**
1013
1014- **[NFC] Add in more voids to unit tests to support PHPUnit8
1015 ([20369](https://github.com/civicrm/civicrm-core/pull/20369))**
1016
1017- **[NFC] [Test] Preliminary cleanup in test class
1018 ([20371](https://github.com/civicrm/civicrm-core/pull/20371))**
1019
1020- **[NFC] Add in voids to various setUpBeforeClass and tearDownAfterClass
1021 functions ([20365](https://github.com/civicrm/civicrm-core/pull/20365))**
1022
1023- **[NFC] Update PHPUnit config to not cache results in phpunit8 and add more
1024 voids into PayflowProTest
1025 ([20356](https://github.com/civicrm/civicrm-core/pull/20356))**
1026
1027- **[NFC] Add in unit tests of credit card validation rules
1028 ([20352](https://github.com/civicrm/civicrm-core/pull/20352))**
1029
1030- **[NFC/TEST] - Add unit test enforcing automatic chaining for financial
1031 type/account creation via api
1032 ([20288](https://github.com/civicrm/civicrm-core/pull/20288))**
1033
1034- **[NFC] Test - Improve tearDown cleanup of domain contacts
1035 ([20258](https://github.com/civicrm/civicrm-core/pull/20258))**
1036
1037- **[NFC] Test - fix to use v3 api on postAsserts
1038 ([20257](https://github.com/civicrm/civicrm-core/pull/20257))**
1039
1040- **[NFC] Fix phpunit9 deprecation issues on using assertType instead of more
1041 explicit assertIsArray or AssertIsInt
1042 ([20567](https://github.com/civicrm/civicrm-core/pull/20567))**
82ab111c
AH
1043
1044## <a name="credits"></a>Credits
1045
1046This release was developed by the following code authors:
1047
88bd6b02 1048AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
647509b9
AF
1049Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma;
1050CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC -
1051Mathieu Lutfy, Samuel Vanhove; Dave D; iXiam - Vangelis Pantazis; JMA
1052Consulting - Monish Deb, Seamus Lee; Lemniscus - Noah Miller; Megaphone
1053Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting -
1054Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie
1055McClelland; Richard van Oosterhout; Robert J. Lang; Squiffle Consulting - Aidan
1056Saunders; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars
1057Sanders-Green
82ab111c
AH
1058
1059Most authors also reviewed code for this release; in addition, the following
1060reviewers contributed their comments:
1061
647509b9
AF
1062Agileware - Justin Freeman; Business & Code - Alain Benbassat; CiviDesk -
1063Nicolas Ganivet, Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC -
1064Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb van den Dool;
1065Fuzion - Jitendra Purohit; Semper IT - Karin Gerritsen; SYSTOPIA
baf03f04 1066Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano
647509b9 1067
c1aa8c84
AH
1068
1069## <a name="feedback"></a>Feedback
1070
88bd6b02 1071These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
c1aa8c84
AH
1072to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1073and contact `@agh1`.