5 - **[Synopsis](#synopsis)**
6 - **[Security advisories](#security)**
7 - **[Features](#features)**
8 - **[Bugs resolved](#bugs)**
9 - **[Miscellany](#misc)**
10 - **[Credits](#credits)**
11 - **[Feedback](#feedback)**
13 ## <a name="synopsis"></a>Synopsis
15 | *Does this version...?* | |
16 |:--------------------------------------------------------------- |:-------:|
17 | Fix security vulnerabilities? | **yes** |
18 | **Change the database schema?** | **yes** |
19 | **Alter the API?** | **yes** |
20 | Require attention to configuration options? | no |
21 | **Fix problems installing or upgrading to a previous version?** | **yes** |
22 | **Introduce features?** | **yes** |
23 | **Fix bugs?** | **yes** |
25 ## <a name="security"></a>Security advisories
27 - **[CIVI-SA-2022-07: APIv3 Access Bypass](https://civicrm.org/advisory/civi-sa-2022-07-apiv3-access-bypass)**
29 ## <a name="features"></a>Features
33 - **System Check - Add a reminder about CIVICRM_SIGN_KEYS.
34 ([23224](https://github.com/civicrm/civicrm-core/pull/23224))**
36 Adds a system status check regarding CIVICRM_SIGN_KEYS.
38 - **Restrict allowed uploads - contact image
39 ([23147](https://github.com/civicrm/civicrm-core/pull/23147))**
41 Restrict file types allowed for the contact image field.
43 - **Add tracking table for import jobs
44 ([dev/core#1307](https://lab.civicrm.org/dev/core/-/issues/1307):
45 [23199](https://github.com/civicrm/civicrm-core/pull/23199) and
46 [23245](https://github.com/civicrm/civicrm-core/pull/23245))**
48 Adds a table for the purpose of tracking user jobs (imports) and associated
49 temp tables and starts tracking the submittedValues and data source with it.
51 - **CustomFields - Improve metadata about which custom groups belong to which
52 entities ([23336](https://github.com/civicrm/civicrm-core/pull/23336))**
54 Makes the relationship between Custom Field Groups, entity types and subtypes
55 discoverable via APIv4 metadata.
57 - **Upgrader - Add support for automatic snapshots
58 ([23522](https://github.com/civicrm/civicrm-core/pull/23522) and
59 [23544](https://github.com/civicrm/civicrm-core/pull/23594))**
61 This adds a utility for recording a snapshot of certain columns in a database
62 table prior to applying any upgrade steps to it. This will make it easier to
63 roll back or compare changes if necessary after the upgrade.
65 The snapshot tables begin with the prefix `snap_civicrm_` and will be cleaned
66 up after a certain number of minor version upgrades. For now, the feature is
67 disabled by default, but you may enable it by adding
69 define('CIVICRM_UPGRADE_SNAPSHOT', TRUE);
73 - **Api4 - minor fixes and updates
74 ([23310](https://github.com/civicrm/civicrm-core/pull/23310))**
76 A few minor tweaks to APIv4 to improve working with extensions that have
79 - **APIv4 - Add NOW() date function
80 ([23378](https://github.com/civicrm/civicrm-core/pull/23378))**
82 Adds a function for NOW to APIv4 which returns the full date+time, and
83 distinguishes it from CURDATE which just returns the date part.
85 - **APIv4 - Add MONTH sql function
86 ([23377](https://github.com/civicrm/civicrm-core/pull/23377))**
88 Adds the MONTH function to APIv4 & SearchKit, which enables e.g. filtering
91 - **APIv4 - Add `is_active` extra field to Domain entity
92 ([22159](https://github.com/civicrm/civicrm-core/pull/22159))**
94 Adds a new calculated field to APIv4 making it easier to get the current
97 - **APIv4 - Add `Managed::reconcile` action.
98 ([23243](https://github.com/civicrm/civicrm-core/pull/23243))**
100 Adds APIv4 wrapper around ManagedEntities->reconcile();
102 - **Implement countFetched() and countMatched() on api4 results.
103 ([22115](https://github.com/civicrm/civicrm-core/pull/22115))**
105 Provides clearer methods for finding out how many API4 results you've got.
107 - **SearchKit - Add data segmentation functionality
108 ([23059](https://github.com/civicrm/civicrm-core/pull/23059))**
110 Creates virtual fields based on flexible segmentation criteria.
112 - **SearchKit - Add date pseudo-fields
113 ([23381](https://github.com/civicrm/civicrm-core/pull/23381))**
115 Exposes date pseudo-fields to SearchKit.
117 - **make survey title available in form builder
118 ([23322](https://github.com/civicrm/civicrm-core/pull/23322))**
120 Makes the Survey title field available in Afform.
122 - **Afform - Dispatch event to alter admin metadata; provide mixin
123 ([23303](https://github.com/civicrm/civicrm-core/pull/23303))**
125 Makes Form-Builder more extensible by allowing extensions to add to the list
126 of available entities, elements, input types, styles, etc.
128 - **Afform - Improve dragging into dropzones
129 ([23239](https://github.com/civicrm/civicrm-core/pull/23239))**
131 Improves the drag-n-drop UX in Afform when composing complex layouts.
133 - **AfformGui - Optional reset button for search and submit forms
134 ([dev/core#3430](https://lab.civicrm.org/dev/core/-/issues/3430):
135 [23334](https://github.com/civicrm/civicrm-core/pull/23334))**
137 Adds a "reset" button for search forms.
139 - **Add icons for SavedSearch and SearchDisplay entities
140 ([23149](https://github.com/civicrm/civicrm-core/pull/23149))**
142 Improves user experience by adding icons for Saved Search and Search Display
145 - **Simplify and improve performance of query to insert updated cache
146 ([21943](https://github.com/civicrm/civicrm-core/pull/21943))**
148 Caching performance improvement.
152 - **Make links to sign a petition easily accessible on the form.
153 ([23316](https://github.com/civicrm/civicrm-core/pull/23316))**
155 Adds links to the bottom of the petition edit form so users can more easily
156 publicize their petition.
160 - **Activity Type + Activity Status + Case Type not being Combined Correctly in
162 ([dev/core#3249](https://lab.civicrm.org/dev/core/-/issues/3249):
163 [23313](https://github.com/civicrm/civicrm-core/pull/23313))**
165 Makes casetype a managed entity.
169 - **Define return parameters for doPayment
170 ([dev/financial#141](https://lab.civicrm.org/dev/financial/-/issues/141):
171 [22683](https://github.com/civicrm/civicrm-core/pull/22683))**
173 Updates return parameters on all payment processors to match expected results.
175 ### Drupal Integration
177 - **Extend command drush civicrm-ext-list for Drupal 8
178 ([72](https://github.com/civicrm/civicrm-drupal-8/pull/72))**
180 Extends the `drush civicrm-ext-list` command to work for drupal 8.
182 ### Wordpress Integration
184 - **WordPress - Display site-theme/decorations on error screens
185 ([22805](https://github.com/civicrm/civicrm-core/pull/22805))**
187 Improve error screen user experience by displaying site theme/decorations.
189 ## <a name="bugs"></a>Bugs resolved
193 - **Improve validation of start and end dates for events, contribution pages and
195 [dev/core#2846](https://lab.civicrm.org/dev/core/-/issues/2846):
196 [21513](https://github.com/civicrm/civicrm-core/pull/21513))**
198 Applies form-level validation to start and end dates.
200 - **Report Filter Statistics don't show filters with value of "0"
201 ([dev/core#3164](https://lab.civicrm.org/dev/core/-/issues/3164):
202 [23191](https://github.com/civicrm/civicrm-core/pull/23191))**
204 - **Fix 'Authorization Failed' regression when submitting eg. webform via
205 checksum ([23607](https://github.com/civicrm/civicrm-core/pull/23607))**
207 This resolves a bug where accessing an entity through APIv3, coming in via a
208 checksum link, results in a failed authorization for the step of updating the
209 recent items stack via APIv4.
211 - **Manage Extensions - Hide nag for core exts
212 ([dev/core#3171](https://lab.civicrm.org/dev/core/-/issues/3171):
213 [23204](https://github.com/civicrm/civicrm-core/pull/23204))**
215 - **AuthX: Breaks sites when Basic Auth is enabled
216 ([dev/core#3416](https://lab.civicrm.org/dev/core/-/issues/3416):
217 [22837](https://github.com/civicrm/civicrm-core/pull/22837))**
219 - **Save button on API4 explorer is misleading
220 ([dev/core#3155](https://lab.civicrm.org/dev/core/-/issues/3155):
221 [23144](https://github.com/civicrm/civicrm-core/pull/23144))**
223 - **APIv4 - Support pseudoconstant suffixes in getFields
224 ([23348](https://github.com/civicrm/civicrm-core/pull/23348))**
226 - **APIv4 - Deprecate unnecessary event
227 ([23311](https://github.com/civicrm/civicrm-core/pull/23311))**
229 - **SearchKit - Consistently check for date field
230 ([23354](https://github.com/civicrm/civicrm-core/pull/23354))**
232 - **SearchKit - Ensure all date and timestamp fields are presented with datepicker
233 ([23335](https://github.com/civicrm/civicrm-core/pull/23335))**
235 - **SearchKit - Keep label when switching entity
236 ([23319](https://github.com/civicrm/civicrm-core/pull/23319))**
238 - **SearchKit - Move grid css to its own file
239 ([23315](https://github.com/civicrm/civicrm-core/pull/23315))**
241 - **SearchKit - Fix 'undefined var' error after import
242 ([23572](https://github.com/civicrm/civicrm-core/pull/23572))**
244 Fixes an unresponsive screen after importing multiple records into SearchKit
245 (using the Import dialog).
247 - **add missing Parishes of Bermuda (civicrm_state_province)
248 ([23339](https://github.com/civicrm/civicrm-core/pull/23339))**
250 - **PR 22070 follow-up: reinstate respecting no_display on report column headers
251 ([23321](https://github.com/civicrm/civicrm-core/pull/23321))**
253 Respect no_display on report column headers.
255 - **Remove preferred email format from inline edit
256 ([23269](https://github.com/civicrm/civicrm-core/pull/23269))**
258 - **Do not escape wizard class - procede straight to Hogwarts
259 ([23185](https://github.com/civicrm/civicrm-core/pull/23185))**
261 - **jira/browse/CRM-18217 On the website front-end, CiviCRM page heading should
262 start from h2 and not h1
263 ([23324](https://github.com/civicrm/civicrm-core/pull/23324))**
265 - **Disable scrolling on time inputs
266 ([dev/user-interface#47](https://lab.civicrm.org/dev/user-interface/-/issues/47):
267 [23264](https://github.com/civicrm/civicrm-core/pull/23264))**
269 - **SearchKit - Fix selection of fields when creating a Data Segment
270 ([23265](https://github.com/civicrm/civicrm-core/pull/23265))**
272 - **APIv4 - Fix fatal error on getFields when passing in contact id
273 ([23389](https://github.com/civicrm/civicrm-core/pull/23389))**
275 - **ACLCache: Efficiency. Fix duplicate inserts
276 ([21993](https://github.com/civicrm/civicrm-core/pull/21993))**
278 - **Update expired root certs (5.50)
279 ([23387](https://github.com/civicrm/civicrm-core/pull/23387))**
281 - **Fix 'Table already exists' error when running 5.50 upgrade twice
282 ([23355](https://github.com/civicrm/civicrm-core/pull/23355))**
284 - **5.50.alpha1.mysql.tpl - Escape `grouping` (reserved word in MySQL 8.0)
285 ([23396](https://github.com/civicrm/civicrm-core/pull/23396))**
287 - **Import code cleanup (Work Towards
288 [dev/core#3414](https://lab.civicrm.org/dev/core/-/issues/3414):
289 [23291](https://github.com/civicrm/civicrm-core/pull/23291))**
291 Stop dropping temp table on finish of contact import job.
293 - **[Import] Upgrade saved import names for contacts
294 ([23288](https://github.com/civicrm/civicrm-core/pull/23288))**
296 Fixes the Contact import such that the name field hold the name of the field
297 being upgraded to rather than the label (and fixes the import such that it
298 expects name going forwards).
300 - **[Import] Enotice fix on contact import field mapping screen
301 ([23306](https://github.com/civicrm/civicrm-core/pull/23306))**
303 - **[Import] Output errors, duplicates csvs directly from the user job table
304 ([23292](https://github.com/civicrm/civicrm-core/pull/23292))**
306 - **Import - fix comment
307 ([23361](https://github.com/civicrm/civicrm-core/pull/23361))**
309 - **resolve TypeError: unsupported operand types: string + int;
310 ([23015](https://github.com/civicrm/civicrm-core/pull/23015))**
312 - **Ensure tags fields are assigned to tpl for email form test
313 ([23183](https://github.com/civicrm/civicrm-core/pull/23183))**
315 - **Don't overescape links in pledge tab
316 ([23206](https://github.com/civicrm/civicrm-core/pull/23206))**
318 - **Don't overescape tab links
319 ([23205](https://github.com/civicrm/civicrm-core/pull/23205))**
321 - **🪲 🪳 Bug Fix: The option "Enable multiple bulk email address for a contact"
322 does not apply when editing a Contact, only works for inline edit of email
323 addresses ([23082](https://github.com/civicrm/civicrm-core/pull/23082))**
325 - **Translation - distinguish between 'On' for date and 'On'/'Off'
326 ([23379](https://github.com/civicrm/civicrm-core/pull/23379))**
328 - **getSelfServiceEligibility: fix string translation
329 ([23163](https://github.com/civicrm/civicrm-core/pull/23163))**
331 - **Centralise skipColumnHeader to one function (fixes notices, cleans code)
332 ([23135](https://github.com/civicrm/civicrm-core/pull/23135))**
334 - **✍🏼 Fix spelling of "additional". Numerous uses of "additonal"
335 ([23162](https://github.com/civicrm/civicrm-core/pull/23162))**
337 - **Ensure deleteURL variable for ContactImage.tpl
338 ([23150](https://github.com/civicrm/civicrm-core/pull/23150))**
340 - **Don't overescape weights in default-escape mode
341 ([23152](https://github.com/civicrm/civicrm-core/pull/23152))**
343 - **Avoid PHP notices on FinancialAccount table
344 ([23151](https://github.com/civicrm/civicrm-core/pull/23151))**
346 - **Apply nodefaults to row actions
347 ([23207](https://github.com/civicrm/civicrm-core/pull/23207))**
349 - **Add nodefaults to access.tpl
350 ([23208](https://github.com/civicrm/civicrm-core/pull/23208))**
352 - **Add nodefaults to group edit form
353 ([23225](https://github.com/civicrm/civicrm-core/pull/23225))**
355 - **Add smarty:nodefaults to ManageEvent page.
356 ([23173](https://github.com/civicrm/civicrm-core/pull/23173))**
358 - **Add smarty:nodefaults to default.tpl form.
359 ([23153](https://github.com/civicrm/civicrm-core/pull/23153))**
361 - **Apply nodefaults to contact tabs for escape-on-output
362 ([23232](https://github.com/civicrm/civicrm-core/pull/23232))**
364 - **MultipleRecordFieldsListing.tpl - JS strings should us JS escaping
365 ([23499](https://github.com/civicrm/civicrm-core/pull/23499))**
369 - **update-supporter-url
370 ([23287](https://github.com/civicrm/civicrm-core/pull/23287))**
374 - **Case Resources cuts off at 25 contacts when creating case activity
375 ([dev/core#3431](https://lab.civicrm.org/dev/core/-/issues/3431):
376 [23327](https://github.com/civicrm/civicrm-core/pull/23327))**
378 Case activity only has 25 contacts listed from Case Resources in the Send Copy
383 - **Paypal pro, a.net ipn - do not update start date, status
384 ([23156](https://github.com/civicrm/civicrm-core/pull/23156))**
386 - **Compare currencies as well as amounts on template Contribution change
387 ([23298](https://github.com/civicrm/civicrm-core/pull/23298))**
389 - **Start to fix misnamed FinancialTrxn bao
390 ([23190](https://github.com/civicrm/civicrm-core/pull/23190))**
392 - **ensure checkbox custom fields on contributions import properly
393 ([23246](https://github.com/civicrm/civicrm-core/pull/23246))**
395 - **Always assign pay_later_receipt
396 ([23080](https://github.com/civicrm/civicrm-core/pull/23080))**
398 - **Contribution dashboard links work in escape-on-output mode
399 ([23174](https://github.com/civicrm/civicrm-core/pull/23174))**
401 - **Improve financial trxn spec to require required fields
402 ([22571](https://github.com/civicrm/civicrm-core/pull/22571))**
404 - **Always use cancelSubscription form for cancelling recurring contributions
405 ([23210](https://github.com/civicrm/civicrm-core/pull/23210))**
407 - **financialacls core extension uses a global callback in
408 hook_civicrm_container, which might be iffy
409 ([dev/core#3184](https://lab.civicrm.org/dev/core/-/issues/3184):
410 [23268](https://github.com/civicrm/civicrm-core/pull/23268))**
412 Definitively load main files during bootstrap.
414 - **Fix empty money handling
415 ([23528](https://github.com/civicrm/civicrm-core/pull/23528))**
417 Tokens representing money fields will now default to 0 for empty values.
419 - **Calculate unit_price based on qty
420 ([23566](https://github.com/civicrm/civicrm-core/pull/23566))**
422 This resolves a bug when a template contribution was created for a recurring
423 contribution: the unit_price on the line item was set to match the line_total,
428 - **batch geocode API does not process event addresses
429 ([dev/core#3439](https://lab.civicrm.org/dev/core/-/issues/3439):
430 [23351](https://github.com/civicrm/civicrm-core/pull/23351))**
432 - **Event template scheduled reminders lost when creating a new event using API4
433 ([dev/core#3183](https://lab.civicrm.org/dev/core/-/issues/3183):
434 [23238](https://github.com/civicrm/civicrm-core/pull/23238))**
436 - **Scheduled Reminders "Additional Recipients" feature sends at wrong time, is
437 incompatible with tokens
438 ([dev/core#1836](https://lab.civicrm.org/dev/core/-/issues/1836):
439 [23101](https://github.com/civicrm/civicrm-core/pull/23101))**
441 - **Event self-service cancel: allow cancelling Waitlist registration
442 ([23164](https://github.com/civicrm/civicrm-core/pull/23164))**
446 - **send group subscription welcome email only if template is enabled
447 ([23139](https://github.com/civicrm/civicrm-core/pull/23139))**
452 ([23229](https://github.com/civicrm/civicrm-core/pull/23229))**
454 Remove limit when printing labels from member search action.
456 - **Set default values on MembershipView to stop PHP notices
457 ([22664](https://github.com/civicrm/civicrm-core/pull/22664))**
459 ### Drupal Integration
461 - **Epic: Drupal 10 readiness (Work Towards
462 [dev/drupal#176](https://lab.civicrm.org/dev/drupal/-/issues/176):
463 [23302](https://github.com/civicrm/civicrm-core/pull/23302))**
465 Fixes the 'Error: Class "Symfony\Cmf\Component\Routing\RouteObjectInterface"
466 not found' when using cv in drupal 9 and 10.
468 ## <a name="misc"></a>Miscellany
470 - **ManagedEntities - Allow targeted reconciliation. Add hook parameter.
472 ([22959](https://github.com/civicrm/civicrm-core/pull/22959))**
475 ([23362](https://github.com/civicrm/civicrm-core/pull/23362))**
477 - **[Import] Rename dedupe rule id field from dedupe to dedupe_rule_id field
478 ([23263](https://github.com/civicrm/civicrm-core/pull/23263))**
480 - **Add import function to parser
481 ([23338](https://github.com/civicrm/civicrm-core/pull/23338))**
484 ([23244](https://github.com/civicrm/civicrm-core/pull/23244))**
486 - **Update phpleague/csv from 9.2 to 9.6 (supports php 8)
487 ([dev/core#3172](https://lab.civicrm.org/dev/core/-/issues/3172):
488 [23180](https://github.com/civicrm/civicrm-core/pull/23180))**
490 - **Stop adding obsolete currencies to new installs
491 ([23345](https://github.com/civicrm/civicrm-core/pull/23345))**
493 - **Managed entity cleanup
494 ([23251](https://github.com/civicrm/civicrm-core/pull/23251))**
496 - **Take a reality check on moneyCleaning in test
497 ([23215](https://github.com/civicrm/civicrm-core/pull/23215))**
499 - **Minor simplification of getAmountLevelText
500 ([23159](https://github.com/civicrm/civicrm-core/pull/23159))**
502 - **Standardise activity datasource text
503 ([23217](https://github.com/civicrm/civicrm-core/pull/23217))**
505 - **Standardise participant import text
506 ([23218](https://github.com/civicrm/civicrm-core/pull/23218))**
508 - **Standardize DataSource file for Contribution & Membership
509 ([23186](https://github.com/civicrm/civicrm-core/pull/23186))**
511 - **Release - Set version compatibility for core extensions when updating core
512 ([23143](https://github.com/civicrm/civicrm-core/pull/23143))**
514 - **Make static function static - processCaseTags
515 ([23278](https://github.com/civicrm/civicrm-core/pull/23278))**
517 - **Whitespace cleanup in template file
518 ([23277](https://github.com/civicrm/civicrm-core/pull/23277))**
520 - **IDE cheer - cast var explicitly to an int
521 ([23350](https://github.com/civicrm/civicrm-core/pull/23350))**
523 - **Remove unused variable
524 ([23352](https://github.com/civicrm/civicrm-core/pull/23352))**
526 - **Minor function simplification in private function
527 ([23364](https://github.com/civicrm/civicrm-core/pull/23364))**
529 - **ManagedEntities - Update version number for mgd-php
530 ([23422](https://github.com/civicrm/civicrm-core/pull/23422))**
532 - **Minor readability improvement
533 ([23157](https://github.com/civicrm/civicrm-core/pull/23157))**
535 - **Cleanup crmMailing/Templates.js
536 ([23188](https://github.com/civicrm/civicrm-core/pull/23188))**
538 - **Further simplify variable retrieval
539 ([23172](https://github.com/civicrm/civicrm-core/pull/23172))**
541 - **Remove unused parameter from private function
542 ([23194](https://github.com/civicrm/civicrm-core/pull/23194))**
544 - **Remove code only needed by Drupal6
545 ([23212](https://github.com/civicrm/civicrm-core/pull/23212))**
547 - **Remove unused function
548 ([23200](https://github.com/civicrm/civicrm-core/pull/23200))**
550 - **Remove an unset variable
551 ([23285](https://github.com/civicrm/civicrm-core/pull/23285))**
553 - **Remove some copy & paste
554 ([23171](https://github.com/civicrm/civicrm-core/pull/23171))**
556 - **Remove another good intention - unused variables
557 ([23275](https://github.com/civicrm/civicrm-core/pull/23275))**
559 - **Reduce use of reference
560 ([23165](https://github.com/civicrm/civicrm-core/pull/23165))**
562 - **Remove-single-value-loop
563 ([23155](https://github.com/civicrm/civicrm-core/pull/23155))**
565 - **[REF] [Import] Use shared file instead of now-identical files
566 ([23216](https://github.com/civicrm/civicrm-core/pull/23216))**
568 - **[REF] [Import] Standardise import text for CustomData import
569 ([23219](https://github.com/civicrm/civicrm-core/pull/23219))**
571 - **[Ref] [Import] [csv] Remove non-functional code
572 ([23195](https://github.com/civicrm/civicrm-core/pull/23195))**
574 - **[REF] [Import] Handle limit with more sanity
575 ([23262](https://github.com/civicrm/civicrm-core/pull/23262))**
577 - **[Import] [Ref] Simplify string concatenation
578 ([23330](https://github.com/civicrm/civicrm-core/pull/23330))**
580 - **[REF][Import] (minor) Extract getHightlightedFields
581 ([23304](https://github.com/civicrm/civicrm-core/pull/23304))**
583 - **[REF] [Import] Obsolete if removal
584 ([23253](https://github.com/civicrm/civicrm-core/pull/23253))**
586 - **[REF] [Import] [Custom] Remove another in-between class
587 ([23222](https://github.com/civicrm/civicrm-core/pull/23222))**
589 - **[REF] [Import] [Trivial] Minor test fixes
590 ([23341](https://github.com/civicrm/civicrm-core/pull/23341))**
592 - **[REF] [Import] Trivial - simplify variable
593 ([23347](https://github.com/civicrm/civicrm-core/pull/23347))**
595 - **[REF] [Import] Ensure jobID is set in contact flow
596 ([23280](https://github.com/civicrm/civicrm-core/pull/23280))**
598 - **[REF] [Import] call non-deprecated function instead of deprecated
599 ([23293](https://github.com/civicrm/civicrm-core/pull/23293))**
601 - **[REF] [Import] [Trivial] Make 'mapper' field available as a submittable
602 value throughout the flow
603 ([23308](https://github.com/civicrm/civicrm-core/pull/23308))**
605 - **[REF] [Import] Extract getContactType
606 ([23284](https://github.com/civicrm/civicrm-core/pull/23284))**
608 - **[REF] [Import] [Trivial] Make mapperKeys parameter optional in construct
609 ([23307](https://github.com/civicrm/civicrm-core/pull/23307))**
611 - **[REF] [Import] [Trivial] Extract duplicate match options
612 ([23300](https://github.com/civicrm/civicrm-core/pull/23300))**
614 - **[REF] [Import] Remove another good intention from the import class
615 ([23261](https://github.com/civicrm/civicrm-core/pull/23261))**
617 - **[REF] [Import] Stop overloading dataSource form
618 ([23237](https://github.com/civicrm/civicrm-core/pull/23237))**
620 - **[REF] [Import] Remove meaningless code
621 ([23242](https://github.com/civicrm/civicrm-core/pull/23242))**
623 - **[REF] [Import] remove pointless fini functions.
624 ([23241](https://github.com/civicrm/civicrm-core/pull/23241))**
626 - **[REF] [Import] Remove warning count - never returned
627 ([23240](https://github.com/civicrm/civicrm-core/pull/23240))**
629 - **[Ref] [Import] Remove another good intention....mapField
630 ([23236](https://github.com/civicrm/civicrm-core/pull/23236))**
632 - **[REF] [Import] Remove last in-between parser class
633 ([23227](https://github.com/civicrm/civicrm-core/pull/23227))**
635 - **[Ref] [Import] Remove another 'in-between' class
636 ([23221](https://github.com/civicrm/civicrm-core/pull/23221))**
638 - **[REF] [Import] [Contact] Remove in-between class
639 ([23223](https://github.com/civicrm/civicrm-core/pull/23223))**
641 - **[Ref] [Import] Cleanup cleanup on old tables for form re-submission
642 ([23276](https://github.com/civicrm/civicrm-core/pull/23276))**
644 - **[REF] [Import] Trivial - simplify variable
645 ([23360](https://github.com/civicrm/civicrm-core/pull/23360))**
647 - **[REF][Import] [Contact] Clean up preview screen
648 ([23340](https://github.com/civicrm/civicrm-core/pull/23340))**
650 - **[Import] [Ref] [Contact] Extract row mapping and add test
651 ([23342](https://github.com/civicrm/civicrm-core/pull/23342))**
653 - **[Ref] [Import] Add extra functions to DataSource
654 ([23344](https://github.com/civicrm/civicrm-core/pull/23344))**
656 - **[REF] [Import] Trivial - simplify variable
657 ([23349](https://github.com/civicrm/civicrm-core/pull/23349))**
659 - **(REF) CryptoRegistry - Fix type declaration
660 ([23220](https://github.com/civicrm/civicrm-core/pull/23220))**
662 - **[REF] [Import] extract validation functionality
663 ([23371](https://github.com/civicrm/civicrm-core/pull/23371))**
665 - **[REF] [Import] Trivial - simplify variables
666 ([23369](https://github.com/civicrm/civicrm-core/pull/23369))**
668 - **[Ref] Get rid of private deprecated legacy function
669 ([23375](https://github.com/civicrm/civicrm-core/pull/23375))**
671 - **[REF] Do not treat site having a default location type as optional
672 ([23282](https://github.com/civicrm/civicrm-core/pull/23282))**
674 - **[REF] Minor code simplifcation - reduce silly lines
675 ([23368](https://github.com/civicrm/civicrm-core/pull/23368))**
677 - **[REF] [Import] Remove unused tpl assign showColNames
678 ([23366](https://github.com/civicrm/civicrm-core/pull/23366))**
680 - **[Import] [Ref] [Minor] Simplify error handling with a try-catch block
681 ([23370](https://github.com/civicrm/civicrm-core/pull/23370))**
683 - **[Ref][Import] Remove another good intention - random email counting
684 ([23367](https://github.com/civicrm/civicrm-core/pull/23367))**
686 - **[REF] [Import] Simplify dataSource contract - remove unused preProcess
687 ([23272](https://github.com/civicrm/civicrm-core/pull/23272))**
689 - **[REF] [Import] Trivial - simplify variables
690 ([23363](https://github.com/civicrm/civicrm-core/pull/23363))**
692 - **(REF) Fix test to use full flow
693 ([23160](https://github.com/civicrm/civicrm-core/pull/23160))**
695 - **[REF] Extract getContributionRecurID
696 ([23158](https://github.com/civicrm/civicrm-core/pull/23158))**
698 - **[REF] [Import] Stop passing submittedValues as parameters
699 ([23343](https://github.com/civicrm/civicrm-core/pull/23343))**
701 - **[REF] [Import] Remove another good intention - import 'conflicts'
702 ([23380](https://github.com/civicrm/civicrm-core/pull/23380))**
704 - **[REF] Code cleanup on location entities for the Contact Summary screen
705 ([22967](https://github.com/civicrm/civicrm-core/pull/22967))**
707 - **[REF] Fix test to use form flow / helper
708 ([23211](https://github.com/civicrm/civicrm-core/pull/23211))**
710 - **[REF][Test] Update loadMappingTest to use form flow
711 ([23286](https://github.com/civicrm/civicrm-core/pull/23286))**
713 - **[REF] Do not pass form properties within the form
714 ([23213](https://github.com/civicrm/civicrm-core/pull/23213))**
716 - **(NFC) authx - Update descriptions and links in `info.xml`
717 ([23169](https://github.com/civicrm/civicrm-core/pull/23169))**
719 - **(NFC) mixin/**.php - Add @since tags
720 ([23423](https://github.com/civicrm/civicrm-core/pull/23423) and
721 [23440](https://github.com/civicrm/civicrm-core/pull/23440))**
723 - **(NFC) Skip CliRunnerTest on php80+drush+Backdrop
724 ([23184](https://github.com/civicrm/civicrm-core/pull/23184))**
726 - **NFC Minor cleanup to Participant confirm
727 ([23357](https://github.com/civicrm/civicrm-core/pull/23357))**
729 - **[NFC] Fix APIv4 docblock annotations for Managed API
730 ([23359](https://github.com/civicrm/civicrm-core/pull/23359))**
732 - **E2E_Core_ErrorTest - Demonstrate whether error pages are well-formed
733 ([23257](https://github.com/civicrm/civicrm-core/pull/23257))**
735 - **(E2E) `testErrorChrome` - Update assertions for page-chrome
736 ([23397](https://github.com/civicrm/civicrm-core/pull/23397))**
738 - **(E2E) testErrorChrome - Skip Backdrop and D8+ (much like D7)
739 ([23398](https://github.com/civicrm/civicrm-core/pull/23398))**
741 ## <a name="credits"></a>Credits
743 This release was developed by the following code authors:
745 AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
746 Benjamin W; BrightMinded Ltd - Bradley Taylor; Circle Interactive - Pradeep
747 Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop
748 SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Freeform Solutions - Herb
749 van den Dool; Ginkgo Street Labs - Michael Z Daryabeygi; iXiam - Luciano
750 Spiegel; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Joinery -
751 Allen Shaw; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone
752 Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive
753 Technology Project - Jamie McClelland; Third Sector Design - Kurund Jalmi;
754 Wikimedia Foundation - Eileen McNaughton
756 Most authors also reviewed code for this release; in addition, the following
757 reviewers contributed their comments:
759 Andreas Howiller; Andy Burns; Artful Robot - Rich Lott; Australian Greens - John
760 Twyman; Betty Dolfing; Christian Wach; Circle Interactive - Dave Jenkins, Matt
761 Trim; CiviCoop - Jaap Jansma; iXiam - Vangelis Pantazis; JMA Consulting - Edsel
762 Lopez; John Kingsnorth; Joinery - Allen Shaw; Nicol Wistreich; Tadpole
763 Collective - Kevin Cristiano
765 ## <a name="feedback"></a>Feedback
767 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
768 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm