Merge pull request #23038 from eileenmcnaughton/assign3
[civicrm-core.git] / release-notes / 5.46.0.md
CommitLineData
54ace5d8
AH
1# CiviCRM 5.46.0
2
a536fddc 3Released February 3, 2022
54ace5d8 4
da0db47d 5- **[Synopsis](#synopsis)**
54ace5d8
AH
6- **[Features](#features)**
7- **[Bugs resolved](#bugs)**
8- **[Miscellany](#misc)**
9- **[Credits](#credits)**
da0db47d
AH
10- **[Feedback](#feedback)**
11
12## <a name="synopsis"></a>Synopsis
13
14| *Does this version...?* | |
15|:--------------------------------------------------------------- |:-------:|
700d2c1b
AF
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** |
54ace5d8
AH
23
24## <a name="features"></a>Features
25
26### Core CiviCRM
27
700d2c1b
AF
28- **re-jig demo roles to add restricted user
29 ([dev/core#2773](https://lab.civicrm.org/dev/core/-/issues/2773):
30 [22377](https://github.com/civicrm/civicrm-core/pull/22377))**
54ace5d8 31
700d2c1b 32 Adds an ACL to demo data.
54ace5d8 33
700d2c1b
AF
34- **When adding custom data set change default selected option
35 ([dev/core#2977](https://lab.civicrm.org/dev/core/-/issues/2977):
36 [22244](https://github.com/civicrm/civicrm-core/pull/22244))**
54ace5d8 37
700d2c1b
AF
38 Changes the defaults when adding custom data sets to make them more user
39 friendly.
54ace5d8 40
700d2c1b
AF
41- **Expose email on hold as filter for reports
42 ([dev/core#3012](https://lab.civicrm.org/dev/core/-/issues/3012):
43 [22357](https://github.com/civicrm/civicrm-core/pull/22357))**
54ace5d8 44
700d2c1b 45 Adds a email on hold filter to reports.
54ace5d8 46
ee284998 47- **Increment recommended PHP version
700d2c1b
AF
48 ([dev/core#2996](https://lab.civicrm.org/dev/core/-/issues/2996):
49 [22265](https://github.com/civicrm/civicrm-core/pull/22265))**
54ace5d8 50
ee284998 51 Changes the minimum PHP version to 7.3 and the recommended PHP version to 7.4.
54ace5d8 52
700d2c1b
AF
53- **APIv4 Explorer - Make selected language and format bookmarkable
54 ([22233](https://github.com/civicrm/civicrm-core/pull/22233))**
55
ee284998 56 The APIv4 explorer already places params in the URL for easy bookmarking.
700d2c1b
AF
57 This extends it to work for the selected language tab and the selected output
58 format.
59
60- **SearchKit - Contextual "View" button
61 ([dev/core#3016](https://lab.civicrm.org/dev/core/-/issues/3016):
62 [22367](https://github.com/civicrm/civicrm-core/pull/22367))**
63
64 Improves the SearchKit user interface
54ace5d8 65
700d2c1b
AF
66- **SearchKit - Add links for CustomField and CustomGroup entities
67 ([22302](https://github.com/civicrm/civicrm-core/pull/22302))**
54ace5d8 68
700d2c1b
AF
69 Improves SearchKit user interface by adding links to custom field and custom
70 group entities.
54ace5d8 71
700d2c1b
AF
72- **SearchKit - Allow functions in the WHERE clause
73 ([22241](https://github.com/civicrm/civicrm-core/pull/22241))**
54ace5d8 74
700d2c1b
AF
75 Adds an advanced feature for SearchKit which allows SQL functions in the
76 WHERE clause.
54ace5d8 77
700d2c1b
AF
78- **SearchKit - Import/Export saved search configuration
79 ([22229](https://github.com/civicrm/civicrm-core/pull/22229))**
54ace5d8 80
700d2c1b
AF
81 Provides a UI for importing and exporting SavedSearches in JSON format. This
82 allows power-users to copy and paste their Searches between sites. For
83 extension developers, includes a direct link to generate a .mgd.php file from
84 the API Explorer.
54ace5d8 85
700d2c1b
AF
86- **SearchKit - Facilitate popup forms
87 ([22490](https://github.com/civicrm/civicrm-core/pull/22490))**
54ace5d8 88
700d2c1b
AF
89 This adds two bits of utility code to facilitate adding a popup form to an
90 Afform containing a Search Display.
54ace5d8 91
700d2c1b
AF
92- **SearchKit - Allow aggregate columns to be links
93 ([22356](https://github.com/civicrm/civicrm-core/pull/22356))**
54ace5d8 94
700d2c1b 95 Allows aggregate columns to be rendered as a link in SearchKit Displays
54ace5d8 96
700d2c1b
AF
97- **CustomGroup - Add pseudoconstant for extends column
98 ([22282](https://github.com/civicrm/civicrm-core/pull/22282))**
54ace5d8 99
700d2c1b
AF
100 Adds missing pseudoconstant to schema, which will allow a SearchKit-based
101 display of custom groups.
54ace5d8 102
700d2c1b
AF
103- **Afform - UI and contextual titles for search displays
104 ([22319](https://github.com/civicrm/civicrm-core/pull/22319))**
54ace5d8 105
ee284998 106 Makes it easy to create drilldown search displays, passing in a URL arg to
700d2c1b
AF
107 specify a category/container. E.g. "Custom fields in group X", "Option values
108 for Individual Prefix", "Email addresses for Bob Smith".
54ace5d8 109
700d2c1b
AF
110- **Add system status warning to display scheduled job failures
111 ([21762](https://github.com/civicrm/civicrm-core/pull/21762))**
54ace5d8 112
700d2c1b 113 Adds a system status message to display scheduled job errors.
54ace5d8 114
700d2c1b
AF
115- **Add system status check for missing dedupe rules
116 ([22369](https://github.com/civicrm/civicrm-core/pull/22369))**
54ace5d8 117
700d2c1b
AF
118 Adds a system status check to alert system administrators when an unsupervised
119 and/or supervised dedupe rule is missing.
54ace5d8 120
700d2c1b
AF
121- **Extensions - Add dependency status check
122 ([22640](https://github.com/civicrm/civicrm-core/pull/22640))**
54ace5d8 123
700d2c1b 124 Adds a extensions dependency status check.
54ace5d8 125
700d2c1b
AF
126- **Improve accessibility - associate label and fields
127 ([22361](https://github.com/civicrm/civicrm-core/pull/22361))**
54ace5d8 128
700d2c1b
AF
129 Associates the labels on the event location form with the relevant inputs to
130 improve accessibility for screen reader users.
54ace5d8 131
700d2c1b
AF
132- **Add state name to export fields
133 ([22318](https://github.com/civicrm/civicrm-core/pull/22318))**
54ace5d8 134
700d2c1b 135 Adds the ability to export the state name when exporting contacts.
54ace5d8 136
700d2c1b
AF
137- **Add authx_login() API for backend script authentication (alt)
138 ([22292](https://github.com/civicrm/civicrm-core/pull/22292))**
54ace5d8 139
700d2c1b
AF
140 Adds a function to login as a user. It is cross-platform; accepts contact ID,
141 user ID, or username; and it updates relevant services (eg Civi session;
142 Drupal $user; MySQL @civicrm_user_id).
54ace5d8 143
700d2c1b 144### CiviContribute
54ace5d8 145
700d2c1b
AF
146- **Payments - Where do we store IDs from payment processor? (Work Towards
147 [dev/financial#57](https://lab.civicrm.org/dev/financial/-/issues/57):
148 [21916](https://github.com/civicrm/civicrm-core/pull/21916))**
54ace5d8 149
700d2c1b 150 Hides the recur trxn_id if it matches the processor_id.
54ace5d8 151
700d2c1b
AF
152- **Financial entity permissions (Work Towards
153 [dev/core#2752](https://lab.civicrm.org/dev/core/-/issues/2752):
154 [21178](https://github.com/civicrm/civicrm-core/pull/21178) and
155 [21181](https://github.com/civicrm/civicrm-core/pull/21181))**
54ace5d8 156
ee284998 157 Allows financial_trxns to be viewed and use ACL, not blanket permissions on
700d2c1b 158 FinancialAccount, FinancialType, EntityFinancialAccount.
54ace5d8 159
700d2c1b
AF
160- **Demo sample data - Add in some mixed currency contributions
161 ([22307](https://github.com/civicrm/civicrm-core/pull/22307))**
54ace5d8 162
700d2c1b 163 Improves contribution sample data by adding some mixed currency contributions.
54ace5d8 164
700d2c1b
AF
165- **Add recurring conributions to sample data
166 ([22296](https://github.com/civicrm/civicrm-core/pull/22296))**
54ace5d8 167
700d2c1b
AF
168 Improves contributions sample data by adding recurring contributions.
169
170## <a name="bugs"></a>Bugs resolved
171
172### Core CiviCRM
54ace5d8 173
700d2c1b
AF
174- **"Open in new tab" on .crm-summary-link icons should open contact
175 page, not summary content.
176 ([dev/core#2926](https://lab.civicrm.org/dev/core/-/issues/2926):
177 [22303](https://github.com/civicrm/civicrm-core/pull/22303))**
54ace5d8 178
700d2c1b
AF
179- **Separate membership payment on contribution form with auto renewal not get
180 processed (Work Towards
181 [dev/core#567](https://lab.civicrm.org/dev/core/-/issues/567):
182 [22275](https://github.com/civicrm/civicrm-core/pull/22275))**
54ace5d8 183
700d2c1b
AF
184 Adds a test shell to ensure membership payments with auto renewal get
185 processed.
54ace5d8 186
700d2c1b
AF
187- **Avoid warnings for is_dir() when open_basedir is in effect
188 ([dev/core#2927](https://lab.civicrm.org/dev/core/-/issues/2927):
189 [22107](https://github.com/civicrm/civicrm-core/pull/22107))**
54ace5d8 190
700d2c1b 191- **Removes the limit of 15 max values for multiple values can also
ee284998 192 be retrieved from URL in reports
700d2c1b
AF
193 ([dev/core#2979](https://lab.civicrm.org/dev/core/-/issues/2979):
194 [22214](https://github.com/civicrm/civicrm-core/pull/22214))**
54ace5d8 195
700d2c1b
AF
196- **Fatal error when merging Housholds (getTemplateForGreeting)
197 ([dev/core#3028](https://lab.civicrm.org/dev/core/-/issues/3028):
198 [22650](https://github.com/civicrm/civicrm-core/pull/22650))**
54ace5d8 199
700d2c1b
AF
200- **TypeError when trying to replace tokens for custom fields that don't exist
201 ([dev/core#3029](https://lab.civicrm.org/dev/core/-/issues/3029):
202 [22537](https://github.com/civicrm/civicrm-core/pull/22537))**
54ace5d8 203
700d2c1b
AF
204- **Escape single quotes in token html output
205 ([dev/core#3001](https://lab.civicrm.org/dev/core/-/issues/3001):
206 [22387](https://github.com/civicrm/civicrm-core/pull/22387) and
207 [22285](https://github.com/civicrm/civicrm-core/pull/22285))**
54ace5d8 208
700d2c1b
AF
209- **APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error
210 ([22626](https://github.com/civicrm/civicrm-core/pull/22626))**
54ace5d8 211
700d2c1b
AF
212- **APIv4 - Fix saving NULL as custom field value
213 ([22328](https://github.com/civicrm/civicrm-core/pull/22328))**
54ace5d8 214
700d2c1b
AF
215- **APIv4 GroupContact create indicates user is added but are not
216 ([dev/core#2924](https://lab.civicrm.org/dev/core/-/issues/2924):
217 [22322](https://github.com/civicrm/civicrm-core/pull/22322))**
54ace5d8 218
ee284998 219- **APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group
700d2c1b 220 ([22228](https://github.com/civicrm/civicrm-core/pull/22228))**
54ace5d8 221
700d2c1b
AF
222- **APIv4 - Set 'activity_type_id' to required
223 ([22359](https://github.com/civicrm/civicrm-core/pull/22359))**
54ace5d8 224
700d2c1b
AF
225- **Use api for entityRole - addresses save issue on the form
226 ([22589](https://github.com/civicrm/civicrm-core/pull/22589))**
54ace5d8 227
700d2c1b
AF
228- **SearchKit - Fix editable dates on standalone form
229 ([22366](https://github.com/civicrm/civicrm-core/pull/22366))**
54ace5d8 230
700d2c1b
AF
231- **SearchKit - Fix running searches for anonymous users
232 ([22597](https://github.com/civicrm/civicrm-core/pull/22597))**
54ace5d8 233
700d2c1b
AF
234- **SearchKit - Fix token selector to use expression alias
235 ([22539](https://github.com/civicrm/civicrm-core/pull/22539))**
54ace5d8 236
700d2c1b
AF
237- **SearchKit - Fix UI for configuring display pager limit
238 ([22321](https://github.com/civicrm/civicrm-core/pull/22321))**
54ace5d8 239
700d2c1b
AF
240- **SearchKit - Fix column headers for custom fields in default display
241 ([22331](https://github.com/civicrm/civicrm-core/pull/22331))**
54ace5d8 242
700d2c1b
AF
243- **SearchKit/Form: exposing a Date custom field has invalid year range
244 ([dev/report#84](https://lab.civicrm.org/dev/report/-/issues/84):
245 [22234](https://github.com/civicrm/civicrm-core/pull/22234))**
54ace5d8 246
700d2c1b
AF
247- **SearchKit: URLs to external sites no longer render
248 ([dev/report#93](https://lab.civicrm.org/dev/report/-/issues/93):
249 [22437](https://github.com/civicrm/civicrm-core/pull/22437))**
54ace5d8 250
700d2c1b
AF
251- **SearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.0
252 ([dev/report#90](https://lab.civicrm.org/dev/report/-/issues/90):
253 [22375](https://github.com/civicrm/civicrm-core/pull/22375))**
54ace5d8 254
ee284998 255 Don't crash SearchKit on upgrade from 5.35.
54ace5d8 256
700d2c1b
AF
257- **DedupeRules - Translate contact type labels, respect enabled contact types
258 ([22383](https://github.com/civicrm/civicrm-core/pull/22383))**
54ace5d8 259
700d2c1b 260 Fixes up the Dedupe Rules page to properly handle contact types.
54ace5d8 261
700d2c1b
AF
262- **Allow chart dropdown labels to be translatable.
263 ([22349](https://github.com/civicrm/civicrm-core/pull/22349))**
54ace5d8 264
700d2c1b
AF
265- **SqlParallel - Enable more tests. Fix compatiblity with `release_time`
266 ([22326](https://github.com/civicrm/civicrm-core/pull/22326))**
54ace5d8 267
700d2c1b
AF
268- **Use JS escaping for {ts} calls in a JS context
269 ([22348](https://github.com/civicrm/civicrm-core/pull/22348))**
54ace5d8 270
700d2c1b
AF
271- **Find Activities Search, default search option for Activity Status will
272 exclude Activities by default which do not have a status of Scheduled or
273 Completed. Confuses and frustrates End Users.
274 ([21596](https://github.com/civicrm/civicrm-core/pull/21596))**
275
276- **Wrap another set of hardcoded strings in {ts}
277 ([22315](https://github.com/civicrm/civicrm-core/pull/22315))**
278
279- **Display label before input elements on SMTP settings page
280 ([22304](https://github.com/civicrm/civicrm-core/pull/22304))**
281
282- **ExtensionUpgrades - Skip trying to upgrade missing dependencies
283 ([22623](https://github.com/civicrm/civicrm-core/pull/22623))**
54ace5d8 284
ee284998 285- **Fix input type for Smarty number formatting (more forgiving)
7001bee7 286 ([22429](https://github.com/civicrm/civicrm-core/pull/22429))**
54ace5d8 287
7001bee7
AF
288- **Ensure getDuplicateContacts always returns an array
289 ([22394](https://github.com/civicrm/civicrm-core/pull/22394))**
54ace5d8 290
7001bee7
AF
291- **Ensure dashboardLinks assigned to prevent e-notice
292 ([22378](https://github.com/civicrm/civicrm-core/pull/22378))**
54ace5d8 293
7001bee7
AF
294- **enotice fix (with default modifiers)
295 ([22372](https://github.com/civicrm/civicrm-core/pull/22372))**
54ace5d8 296
7001bee7
AF
297- **Fix "Import Multi-Value Custom Data"
298 ([22365](https://github.com/civicrm/civicrm-core/pull/22365))**
54ace5d8 299
7001bee7
AF
300- **Do not escape showHideBlocks by default
301 ([22371](https://github.com/civicrm/civicrm-core/pull/22371))**
54ace5d8 302
ee284998 303- **Fix notices on ACL page
7001bee7 304 ([22370](https://github.com/civicrm/civicrm-core/pull/22370))**
54ace5d8 305
7001bee7
AF
306- **Fix PropertyBag setRecurInstallments to accept 0
307 ([21517](https://github.com/civicrm/civicrm-core/pull/21517))**
54ace5d8 308
7001bee7
AF
309- **Fix over-escaping when default escaping is on
310 ([22363](https://github.com/civicrm/civicrm-core/pull/22363))**
54ace5d8 311
7001bee7
AF
312- **Fix escape-by-default
313 ([22362](https://github.com/civicrm/civicrm-core/pull/22362))**
54ace5d8 314
7001bee7
AF
315- **Fix params passed to setStatus method
316 ([22338](https://github.com/civicrm/civicrm-core/pull/22338))**
54ace5d8 317
7001bee7
AF
318- **Fix Profile helptext menu reference to reCaptcha (by r4zoli)
319 ([22333](https://github.com/civicrm/civicrm-core/pull/22333))**
54ace5d8 320
7001bee7
AF
321- **Fix inaccuracies and mistakes in comments (especially phpdoc comments)
322 ([22334](https://github.com/civicrm/civicrm-core/pull/22334))**
54ace5d8 323
7001bee7
AF
324- **Correctly mark updateStatusMessage method as static
325 ([22335](https://github.com/civicrm/civicrm-core/pull/22335))**
54ace5d8 326
7001bee7
AF
327- **Fix typo. CRM_Core_Execption should be CRM_Core_Exception
328 ([22336](https://github.com/civicrm/civicrm-core/pull/22336))**
54ace5d8 329
7001bee7
AF
330- **APIv3 - Fix overzealous pseudoconstant matching
331 ([22298](https://github.com/civicrm/civicrm-core/pull/22298))**
54ace5d8 332
7001bee7
AF
333- **Allow text to be translated and fix URL paths in calls to docURL() function.
334 ([22311](https://github.com/civicrm/civicrm-core/pull/22311))**
54ace5d8 335
7001bee7
AF
336- **Fix char-set for default escaping
337 ([22306](https://github.com/civicrm/civicrm-core/pull/22306))**
54ace5d8 338
7001bee7
AF
339- **Crash when adding a relationship when CiviMember is disabled
340 ([22451](https://github.com/civicrm/civicrm-core/pull/22451))**
54ace5d8 341
7001bee7
AF
342- **Resources: set language-specific cacheCode, fixes AngularJS translation with
343 multilingual ([22236](https://github.com/civicrm/civicrm-core/pull/22236))**
54ace5d8 344
7001bee7
AF
345- **Do not default-escape weight field on order
346 ([22256](https://github.com/civicrm/civicrm-core/pull/22256))**
54ace5d8 347
ee284998 348- **Move require_once for Smarty modifier due to order issues
7001bee7 349 ([22252](https://github.com/civicrm/civicrm-core/pull/22252))**
54ace5d8 350
7001bee7
AF
351- **Contact/BAO/Query.php: fix searching for whitespace
352 ([22240](https://github.com/civicrm/civicrm-core/pull/22240))**
54ace5d8 353
ee284998 354- **Use new money formatting util for Smarty formatting
700d2c1b
AF
355 ([22309](https://github.com/civicrm/civicrm-core/pull/22309))**
356
7001bee7
AF
357- **Smarty variables] Remove another isset - deferredFinancialType
358 ([22183](https://github.com/civicrm/civicrm-core/pull/22183))**
54ace5d8 359
7001bee7
AF
360- **Smarty variables] Another isset bites the dust
361 ([22186](https://github.com/civicrm/civicrm-core/pull/22186))**
54ace5d8 362
7001bee7
AF
363- **Smarty variables] Remove isset from batch form
364 ([22187](https://github.com/civicrm/civicrm-core/pull/22187))**
54ace5d8 365
7001bee7
AF
366- **[Smarty variables] remove isset from merge screen
367 ([22193](https://github.com/civicrm/civicrm-core/pull/22193))**
54ace5d8 368
ee284998 369- **[Smarty variables] Fix overzealous escaping with Smarty default escaping
7001bee7 370 ([22194](https://github.com/civicrm/civicrm-core/pull/22194))**
54ace5d8 371
7001bee7
AF
372- **[Smarty variables] Remove issets relating to auto_renew
373 ([22195](https://github.com/civicrm/civicrm-core/pull/22195))**
54ace5d8 374
7001bee7
AF
375- **[Smarty variables] Remove issets from payment processor form
376 ([22192](https://github.com/civicrm/civicrm-core/pull/22192))**
54ace5d8 377
7001bee7
AF
378- **Smarty modifier - stop using isset to check taxTerm
379 ([22323](https://github.com/civicrm/civicrm-core/pull/22323))**
54ace5d8 380
ee284998 381- **E-notice fix (Smarty)
7001bee7 382 ([22308](https://github.com/civicrm/civicrm-core/pull/22308))**
54ace5d8 383
7001bee7 384## CiviCampaign
54ace5d8 385
7001bee7
AF
386- **Cleanup Smarty e-notices on campaign dashboard
387 ([22283](https://github.com/civicrm/civicrm-core/pull/22283))**
54ace5d8 388
7001bee7
AF
389- **Fix campaign dashboard to work with default escaping
390 ([22364](https://github.com/civicrm/civicrm-core/pull/22364))**
54ace5d8 391
700d2c1b
AF
392## CiviCase
393
394- **Case activity won't open without a source
395 ([dev/core#2825](https://lab.civicrm.org/dev/core/-/issues/2825):
396 [22243](https://github.com/civicrm/civicrm-core/pull/22243))**
397
398- **APIv4: Confusing error when calling CaseType API
399 ([dev/core#2984](https://lab.civicrm.org/dev/core/-/issues/2984):
400 [22231](https://github.com/civicrm/civicrm-core/pull/22231))**
401
7001bee7 402## CiviContribution
54ace5d8 403
700d2c1b
AF
404- **Repeat Contributions CiviReport warnings: Formatting non-numeric values is
405 no longer supported
406 ([dev/core#2982](https://lab.civicrm.org/dev/core/-/issues/2982):
407 [22217](https://github.com/civicrm/civicrm-core/pull/22217))**
408
7001bee7
AF
409- **Do not apply default escaping to multiselects on currency form
410 ([22294](https://github.com/civicrm/civicrm-core/pull/22294))**
54ace5d8 411
7001bee7
AF
412- **Fix broken links in default modifier mode on manage contributions
413 ([22290](https://github.com/civicrm/civicrm-core/pull/22290))**
54ace5d8 414
7001bee7
AF
415- **Enotice fixes on ContributionPage dash
416 ([22289](https://github.com/civicrm/civicrm-core/pull/22289))**
54ace5d8 417
7001bee7
AF
418- **Fix E_WARNING access array offset on null when creating new contribution
419 page ([22373](https://github.com/civicrm/civicrm-core/pull/22373))**
54ace5d8 420
7001bee7
AF
421- **Ensure we don't get previously set honoree values in receipts
422 ([21483](https://github.com/civicrm/civicrm-core/pull/21483))**
54ace5d8 423
700d2c1b
AF
424- **Follow up fix on recur data
425 ([22301](https://github.com/civicrm/civicrm-core/pull/22301))**
426
7001bee7 427## CiviEvent
54ace5d8 428
700d2c1b
AF
429- **Event Registration: initialize array
430 ([22312](https://github.com/civicrm/civicrm-core/pull/22312))**
431
432 Minor code nitpick to avoid a PHP fatal on PHP 8.0 in certain unusual
433 circumstances.
434
7001bee7
AF
435- **Fix JS Error for Free event with multiple participant on registration
436 ([22310](https://github.com/civicrm/civicrm-core/pull/22310))**
54ace5d8 437
7001bee7 438## Drupal Integration
54ace5d8 439
700d2c1b
AF
440- **Deprecated function drupal_get_installed_schema_version() in 9.3, but with a
441 twist ([dev/drupal#172](https://lab.civicrm.org/dev/drupal/-/issues/172):
442 [22337](https://github.com/civicrm/civicrm-core/pull/22337) and
443 [22350](https://github.com/civicrm/civicrm-core/pull/22350))**
444
445- **"Your browser session has expired and we are unable to complete your form
446 submission" on all D9.2 anonymous sessions
447 ([dev/drupal#169](https://lab.civicrm.org/dev/drupal/-/issues/169):
448 [338](https://github.com/civicrm/civicrm-packages/pull/338))**
449
450 Fixes an error when uploading images to CKEditor via KCFinder.
451
7001bee7
AF
452- **Fix unreplaced template vars in civicrm.settings.php when using drush
453 installer ([67](https://github.com/civicrm/civicrm-drupal-8/pull/67))**
54ace5d8 454
700d2c1b
AF
455- **Drupal Full-Text Search block session time out error
456 ([dev/core#3026](https://lab.civicrm.org/dev/core/-/issues/3026):
457 [22479](https://github.com/civicrm/civicrm-core/pull/22479))**
458
459## WordPress Integration
460
461- **Migrate installers to "setup" API
462 (Work Towards [dev/core#1615](https://lab.civicrm.org/dev/core/-/issues/1615):
463 [264](https://github.com/civicrm/civicrm-wordpress/pull/264))**
464
465 Perform CLI installations using Civi\Setup.
466
7001bee7 467## <a name="misc"></a>Miscellany
54ace5d8 468
700d2c1b
AF
469- **Add workflow template for recurring cancelled
470 ([21611](https://github.com/civicrm/civicrm-core/pull/21611))**
471
472- **Add workflow template classes for contributions
473 ([22340](https://github.com/civicrm/civicrm-core/pull/22340))**
474
475- **Use field value function to get html signature
476 ([22445](https://github.com/civicrm/civicrm-core/pull/22445))**
477
478- **SearchKit - Tweak export explorer link icon + format
479 ([22300](https://github.com/civicrm/civicrm-core/pull/22300))**
480
ee284998 481- **Expose contact ID in getContactInfo method in
700d2c1b
AF
482 CRM/Mailing/Event/BAO/Queue.php
483 ([dev/core#2962](https://lab.civicrm.org/dev/core/-/issues/2962):
484 [22096](https://github.com/civicrm/civicrm-core/pull/22096))**
485
486- **APIv4 Explorer - Format array params using add methods instead of set
487 ([22382](https://github.com/civicrm/civicrm-core/pull/22382))**
488
7001bee7
AF
489- **Update Brick/Money to 0.5.3
490 ([22246](https://github.com/civicrm/civicrm-core/pull/22246))**
54ace5d8 491
7001bee7
AF
492- **Simplify autogenerated boilerplate upgrader class
493 ([22225](https://github.com/civicrm/civicrm-core/pull/22225))**
54ace5d8 494
7001bee7
AF
495- **Upgrade - Bump minimum upgradable version to 4.6.12
496 ([22238](https://github.com/civicrm/civicrm-core/pull/22238))**
54ace5d8 497
7001bee7
AF
498- **Move two more functions to financialProcessor
499 ([21927](https://github.com/civicrm/civicrm-core/pull/21927))**
54ace5d8 500
7001bee7
AF
501- **Formatting cleanup
502 ([22374](https://github.com/civicrm/civicrm-core/pull/22374))**
54ace5d8 503
7001bee7
AF
504- **Rename protected function
505 ([22259](https://github.com/civicrm/civicrm-core/pull/22259))**
54ace5d8 506
7001bee7
AF
507- **Contributor key: Add Matt Trim
508 ([22248](https://github.com/civicrm/civicrm-core/pull/22248))**
54ace5d8 509
7001bee7
AF
510- **5.45.0 release notes: added late changes
511 ([22386](https://github.com/civicrm/civicrm-core/pull/22386))**
54ace5d8 512
7001bee7
AF
513- **Remove handling for always-truthy var being false
514 ([22260](https://github.com/civicrm/civicrm-core/pull/22260))**
54ace5d8 515
ee284998 516- **Remove unnecessary ID attribute.
7001bee7 517 ([22347](https://github.com/civicrm/civicrm-core/pull/22347))**
54ace5d8 518
7001bee7
AF
519- **Remove never passed variables
520 ([22258](https://github.com/civicrm/civicrm-core/pull/22258))**
54ace5d8 521
7001bee7
AF
522- **Remove unused function
523 ([22388](https://github.com/civicrm/civicrm-core/pull/22388))**
54ace5d8 524
7001bee7
AF
525- **Initial refactor of createProfileContact groups
526 ([18158](https://github.com/civicrm/civicrm-core/pull/18158))**
54ace5d8 527
7001bee7
AF
528- **Deprecated function drupal_get_path()
529 ([69](https://github.com/civicrm/civicrm-drupal-8/pull/69))**
54ace5d8 530
7001bee7 531- **Update jquery.tokeninput.js to 1.6.1
700d2c1b 532 ([336](https://github.com/civicrm/civicrm-packages/pull/336))**
54ace5d8 533
7001bee7
AF
534- **Privatise function
535 ([22392](https://github.com/civicrm/civicrm-core/pull/22392))**
54ace5d8 536
7001bee7
AF
537- **Remove unnecessary pass-by-ref
538 ([22393](https://github.com/civicrm/civicrm-core/pull/22393))**
54ace5d8 539
7001bee7 540- **Remove unused function CRM/Utils/Mail/EmailProcessor::cleanupDir
700d2c1b 541 ([22278](https://github.com/civicrm/civicrm-core/pull/22278))**
54ace5d8 542
7001bee7
AF
543- **Remove unused method getGrantStatusOptGroup
544 ([22332](https://github.com/civicrm/civicrm-core/pull/22332))**
54ace5d8 545
7001bee7
AF
546- **Remove unnecessary pass-by-ref
547 ([22279](https://github.com/civicrm/civicrm-core/pull/22279))**
54ace5d8 548
7001bee7
AF
549- **(REF) CRM/Upgrade - Remove unused entrypoint `verifyPreDBstate()`
550 ([22237](https://github.com/civicrm/civicrm-core/pull/22237))**
54ace5d8 551
ee284998 552- **(REF) Remove more params that are unused now function is not shared
7001bee7 553 ([22261](https://github.com/civicrm/civicrm-core/pull/22261))**
54ace5d8 554
ee284998 555- **(REF) Duplicate function to allow us to work it out of the code
7001bee7 556 ([22254](https://github.com/civicrm/civicrm-core/pull/22254))**
54ace5d8 557
ee284998 558- **(REF) Minor parameter simplification
7001bee7 559 ([22253](https://github.com/civicrm/civicrm-core/pull/22253))**
54ace5d8 560
ee284998 561- **(REF) Add in getVersion override for Drupal 8/9 to support cv testing and
7001bee7
AF
562 also cv vars:show picking up the right CMS version
563 ([22220](https://github.com/civicrm/civicrm-core/pull/22220))**
54ace5d8 564
ee284998 565- **(REF) Add getter for priceSetID and use full form flow
7001bee7 566 ([22267](https://github.com/civicrm/civicrm-core/pull/22267))**
54ace5d8 567
ee284998 568- **(REF) Afform - Use APIv4 for managed dashboard
7001bee7 569 ([22213](https://github.com/civicrm/civicrm-core/pull/22213))**
54ace5d8 570
ee284998 571- **(REF) Remove handling for relationshipID
7001bee7 572 ([22391](https://github.com/civicrm/civicrm-core/pull/22391))**
54ace5d8 573
ee284998 574- **(REF) Use `CRM_Contact_BAO_ContactType::basicTypes()` instead of hardcoded
7001bee7 575 lists ([22389](https://github.com/civicrm/civicrm-core/pull/22389))**
54ace5d8 576
ee284998 577- **(REF) Move code into the function
7001bee7 578 ([22288](https://github.com/civicrm/civicrm-core/pull/22288))**
54ace5d8 579
ee284998 580- **(REF) Remove now non-variable variables from previously shared code
7001bee7 581 ([22284](https://github.com/civicrm/civicrm-core/pull/22284))**
54ace5d8 582
ee284998 583- **(REF) Duplicate & unshare processFormContribution
7001bee7 584 ([22276](https://github.com/civicrm/civicrm-core/pull/22276))**
54ace5d8 585
ee284998 586- **(REF) Stop passing this as form, set in function
7001bee7 587 ([22287](https://github.com/civicrm/civicrm-core/pull/22287))**
54ace5d8 588
ee284998 589- **(REF) Deprecated old getContributionStatuses
7001bee7 590 ([22345](https://github.com/civicrm/civicrm-core/pull/22345))**
54ace5d8 591
ee284998 592- **(REF) Simplify getContributionStatuses
7001bee7 593 ([22280](https://github.com/civicrm/civicrm-core/pull/22280))**
54ace5d8 594
ee284998 595- **(REF) Upgrade jQuery UI to 1.13.0
7001bee7 596 ([22583](https://github.com/civicrm/civicrm-core/pull/22583))**
54ace5d8 597
ee284998 598- **(REF) Further cleanup on employer create
7001bee7 599 ([22390](https://github.com/civicrm/civicrm-core/pull/22390))**
54ace5d8 600
7001bee7
AF
601- **HookTest - Fix execution on PHP 8
602 ([266](https://github.com/civicrm/civicrm-wordpress/pull/266))**
54ace5d8 603
7001bee7
AF
604- **Fix membership test fail for Dec 31
605 ([22351](https://github.com/civicrm/civicrm-core/pull/22351))**
54ace5d8 606
7001bee7
AF
607- **Fix tests that fail after 2021
608 ([22352](https://github.com/civicrm/civicrm-core/pull/22352))**
54ace5d8 609
7001bee7
AF
610- **Fix test to use full form flow
611 ([22266](https://github.com/civicrm/civicrm-core/pull/22266))**
54ace5d8 612
7001bee7
AF
613- **Cleanup test class
614 ([22493](https://github.com/civicrm/civicrm-core/pull/22493))**
54ace5d8 615
7001bee7
AF
616- **(NFC) Cleanup test class
617 ([22384](https://github.com/civicrm/civicrm-core/pull/22384))**
54ace5d8 618
ee284998 619- **(NFC) Try to work around failing tests
7001bee7 620 ([22269](https://github.com/civicrm/civicrm-core/pull/22269))**
54ace5d8 621
ee284998 622- **(NFC) Cleanup in Authorize.net test class
7001bee7 623 ([22272](https://github.com/civicrm/civicrm-core/pull/22272))**
54ace5d8 624
ee284998 625- **(NFC) isDir unit test fails on PHP 7 'min' matrix
7001bee7 626 ([22418](https://github.com/civicrm/civicrm-core/pull/22418))**
54ace5d8 627
7001bee7
AF
628- **(NFC) APIv4: Add help info for multi-record custom field sets
629 ([22257](https://github.com/civicrm/civicrm-core/pull/22257))**
54ace5d8 630
ee284998 631- **(NFC) Test cleanup
7001bee7 632 ([22251](https://github.com/civicrm/civicrm-core/pull/22251))**
54ace5d8 633
ee284998 634- **(NFC) Minor cleanup in test class
7001bee7 635 ([22249](https://github.com/civicrm/civicrm-core/pull/22249))**
54ace5d8 636
ee284998 637- **(NFC) Cleanup messy boilerplate
7001bee7 638 ([22224](https://github.com/civicrm/civicrm-core/pull/22224))**
54ace5d8 639
ee284998 640- **(NFC) Delete boilerplate comments and empty functions from upgrade classes
7001bee7 641 ([22226](https://github.com/civicrm/civicrm-core/pull/22226))**
54ace5d8 642
ee284998 643- **(NFC) CRM_Core_Exception incorrectly called without message
7001bee7 644 ([22339](https://github.com/civicrm/civicrm-core/pull/22339))**
54ace5d8 645
ee284998 646- **(NFC) Docblock improvements to Import_Field classes
7001bee7 647 ([22360](https://github.com/civicrm/civicrm-core/pull/22360))**
54ace5d8
AH
648
649## <a name="credits"></a>Credits
650
651This release was developed by the following code authors:
652
7001bee7
AF
653AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
654BrightMinded Ltd - Bradley Taylor; Circle Interactive - Matt Trim;
655CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku;
656Coop SymbioTIC - Mathieu Lutfy; Dave D; Jens Schuppe;
657JMA Consulting - Seamus Lee; Megaphone Technology Consulting - Jon Goldberg;
658Miguel Almeida; MJW Consulting - Matthew Wire;
659Progressive Technology Project - Jamie McClelland; Skvare - Sunil Pawar;
660Squiffle Consulting - Aidan Saunders; Wikimedia Foundation - Eileen McNaughton
54ace5d8
AH
661
662Most authors also reviewed code for this release; in addition, the following
663reviewers contributed their comments:
664
7001bee7
AF
665Artful Robot - Rich Lott; Ben Mango; Betty Dolfing; Christian Wach;
666CiviCoop - Jaap Jansma, Klaas Eikelboom; Coop SymbioTIC - Samuel Vanhove;
667Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit, Peter Davis;
668Greenpeace Central and Eastern Europe - Patrick Figel;
669JMA Consulting - Joe Murray, Monish Deb; Lighthouse Consulting and
670Design - Brian Shaughnessy; Mikey O'Toole; Semper IT - Karin Gerritsen;
671Tadpole Collective - Kevin Cristiano; tapashdatta;
672Third Sector Design - William Mortada; Wikimedia Foundation - Elliott Eggleston