Adding LibreJS back after bundles refactor upstream
[civicrm-core.git] / release-notes / 5.31.0.md
CommitLineData
c2b991ed
AH
1# CiviCRM 5.31.0
2
d7b2480a 3Released November 4, 2020
c2b991ed 4
d7b2480a 5- **[Synopsis](#synopsis)**
c2b991ed
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
d7b2480a 10- **[Feedback](#feedback)**
c2b991ed 11
77e31358
AF
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
16| Fix security vulnerabilities? | no |
17| **Change the database schema?** | **yes** |
18| **Alter the API?** | **yes** |
19| **Require attention to configuration options?** | **yes** |
20| **Fix problems installing or upgrading to a previous version?** | **yes** |
21| **Introduce features?** | **yes** |
22| **Fix bugs?** | **yes** |
23
c2b991ed
AH
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
74ac2a25 28- **Implement more nuanced "Administer CiviCRM" permisions
77e31358
AF
29 ([16482](https://github.com/civicrm/civicrm-core/pull/16482) and
30 [18671](https://github.com/civicrm/civicrm-core/pull/18671))**
c2b991ed 31
74ac2a25
AH
32 Actions that required the "Administer CiviCRM" permission now require one of
33 two separate permissions: "administer CiviCRM system" and "administer CiviCRM
34 data". The "Administer CiviCRM" permission still exists, and users having it
35 are treated as implicitly having both of the new permissions.
36
37 However, it is now possible to grant permission to configure profiles,
38 scheduled reminders, and set admin-only price options independently of
39 granting permission to configure scheduled jobs, install extensions, and view
40 the system check. An organization might grant the former to senior staff and
41 the latter to technical staff.
c2b991ed 42
9d1f46ea
AH
43- **Buttonrama ([18410](https://github.com/civicrm/civicrm-core/pull/18410),
44 [18820](https://github.com/civicrm/civicrm-core/pull/18820),
45 [18834](https://github.com/civicrm/civicrm-core/pull/18834),
46 [18799](https://github.com/civicrm/civicrm-core/pull/18799), and
77e31358 47 [307](https://github.com/civicrm/civicrm-packages/pull/307))**
c2b991ed 48
74ac2a25
AH
49 This ensures icons and text within buttons are aligned vertically, and it
50 makes form buttons appear consistent with links that are rendered to appear
51 like buttons.
52
53 Specifically, most buttons are now `<button>` elements rather than `<input
54 type="button">`, and button styling now applies to the button itself rather
55 than a wrapper. Extension and theme developers should confirm that CSS and
56 DOM selectors accurately identify the intended button elements.
c2b991ed 57
77e31358
AF
58- **Custom field form reform
59 ([18419](https://github.com/civicrm/civicrm-core/pull/18419))**
c2b991ed 60
74ac2a25
AH
61 This improves the form for creating or updating custom fields by improving
62 validation, making defaults easier to select, and allowing more flexibility
77e31358 63 around changing the widget type.
c2b991ed 64
77e31358
AF
65- **Add higher-level support for "bundles" and "collections" of resources
66 ([18247](https://github.com/civicrm/civicrm-core/pull/18247))**
c2b991ed 67
74ac2a25
AH
68 "Resources" refers to CSS, Javascript, and DOM variables that developers can
69 add to certain pages. These can now be bundled together to reduce redundant
70 code and can be modified with the new `hook_civicrm_alterBundle()`.
c2b991ed 71
74ac2a25
AH
72 The core styles and other resources are now included as bundles, allowing them
73 to be modified in a standard way.
c2b991ed 74
74ac2a25
AH
75 In addition, page regions, bundles, and (to some extent) page resources are
76 now treated as "collections" which share a common interface for adding and
77 retrieving individual resources.
c2b991ed 78
74ac2a25
AH
79- **Bootstrap3 CSS
80 ([dev/user-interface#27](https://lab.civicrm.org/dev/user-interface/-/issues/27):
81 [18354](https://github.com/civicrm/civicrm-core/pull/18354),
82 [18465](https://github.com/civicrm/civicrm-core/pull/18465),
83 [18550](https://github.com/civicrm/civicrm-core/pull/18550),
84 [18583](https://github.com/civicrm/civicrm-core/pull/18583), and
85 [18579](https://github.com/civicrm/civicrm-core/pull/18579))**
c2b991ed 86
74ac2a25
AH
87 CiviCRM introduced a theming system several years ago, but the existing look
88 and feel was left as a "default", with the *de facto* theming code spread
89 throughout the application. The new themes have generally used Bootstrap 3 as
90 a user interface framework.
c2b991ed 91
74ac2a25
AH
92 A handful of new CiviCRM features have been developed that depend on Bootstrap
93 3 for core functionality or at least for basic look and feel. Sites lacking a
94 newer theme need a way to load at least a minimal set of Bootstrap 3 code for
95 these features to be functional and attractive.
c2b991ed 96
74ac2a25
AH
97 This change introduces a new CiviCRM theme extension, named "Greenwich", that
98 is enabled and hidden by default for all sites. It provides Bootstrap 3 when
99 needed. In addition, it can serve as a vehicle for moving theming code out of
100 core.
c2b991ed 101
77e31358
AF
102- **APIv4 Search: Improve GROUP_CONCAT with :label prefix
103 ([18572](https://github.com/civicrm/civicrm-core/pull/18572))**
c2b991ed 104
74ac2a25
AH
105 This improves the Search UI by exposing the DISTINCT modifier and fixing
106 currency formatting.
c2b991ed 107
77e31358
AF
108- **Search ext: rename to Search Kit, mark as beta
109 ([18672](https://github.com/civicrm/civicrm-core/pull/18672))**
c2b991ed 110
74ac2a25
AH
111 An extension to replace the search user interface has been included, but
112 hidden, in CiviCRM for several months. Named Search Kit, it is now available
113 to be enabled for sites.
114
115- **Search extension: edit smart groups
116 ([18431](https://github.com/civicrm/civicrm-core/pull/18431))**
117
118 Search Kit can now edit smart groups. When installed, the "edit smart group
119 criteria" link will open the classic search forms or Search Kit as
120 appropriate.
c2b991ed 121
77e31358
AF
122- **Search ext: support complex joins & HAVING clause in api4 smart groups
123 ([18644](https://github.com/civicrm/civicrm-core/pull/18644))**
c2b991ed 124
77e31358
AF
125 Improves the new search extension and APIv4 smart groups in core to support
126 any entity that can join with Contact, including full support for calculated
127 fields and the HAVING clause.
c2b991ed 128
77e31358 129- **Select field fixes for screen reader
9d1f46ea
AH
130 ([17675](https://github.com/civicrm/civicrm-core/pull/17675),
131 [18873](https://github.com/civicrm/civicrm-core/pull/18873),
132 [18889](https://github.com/civicrm/civicrm-core/pull/18889))**
c2b991ed 133
74ac2a25
AH
134 The placeholder text for select drop-down fields now reflects the field label.
135 The Select2 widget makes it difficult for screen readers to identify the
136 field's label, so this helps identify the field for users who rely on screen
137 readers.
c2b991ed 138
77e31358
AF
139- **Add modified_date to list of activity tokens
140 ([18611](https://github.com/civicrm/civicrm-core/pull/18611))**
c2b991ed 141
77e31358 142 Adds Modified date to the list of available activity tokens.
c2b991ed 143
77e31358
AF
144- **Add an 'Execute Now' button to the job log
145 ([18593](https://github.com/civicrm/civicrm-core/pull/18593))**
c2b991ed 146
77e31358
AF
147 Adds an "Execute Now" button to the Job log to make it easier to rerun a
148 scheduled job if needed.
c2b991ed 149
77e31358
AF
150- **Send email to contacts when clicking on their email address on the contact's
151 card ([dev/core#1790](https://lab.civicrm.org/dev/core/-/issues/1790):
152 [18623](https://github.com/civicrm/civicrm-core/pull/18623))**
c2b991ed 153
77e31358 154 Improves the contact card by making the email a link which takes the user to a
74ac2a25 155 form to send an email to that contact.
c2b991ed 156
77e31358
AF
157- **Ability to Search Smart or Normal Group using additional filter on Manage
158 Group page ([dev/report#45](https://lab.civicrm.org/dev/report/-/issues/45):
159 [18379](https://github.com/civicrm/civicrm-core/pull/18379) and
160 [18246](https://github.com/civicrm/civicrm-core/pull/18246))**
c2b991ed 161
77e31358
AF
162 Adds a filter "Group Type" to the Manage Groups page which can be used
163 to filter by normal or smart groups.
c2b991ed 164
77e31358
AF
165- **Ability to Send Invoice with modified subject and CC it
166 ([dev/user-interface#30](https://lab.civicrm.org/dev/user-interface/-/issues/30):
167 [18286](https://github.com/civicrm/civicrm-core/pull/18286))**
c2b991ed 168
77e31358
AF
169 Adds the ability to edit the subject and cc fields when emailing an invoice
170 from a contribution.
c2b991ed 171
74ac2a25
AH
172- **Add ability to segment query logs
173 ([dev/core#2032](https://lab.civicrm.org/dev/core/-/issues/2032):
174 [18471](https://github.com/civicrm/civicrm-core/pull/18471) and
175 [309](https://github.com/civicrm/civicrm-packages/pull/309))**
176
177 SQL queries can be sent to a debugging log when the `CIVICRM_DEBUG_LOG_QUERY`
178 environment variable is set. Now, the value of that variable can specify a
179 file name for the log.
180
77e31358 181### CiviContribute
c2b991ed 182
77e31358
AF
183- **Move ACls on LineItem create to financialacls core extension
184 ([18339](https://github.com/civicrm/civicrm-core/pull/18339))**
c2b991ed 185
77e31358
AF
186 Simplifies the code base by moving the financial ACL handling from the
187 LineItem BAO to the financialacls core extension.
c2b991ed 188
77e31358
AF
189- **Convert core processors to use Guzzle and bring them under CI (Work Towards
190 [dev/financial#143](https://lab.civicrm.org/dev/financial/-/issues/143):
191 [18350](https://github.com/civicrm/civicrm-core/pull/18350))**
c2b991ed 192
74ac2a25
AH
193 The PayPal Pro payment processor integration now uses the Guzzle library for
194 HTTP requests. This improves consistency and allows for unit testing of the
195 request handling.
c2b991ed 196
77e31358
AF
197- **Migrate Eway(Single Currency) Payment Processor Type out into its own
198 extension ([18349](https://github.com/civicrm/civicrm-core/pull/18349))**
c2b991ed 199
74ac2a25
AH
200 The Eway payment processor is now a separate extension, albeit shipped with
201 core.
c2b991ed 202
77e31358
AF
203- **Make 'Record Payment' & 'Record Refund' visible regardless of whether the
204 balance 'requires' one
205 ([dev/financial#86](https://lab.civicrm.org/dev/financial/-/issues/86):
206 [18417](https://github.com/civicrm/civicrm-core/pull/18417))**
c2b991ed 207
77e31358
AF
208 Makes it so the "Record Payment" and "Record Refund" links on Contributions
209 are always visible.
c2b991ed 210
74ac2a25
AH
211- **Alter the default of send notification to contributor checkbox on cancel or
212 edit recurring to off
77e31358
AF
213 ([dev/core#1986](https://lab.civicrm.org/dev/core/-/issues/1986):
214 [18537](https://github.com/civicrm/civicrm-core/pull/18537))**
c2b991ed 215
74ac2a25
AH
216 The "notify contributor" checkbox on the form to cancel or edit a recurring
217 donation is now unchecked by default.
c2b991ed 218
77e31358
AF
219- **PCP action links support for hook_civicrm_links
220 ([dev/core#2061](https://lab.civicrm.org/dev/core/-/issues/2061):
221 [18570](https://github.com/civicrm/civicrm-core/pull/18570))**
c2b991ed 222
74ac2a25
AH
223 This allows `hook_civicrm_links` to be used by extension developers to modify the
224 list of actions offered to personal campaign page creators.
c2b991ed 225
77e31358
AF
226- **Add Line Item v4 API
227 ([dev/core#1980](https://lab.civicrm.org/dev/core/-/issues/1980):
228 [18388](https://github.com/civicrm/civicrm-core/pull/18388) and
229 [18352](https://github.com/civicrm/civicrm-core/pull/18352))**
c2b991ed 230
74ac2a25 231 Adds the "Line Item" entity to APIv4.
c2b991ed 232
77e31358
AF
233- **Improve metadata on LineItem DAO
234 ([18521](https://github.com/civicrm/civicrm-core/pull/18521))**
c2b991ed 235
77e31358 236 Adds labels to line item meta data.
c2b991ed 237
77e31358 238### CiviMail
c2b991ed 239
77e31358
AF
240- **Add options to Mail Account settings to improve inbound mail processing
241 ([18624](https://github.com/civicrm/civicrm-core/pull/18624))**
c2b991ed 242
74ac2a25
AH
243 Two new options are added to the Mail Account settings form to improve inbound
244 email processing:
c2b991ed 245
77e31358
AF
246 1. 'Skip emails which do not have a Case ID or Case token'
247 2. 'Do not create new contacts when filing emails'
c2b991ed 248
77e31358
AF
249- **Change wording on the Opt Out and Unsubscribe pages
250 ([18338](https://github.com/civicrm/civicrm-core/pull/18338))**
c2b991ed 251
77e31358 252 Improves messaging to end user on Opt Out and Unsubscribe pages.
c2b991ed 253
74ac2a25
AH
254### CiviMember
255
256- **Add custom field groups to Membership Contribution Detail report
257 ([dev/report#49](https://lab.civicrm.org/dev/report/-/issues/49):
258 [18420](https://github.com/civicrm/civicrm-core/pull/18420))**
259
260 Contact custom fields are now available on the Membership Contribution Detail
261 report.
262
77e31358 263### Drupal Integration
c2b991ed 264
74ac2a25
AH
265- **Drupal 9 deprecations
266 ([dev/drupal#138](https://lab.civicrm.org/dev/drupal/-/issues/138):
267 [18461](https://github.com/civicrm/civicrm-core/pull/18461))**
268
269 Drupal now allows for smooth upgrades between major versions by gradually
270 introducing new API functions and deprecating others through the cycle of a
271 major version. A new major version starts by simply removing deprecated
272 function from the latest release of the prior major version.
273
274 This removes the use of a number of functions that have been deprecated since
275 Drupal 8.5 and are removed in Drupal 9. The result is that CiviCRM 5.31 is no
276 longer compatible with Drupal versions prior to 8.5 but is compatible with
277 Drupal 9.
278
77e31358
AF
279- **Finish allowing use of SSL to connect to database
280 (Work Towards [dev/core#1926](https://lab.civicrm.org/dev/core/-/issues/1926):
281 [18264](https://github.com/civicrm/civicrm-core/pull/18264))**
c2b991ed 282
74ac2a25
AH
283 The setup screen now attempts to identify if the Drupal database connection
284 uses SSL and fills the configuration options to match.
c2b991ed 285
77e31358
AF
286- **drush civicrm-ext-list add ext's status filter and show version number
287 ([597](https://github.com/civicrm/civicrm-drupal/pull/597))**
c2b991ed 288
77e31358 289 Extends the drush command `drush civicrm-ext-list` so that users can:
74ac2a25 290
77e31358
AF
291 - Filter by the extension's status (installed, uninstalled, disabled)
292 - Show the extension version number in the result list
293 - Use the `--out` option to print results as json or as a pretty table
c2b991ed 294
77e31358 295## <a name="bugs"></a>Bugs resolved
c2b991ed 296
77e31358 297### Core CiviCRM
c2b991ed 298
9d1f46ea
AH
299- **"Network Error" when sorting contact search results by City, Postcode or
300 Country ([dev/core#2132](https://lab.civicrm.org/dev/core/-/issues/2132):
301 [18857](https://github.com/civicrm/civicrm-core/pull/18857))**
302
77e31358
AF
303- **Public contribution form and Checksums: billing information not loaded if
304 using multiple processors
74ac2a25
AH
305 ([dev/core#334](https://lab.civicrm.org/dev/core/-/issues/334):
306 [18642](https://github.com/civicrm/civicrm-core/pull/18642))**
c2b991ed 307
74ac2a25
AH
308 Custom data tables for contacts are now created with the charset and collation
309 to match the `civicrm_contact` table.
310
311 This resolves a bug when the billing information is not filled when visiting a
312 contribution page with multiple payment processors via a checksum link.
c2b991ed 313
77e31358
AF
314- **Deadlocks on acl_cache
315 (Work Towards [dev/core#1486](https://lab.civicrm.org/dev/core/-/issues/1486):
316 [18403](https://github.com/civicrm/civicrm-core/pull/18403))**
c2b991ed 317
77e31358
AF
318 Removes foreign keys from the ACL cache tables as they are likely to
319 hinder performance.
c2b991ed 320
74ac2a25 321- **APIv4 - revisit required parameters on location entities
77e31358
AF
322 ([dev/core#2044](https://lab.civicrm.org/dev/core/-/issues/2044):
323 [18575](https://github.com/civicrm/civicrm-core/pull/18575))**
c2b991ed 324
77e31358
AF
325 Makes it so that APIv4 can be used for creating event locations by making
326 contact_id optional for the Address, Phone and Email entities.
c2b991ed 327
77e31358
AF
328- **Eliminate "No extensions available for this version of CiviCRM"
329 ([dev/core#2063](https://lab.civicrm.org/dev/core/-/issues/2063):
330 [18596](https://github.com/civicrm/civicrm-core/pull/18596))**
c2b991ed 331
77e31358 332 Fixes warning thrown when no public extensions directory is found.
c2b991ed 333
77e31358
AF
334- **Group ids in profile fields are not correct
335 ([dev/core#2125](https://lab.civicrm.org/dev/core/-/issues/2125):
336 [18776](https://github.com/civicrm/civicrm-core/pull/18776))**
c2b991ed 337
77e31358 338 Fixes DB errors when using the groups field in a profile.
c2b991ed 339
9d1f46ea
AH
340- **Drupal 7 + 9 Groups dont show in edit with version 5.30.1
341 ([dev/core#2136](https://lab.civicrm.org/dev/core/-/issues/2136):
342 [18831](https://github.com/civicrm/civicrm-core/pull/18831))**
343
77e31358
AF
344- **Rebuild triggers after utf8mb4 conversion
345 ([18751](https://github.com/civicrm/civicrm-core/pull/18751))**
c2b991ed 346
74ac2a25
AH
347 When the `System.utf8conversion` API call is run, this ensures that the
348 triggers for relationship_cache are updated to use the right encoding.
c2b991ed 349
77e31358
AF
350- **Remove explicit COLLATE utf8_bin from RelationshipCache trigger
351 ([18721](https://github.com/civicrm/civicrm-core/pull/18721))**
c2b991ed 352
77e31358 353 Ensure that relationship types can be edited after switching to utf8mb4.
c2b991ed 354
74ac2a25 355- **Fix way of identifying custom serialized fields
77e31358 356 ([18360](https://github.com/civicrm/civicrm-core/pull/18360))**
c2b991ed 357
77e31358
AF
358 Removes references to field types that no longer exist, specifically the
359 'Multi-Select', 'Multi-Select State/Province', and 'Multi-Select Country',
360 custom field types, which were all removed in 5.27.
c2b991ed 361
77e31358
AF
362- **Exclude api4 from IDS check
363 ([18695](https://github.com/civicrm/civicrm-core/pull/18695))**
c2b991ed 364
77e31358
AF
365 Fixes false-positive "suspicious activity" warnings in the IDS (Intrusion
366 Detection System) when using APIv4.
c2b991ed 367
77e31358
AF
368- **Fix complexity on cache key
369 ([18650](https://github.com/civicrm/civicrm-core/pull/18650))**
c2b991ed 370
77e31358 371 Ensures that the cacheKey does not cross-populate values from different users.
c2b991ed 372
77e31358
AF
373- **Use title instead name in status message
374 ([18406](https://github.com/civicrm/civicrm-core/pull/18406))**
c2b991ed 375
77e31358
AF
376 Fixes help text when an option group is saved to show the title of the option
377 group instead of the name.
c2b991ed 378
77e31358
AF
379- **Export fix on long custom fields
380 ([18146](https://github.com/civicrm/civicrm-core/pull/18146))**
c2b991ed 381
74ac2a25
AH
382 This resolves problems exporting custom fields that have long option values.
383
77e31358
AF
384- **Contact form task delete php spelling fix
385 ([18399](https://github.com/civicrm/civicrm-core/pull/18399))**
c2b991ed 386
77e31358
AF
387- **Component Titles are not translated on the Configuration Checklist page
388 ([dev/translation#54](https://lab.civicrm.org/dev/translation/-/issues/54):
389 [18690](https://github.com/civicrm/civicrm-core/pull/18690))**
c2b991ed 390
77e31358
AF
391- **Error when viewing contact merged to permanently deleted contact
392 ([dev/core#1838](https://lab.civicrm.org/dev/core/-/issues/1838):
393 [18564](https://github.com/civicrm/civicrm-core/pull/18564))**
c2b991ed 394
74ac2a25
AH
395 When one contact is merged to another contact, the first contact remains in
396 the trash and refers to the second. However, there was a bug preventing that
397 first contact from being viewed if the second contact was deleted permanently.
398
77e31358
AF
399- **E_WARNING when editing custom field with trigger-based logging turned on
400 ([dev/core#1989](https://lab.civicrm.org/dev/core/-/issues/1989):
401 [18386](https://github.com/civicrm/civicrm-core/pull/18386))**
c2b991ed 402
77e31358
AF
403- **Northern Ireland / Wales counties are out of date
404 ([dev/core#2027](https://lab.civicrm.org/dev/core/-/issues/2027):
405 [18470](https://github.com/civicrm/civicrm-core/pull/18470))**
c2b991ed 406
77e31358
AF
407- **Multiple email activity cc recipients get scrunched together in recorded
408 activity details field
409 ([dev/core#2040](https://lab.civicrm.org/dev/core/-/issues/2040):
410 [18504](https://github.com/civicrm/civicrm-core/pull/18504))**
c2b991ed 411
77e31358
AF
412- **When exporting for composer-style deployment, exclude the `.gitignore` file
413 ([18673](https://github.com/civicrm/civicrm-core/pull/18673))**
c2b991ed 414
77e31358
AF
415- **Fix patently silly code
416 ([18652](https://github.com/civicrm/civicrm-core/pull/18652))**
c2b991ed 417
77e31358
AF
418- **Fix cache bypass
419 ([18643](https://github.com/civicrm/civicrm-core/pull/18643))**
c2b991ed 420
77e31358
AF
421- **Fix bug in primary handling where TRUE rather than 1 used
422 ([18598](https://github.com/civicrm/civicrm-core/pull/18598))**
c2b991ed 423
77e31358
AF
424- **Greenwich - fix conflict btw bootstrap & jQuery UI button
425 ([18696](https://github.com/civicrm/civicrm-core/pull/18696))**
c2b991ed 426
77e31358
AF
427- **Remove double exception handling in repeattransaction
428 ([18594](https://github.com/civicrm/civicrm-core/pull/18594))**
c2b991ed 429
77e31358
AF
430- **Preferred Language in a profile doesn't show/behave as required when so
431 configured ([dev/core#1883](https://lab.civicrm.org/dev/core/-/issues/1883):
432 [18595](https://github.com/civicrm/civicrm-core/pull/18595))**
c2b991ed 433
77e31358
AF
434- **Fix deprecation notice
435 ([18541](https://github.com/civicrm/civicrm-core/pull/18541))**
c2b991ed 436
77e31358
AF
437- **Replace '&' to 'and' in button label
438 ([18405](https://github.com/civicrm/civicrm-core/pull/18405))**
c2b991ed 439
77e31358
AF
440- **Performance - meta issue for hunting down memory leaks
441 ([dev/core#2073](https://lab.civicrm.org/dev/core/-/issues/2073):
442 [18640](https://github.com/civicrm/civicrm-core/pull/18640),
443 [18701](https://github.com/civicrm/civicrm-core/pull/18701),
444 [18699](https://github.com/civicrm/civicrm-core/pull/18699),
445 [18702](https://github.com/civicrm/civicrm-core/pull/18702),
446 [18700](https://github.com/civicrm/civicrm-core/pull/18700),
447 [18692](https://github.com/civicrm/civicrm-core/pull/18692),
448 [18693](https://github.com/civicrm/civicrm-core/pull/18693),
449 [18633](https://github.com/civicrm/civicrm-core/pull/18633),
450 [18641](https://github.com/civicrm/civicrm-core/pull/18641) and
451 [18632](https://github.com/civicrm/civicrm-core/pull/18632))**
c2b991ed 452
77e31358
AF
453- **E_NOTICE viewing an activity that has no details contents
454 ([dev/core#2075](https://lab.civicrm.org/dev/core/-/issues/2075):
455 [18637](https://github.com/civicrm/civicrm-core/pull/18637))**
c2b991ed 456
77e31358
AF
457- **Undefined index on contact's activity tab when there's an activity that has
458 no With Contact
459 ([dev/core#2090](https://lab.civicrm.org/dev/core/-/issues/2090):
460 [18669](https://github.com/civicrm/civicrm-core/pull/18669))**
c2b991ed 461
77e31358
AF
462- **Undefined index 'class' on new individual form
463 ([dev/core#2093](https://lab.civicrm.org/dev/core/-/issues/2093):
464 [18678](https://github.com/civicrm/civicrm-core/pull/18678))**
c2b991ed 465
77e31358
AF
466- **Deprecation warnings when making thank-you letters
467 ([dev/core#2108](https://lab.civicrm.org/dev/core/-/issues/2108):
468 [18717](https://github.com/civicrm/civicrm-core/pull/18717) and
469 [18716](https://github.com/civicrm/civicrm-core/pull/18716))**
c2b991ed 470
74ac2a25
AH
471 This affects all PDF letters.
472
9d1f46ea
AH
473- **Fix the output of the full text custom search form
474 ([18890](https://github.com/civicrm/civicrm-core/pull/18890))**
475
476 This resolves styling issues on the full text search form.
477
478- **For countries without a province N/A is not accepted as a state in a profile
479 ([dev/core#2149](https://lab.civicrm.org/dev/core/-/issues/2149):
480 [18877](https://github.com/civicrm/civicrm-core/pull/18877))**
481
482- **IN operator not working in Search
483 ([dev/core#2147](https://lab.civicrm.org/dev/core/-/issues/2147):
484 [18898](https://github.com/civicrm/civicrm-core/pull/18898))**
485
486 This changes the group search field in the basic "Find Contacts" search back
487 to a plain select drop-down rather than a Select2 widget.
488
77e31358 489### CiviCampaign
c2b991ed 490
77e31358
AF
491- **Fix default report permissions when creating reports from CiviCampaign
492 ([18493](https://github.com/civicrm/civicrm-core/pull/18493))**
c2b991ed 493
77e31358
AF
494 Ensures that CiviCampaign report titles are not accessible to users without
495 proper permissions to view the report.
c2b991ed 496
77e31358 497### CiviCase
c2b991ed 498
77e31358
AF
499- **Incorrect comparison of status_id when changing status of linked cases
500 ([dev/core#1979](https://lab.civicrm.org/dev/core/-/issues/1979):
501 [18309](https://github.com/civicrm/civicrm-core/pull/18309))**
c2b991ed 502
77e31358 503### CiviContribute
c2b991ed 504
74ac2a25
AH
505- **View Payment owned by Different contact on Membership and Participant View.
506 ([dev/report#48](https://lab.civicrm.org/dev/report/-/issues/48):
507 [18281](https://github.com/civicrm/civicrm-core/pull/18281))**
508
509 This ensures that related payments are displayed when viewing a Membership or
510 Participant even if they come from a different contact.
511
512- **Dropdown for country seems to have reverted to a regular select instead of
513 select2 ([dev/core#2030](https://lab.civicrm.org/dev/core/-/issues/2030):
514 [18533](https://github.com/civicrm/civicrm-core/pull/18533))**
515
516 This resolves a bug in the display of the Country field in the billing address
517 section of a contribution page.
518
77e31358
AF
519- **Fix formatLocaleNumericRoundedByCurrency
520 ([18409](https://github.com/civicrm/civicrm-core/pull/18409))**
c2b991ed 521
77e31358
AF
522 Ensures that currencies are rounded to the correct decimal point instead of
523 always 2 decimal points.
c2b991ed 524
77e31358
AF
525- **change civicrm_price_set.min_amount to float
526 ([18677](https://github.com/civicrm/civicrm-core/pull/18677))**
c2b991ed 527
77e31358 528 Updates the price set minimum amount field to be float (not int).
c2b991ed 529
77e31358
AF
530- **Incorrect rounding up with priceset fields
531 ([dev/core#2003](https://lab.civicrm.org/dev/core/-/issues/2003):
532 [18297](https://github.com/civicrm/civicrm-core/pull/18297) and
533 [18416](https://github.com/civicrm/civicrm-core/pull/18416))**
c2b991ed 534
77e31358
AF
535 Ensures the amount is saved to the database correctly for price field values
536 when a value is entered longer than two decimals.
c2b991ed 537
77e31358
AF
538- **Display url_site and url_recur based on if the form elements exist
539 ([18324](https://github.com/civicrm/civicrm-core/pull/18324))**
c2b991ed 540
77e31358
AF
541 Ensures developers can remove fields from the payment processor configuration
542 form using the build form hook.
c2b991ed 543
77e31358
AF
544- **LineItem pre Hook non-standard on edit
545 ([dev/core#1994](https://lab.civicrm.org/dev/core/-/issues/1994):
546 [18340](https://github.com/civicrm/civicrm-core/pull/18340))**
c2b991ed 547
74ac2a25
AH
548 This resolves a bug in the entity ID sent to `hook_civicrm_pre` when editing
549 line items.
c2b991ed 550
77e31358
AF
551- **Performance - do not retrieve soft credits & pcps when not required
552 ([dev/core#2056](https://lab.civicrm.org/dev/core/-/issues/2056):
553 [18556](https://github.com/civicrm/civicrm-core/pull/18556))**
c2b991ed 554
77e31358
AF
555- **Remove ajax timeout from contribution page on behalf of
556 ([18140](https://github.com/civicrm/civicrm-core/pull/18140))**
c2b991ed 557
77e31358
AF
558- **property bag's setAmount should ensure dot decimal point
559 ([18429](https://github.com/civicrm/civicrm-core/pull/18429))**
c2b991ed 560
77e31358 561### CiviEvent
c2b991ed 562
74ac2a25
AH
563- **Contact Dashboard does not show event registrations for non-admins
564 ([dev/event#43](https://lab.civicrm.org/dev/event/-/issues/43):
565 [18758](https://github.com/civicrm/civicrm-core/pull/18758))**
566
77e31358
AF
567- **Set participant status notification to false by default
568 ([18544](https://github.com/civicrm/civicrm-core/pull/18544))**
c2b991ed 569
74ac2a25 570 The "Send Notification" checkbox is now always unchecked when editing a participant's status. Previously it would be checked by default when changing a status to "Cancelled" or from "Waitlist" or "Pending waitlist".
c2b991ed 571
77e31358
AF
572- **ParticipantListing Report: only display the View link for web, unhardcode
573 others ([18704](https://github.com/civicrm/civicrm-core/pull/18704))**
c2b991ed 574
77e31358
AF
575 Ensures that when exporting the Participant Listing report the view links are
576 not included.
c2b991ed 577
77e31358
AF
578- **Scheduled reminder: "Additional recipients" receive reminders under
579 circumstances where they ought not to
580 ([dev/core#1590](https://lab.civicrm.org/dev/core/-/issues/1590):
581 [17641](https://github.com/civicrm/civicrm-core/pull/17641))**
c2b991ed 582
77e31358
AF
583 Ensures that "Additional recipients" do not receive reminders for deleted
584 events.
c2b991ed 585
77e31358
AF
586- **Email & Phone storage issues in event location
587 ([dev/core#1973](https://lab.civicrm.org/dev/core/-/issues/1973):
588 [18488](https://github.com/civicrm/civicrm-core/pull/18488))**
c2b991ed 589
77e31358 590 Ensures second email and phone values are saved for event locations.
c2b991ed 591
77e31358
AF
592- **Creating new event without email fails
593 ([dev/core#2096](https://lab.civicrm.org/dev/core/-/issues/2096):
594 [18710](https://github.com/civicrm/civicrm-core/pull/18710))**
c2b991ed 595
77e31358
AF
596- **Changing address on event hangs
597 ([dev/core#2102](https://lab.civicrm.org/dev/core/-/issues/2102):
598 [18713](https://github.com/civicrm/civicrm-core/pull/18713))**
c2b991ed 599
77e31358 600### CiviGrant
c2b991ed 601
77e31358
AF
602- **Grant dashboard counts trashed contacts
603 ([dev/core#2009](https://lab.civicrm.org/dev/core/-/issues/2009):
604 [18428](https://github.com/civicrm/civicrm-core/pull/18428))**
c2b991ed 605
77e31358 606### CiviMail
c2b991ed 607
77e31358
AF
608- **Possible regression on deleted contacts
609 ([dev/core#2119](https://lab.civicrm.org/dev/core/-/issues/2119):
610 [18763](https://github.com/civicrm/civicrm-core/pull/18763))**
c2b991ed 611
77e31358 612 Ensures contacts deleted after a mailing is created do not get the mailing.
c2b991ed 613
77e31358 614### CiviMember
c2b991ed 615
74ac2a25 616- **Membership Renewal form re 'fixMembershipBeforeRenew'
77e31358
AF
617 ([dev/membership#27](https://lab.civicrm.org/dev/membership/-/issues/27):
618 [18621](https://github.com/civicrm/civicrm-core/pull/18621))**
c2b991ed 619
74ac2a25
AH
620 The status of an existing membership is now recalculated prior to loading the
621 renewal form. This allows an accurate status to be displayed and used for
622 calculating renewal dates.
c2b991ed 623
9d1f46ea
AH
624- **Membership status does not get updated during membership import when status
625 override is set
626 ([dev/membership#30](https://lab.civicrm.org/dev/membership/-/issues/30):
627 [18821](https://github.com/civicrm/civicrm-core/pull/18821))**
628
77e31358
AF
629- **Bug When Restoring Overridden Status on Related Memberships
630 ([dev/core#1854](https://lab.civicrm.org/dev/core/-/issues/1854):
631 [17742](https://github.com/civicrm/civicrm-core/pull/17742))**
c2b991ed 632
77e31358
AF
633 Ensures related memberships do not get deleted when running the membership
634 status calculation scheduled job.
c2b991ed 635
77e31358
AF
636- **Fix for ongoing issues with static upsetting the apple cart
637 ([18245](https://github.com/civicrm/civicrm-core/pull/18245))**
c2b991ed 638
77e31358 639 Ensures that inherited relationships are created more reliably.
c2b991ed 640
77e31358
AF
641- **Multiple Memberships Status Not updated when payment status changed from
642 pending to Completed
643 ([dev/core#1942](https://lab.civicrm.org/dev/core/-/issues/1942):
644 [18232](https://github.com/civicrm/civicrm-core/pull/18232))**
c2b991ed 645
77e31358
AF
646- **Make period_type mandatory for MembershipType
647 ([18395](https://github.com/civicrm/civicrm-core/pull/18395))**
c2b991ed 648
77e31358 649### Backdrop Integration
c2b991ed 650
77e31358
AF
651- **Check if BACKDROP_ROOT is defined already
652 ([18545](https://github.com/civicrm/civicrm-core/pull/18545))**
c2b991ed 653
77e31358 654 Fixes the "Constant BACKDROP_ROOT already defined..." notice.
c2b991ed 655
77e31358 656### Drupal Integration
c2b991ed 657
77e31358
AF
658- **Make symfony aliased services public
659 ([18443](https://github.com/civicrm/civicrm-core/pull/18443))**
c2b991ed 660
74ac2a25 661 Fixes a warning on the extensions form for Drupal 8 sites.
c2b991ed 662
77e31358
AF
663- **Tarball includes a symlink that goes nowhere, which causes alternate drupal
664 install method to fail
665 ([dev/core#1393](https://lab.civicrm.org/dev/core/-/issues/1393):
666 [18472](https://github.com/civicrm/civicrm-core/pull/18472),
667 [18605](https://github.com/civicrm/civicrm-core/pull/18605) and
668 [18659](https://github.com/civicrm/civicrm-core/pull/18659))**
c2b991ed 669
77e31358
AF
670- **Exception handling - 'Allowed memory size' exhasted issues
671 ([dev/drupal#119](https://lab.civicrm.org/dev/drupal/-/issues/119):
672 [18610](https://github.com/civicrm/civicrm-core/pull/18610))**
c2b991ed 673
77e31358
AF
674 Avoid crashes from recursion on unhandled exceptions (most often an issue in
675 Drupal 8).
c2b991ed 676
77e31358
AF
677- **inheritLocale regression
678 ([dev/translation#51](https://lab.civicrm.org/dev/translation/-/issues/51):
679 [18447](https://github.com/civicrm/civicrm-core/pull/18447))**
c2b991ed 680
77e31358 681 Ensures that CiviCRM in multilingual mode respects the Drupal language.
c2b991ed 682
77e31358
AF
683- **Do not block user incase 'Require approval' is checked
684 ([18329](https://github.com/civicrm/civicrm-core/pull/18329))**
c2b991ed 685
77e31358
AF
686 Ensures users created via a profile are set to active in Drupal8 to prevent
687 issues with the email verification step.
c2b991ed 688
77e31358
AF
689- **Fix customGroup getTableNameByEntityName to recognize all entities
690 ([18546](https://github.com/civicrm/civicrm-core/pull/18546))**
c2b991ed 691
74ac2a25 692 This ensures that all entities are recognized by Webform integration.
c2b991ed 693
77e31358
AF
694- **Custom field values not showing in Drupal 7 Views filter
695 ([dev/core#1929](https://lab.civicrm.org/dev/core/-/issues/1929):
696 [611](https://github.com/civicrm/civicrm-drupal/pull/611))**
c2b991ed 697
77e31358
AF
698- **Fix theme configuration section on Display preference and improve
699 `isFrontendPage` function for Drupal CMS
700 ([dev/core#1987](https://lab.civicrm.org/dev/core/-/issues/1987):
701 [18396](https://github.com/civicrm/civicrm-core/pull/18396) and
702 [18397](https://github.com/civicrm/civicrm-core/pull/18397))**
c2b991ed 703
77e31358
AF
704- **Drupal 7 - Groups children now get shown with SPAN CSS error
705 ([dev/core#2105](https://lab.civicrm.org/dev/core/-/issues/2105):
706 [18719](https://github.com/civicrm/civicrm-core/pull/18719))**
c2b991ed 707
77e31358
AF
708- **composer.json - Update compile-lib and compile-plugin
709 ([18670](https://github.com/civicrm/civicrm-core/pull/18670))**
c2b991ed 710
77e31358 711## <a name="misc"></a>Miscellany
c2b991ed 712
77e31358
AF
713- **Take the guesswork out of rendering clientside CRM variables
714 ([18262](https://github.com/civicrm/civicrm-core/pull/18262))**
c2b991ed 715
77e31358
AF
716- **Improve consistency of metadata type declarations
717 ([18147](https://github.com/civicrm/civicrm-core/pull/18147))**
c2b991ed 718
77e31358
AF
719- **Use eventID rather than the object in completeTransaction
720 ([18358](https://github.com/civicrm/civicrm-core/pull/18358))**
c2b991ed 721
77e31358
AF
722- **Load event title from participantID
723 ([18376](https://github.com/civicrm/civicrm-core/pull/18376))**
c2b991ed 724
77e31358
AF
725- **Fix Invoice class to not call validateData
726 ([18372](https://github.com/civicrm/civicrm-core/pull/18372))**
c2b991ed 727
77e31358
AF
728- **Finish deprecating BaseIPN->completeTransaction
729 ([18381](https://github.com/civicrm/civicrm-core/pull/18381))**
c2b991ed 730
77e31358
AF
731- **Add postAssert to check payments and contributions are valid on all tests.
732 ([18317](https://github.com/civicrm/civicrm-core/pull/18317))**
c2b991ed 733
77e31358
AF
734- **Switch frontend contribution form to cached/non-deprecated functions for
735 membershipTypes
736 ([18404](https://github.com/civicrm/civicrm-core/pull/18404))**
737
738- **Ensure DAO base class contains functions to be removed from generated files
739 ([18492](https://github.com/civicrm/civicrm-core/pull/18492))**
740
741- **Switch backend membership form to use non-deprecated/cached functions to get
742 membership types
743 ([18427](https://github.com/civicrm/civicrm-core/pull/18427))**
744
77e31358
AF
745- **Fix civi version for greenwich
746 ([18542](https://github.com/civicrm/civicrm-core/pull/18542))**
747
748- **Switch to passing payment_processor_id as input param to completeOrder
749 ([18528](https://github.com/civicrm/civicrm-core/pull/18528))**
750
751- **Switch membership BAO to use non-deprecated cached functions to get
752 membershipType details
753 ([18515](https://github.com/civicrm/civicrm-core/pull/18515))**
754
755- **Separate export into separate classes to allow unravelling of component
756 handling (Member)
757 ([18512](https://github.com/civicrm/civicrm-core/pull/18512))**
758
759- **Simplify CRM_Core_BAO_Location::createLocBlock by moving eventLocation
760 specific handling back to the class
761 ([18578](https://github.com/civicrm/civicrm-core/pull/18578))**
762
763- **Update the post-upgrade thank you message to include URLs to CiviCRM
764 contributors, CiviCRM members and minor rewrite
765 ([18559](https://github.com/civicrm/civicrm-core/pull/18559))**
766
767- **Simplify call to loadRelatedObjects in repeat/completetransaction
768 ([18613](https://github.com/civicrm/civicrm-core/pull/18613))**
769
770- **Move membership tab add/submit membership buttons to PHP layer
771 ([18143](https://github.com/civicrm/civicrm-core/pull/18143))**
772
773- **Remove extraneous UF match queries
774 ([dev/core#2087](https://lab.civicrm.org/dev/core/-/issues/2087):
775 [18667](https://github.com/civicrm/civicrm-core/pull/18667) and
776 [18675](https://github.com/civicrm/civicrm-core/pull/18675))**
777
778- **Can't send SMS to mailing group whose parent isn't a mailing group (Clean up
779 [dev/core#2053](https://lab.civicrm.org/dev/core/-/issues/2053):
780 [18698](https://github.com/civicrm/civicrm-core/pull/18698))**
781
782- **Merge - ensure location entities remaining on deleted contacts have
783 is_primary integrity
784 (Clean up [dev/core#2047](https://lab.civicrm.org/dev/core/-/issues/2047):
785 [18499](https://github.com/civicrm/civicrm-core/pull/18499) and
786 [18500](https://github.com/civicrm/civicrm-core/pull/18500))**
787
788- **[cq] Do not pass by reference where avoidable
789 (Work Towards [dev/core#2043](https://lab.civicrm.org/dev/core/-/issues/2043):
790 [18484](https://github.com/civicrm/civicrm-core/pull/18484) and
791 [18485](https://github.com/civicrm/civicrm-core/pull/18485))**
792
793- **Fix the Test Result (1 failure / -190)
794 E2E.Core.PrevNextTest.testDeleteByCacheKey recurring test issue
795 ([dev/core#2029](https://lab.civicrm.org/dev/core/-/issues/2029):
796 [18587](https://github.com/civicrm/civicrm-core/pull/18587) and
797 [18565](https://github.com/civicrm/civicrm-core/pull/18565))**
798
799- **SyntaxConformance::testSqlOperators cleanup fix - ensure entities are
800 deleted ([18569](https://github.com/civicrm/civicrm-core/pull/18569))**
801
802- **Move afform to be a core extension
803 ([dev/core#2000](https://lab.civicrm.org/dev/core/-/issues/2000):
804 [18423](https://github.com/civicrm/civicrm-core/pull/18423))**
805
806- **Upgrade Angular from 1.5 => 1.8
807 ([dev/core#1818](https://lab.civicrm.org/dev/core/-/issues/1818):
808 [18635](https://github.com/civicrm/civicrm-core/pull/18635))**
809
810- **Extraneous queries - activities (Work Towards
811 [dev/core#2057](https://lab.civicrm.org/dev/core/-/issues/2057):
812 [18625](https://github.com/civicrm/civicrm-core/pull/18625),
813 [18566](https://github.com/civicrm/civicrm-core/pull/18566),
814 [18609](https://github.com/civicrm/civicrm-core/pull/18609),
815 [18636](https://github.com/civicrm/civicrm-core/pull/18636) and
816 [18567](https://github.com/civicrm/civicrm-core/pull/18567))**
817
818- **Eliminate unused query on CRM_Core_BAO_CustomQuery::_construct
819 ([dev/core#2079](https://lab.civicrm.org/dev/core/-/issues/2079):
820 [18654](https://github.com/civicrm/civicrm-core/pull/18654),
821 [18653](https://github.com/civicrm/civicrm-core/pull/18653),
822 [18665](https://github.com/civicrm/civicrm-core/pull/18665),
823 [18664](https://github.com/civicrm/civicrm-core/pull/18664),
824 [18656](https://github.com/civicrm/civicrm-core/pull/18656),
825 [18657](https://github.com/civicrm/civicrm-core/pull/18657) and
826 [18655](https://github.com/civicrm/civicrm-core/pull/18655))**
827
828- **Rationalise BAO create vs add functions (Work Towards
829 [dev/core#2046](https://lab.civicrm.org/dev/core/-/issues/2046):
830 [18682](https://github.com/civicrm/civicrm-core/pull/18682),
831 [18658](https://github.com/civicrm/civicrm-core/pull/18658),
832 [18495](https://github.com/civicrm/civicrm-core/pull/18495),
833 [18588](https://github.com/civicrm/civicrm-core/pull/18588),
834 [18661](https://github.com/civicrm/civicrm-core/pull/18661),
835 [18607](https://github.com/civicrm/civicrm-core/pull/18607) and
836 [18606](https://github.com/civicrm/civicrm-core/pull/18606))**
837
838- **Address extraneous location queries
839 ([dev/core#2039](https://lab.civicrm.org/dev/core/-/issues/2039):
840 [18496](https://github.com/civicrm/civicrm-core/pull/18496),
841 [18498](https://github.com/civicrm/civicrm-core/pull/18498),
842 [18497](https://github.com/civicrm/civicrm-core/pull/18497),
843 [18494](https://github.com/civicrm/civicrm-core/pull/18494),
844 [18501](https://github.com/civicrm/civicrm-core/pull/18501),
845 [18480](https://github.com/civicrm/civicrm-core/pull/18480),
846 [18489](https://github.com/civicrm/civicrm-core/pull/18489),
847 [18684](https://github.com/civicrm/civicrm-core/pull/18684) and
848 [18663](https://github.com/civicrm/civicrm-core/pull/18663))**
849
850- **Remove unused functions (Work Towards
851 [dev/core#2017](https://lab.civicrm.org/dev/core/-/issues/2017):
852 [18662](https://github.com/civicrm/civicrm-core/pull/18662),
853 [18430](https://github.com/civicrm/civicrm-core/pull/18430),
854 [18433](https://github.com/civicrm/civicrm-core/pull/18433),
855 [18463](https://github.com/civicrm/civicrm-core/pull/18463),
856 [18458](https://github.com/civicrm/civicrm-core/pull/18458))**
857
858- **Remove unneccessary isoToDate function
859 ([dev/core#1921](https://lab.civicrm.org/dev/core/-/issues/1921):
860 [18422](https://github.com/civicrm/civicrm-core/pull/18422),
861 [18576](https://github.com/civicrm/civicrm-core/pull/18576),
862 [18359](https://github.com/civicrm/civicrm-core/pull/18359),
863 [18469](https://github.com/civicrm/civicrm-core/pull/18469),
864 [18456](https://github.com/civicrm/civicrm-core/pull/18456),
865 [18457](https://github.com/civicrm/civicrm-core/pull/18457),
866 [18374](https://github.com/civicrm/civicrm-core/pull/18374),
867 [18383](https://github.com/civicrm/civicrm-core/pull/18383) and
868 [18468](https://github.com/civicrm/civicrm-core/pull/18468))**
869
870- **Deprecate BaseIPN functions validateData & LoadObject (Work Towards
871 [dev/financial#148](https://lab.civicrm.org/dev/financial/-/issues/148):
872 [18479](https://github.com/civicrm/civicrm-core/pull/18479) and
873 [18571](https://github.com/civicrm/civicrm-core/pull/18571))**
874
875- **Separate out Search participant register form from backoffice form
876 ([dev/event#42](https://lab.civicrm.org/dev/event/-/issues/42):
877 [18486](https://github.com/civicrm/civicrm-core/pull/18486))**
878
879- **Add try catch to main loops on core ipn classes
880 ([18384](https://github.com/civicrm/civicrm-core/pull/18384))**
881
882- **Rename variable $key to $participantID to make it clear what it is
883 ([18371](https://github.com/civicrm/civicrm-core/pull/18371))**
884
885- **Stop passing / using object when all we need is the id
886 ([18331](https://github.com/civicrm/civicrm-core/pull/18331))**
c2b991ed 887
77e31358
AF
888- **Minor code cleanup - this is only ever called from one place so component is
889 always event ([18343](https://github.com/civicrm/civicrm-core/pull/18343))**
c2b991ed 890
77e31358
AF
891- **Membership form test cleanup, date cleanup on form
892 ([18413](https://github.com/civicrm/civicrm-core/pull/18413))**
c2b991ed 893
77e31358
AF
894- **Search ext: misc cleanup & fixes
895 ([18723](https://github.com/civicrm/civicrm-core/pull/18723))**
c2b991ed 896
77e31358
AF
897- **Switch to non-deprecated/cached functions for membership pricesets
898 ([18568](https://github.com/civicrm/civicrm-core/pull/18568))**
c2b991ed 899
77e31358
AF
900- **Fix parameters for MembershipTest
901 ([18467](https://github.com/civicrm/civicrm-core/pull/18467))**
c2b991ed 902
77e31358
AF
903- **Update code comments
904 ([18460](https://github.com/civicrm/civicrm-core/pull/18460))**
c2b991ed 905
77e31358
AF
906- **Pass in activity type rather than calculate it
907 ([18450](https://github.com/civicrm/civicrm-core/pull/18450))**
c2b991ed 908
77e31358
AF
909- **Move definition of userName to where it is used and remove an unused
910 parameter ([18452](https://github.com/civicrm/civicrm-core/pull/18452))**
c2b991ed 911
77e31358
AF
912- **Minor code simplification on date handling in getMembershipStatusByDate
913 ([18421](https://github.com/civicrm/civicrm-core/pull/18421))**
c2b991ed 914
77e31358
AF
915- **Offer singular entity titles
916 ([18434](https://github.com/civicrm/civicrm-core/pull/18434))**
c2b991ed 917
77e31358
AF
918- **(REF) GenerateData - Make it possible to call this via PHP
919 ([18491](https://github.com/civicrm/civicrm-core/pull/18491))**
c2b991ed 920
77e31358
AF
921- **[REF] Simplify array construction
922 ([18432](https://github.com/civicrm/civicrm-core/pull/18432))**
c2b991ed 923
77e31358
AF
924- **[REF] minor tidy up on membershipStatus::create & add
925 ([18435](https://github.com/civicrm/civicrm-core/pull/18435))**
c2b991ed 926
77e31358
AF
927- **[REF] Folllow up cleanup - remove now unused param
928 ([18438](https://github.com/civicrm/civicrm-core/pull/18438))**
c2b991ed 929
77e31358
AF
930- **[REF] Start the process of separating the search action from the participant
931 form ([18464](https://github.com/civicrm/civicrm-core/pull/18464))**
c2b991ed 932
77e31358
AF
933- **[Ref] Code simplification - remove conditional chunk
934 ([18445](https://github.com/civicrm/civicrm-core/pull/18445))**
c2b991ed 935
77e31358
AF
936- **[ref] Extract failContribution code
937 ([18418](https://github.com/civicrm/civicrm-core/pull/18418))**
c2b991ed 938
77e31358
AF
939- **[REF] Fix visibility of afform_scanner container service for Symfony …
940 ([18505](https://github.com/civicrm/civicrm-core/pull/18505))**
c2b991ed 941
77e31358
AF
942- **[REF] Refactor price field form to allow for unit testing of the form
943 ([18414](https://github.com/civicrm/civicrm-core/pull/18414))**
c2b991ed 944
77e31358
AF
945- **[REF] Minor readability fix
946 ([18415](https://github.com/civicrm/civicrm-core/pull/18415))**
c2b991ed 947
77e31358
AF
948- **[REF] change deprecated function to API4 call
949 ([18076](https://github.com/civicrm/civicrm-core/pull/18076))**
c2b991ed 950
77e31358
AF
951- **[NFC] Cleanup in test class
952 ([18539](https://github.com/civicrm/civicrm-core/pull/18539))**
c2b991ed 953
77e31358
AF
954- **[REF] Remove now used parameter & make function protected
955 ([18543](https://github.com/civicrm/civicrm-core/pull/18543))**
c2b991ed 956
77e31358
AF
957- **[REF] Consolidate input params that are primarily used for the membership
958 entity action to an array
959 ([18451](https://github.com/civicrm/civicrm-core/pull/18451))**
c2b991ed 960
77e31358
AF
961- **[REF] Extract the code to determine the DAO name into a functions
962 ([18513](https://github.com/civicrm/civicrm-core/pull/18513))**
c2b991ed 963
77e31358
AF
964- **[REF] Fix deprecated array and string offset access using curly brace…
965 ([18529](https://github.com/civicrm/civicrm-core/pull/18529))**
c2b991ed 966
77e31358
AF
967- **[REF] Code cleanup on membership renewal & test
968 ([18365](https://github.com/civicrm/civicrm-core/pull/18365))**
c2b991ed 969
77e31358
AF
970- **[REF] Improve the human readable name of the eway upgrade step to be …
971 ([18401](https://github.com/civicrm/civicrm-core/pull/18401))**
c2b991ed 972
77e31358
AF
973- **[REF] Simplify loading of related objects in transition components
974 ([18373](https://github.com/civicrm/civicrm-core/pull/18373))**
c2b991ed 975
77e31358
AF
976- **[REF] simplify interaction with objects in complete order
977 ([18385](https://github.com/civicrm/civicrm-core/pull/18385))**
c2b991ed 978
77e31358
AF
979- **[REF] Mark CRM_Contribute_BAO_Contribution_Utils::formatAmount deprec…
980 ([18387](https://github.com/civicrm/civicrm-core/pull/18387))**
c2b991ed 981
77e31358
AF
982- **[REF] Swap out CRM_Utils_Array::value() - partial pull out from PR 18207
983 ([18391](https://github.com/civicrm/civicrm-core/pull/18391))**
c2b991ed 984
77e31358
AF
985- **[REF] Remove unused lines from loadObjects
986 ([18389](https://github.com/civicrm/civicrm-core/pull/18389))**
c2b991ed 987
77e31358
AF
988- **[REF] Ensure that all bundle container services are public for Symfon…
989 ([18368](https://github.com/civicrm/civicrm-core/pull/18368))**
c2b991ed 990
77e31358
AF
991- **[REF] Parse ids before sending to single function (minor simplification)
992 ([18630](https://github.com/civicrm/civicrm-core/pull/18630))**
c2b991ed 993
77e31358
AF
994- **[REF] Hide eway extension in UI and only install it if the original e…
995 ([18377](https://github.com/civicrm/civicrm-core/pull/18377))**
c2b991ed 996
77e31358
AF
997- **[REF] Simplify logic on calling self::updateContributionStatus
998 ([18357](https://github.com/civicrm/civicrm-core/pull/18357))**
c2b991ed 999
77e31358
AF
1000- **[REF] Fix adding in the accessKey based on the button array
1001 ([18674](https://github.com/civicrm/civicrm-core/pull/18674))**
c2b991ed 1002
77e31358
AF
1003- **[REF] Add in frontend fields for title and description of group Schem…
1004 ([18599](https://github.com/civicrm/civicrm-core/pull/18599))**
c2b991ed 1005
77e31358
AF
1006- **[REF] Remove unused taskName variable
1007 ([18590](https://github.com/civicrm/civicrm-core/pull/18590))**
c2b991ed 1008
77e31358
AF
1009- **[REF] IPN - move unshared chunk of code out of shared function
1010 ([18600](https://github.com/civicrm/civicrm-core/pull/18600))**
c2b991ed 1011
77e31358
AF
1012- **[REF] Paypal std ipn Move not-actually shared-code out of shared code
1013 function ([18536](https://github.com/civicrm/civicrm-core/pull/18536))**
c2b991ed 1014
77e31358
AF
1015- **[REF] Remove some unused params, move one to where it is used
1016 ([18614](https://github.com/civicrm/civicrm-core/pull/18614))**
c2b991ed 1017
77e31358
AF
1018- **[Ref] Extract getOrderParams
1019 ([18617](https://github.com/civicrm/civicrm-core/pull/18617))**
c2b991ed 1020
77e31358
AF
1021- **REF Filter params in completetransaction
1022 ([18321](https://github.com/civicrm/civicrm-core/pull/18321))**
c2b991ed 1023
77e31358
AF
1024- **[REF] Fix compatability with Drupal 9 installing of var_dumper
1025 ([18679](https://github.com/civicrm/civicrm-core/pull/18679))**
c2b991ed 1026
77e31358
AF
1027- **[REF] Add test for existing Participant batch update cancel and fix to not
1028 call BaseIPN->cancelled
1029 ([18318](https://github.com/civicrm/civicrm-core/pull/18318))**
c2b991ed 1030
77e31358
AF
1031- **[REF] Use helper function to check if multiLingual
1032 ([604](https://github.com/civicrm/civicrm-drupal/pull/604))**
c2b991ed 1033
77e31358
AF
1034- **[REF] Update Versions file and remove Net_URL class as doesn't appear…
1035 ([310](https://github.com/civicrm/civicrm-packages/pull/310))**
c2b991ed 1036
77e31358
AF
1037- **[REF] Remove Eway Libraries and XML_Util as they are now shipped as p…
1038 ([306](https://github.com/civicrm/civicrm-packages/pull/306))**
c2b991ed 1039
77e31358
AF
1040- **[REF] Add in css classes to make the save and preview button on the C…
1041 ([18647](https://github.com/civicrm/civicrm-core/pull/18647))**
c2b991ed 1042
77e31358
AF
1043- **[REF] Move daoName generation so we don't need to pass the variable name
1044 ([18552](https://github.com/civicrm/civicrm-core/pull/18552))**
c2b991ed 1045
77e31358
AF
1046- **[REF] Very minor cleanup
1047 ([18604](https://github.com/civicrm/civicrm-core/pull/18604))**
c2b991ed 1048
77e31358
AF
1049- **[REF] Fix Event location to create it's locations directly rather than via
1050 shared methods ([18586](https://github.com/civicrm/civicrm-core/pull/18586))**
c2b991ed 1051
77e31358
AF
1052- **[REF] Consolidate retrieval of searchFormValues
1053 ([18591](https://github.com/civicrm/civicrm-core/pull/18591))**
c2b991ed 1054
77e31358
AF
1055- **[REF] Include recently added core extensions into distmaker
1056 ([18597](https://github.com/civicrm/civicrm-core/pull/18597))**
c2b991ed 1057
77e31358
AF
1058- **[Ref] Extract getFormValues
1059 ([18510](https://github.com/civicrm/civicrm-core/pull/18510))**
c2b991ed 1060
77e31358
AF
1061- **[REF] Remove checks as to whether entityShortName is in the component array
1062 ([18538](https://github.com/civicrm/civicrm-core/pull/18538))**
c2b991ed 1063
77e31358
AF
1064- **[Ref] Merge code - Move determination about location type to the
1065 getDAOForLocation…
1066 ([18562](https://github.com/civicrm/civicrm-core/pull/18562))**
c2b991ed 1067
77e31358
AF
1068- **[REF] Remove unreachable lines
1069 ([18535](https://github.com/civicrm/civicrm-core/pull/18535))**
c2b991ed 1070
77e31358
AF
1071- **[REF] Remove wrangling on activityType param
1072 ([18558](https://github.com/civicrm/civicrm-core/pull/18558))**
c2b991ed 1073
77e31358
AF
1074- **[REF] Finally remove deprecated ids handling
1075 ([18557](https://github.com/civicrm/civicrm-core/pull/18557))**
c2b991ed 1076
77e31358
AF
1077- **[REF] Update composer compile plugin to latest version
1078 ([18553](https://github.com/civicrm/civicrm-core/pull/18553))**
c2b991ed 1079
77e31358
AF
1080- **(REF) Make it easier for extensions to define basic bundles
1081 ([18660](https://github.com/civicrm/civicrm-core/pull/18660))**
c2b991ed 1082
77e31358
AF
1083- **[REF] Follow up cleanup from Event Location
1084 ([18608](https://github.com/civicrm/civicrm-core/pull/18608))**
c2b991ed 1085
77e31358
AF
1086- **(REF) Switch to composer-compile-lib
1087 ([18646](https://github.com/civicrm/civicrm-core/pull/18646))**
c2b991ed 1088
77e31358
AF
1089- **[REF] Remove XML_Util dependancy within ewaysingle extension
1090 ([18676](https://github.com/civicrm/civicrm-core/pull/18676))**
c2b991ed 1091
77e31358
AF
1092- **Remove long-deprecated hook_civicrm_tabs
1093 ([18503](https://github.com/civicrm/civicrm-core/pull/18503))**
c2b991ed 1094
77e31358
AF
1095- **Remove redundant custom field types
1096 ([18378](https://github.com/civicrm/civicrm-core/pull/18378) and
1097 ([622](https://github.com/civicrm/civicrm-drupal/pull/622))**
c2b991ed 1098
77e31358
AF
1099- **Remove unnecessary call to 'validateData' from pdf generator
1100 ([18367](https://github.com/civicrm/civicrm-core/pull/18367))**
c2b991ed 1101
77e31358
AF
1102- **Remove unnecessary debug from tests which messes up array output
1103 ([18446](https://github.com/civicrm/civicrm-core/pull/18446))**
c2b991ed 1104
77e31358
AF
1105- **Remove error handling from loadObjects
1106 ([18393](https://github.com/civicrm/civicrm-core/pull/18393))**
c2b991ed 1107
77e31358
AF
1108- **Remove deprecated code lines
1109 ([18490](https://github.com/civicrm/civicrm-core/pull/18490))**
c2b991ed 1110
77e31358
AF
1111- **Remove CRM_Contact_BAO_Contact::getPrimaryOpenId
1112 ([18424](https://github.com/civicrm/civicrm-core/pull/18424))**
c2b991ed 1113
77e31358
AF
1114- **Remove inaccessible call to baseIPN failed
1115 ([18369](https://github.com/civicrm/civicrm-core/pull/18369))**
c2b991ed 1116
77e31358
AF
1117- **Remove pass-by-ref in PaypalProIPN::single
1118 ([18337](https://github.com/civicrm/civicrm-core/pull/18337))**
c2b991ed 1119
77e31358
AF
1120- **Remove obsolete load-bootstrap.js
1121 ([18551](https://github.com/civicrm/civicrm-core/pull/18551))**
c2b991ed 1122
77e31358
AF
1123- **Remove deprecated ids param
1124 ([18375](https://github.com/civicrm/civicrm-core/pull/18375))**
c2b991ed 1125
77e31358
AF
1126- **Remove unused deprecated handling for partial_amount_to_pay
1127 ([18328](https://github.com/civicrm/civicrm-core/pull/18328))**
c2b991ed 1128
77e31358
AF
1129- **Minor test data fix up - ensure domain contact's email is primary
1130 ([18561](https://github.com/civicrm/civicrm-core/pull/18561))**
c2b991ed 1131
77e31358
AF
1132- **Minor test fix
1133 ([18560](https://github.com/civicrm/civicrm-core/pull/18560))**
c2b991ed 1134
77e31358
AF
1135- **Preliminary cleanup on test
1136 ([18346](https://github.com/civicrm/civicrm-core/pull/18346))**
c2b991ed 1137
77e31358
AF
1138- **Fix test to use validateAllContributions
1139 ([18348](https://github.com/civicrm/civicrm-core/pull/18348))**
c2b991ed 1140
77e31358
AF
1141- **Afform Tests - Fix extension tests when run via `civi-test-run`
1142 ([18511](https://github.com/civicrm/civicrm-core/pull/18511))**
c2b991ed 1143
77e31358
AF
1144- **Test fix - use valid membership type
1145 ([18507](https://github.com/civicrm/civicrm-core/pull/18507))**
c2b991ed 1146
77e31358
AF
1147- **Test cleanup fix
1148 ([18601](https://github.com/civicrm/civicrm-core/pull/18601))**
c2b991ed 1149
77e31358
AF
1150- **[Civi\Test] Fix test output noise
1151 ([18638](https://github.com/civicrm/civicrm-core/pull/18638))**
c2b991ed 1152
77e31358
AF
1153- **[Test framework] Wrong group id in mailing test setup
1154 ([18626](https://github.com/civicrm/civicrm-core/pull/18626))**
c2b991ed 1155
77e31358
AF
1156- **Add test to cover existing v3 api setting of tax_amount on line items
1157 ([18351](https://github.com/civicrm/civicrm-core/pull/18351))**
c2b991ed 1158
77e31358
AF
1159- **Add unit test that ultimately failed to hit the desired code but does add
1160 cover ([18708](https://github.com/civicrm/civicrm-core/pull/18708))**
c2b991ed 1161
77e31358
AF
1162- **[NFC/Test] Unit test activity-contact variations
1163 ([18619](https://github.com/civicrm/civicrm-core/pull/18619))**
c2b991ed 1164
77e31358
AF
1165- **[NFC/Test] Unit test for target contacts on Bulk Email when mailing in
1166 batches ([18584](https://github.com/civicrm/civicrm-core/pull/18584))**
c2b991ed 1167
77e31358
AF
1168- **[NFC] Remove trailing whitespace
1169 ([18476](https://github.com/civicrm/civicrm-core/pull/18476))**
c2b991ed 1170
77e31358
AF
1171- **[NFC] Aim to reduce memory usage in create single value alter test by…
1172 ([18394](https://github.com/civicrm/civicrm-core/pull/18394))**
c2b991ed 1173
77e31358
AF
1174- **[NFC/Test framework] Make class name match file name
1175 ([18392](https://github.com/civicrm/civicrm-core/pull/18392))**
c2b991ed 1176
77e31358
AF
1177- **[NFC] Minor cleanup - use strict comparison where possible
1178 ([18573](https://github.com/civicrm/civicrm-core/pull/18573))**
c2b991ed 1179
77e31358
AF
1180- **[NFC] Enable APIv4 Testing on the statusPrefence API Tests
1181 ([18366](https://github.com/civicrm/civicrm-core/pull/18366))**
c2b991ed 1182
77e31358
AF
1183- **NFC Clarify what CRM_Price_BAO_Priceset::getMembershipCount does
1184 ([18426](https://github.com/civicrm/civicrm-core/pull/18426))**
c2b991ed 1185
77e31358
AF
1186- **[NFC] Enable APIv4 testing on the Fin ACL Extension Line Item test
1187 ([18478](https://github.com/civicrm/civicrm-core/pull/18478))**
c2b991ed 1188
74ac2a25
AH
1189- **Enotice fix ([18620](https://github.com/civicrm/civicrm-core/pull/18620))**
1190
1191- **Enotice fix ([18707](https://github.com/civicrm/civicrm-core/pull/18707))**
1192
1193- **Update civicrm_handler_field_contact_image.inc
1194 ([625](https://github.com/civicrm/civicrm-drupal/pull/625))**
1195
1196 Fixes a notice.
1197
1198- **Update civicrm_handler_field_pseudo_constant.inc
1199 ([626](https://github.com/civicrm/civicrm-drupal/pull/626))**
1200
1201 Fixes a notice.
1202
9d1f46ea
AH
1203- **Update composer-download-plugin to v3.0.0 to support usage of composer 2.x
1204 ([18899](https://github.com/civicrm/civicrm-core/pull/18899))**
1205
c2b991ed
AH
1206## <a name="credits"></a>Credits
1207
1208This release was developed by the following code authors:
1209
88bd6b02 1210AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Bastien
77e31358
AF
1211Ho; Blackfly Solutions - Alan Dixon; CEDC - Laryn Kragt Bakker; Christian Wach;
1212Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten;
1213CiviDesk - Sunil Pawar; CompuCorp - Camilo Rodriguez, Ivan; Coop SymbioTIC -
1214Mathieu Lutfy; Dave D; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb,
1215Seamus Lee; John Kingsnorth; Lighthouse Consulting and Design - Brian
1216Shaughnessy; Megaphone Technology Consulting - Dennis P. Osorio, Jon Goldberg;
1217MJW Consulting - Matthew Wire; QED42 - Swastik Pareek; Richard van Oosterhout;
1218Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole
1219Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton
c2b991ed
AH
1220
1221Most authors also reviewed code for this release; in addition, the following
1222reviewers contributed their comments:
1223
77e31358
AF
1224Abeilles en Vélo / Bees on a bike; Artful Robot - Rich Lott; Betty Dolfing;
1225CiviCoop - Jaap Jansma; CiviCRM - Josh Gowans; CiviDesk - Nicolas Ganivet,
1226Yashodha Chaku; CompuCorp - René Olivo; Freeform Solutions - Herb van den Dool;
1227Fuzion - Jitendra Purohit, Luke Stewart; Irene Meisel; JMA Consulting - Joe
9d1f46ea
AH
1228Murray; Lemniscus - Noah Miller; MJCO - Mikey O'Toole; Tony Maynard-Smith;
1229Wikimedia Foundation - Maggie Epps
d7b2480a
AH
1230
1231## <a name="feedback"></a>Feedback
1232
88bd6b02 1233These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
d7b2480a
AH
1234to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
1235and contact `@agh1`.