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