- **[Credits](#credits)**
- **[Feedback](#feedback)**
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?* | |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities? | no |
+| **Change the database schema?** | **yes** |
+| **Alter the API?** | **yes** |
+| Require attention to configuration options? | no |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?** | **yes** |
+| **Fix bugs?** | **yes** |
+
## <a name="features"></a>Features
-## <a name="bugs"></a>Bugs resolved
+### CiviCRM Core
-### Core CiviCRM
+- **Import validate related contacts in the same way as the main contact
+ ([23455](https://github.com/civicrm/civicrm-core/pull/23455))**
+
+ Improves validation of related contacts when importing by using the same
+ logic that is used for the main contact.
+
+- **Import - make tracking fields import-specific
+ ([23692](https://github.com/civicrm/civicrm-core/pull/23692))**
-- **dev/core#3680 - Currency incorrectly displayed for price set when default is not USD ([23867](https://github.com/civicrm/civicrm-core/pull/23867))**
+ Makes it so administrators can define the fields they track when importing.
-- **dev/core#3675 Fix Permissioned Relationship pseudoconstant ([23865](https://github.com/civicrm/civicrm-core/pull/23865))**
+- **Use UI Queue runner for import
+ ([23669](https://github.com/civicrm/civicrm-core/pull/23669) and
+ [23712](https://github.com/civicrm/civicrm-core/pull/23712))**
-- **dev/core#3665 import summary fixes ([23839](https://github.com/civicrm/civicrm-core/pull/23839))**
+ Improves Import experience by using UI Queue runner.
-- **dev/core#3673 do not attempt to import empty related contact ([23849](https://github.com/civicrm/civicrm-core/pull/23849))**
+- **Civi::queue() - Add support for 'template' queues
+ ([23679](https://github.com/civicrm/civicrm-core/pull/23679))**
-- **Refs: dev/core#3671 Fix regression involving CiviCRM Webform + Cases. ([23836](https://github.com/civicrm/civicrm-core/pull/23836))**
+ Adds support for creating template queues.
-- **[REF] Update Guzzle to be 6.5.8 ([23858](https://github.com/civicrm/civicrm-core/pull/23858))**
+- **CRM_Queue_Task - Track an optional `$runAs` property
+ ([23743](https://github.com/civicrm/civicrm-core/pull/23743))**
-- **fixes core#3661: Don't check API permissions in CRM_Mailing_BAO_Mailing::getGroupNames() ([23822](https://github.com/civicrm/civicrm-core/pull/23822))**
+ Adds tracking for the Queue task `$runAs` property.
-- **[REF] dev/core#3658 Regenerate civicrm_generated to ensure that group… ([23842](https://github.com/civicrm/civicrm-core/pull/23842))**
+- **CRM_Queue_Runner - Add basic/skeletal support for `runAllInteractively()`
+ ([23746](https://github.com/civicrm/civicrm-core/pull/23746))**
-- **Add view link to user job monitoring page ([23838](https://github.com/civicrm/civicrm-core/pull/23838))**
+ Adds a third Queue Runner mechanism/helper `runAllInteractively`.
-- **dev/core#3662 increase length of import table status message ([23821](https://github.com/civicrm/civicrm-core/pull/23821))**
+- **Queue - When UserJob has no more tasks, update status & fire hook
+ ([23711](https://github.com/civicrm/civicrm-core/pull/23711))**
-- **dev/core#3667 fix failure to match existing contacts in skip mode ([23835](https://github.com/civicrm/civicrm-core/pull/23835))**
+ Updates the queue status when all tasks in the queue have been completed.
-- **dev/core#3663 fix output regression on csv output for import ([23823](https://github.com/civicrm/civicrm-core/pull/23823))**
+- **Define more usable queue DX for multithreaded background work (Work Towards
+ [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304):
+ [22762](https://github.com/civicrm/civicrm-core/pull/22762) and
+ [23667](https://github.com/civicrm/civicrm-core/pull/23667))**
-- **Afform - fix dependency injection for autogenerated forms ([23818](https://github.com/civicrm/civicrm-core/pull/23818))**
+ Defines 'status' and 'error' columns for `civicrm_queue` table and allows
+ background worker to drive tasks via APIv4.
-- **Handle empty date token gracefully ([23827](https://github.com/civicrm/civicrm-core/pull/23827))**
+- **Enable ability to require tags in profiles
+ ([23645](https://github.com/civicrm/civicrm-core/pull/23645))**
-- **(dev/core#3660) Ensure that rebuildMenuAndCaches has current mixins+classloaders ([23824](https://github.com/civicrm/civicrm-core/pull/23824))**
+ Enables the ability to make the Tag field required in a profile.
-- **SearchKit - Only add filter values to Afform title if passed internally ([23807](https://github.com/civicrm/civicrm-core/pull/23807))**
+- **Add view link to user job monitoring page
+ ([23838](https://github.com/civicrm/civicrm-core/pull/23838))**
-- **[REF] Fix second output in customFormat function and extend unit test ([23815](https://github.com/civicrm/civicrm-core/pull/23815))**
+ Improves user experience by adding a view link to the user job monitoring
+ page.
-- **Fix breakage in message preview on workflow contributions ([23801](https://github.com/civicrm/civicrm-core/pull/23801))**
+- **Add upgrade for label to name conversion in `civicrm_mapping_field` for
+ multiple custom imports
+ ([23737](https://github.com/civicrm/civicrm-core/pull/23737))**
-- **dev/financial#197 Revert freezing on total_amount field on recurring form (alt to #23796) ([23805](https://github.com/civicrm/civicrm-core/pull/23805))**
+ Improves import experience when importing custom fields that allow multiple
+ values.
-- **Fix Automatic renewal membership from front end contribution forms ([23798](https://github.com/civicrm/civicrm-core/pull/23798))**
+- **RelationshipCache - Set 'get' permissions
+ ([23684](https://github.com/civicrm/civicrm-core/pull/23684))**
-- **dev/core#3502 - CiviEventDispatcher - Softer errors for not-ready. More comments. ([23785](https://github.com/civicrm/civicrm-core/pull/23785))**
+ Gives lesser-permissioned users access to the RelationshipCache entity, for
+ Search Kit.
-- **Add integer validation to import ([23753](https://github.com/civicrm/civicrm-core/pull/23753))**
+- **Make this error message more informative.
+ ([23599](https://github.com/civicrm/civicrm-core/pull/23599))**
-- **Fix target contact label back to include target ([23763](https://github.com/civicrm/civicrm-core/pull/23763))**
+ Improves error message text.
-- **dev/core#2706 dev/core#2308 fix activity import to update multi-select fields ([23764](https://github.com/civicrm/civicrm-core/pull/23764))**
+- **Add Authx settings to navigation
+ ([23631](https://github.com/civicrm/civicrm-core/pull/23631))**
-- **only check batch currency match when adding a financial_trxn ([23788](https://github.com/civicrm/civicrm-core/pull/23788))**
+ Adds Authx settings to the Navigation menu.
-- **dev/financial#199 Fix additional details on edit template contribution ([23786](https://github.com/civicrm/civicrm-core/pull/23786))**
+- **APIv4 - Filter custom fields based on supplied values
+ ([23489](https://github.com/civicrm/civicrm-core/pull/23489))**
-- **FiveFiftyOne - Enable snapshots for data modified data ([23783](https://github.com/civicrm/civicrm-core/pull/23783))**
+ Improves APIv4 metadata, allows targeted getfields for a particular entity or
+ type of entity.
-- **dev/core#3651 dev/core#1337 Fix failure to show last column data in output, spaces in names ([23771](https://github.com/civicrm/civicrm-core/pull/23771))**
+- **APIv4 - Export options along with custom field
+ ([23452](https://github.com/civicrm/civicrm-core/pull/23452))**
-- **(dev/core#3653) CRM_Queue_Runner - Fix upgrade warnings. Extract disableBackgroundExecution(). ([23780](https://github.com/civicrm/civicrm-core/pull/23780))**
+ Exports option groups and option values along with a custom field.
-- **dev/core#3513 Remove 'done' from sumary/import monitoring page ([23766](https://github.com/civicrm/civicrm-core/pull/23766))**
+- **Search kit grand totals
+ ([23454](https://github.com/civicrm/civicrm-core/pull/23454))**
-- **fix disableUSPS since import running in separate context of Queue. ([23777](https://github.com/civicrm/civicrm-core/pull/23777))**
+ Adds a row to SearchKit table displays for grand totals, averages, counts and
+ other statistics. The aggregation method used can be configured per-column.
-- **dev/core#3653 Fix on queue runner not working in upgrade ([23775](https://github.com/civicrm/civicrm-core/pull/23775))**
+- **SearchKit - Default to simple pager when creating new table display
+ ([23436](https://github.com/civicrm/civicrm-core/pull/23436))**
-- **Fix import regression - contribution import borks on do_not_import ([23772](https://github.com/civicrm/civicrm-core/pull/23772))**
+ Improves SearchKit user experience by defaulting to a simple pager.
-- **Deduepe - Fix form buttons (again) ([23757](https://github.com/civicrm/civicrm-core/pull/23757))**
+- **SearchKit - add address proximity (map radius) search
+ ([23597](https://github.com/civicrm/civicrm-core/pull/23597))**
-- **[REGRESSION] SearchKit - Fix angular console error when totalCount is not given ([23759](https://github.com/civicrm/civicrm-core/pull/23759))**
+ Allows searching for addresses within a given distance of a location in
+ SearchKit.
-- **dev/core#2325 import second-handling fix ([23754](https://github.com/civicrm/civicrm-core/pull/23754))**
+- **SearchKit - Allow SearchSegments to be packaged as .mgd.php
+ ([23578](https://github.com/civicrm/civicrm-core/pull/23578))**
-- **Catch & convert Guzzle exception ([23765](https://github.com/civicrm/civicrm-core/pull/23765))**
+ Allows SearchSegments to be packaged and distributed in extensions, along
+ with Saved Searches and Search Displays.
-- **Setup - Remove CiviGrant from available components ([23758](https://github.com/civicrm/civicrm-core/pull/23758))**
+- **SearchKit - Make loading placeholders configurable
+ ([23702](https://github.com/civicrm/civicrm-core/pull/23702))**
-- **dev/core#3511 Improve handling of invalid saved mapping fields ([23760](https://github.com/civicrm/civicrm-core/pull/23760))**
+ Allows administrators to control how many (if any) skeleton results are shown
+ during ajax loading. It also lightens the colors to make the animation a bit
+ more subtle.
-- **dev/core#3512 fix rc fatal error when state is invalid ([23761](https://github.com/civicrm/civicrm-core/pull/23761))**
+- **Search-kit - allow functions in the GROUP BY clause
+ ([dev/core#2485](https://lab.civicrm.org/dev/core/-/issues/2485):
+ [23434](https://github.com/civicrm/civicrm-core/pull/23434))**
-- **dev/core#3160 fix inability to import 'just contactid' and add to group ([23756](https://github.com/civicrm/civicrm-core/pull/23756))**
+ Improves SearchKit so that one can have functions in the GROUP BY clause.
-- **dev/core#3505, dev/core#3506 dev/core#3052 Import fixes for unicode url, Côte d’Ivoire ([23755](https://github.com/civicrm/civicrm-core/pull/23755))**
+- **SearchKit - Default to search for individuals
+ ([23385](https://github.com/civicrm/civicrm-core/pull/23385))**
-- **Remove some more unused code ([23747](https://github.com/civicrm/civicrm-core/pull/23747))**
+ When clicking "+ New Search" in Search Kit, defaults to search for Individuals
+ instead of all contacts.
-- **Reduce test output spam ([23750](https://github.com/civicrm/civicrm-core/pull/23750))**
+- **Make SearchKit available to non-admin users
+ ([dev/core#3457](https://lab.civicrm.org/dev/core/-/issues/3457):
+ [23670](https://github.com/civicrm/civicrm-core/pull/23670))**
-- **Update guzzle to 6.5.7 ([23748](https://github.com/civicrm/civicrm-core/pull/23748))**
+ Makes SearchKit available to non-admins by adding a new permission.
-- **Fix for failing test in master ([23751](https://github.com/civicrm/civicrm-core/pull/23751))**
+- **Dashboard - Efficiency tweak
+ ([23439](https://github.com/civicrm/civicrm-core/pull/23439))**
-- **CRM_Queue_Runner - Add basic/skeletal support for `runAllInteractively()` ([23746](https://github.com/civicrm/civicrm-core/pull/23746))**
+ Improves the efficiency of the Dashboard.
-- **Civi::queue() - Add support for 'template' queues ([23679](https://github.com/civicrm/civicrm-core/pull/23679))**
+- **Dashboard - Sort available dashlets alphabetically, add search box
+ ([23438](https://github.com/civicrm/civicrm-core/pull/23438))**
-- **Fix unrelease regression - malformed MapField without skipColumnHeaders ([23744](https://github.com/civicrm/civicrm-core/pull/23744))**
+ Improves user experience of the Dashboard by adding a search box and sorting
+ available dashlets alphabetically.
-- **Remove obsolete/unused code, fix notices - activity import ([23745](https://github.com/civicrm/civicrm-core/pull/23745))**
+- **Dashboard - Show full title when hovering an inactive dashlet
+ ([23433](https://github.com/civicrm/civicrm-core/pull/23433))**
-- **CRM_Queue_Task - Track an optional `$runAs` property ([23743](https://github.com/civicrm/civicrm-core/pull/23743))**
+ Improves user experience on the Dashboard by showing the full title when
+ hovering over an inactive dashlet.
-- **Remove more obsolete import code ([23742](https://github.com/civicrm/civicrm-core/pull/23742))**
+- **Afform - support relationships
+ ([23296](https://github.com/civicrm/civicrm-core/pull/23296))**
-- **Remove unused functions ([23740](https://github.com/civicrm/civicrm-core/pull/23740))**
+ Adds support for Relationships to Afform.
-- **Add upgrade for label to name conversion in `civicrm_mapping_field` for multiple custom imports ([23737](https://github.com/civicrm/civicrm-core/pull/23737))**
+- **Afform - Add undo/redo buttons to the Admin UI
+ ([23648](https://github.com/civicrm/civicrm-core/pull/23648))**
-- **Enable QueueRunner for all imports ([23712](https://github.com/civicrm/civicrm-core/pull/23712))**
+ Improves user experience of Afform by adding undo and redo buttons to the
+ Admin UI.
-- **dev/core#3498 Fix mishandled option values ([23736](https://github.com/civicrm/civicrm-core/pull/23736))**
+- **Afform - Add 'administer afform' permission
+ ([23687](https://github.com/civicrm/civicrm-core/pull/23687))**
-- **Fix test to validate forms & remove some unused code ([23734](https://github.com/civicrm/civicrm-core/pull/23734))**
+ Adds a new permission to allow non-system-admins to access Form Builder
-- **Afform - Trigger 'crmFormSuccess' event after submission ([23735](https://github.com/civicrm/civicrm-core/pull/23735))**
+- **Afform - dispatch event when loading afforms
+ ([23488](https://github.com/civicrm/civicrm-core/pull/23488))**
-- **Afform - allow ids to be passed directly into the directive ([23656](https://github.com/civicrm/civicrm-core/pull/23656))**
+ Adds a hook-event which allows extensions to dynamically add Afforms.
-- **SearchKit - Remove confusing extra joins between Contact & Related Contacts ([23655](https://github.com/civicrm/civicrm-core/pull/23655))**
+### CiviCase
-- **Participant import fix - broken uniqueName fields, mapping saving, ev… ([23733](https://github.com/civicrm/civicrm-core/pull/23733))**
+- **Make CaseType usable in Afform & SearchKit
+ ([23640](https://github.com/civicrm/civicrm-core/pull/23640))**
-- **Issue #3483: parent_id not always available as index ([23730](https://github.com/civicrm/civicrm-core/pull/23730))**
+ Adds the `CaseType` entity to Afform and Searchkit.
-- **[NFC] Remove weird test data file ([23727](https://github.com/civicrm/civicrm-core/pull/23727))**
+### CiviContribute
-- **Fix custom import to work again (broke in master) ([23719](https://github.com/civicrm/civicrm-core/pull/23719))**
+- **Add price set entity api4 support
+ ([23694](https://github.com/civicrm/civicrm-core/pull/23694))**
-- **Added back 'Renewal Message' field on Membership renewal form ([23726](https://github.com/civicrm/civicrm-core/pull/23726))**
+ Extends APIv4 to support the `PriceSet` entity.
-- **Enable ability to require tags in profiles ([23645](https://github.com/civicrm/civicrm-core/pull/23645))**
+- **Proposal - make future recurring contribution instances modifiable & not
+ fail if the only contribution is deleted. (Work Towards
+ [dev/financial#6](https://lab.civicrm.org/dev/financial/-/issues/6):
+ [22487](https://github.com/civicrm/civicrm-core/pull/22487))**
-- **Remove a couple of non-test tests - syntax conformance ([23715](https://github.com/civicrm/civicrm-core/pull/23715))**
+ Makes it so `Contribution.repeattransaction` uses the template contribution.
-- **Fix Contribution import with pledge handling, add test ([23717](https://github.com/civicrm/civicrm-core/pull/23717))**
+### CiviGrant
-- **(dev/core#3496) Missing extension leads to bootstrap error for "hook_civicrm_entityTypes" ([23718](https://github.com/civicrm/civicrm-core/pull/23718))**
+- **CiviGrant - Add prefix to permission label
+ ([23668](https://github.com/civicrm/civicrm-core/pull/23668))**
-- **Trivial extraction - addFormButtons shared code ([23709](https://github.com/civicrm/civicrm-core/pull/23709))**
+ Makes CiviGrant permissions easier to read on the Manage Permissions page.
-- **Contribution import - simplify error handling ([23714](https://github.com/civicrm/civicrm-core/pull/23714))**
+### CiviMail
-- **Fix import activity & add tests ([23707](https://github.com/civicrm/civicrm-core/pull/23707))**
+- **Mailing List Subscription: remove the cancel button
+ ([23696](https://github.com/civicrm/civicrm-core/pull/23696))**
-- **Queue - When UserJob has no more tasks, update status & fire hook ([23711](https://github.com/civicrm/civicrm-core/pull/23711))**
+ Improves user experience by removing the cancel button from the Mailing List
+ Subscription form.
-- **Fix Participant import, add tests ([23703](https://github.com/civicrm/civicrm-core/pull/23703))**
+### Drupal Integration
-- **Fix editing and saving a template contribution via form ([21471](https://github.com/civicrm/civicrm-core/pull/21471))**
+- **Epic: Drupal 10 readiness: Allow wider range of psr-log versions to be
+ installed (Work Towards
+ [dev/drupal#176](https://lab.civicrm.org/dev/drupal/-/issues/176):
+ [23409](https://github.com/civicrm/civicrm-core/pull/23409))**
-- **PHP8.1 - Fix deprecated passing null to glob ([23713](https://github.com/civicrm/civicrm-core/pull/23713))**
+ Work Towards Drupal 10 readiness specifically by allowing a wider range of
+ psr-log versions to be installed.
-- **Expand try-catch to whole function ([23704](https://github.com/civicrm/civicrm-core/pull/23704))**
+## <a name="bugs"></a>Bugs resolved
-- **Minor simplification - use `$self->getContactType(),` ([23710](https://github.com/civicrm/civicrm-core/pull/23710))**
+### Core CiviCRM
-- **dev/backdrop#8 - Move session start into CMS-specific classes. ([23620](https://github.com/civicrm/civicrm-core/pull/23620))**
+- **Dedupe rule creation should display labels of contact types, in case they
+ have been customised
+ ([dev/core#492](https://lab.civicrm.org/dev/core/-/issues/492):
+ [23460](https://github.com/civicrm/civicrm-core/pull/23460))**
-- **dev/core#2325 Fix handling of seconds on import ([23708](https://github.com/civicrm/civicrm-core/pull/23708))**
+- **Can not use Custom Fields defined on a contact_sub_type in dedupe rule
+ ([dev/core#2300](https://lab.civicrm.org/dev/core/-/issues/2300):
+ [23459](https://github.com/civicrm/civicrm-core/pull/23459))**
-- **Import - make tracking fields import-specific ([23692](https://github.com/civicrm/civicrm-core/pull/23692))**
+- **Activity import ignores time component of activity_date_time if the import
+ file includes seconds and always ignores time for custom date fields
+ ([dev/core#2325](https://lab.civicrm.org/dev/core/-/issues/2325):
+ [23754](https://github.com/civicrm/civicrm-core/pull/23754) and
+ [23708](https://github.com/civicrm/civicrm-core/pull/23708))**
-- **Remove unused properties ([23701](https://github.com/civicrm/civicrm-core/pull/23701))**
+- **Muti-select import not working for Activity
+ ([dev/core#2706](https://lab.civicrm.org/dev/core/-/issues/2706)
+ and [dev/core#2308](https://lab.civicrm.org/dev/core/-/issues/2308):
+ [23764](https://github.com/civicrm/civicrm-core/pull/23764))**
-- **Make try-catch more catchy ([23700](https://github.com/civicrm/civicrm-core/pull/23700))**
+- **Import fails on adding contacts to a group using contact ID only
+ ([dev/core#3160](https://lab.civicrm.org/dev/core/-/issues/3160):
+ [23756](https://github.com/civicrm/civicrm-core/pull/23756))**
-- **SearchKit - Make loading placeholders configurable ([23702](https://github.com/civicrm/civicrm-core/pull/23702))**
+- **Add 'yesno' html_type in Settings metadata
+ ([dev/core#3475](https://lab.civicrm.org/dev/core/-/issues/3475):
+ [23525](https://github.com/civicrm/civicrm-core/pull/23525))**
-- **[Import] [Membership] Cleanup, fix form breakage (unreleased regression) ([23689](https://github.com/civicrm/civicrm-core/pull/23689))**
+ Allows 'yesno' as a valid value of `html_type`.
-- **Afform - Add undo/redo buttons to the Admin UI ([23648](https://github.com/civicrm/civicrm-core/pull/23648))**
+- **Primary email is not visually marked as primary
+ ([dev/core#3481](https://lab.civicrm.org/dev/core/-/issues/3481):
+ [23686](https://github.com/civicrm/civicrm-core/pull/23686))**
-- **Use UI Queue runner for import ([23669](https://github.com/civicrm/civicrm-core/pull/23669))**
+ Fixes bug where Primary email was not bolded on the contact summary page when
+ not using english.
-- **[NFC] Fix Since version in Price Set Entity APIv4 ([23698](https://github.com/civicrm/civicrm-core/pull/23698))**
+- **Error when deleting a note: Undefined index: parent_id in
+ CRM_Note_Form_Note->postProcess()
+ ([dev/core#3483](https://lab.civicrm.org/dev/core/-/issues/3483):
+ [23730](https://github.com/civicrm/civicrm-core/pull/23730))**
-- **Afform - Add 'administer afform' permission ([23687](https://github.com/civicrm/civicrm-core/pull/23687))**
+- **Import Custom Data - Review of refactorings (Work Towards
+ [dev/core#3498](https://lab.civicrm.org/dev/core/-/issues/3498):
+ [23736](https://github.com/civicrm/civicrm-core/pull/23736))**
-- **Add not-yet-used function to allow the import to run in static (queue) context ([23691](https://github.com/civicrm/civicrm-core/pull/23691))**
+ Fixes mishandled option values in import custom data code.
-- **Contribution import - tests & fixes on dates, amount ([23688](https://github.com/civicrm/civicrm-core/pull/23688))**
+- **CiviCRM has not bootstrapped sufficiently to fire event
+ "hook_civicrm_entityTypes".
+ ([dev/core#3496](https://lab.civicrm.org/dev/core/-/issues/3496):
+ [23718](https://github.com/civicrm/civicrm-core/pull/23718))**
-- **Typo fix for Entity Id ([23693](https://github.com/civicrm/civicrm-core/pull/23693))**
+ Missing extension leads to bootstrap error for "hook_civicrm_entityTypes".
-- **Add price set entity api4 support ([23694](https://github.com/civicrm/civicrm-core/pull/23694))**
+- **CiviCRM has not bootstrapped sufficiently to fire event
+ "hook_civicrm_entity_supported_info"
+ ([dev/core#3502](https://lab.civicrm.org/dev/core/-/issues/3502):
+ [23785](https://github.com/civicrm/civicrm-core/pull/23785))**
-- **Mailing List Subscription: remove the cancel button ([23696](https://github.com/civicrm/civicrm-core/pull/23696))**
+ Softer errors when CiviEventDispatcher is not-ready.
-- **APIv4 - Allow creator to read `UserJob` and `Queue` records ([23690](https://github.com/civicrm/civicrm-core/pull/23690))**
+- **Import fixes for unicode url, Côte d’Ivoire
+ ([dev/core#3505](https://lab.civicrm.org/dev/core/-/issues/3505),
+ [dev/core#3506](https://lab.civicrm.org/dev/core/-/issues/3506) and
+ [dev/core#3052](https://lab.civicrm.org/dev/core/-/issues/3052):
+ [23755](https://github.com/civicrm/civicrm-core/pull/23755))**
-- **SearchKit - Add "administer search_kit" permission ([23670](https://github.com/civicrm/civicrm-core/pull/23670))**
+- **After completing an activity import, it takes you to the contact import
+ screen ([dev/core#3513](https://lab.civicrm.org/dev/core/-/issues/3513):
+ [23766](https://github.com/civicrm/civicrm-core/pull/23766))**
-- **RelationshipCache - Set 'get' permissions ([23684](https://github.com/civicrm/civicrm-core/pull/23684))**
+ Removes 'done' from the summary/import monitoring page.
-- **[Import] [Contribution] Cleanup templates & form variables, following contact pattern ([23683](https://github.com/civicrm/civicrm-core/pull/23683))**
+- **Fix import activity & add tests
+ ([23707](https://github.com/civicrm/civicrm-core/pull/23707))**
-- **[NFC] Mixin - update version tags and add comment for new version of mgd-php ([23685](https://github.com/civicrm/civicrm-core/pull/23685))**
+ Fixes a Fatal error in MapField.
-- **dev/core#3481 - Don't translate css classes ([23686](https://github.com/civicrm/civicrm-core/pull/23686))**
+- **Activity import error output missing the column the error is about
+ ([dev/core#3651](https://lab.civicrm.org/dev/core/-/issues/3651) and
+ [dev/core#1337](https://lab.civicrm.org/dev/core/-/issues/1337):
+ [23771](https://github.com/civicrm/civicrm-core/pull/23771))**
-- **Contact import - extract common code, make tags & groups queue-friendly ([23680](https://github.com/civicrm/civicrm-core/pull/23680))**
+ Fixes failure to show last column data in output, spaces in names.
-- **[REF] Remove handling for non-existent 'savedMapping' field ([23283](https://github.com/civicrm/civicrm-core/pull/23283))**
+- **Custom data type grouping mismatch
+ (Work Towards [dev/core#3658](https://lab.civicrm.org/dev/core/-/issues/3658):
+ [23842](https://github.com/civicrm/civicrm-core/pull/23842))**
-- **[NFC] Failing test for api chain using sequential ([23675](https://github.com/civicrm/civicrm-core/pull/23675))**
+ Regenerates civicrm_generated to ensure that grouping is added on installs.
-- **Reformat whitespace ([23676](https://github.com/civicrm/civicrm-core/pull/23676))**
+- **When upgrading an extension to use mixins, existing managed entities
+ get deleted ([dev/core#3660](https://lab.civicrm.org/dev/core/-/issues/3660):
+ [23824](https://github.com/civicrm/civicrm-core/pull/23824))**
-- **(dev/core#1304) Queues - Allow background worker to drive tasks via APIv4 ([22762](https://github.com/civicrm/civicrm-core/pull/22762))**
+- **Permissioned Relationship no longer set up for "On Behalf of Organization"
+ Membership Contribution Form submissions
+ ([dev/core#3675](https://lab.civicrm.org/dev/core/-/issues/3675):
+ [23865](https://github.com/civicrm/civicrm-core/pull/23865))**
-- **Deprecate stuff getting super deep into the BAO unformatted ([23520](https://github.com/civicrm/civicrm-core/pull/23520))**
+- **Fix issue #116 api3 chain check_permissions
+ ([23671](https://github.com/civicrm/civicrm-core/pull/23671))**
-- **Contact Import cleanup - includes fixes to contact matchine ([23666](https://github.com/civicrm/civicrm-core/pull/23666))**
+- **Handle empty date token gracefully
+ ([23827](https://github.com/civicrm/civicrm-core/pull/23827))**
-- **APIv3 - Fix regression in handling chained calls with `sequential` ([23672](https://github.com/civicrm/civicrm-core/pull/23672))**
+- **Fix Automatic renewal membership from front end contribution forms
+ ([23798](https://github.com/civicrm/civicrm-core/pull/23798))**
-- **Fix issue #116 api3 chain check_permissions ([23671](https://github.com/civicrm/civicrm-core/pull/23671))**
+- **Fix target contact label back to include target
+ ([23763](https://github.com/civicrm/civicrm-core/pull/23763))**
-- **[REF] Improve Get Coordinates by supporting other geocoding providers… ([23646](https://github.com/civicrm/civicrm-core/pull/23646))**
+- **Dedupe - Fix form buttons (again)
+ ([23757](https://github.com/civicrm/civicrm-core/pull/23757))**
-- **CiviGrant - Add prefix to permission label ([23668](https://github.com/civicrm/civicrm-core/pull/23668))**
+- **Ensure setting deceased date sets is_deceased in the BAO
+ ([23521](https://github.com/civicrm/civicrm-core/pull/23521))**
-- **(dev/core#1304) Queues - Define 'status' and 'error' columns ([23667](https://github.com/civicrm/civicrm-core/pull/23667))**
+- **Fix use of not-universally supported mysql field type
+ ([23501](https://github.com/civicrm/civicrm-core/pull/23501))**
-- **Print report or export report if user have access report permission ([23616](https://github.com/civicrm/civicrm-core/pull/23616))**
+- **Remove extra question mark from url
+ ([23480](https://github.com/civicrm/civicrm-core/pull/23480))**
-- **[UNRELEASED REGRESSION] APIv4 - Fix GetFields to return custom fields with no sub-type ([23657](https://github.com/civicrm/civicrm-core/pull/23657))**
+- **Fix Schema System Check translation and show missing Custom Field ID
+ ([23469](https://github.com/civicrm/civicrm-core/pull/23469))**
-- **Remove no-longer-used function 29 points ([23653](https://github.com/civicrm/civicrm-core/pull/23653))**
+- **php8.1 - Check null first before sending to strlen
+ ([23589](https://github.com/civicrm/civicrm-core/pull/23589))**
-- **[Import] Cleanup Contribution flow - esp with regards to soft credits ([23588](https://github.com/civicrm/civicrm-core/pull/23588))**
+- **PHP8.1 - Fix deprecated passing null to glob
+ ([23713](https://github.com/civicrm/civicrm-core/pull/23713))**
-- **[Import] [Ref] [Contribution] Additional functions, typo fix ([23637](https://github.com/civicrm/civicrm-core/pull/23637))**
+- **Typo fix for Entity Id
+ ([23693](https://github.com/civicrm/civicrm-core/pull/23693))**
-- **Simplify return from createContact ([23635](https://github.com/civicrm/civicrm-core/pull/23635))**
+- **fix to get around link issues in ckeditor when opening scheduled reminder
+ in popup ([23510](https://github.com/civicrm/civicrm-core/pull/23510))**
-- **Merge 5.50 to Master ([23647](https://github.com/civicrm/civicrm-core/pull/23647))**
+- **fix disableUSPS since import running in separate context of Queue.
+ ([23777](https://github.com/civicrm/civicrm-core/pull/23777))**
-- **Fix missing contactID when registering for paid event from waitlist ([23358](https://github.com/civicrm/civicrm-core/pull/23358))**
+- **Expand try-catch to whole function
+ ([23704](https://github.com/civicrm/civicrm-core/pull/23704))**
-- ** Fix State handling to be case insensitive again (unreleased regression) ([23642](https://github.com/civicrm/civicrm-core/pull/23642))**
+- **Make try-catch more catchy
+ ([23700](https://github.com/civicrm/civicrm-core/pull/23700))**
-- **Import - ensure userID is set on parser ([23636](https://github.com/civicrm/civicrm-core/pull/23636))**
+- **Print report permissions
+ ([dev/core#2540](https://lab.civicrm.org/dev/core/-/issues/2540):
+ [23616](https://github.com/civicrm/civicrm-core/pull/23616))**
-- **Fixes for contact matching - unreleased regression ([23643](https://github.com/civicrm/civicrm-core/pull/23643))**
+ Fixes a bug where when disabling the “access Report Criteria” permission, the
+ "Print report" and "Print to PDF" functions on a report appear, but do not
+ function.
-- **Fix createEmployerRelationship to work with the data it has when doing a lookup, test ([23603](https://github.com/civicrm/civicrm-core/pull/23603))**
+- **Fix createEmployerRelationship to work with the data it has when doing a
+ lookup, test ([23603](https://github.com/civicrm/civicrm-core/pull/23603))**
-- **Simplify greeting handling, add test ([23629](https://github.com/civicrm/civicrm-core/pull/23629))**
+- **Fix swapOptions writing over selected options on mapField page load.
+ ([23619](https://github.com/civicrm/civicrm-core/pull/23619))**
-- **show honor roll only if it's enabled for the PCP page ([23567](https://github.com/civicrm/civicrm-core/pull/23567))**
+- **Release lock when deleting cache key
+ ([23624](https://github.com/civicrm/civicrm-core/pull/23624))**
-- **Make CaseType usable in Afform & SearchKit ([23640](https://github.com/civicrm/civicrm-core/pull/23640))**
+- **Greeting handling - if email_greeting_custom (etc) isset &
+ email_greeting_id is not, set to 'Customized'
+ ([23537](https://github.com/civicrm/civicrm-core/pull/23537))**
-- **Deprecate crazy BAO handling of preferred_communication_method ([23623](https://github.com/civicrm/civicrm-core/pull/23623))**
+- **Catch & convert Guzzle exception
+ ([23765](https://github.com/civicrm/civicrm-core/pull/23765))**
-- **(dev/core#3141) Membership should be listed chronologically by join d… ([23056](https://github.com/civicrm/civicrm-core/pull/23056))**
+- **CRM_Utils_Check - Catch Guzzle exception, same as core exception
+ ([23466](https://github.com/civicrm/civicrm-core/pull/23466))**
-- **Minor cleanup on import return codes ([23626](https://github.com/civicrm/civicrm-core/pull/23626))**
+- **Allow for custom base page in AJAX requests
+ ([23420](https://github.com/civicrm/civicrm-core/pull/23420))**
-- **SearchKit - add address proximity (map radius) search ([23597](https://github.com/civicrm/civicrm-core/pull/23597))**
+ Fixes a bug where custom base page does not work for AJAX requests from
+ "frontend".
-- **Add Authx settings to navigation ([23631](https://github.com/civicrm/civicrm-core/pull/23631))**
+- **Add integer validation to import
+ ([23753](https://github.com/civicrm/civicrm-core/pull/23753))**
-- **Remove legacy calls to `civicrm_error`, unpack return ([23634](https://github.com/civicrm/civicrm-core/pull/23634))**
+- **E-notice fix on import
+ ([23541](https://github.com/civicrm/civicrm-core/pull/23541))**
-- **Update contributor-key.yml ([23633](https://github.com/civicrm/civicrm-core/pull/23633))**
+- **Import - ensure userID is set on parser
+ ([23636](https://github.com/civicrm/civicrm-core/pull/23636))**
-- **[Import] [Ref] Trivial - fold function contents back into parent ([23610](https://github.com/civicrm/civicrm-core/pull/23610))**
+- **Import locations - code cleanup, add tests, fix bugs
+ ([23563](https://github.com/civicrm/civicrm-core/pull/23563))**
-- **(NFC) Scheduled Reminders - Reinstate and analyze test-case for "Also Include" ([23628](https://github.com/civicrm/civicrm-core/pull/23628))**
+ Most of this is code cleanup and tests but there is also a fix for importing
+ contacts with a location of Australia.
-- **Test cleanup - use names keys in mapper array where possible for clarity ([23627](https://github.com/civicrm/civicrm-core/pull/23627))**
+- **Import - Relax "is_required" check for custom fields
+ ([23576](https://github.com/civicrm/civicrm-core/pull/23576))**
-- **Remove obsolete code - this parameter is not possible ([23625](https://github.com/civicrm/civicrm-core/pull/23625))**
+- **APIv4 - Respect max length for name with export action
+ ([23472](https://github.com/civicrm/civicrm-core/pull/23472))**
-- **Fix swapOptions writing over selected options on mapField page load. ([23619](https://github.com/civicrm/civicrm-core/pull/23619))**
+- **APIv4 - Exclude disabled custom fields
+ ([23583](https://github.com/civicrm/civicrm-core/pull/23583))**
-- **Release lock when deleting cache key ([23624](https://github.com/civicrm/civicrm-core/pull/23624))**
+- **APIv4 - Allow creator to read `UserJob` and `Queue` records
+ ([23690](https://github.com/civicrm/civicrm-core/pull/23690))**
-- **[Import] Unpack the weird wild error return ([23474](https://github.com/civicrm/civicrm-core/pull/23474))**
+- **SearchKit - Fix pager & tab count after creating a new record in a popup
+ ([23579](https://github.com/civicrm/civicrm-core/pull/23579))**
-- **core 3459 getlist leading zero fix ([23609](https://github.com/civicrm/civicrm-core/pull/23609))**
+- **SearchKit - Only add filter values to Afform title if passed internally
+ ([23807](https://github.com/civicrm/civicrm-core/pull/23807))**
-- **Remove unused variables ([23613](https://github.com/civicrm/civicrm-core/pull/23613))**
+- **[REGRESSION] SearchKit - Fix angular console error when totalCount is not
+ given ([23759](https://github.com/civicrm/civicrm-core/pull/23759))**
-- **Remove some unused variables ([23614](https://github.com/civicrm/civicrm-core/pull/23614))**
+- **SearchKit - Fix default aggregate function for grand total rows
+ ([23573](https://github.com/civicrm/civicrm-core/pull/23573))**
-- **Whitespace cleanup - remove `if(1)` ([23621](https://github.com/civicrm/civicrm-core/pull/23621))**
+- **SearchKit - Fix in-place editing custom relationship fields
+ ([23496](https://github.com/civicrm/civicrm-core/pull/23496))**
-- **dev/core#3038 Fix handling for payment_instrument_id, cleanup financial_type_id ([23586](https://github.com/civicrm/civicrm-core/pull/23586))**
+- **Searchkit - can't export more than x rows
+ ([dev/core#2736](https://lab.civicrm.org/dev/core/-/issues/2736):
+ [23548](https://github.com/civicrm/civicrm-core/pull/23548))**
-- **[Import] Test + fix for failure to reject invalid ex identifier ([23560](https://github.com/civicrm/civicrm-core/pull/23560))**
+- **SearchKit - Make inline edit only available when applicable
+ ([23404](https://github.com/civicrm/civicrm-core/pull/23404))**
-- **5.50 to master ([23612](https://github.com/civicrm/civicrm-core/pull/23612))**
+- **SearchKit - Pick better default for aggregate functions
+ ([23446](https://github.com/civicrm/civicrm-core/pull/23446))**
-- **[Import] [Activity] Fix fatal error regression ([23606](https://github.com/civicrm/civicrm-core/pull/23606))**
+- **SearchKit - Don't transform case for fieldsets on admin screen (more
+ translation-friendly)
+ ([23437](https://github.com/civicrm/civicrm-core/pull/23437))**
-- **Import locations - code cleanup, add tests, fix bugs ([23563](https://github.com/civicrm/civicrm-core/pull/23563))**
+- **Afform - fix dependency injection for autogenerated forms
+ ([23818](https://github.com/civicrm/civicrm-core/pull/23818))**
-- **Make this error message more informative. ([23599](https://github.com/civicrm/civicrm-core/pull/23599))**
+## CiviCampaign
-- **dev/core#3467 - Drupal 8 - Skip requirement for password when changing your own civi contact's email ([23546](https://github.com/civicrm/civicrm-core/pull/23546))**
+- **show honor roll only if it's enabled for the PCP page
+ ([23567](https://github.com/civicrm/civicrm-core/pull/23567))**
-- **Authx - Mark extension as beta ([23601](https://github.com/civicrm/civicrm-core/pull/23601))**
+### CiviCase
-- **[Import] [ref] Move function to parent for use by siblings ([23592](https://github.com/civicrm/civicrm-core/pull/23592))**
+- **Update case via API4 fails
+ ([dev/core#3671](https://lab.civicrm.org/dev/core/-/issues/3671):
+ [23836](https://github.com/civicrm/civicrm-core/pull/23836))**
-- **Remove deprecated preferred_mail_format from more places... ([23565](https://github.com/civicrm/civicrm-core/pull/23565))**
+ Fix regression where updating cases via APIv4 fails.
-- **Remove some never used fields - copy & paste begone ([23605](https://github.com/civicrm/civicrm-core/pull/23605))**
+### CiviContribute
-- **Additional test ([23562](https://github.com/civicrm/civicrm-core/pull/23562))**
+- **Currency incorrectly displayed for price set text/quantity fields when
+ default currency is not USD
+ ([dev/core#3680](https://lab.civicrm.org/dev/core/-/issues/3680):
+ [23867](https://github.com/civicrm/civicrm-core/pull/23867))**
-- **APIv4 - Exclude disabled custom fields ([23583](https://github.com/civicrm/civicrm-core/pull/23583))**
+- **Fix editing and saving a template contribution via form
+ ([21471](https://github.com/civicrm/civicrm-core/pull/21471))**
-- **[Import] Consolidate DataSource.tpl - template for first file on activity import ([23456](https://github.com/civicrm/civicrm-core/pull/23456))**
+- **Fix breakage in message preview on workflow contributions
+ ([23801](https://github.com/civicrm/civicrm-core/pull/23801))**
-- **[Import] Add some not-yet-used `getParser` functions that are prone to conflict ([23590](https://github.com/civicrm/civicrm-core/pull/23590))**
+- **only check batch currency match when adding a financial_trxn
+ ([23788](https://github.com/civicrm/civicrm-core/pull/23788))**
-- **5.50 to master ([23596](https://github.com/civicrm/civicrm-core/pull/23596))**
+- **Can no longer update Amount for Recurring Contributions even if it only has
+ one Lineitem
+ ([dev/financial#197](https://lab.civicrm.org/dev/financial/-/issues/197):
+ [23805](https://github.com/civicrm/civicrm-core/pull/23805))**
-- **php8.1 - Check null first before sending to strlen ([23589](https://github.com/civicrm/civicrm-core/pull/23589))**
+- **Additional Details section on Recurring Contribution template edit screen
+ doesn't load anymore
+ ([dev/financial#199](https://lab.civicrm.org/dev/financial/-/issues/199):
+ [23786](https://github.com/civicrm/civicrm-core/pull/23786))**
-- **Another always-true-if ([23559](https://github.com/civicrm/civicrm-core/pull/23559))**
+- **Fix Contribution import with pledge handling, add test
+ ([23717](https://github.com/civicrm/civicrm-core/pull/23717))**
-- **dev/core#3463 - CiviMail - prefer frontend_title from group for maili… ([23570](https://github.com/civicrm/civicrm-core/pull/23570))**
+- **Contribution import - tests & fixes on dates, amount
+ ([23688](https://github.com/civicrm/civicrm-core/pull/23688))**
-- **Test fix ([23561](https://github.com/civicrm/civicrm-core/pull/23561))**
+- **[Import] Fix Contribution Import mapping fields to use labels
+ ([23519](https://github.com/civicrm/civicrm-core/pull/23519))**
-- **Import - Relax "is_required" check for custom fields ([23576](https://github.com/civicrm/civicrm-core/pull/23576))**
+- **Import contribution fails to update payment instrument in update mode
+ ([dev/core#3038](https://lab.civicrm.org/dev/core/-/issues/3038):
+ [23586](https://github.com/civicrm/civicrm-core/pull/23586))**
-- **dev/core#3177 Switch sms to use flexmailer token rendering ([23516](https://github.com/civicrm/civicrm-core/pull/23516))**
+### CiviEvent
-- **[REF] Fix handling of NULL values in count_characters smarty modifier… ([23318](https://github.com/civicrm/civicrm-core/pull/23318))**
+- **Fix missing contactID when registering for paid event from waitlist
+ ([23358](https://github.com/civicrm/civicrm-core/pull/23358))**
-- **[NFC] Bring back deleted activity email tests ([23577](https://github.com/civicrm/civicrm-core/pull/23577))**
+- **Capitalise event setting title
+ ([23467](https://github.com/civicrm/civicrm-core/pull/23467))**
-- **SearchKit - Fix pager & tab count after creating a new record in a popup ([23579](https://github.com/civicrm/civicrm-core/pull/23579))**
+- **Participant import fix - broken uniqueName fields, mapping saving, etc.
+ ([23733](https://github.com/civicrm/civicrm-core/pull/23733))**
-- **SearchKit - Allow SearchSegments to be packaged as .mgd.php ([23578](https://github.com/civicrm/civicrm-core/pull/23578))**
+- **Fix Participant import, add tests
+ ([23703](https://github.com/civicrm/civicrm-core/pull/23703))**
-- **5.50 to master ([23587](https://github.com/civicrm/civicrm-core/pull/23587))**
+ Fixes a Fatal error in MapField.
-- **ProximityQuery - Remove unused code ([23581](https://github.com/civicrm/civicrm-core/pull/23581))**
+- **CiviEvent Search does not show all results
+ ([dev/core#3459](https://lab.civicrm.org/dev/core/-/issues/3459):
+ [23609](https://github.com/civicrm/civicrm-core/pull/23609))**
-- **SearchKit - Fix default aggregate function for grand total rows ([23573](https://github.com/civicrm/civicrm-core/pull/23573))**
+### CiviGrant
-- **Remove unused class ([23580](https://github.com/civicrm/civicrm-core/pull/23580))**
+- **Installer - CiviGrant option no longer works
+ ([dev/core#3485](https://lab.civicrm.org/dev/core/-/issues/3485):
+ [23758](https://github.com/civicrm/civicrm-core/pull/23758))**
-- **[Import] Fix Contribution Import mapping fields to use labels ([23519](https://github.com/civicrm/civicrm-core/pull/23519))**
+ Removes CiviGrant from available components.
-- **[Joomla 4.0] Fatal error on submitting Profile with CMS username/password ([23549](https://github.com/civicrm/civicrm-core/pull/23549))**
+### CiviMail
-- **Move validate field function to the parent class [Straight move] ([23564](https://github.com/civicrm/civicrm-core/pull/23564))**
+- **Prefer frontend_title for mailing groups in {mailing.group}
+ ([dev/core#3463](https://lab.civicrm.org/dev/core/-/issues/3463):
+ [23570](https://github.com/civicrm/civicrm-core/pull/23570))**
-- **5.50 to master ([23575](https://github.com/civicrm/civicrm-core/pull/23575))**
+- **Greeting tokens are not replaced in bulk sms
+ ([dev/core#3177](https://lab.civicrm.org/dev/core/-/issues/3177):
+ [23516](https://github.com/civicrm/civicrm-core/pull/23516))**
-- **Search kit grand totals ([23454](https://github.com/civicrm/civicrm-core/pull/23454))**
+ Switches sms to use flexmailer token rendering.
-- **Add noisy deprecation to unused, deprecated, functions ([23571](https://github.com/civicrm/civicrm-core/pull/23571))**
+### CiviMember
-- **5.50 to master ([23568](https://github.com/civicrm/civicrm-core/pull/23568))**
+- **Bug Fix: Merging an Organisation contact and de-selecting the merge
+ Membership checkbox causes all related Membership to not be removed and the
+ Primary Membership is linked to the deleted Organisation
+ ([22682](https://github.com/civicrm/civicrm-core/pull/22682))**
-- **Remove do-nothing deprecated line ([23556](https://github.com/civicrm/civicrm-core/pull/23556))**
+- **Added back 'Renewal Message' field on Membership renewal form
+ ([23726](https://github.com/civicrm/civicrm-core/pull/23726))**
-- **SearchKit - Use POST to send contact ids to action forms ([23548](https://github.com/civicrm/civicrm-core/pull/23548))**
+- **Membership should be listed chronologically by join date, the most recent
+ member since first
+ ([dev/core#3141](https://lab.civicrm.org/dev/core/-/issues/3141):
+ [23056](https://github.com/civicrm/civicrm-core/pull/23056))**
-- **5.50 ([23555](https://github.com/civicrm/civicrm-core/pull/23555))**
+### Backdrop Integration
-- **Remove unreachable code ([23551](https://github.com/civicrm/civicrm-core/pull/23551))**
+- **CiviCRM cron via HTTP on Backdrop isn't documented and doesn't work
+ ([dev/backdrop#8](https://lab.civicrm.org/dev/backdrop/-/issues/8):
+ [23620](https://github.com/civicrm/civicrm-core/pull/23620))**
-- **Extend import option handling to prefix, suffix, language, communication_style ([23535](https://github.com/civicrm/civicrm-core/pull/23535))**
+### Drupal Integration
-- **Clean up function signature ([23550](https://github.com/civicrm/civicrm-core/pull/23550))**
+- **Use correct user variable in hook_user_insert
+ ([74](https://github.com/civicrm/civicrm-drupal-8/pull/74))**
-- **Remove extraneous deprecated check ([23532](https://github.com/civicrm/civicrm-core/pull/23532))**
+- **KCFinder on D9: You don't have permissions to browse server.
+ ([dev/drupal#179](https://lab.civicrm.org/dev/drupal/-/issues/179):
+ [342](https://github.com/civicrm/civicrm-packages/pull/342))**
-- **Remove always true if conditions (whitespace in next commit) ([23533](https://github.com/civicrm/civicrm-core/pull/23533))**
+- **Drupal8/9 Sync email own user from Civi
+ ([dev/core#3467](https://lab.civicrm.org/dev/core/-/issues/3467):
+ [23546](https://github.com/civicrm/civicrm-core/pull/23546))**
-- **[REF] Simplify contact.create ([23515](https://github.com/civicrm/civicrm-core/pull/23515))**
+ Drupal 8 - Skips requirement for password when changing your own civi contact's
+ email
-- **Remove never-true fields, and impossible property handling from previously shared function ([23545](https://github.com/civicrm/civicrm-core/pull/23545))**
+### Joomla Integration
-- **Afform - dispatch event when loading afforms ([23488](https://github.com/civicrm/civicrm-core/pull/23488))**
+- **[Joomla 4.0] Warnings when CiviCRM is uninstalled (Work towards
+ [dev/joomla#16](https://lab.civicrm.org/dev/joomla/-/issues/16):
+ [65](https://github.com/civicrm/civicrm-joomla/pull/65))**
-- **[REF] Minor simplification on input ([23536](https://github.com/civicrm/civicrm-core/pull/23536))**
+ Fixes CiviCRM logo not showing in Quick Icon plugin.
-- **Greeting handling - if email_greeting_custom (etc) isset & email_greeting_id is not, set to 'Customized' ([23537](https://github.com/civicrm/civicrm-core/pull/23537))**
+- **[Joomla 4.0] Fatal error on submitting Profile with CMS username/password
+ ([23549](https://github.com/civicrm/civicrm-core/pull/23549))**
-- **Add location import testing ([23540](https://github.com/civicrm/civicrm-core/pull/23540))**
+- **Error when upgrading to 5.16.0
+ ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79):
+ [51](https://github.com/civicrm/civicrm-joomla/pull/51))**
-- **Fix unreleased regression from strict typing ([23538](https://github.com/civicrm/civicrm-core/pull/23538))**
+ Updates PHP version checks to throw a more digestable error when the PHP
+ version is not compatible.
-- **🪳🪳🪳 Bug Fix: Merging an Organisation contact and de-selecting the merge Membership checkbox causes all related Membership to not be removed and the Primary Membership is linked to the deleted Organisation ([22682](https://github.com/civicrm/civicrm-core/pull/22682))**
+## <a name="misc"></a>Miscellany
-- **dev/financial#6 Use template contribution for Contribution.repeattransaction ([22487](https://github.com/civicrm/civicrm-core/pull/22487))**
+- **Afform - Trigger 'crmFormSuccess' event after submission
+ ([23735](https://github.com/civicrm/civicrm-core/pull/23735))**
-- **Capitalise event setting title ([23467](https://github.com/civicrm/civicrm-core/pull/23467))**
+- **Afform - allow ids to be passed directly into the directive
+ ([23656](https://github.com/civicrm/civicrm-core/pull/23656))**
-- **E-notice fix on import ([23541](https://github.com/civicrm/civicrm-core/pull/23541))**
+- **SearchKit - Remove confusing extra joins between Contact & Related Contacts
+ ([23655](https://github.com/civicrm/civicrm-core/pull/23655))**
-- **Duplicate function - divide & conquer ([23542](https://github.com/civicrm/civicrm-core/pull/23542))**
+- **Authx - Mark extension as beta
+ ([23601](https://github.com/civicrm/civicrm-core/pull/23601))**
-- **Revert "SearchKit - Use POST to send contact ids to action forms" ([23544](https://github.com/civicrm/civicrm-core/pull/23544))**
+- **Duplicate function - divide & conquer
+ ([23542](https://github.com/civicrm/civicrm-core/pull/23542))**
-- **[NFC] Remove weird file ([23539](https://github.com/civicrm/civicrm-core/pull/23539))**
+- **Deprecate crazy BAO handling of preferred_communication_method
+ ([23623](https://github.com/civicrm/civicrm-core/pull/23623))**
-- **SearchKit - Make inline edit only available when applicable ([23404](https://github.com/civicrm/civicrm-core/pull/23404))**
+- **Simplify return from createContact
+ ([23635](https://github.com/civicrm/civicrm-core/pull/23635))**
-- **Add unit tests to cover date field imports ([23502](https://github.com/civicrm/civicrm-core/pull/23502))**
+- **Simplify greeting handling, add test
+ ([23629](https://github.com/civicrm/civicrm-core/pull/23629))**
-- **[Import] Remove empty if ([23531](https://github.com/civicrm/civicrm-core/pull/23531))**
+- **Deprecate stuff getting super deep into the BAO unformatted
+ ([23520](https://github.com/civicrm/civicrm-core/pull/23520))**
-- **Remove always-true if-check ([23530](https://github.com/civicrm/civicrm-core/pull/23530))**
+- **Add not-yet-used function to allow the import to run in static (queue)
+ context ([23691](https://github.com/civicrm/civicrm-core/pull/23691))**
-- **SearchKit - Fix in-place editing custom relationship fields ([23496](https://github.com/civicrm/civicrm-core/pull/23496))**
+- **FiveFiftyOne - Enable snapshots for data modified data
+ ([23783](https://github.com/civicrm/civicrm-core/pull/23783))**
-- **[Import] Remove handling for unavailable field current_employer ([23509](https://github.com/civicrm/civicrm-core/pull/23509))**
+- **Translation: remove support for CiviCRM pre-4.5 l10n file locations
+ ([23435](https://github.com/civicrm/civicrm-core/pull/23435))**
-- **[Import] Fix & test check on contact subtype change ([23508](https://github.com/civicrm/civicrm-core/pull/23508))**
+- **APIv3 - Fix regression in handling chained calls with `sequential`
+ ([23672](https://github.com/civicrm/civicrm-core/pull/23672))**
-- **[Import] Check subtype validity in validate rather than wait for 'imort' ([23526](https://github.com/civicrm/civicrm-core/pull/23526))**
+- **Update contributor-key.yml
+ ([23633](https://github.com/civicrm/civicrm-core/pull/23633))**
-- **Fixes dev/core#3475 - Allow 'yesno' as a valid value of `html_type` ([23525](https://github.com/civicrm/civicrm-core/pull/23525))**
+- **Whitespace cleanup - remove `if(1)`
+ ([23621](https://github.com/civicrm/civicrm-core/pull/23621))**
-- **SearchKit - Use POST to send contact ids to action forms ([23331](https://github.com/civicrm/civicrm-core/pull/23331))**
+- **Reformat whitespace
+ ([23676](https://github.com/civicrm/civicrm-core/pull/23676))**
-- **Ensure setting deceased date sets is_deceased in the BAO ([23521](https://github.com/civicrm/civicrm-core/pull/23521))**
+- **Another always-true-if
+ ([23559](https://github.com/civicrm/civicrm-core/pull/23559))**
-- **Payment forms test fixes ([23524](https://github.com/civicrm/civicrm-core/pull/23524))**
+- **Painstaking unravelling of function
+ ([23483](https://github.com/civicrm/civicrm-core/pull/23483))**
-- **Re-use code in test ([23523](https://github.com/civicrm/civicrm-core/pull/23523))**
+- **Consolidate datasource form - event import
+ ([23457](https://github.com/civicrm/civicrm-core/pull/23457))**
-- **[REF] Move list of fields that have been upgraded ([23518](https://github.com/civicrm/civicrm-core/pull/23518))**
+- **Trivial extraction - addFormButtons shared code
+ ([23709](https://github.com/civicrm/civicrm-core/pull/23709))**
-- **[NFC] Improve comment blocks for mapper ([23517](https://github.com/civicrm/civicrm-core/pull/23517))**
+- **Move validate field function to the parent class [Straight move]
+ ([23564](https://github.com/civicrm/civicrm-core/pull/23564))**
-- **[Ref] [Import] Cleanup function return ([23511](https://github.com/civicrm/civicrm-core/pull/23511))**
+- **Add noisy deprecation to unused, deprecated, functions
+ ([23571](https://github.com/civicrm/civicrm-core/pull/23571))**
-- **Ref Extract import validation ([23498](https://github.com/civicrm/civicrm-core/pull/23498))**
+- **Minor simplification - use `$self->getContactType(),`
+ ([23710](https://github.com/civicrm/civicrm-core/pull/23710))**
-- **Cleanup sql query ([23512](https://github.com/civicrm/civicrm-core/pull/23512))**
+- **Clean up function signature
+ ([23550](https://github.com/civicrm/civicrm-core/pull/23550))**
-- **[Import] Remove svn whimsy - DUPLICATE_REPLACE ([23504](https://github.com/civicrm/civicrm-core/pull/23504))**
+- **Minor cleanup on import return codes
+ ([23626](https://github.com/civicrm/civicrm-core/pull/23626))**
-- **Fix use of not-universally supported mysql field type ([23501](https://github.com/civicrm/civicrm-core/pull/23501))**
+- **Cleanup sql query
+ ([23512](https://github.com/civicrm/civicrm-core/pull/23512))**
-- **fix to get around link issues in ckeditor when opening scheduled remi… ([23510](https://github.com/civicrm/civicrm-core/pull/23510))**
+- **Cleanup gender handling in contact import + add test
+ ([23484](https://github.com/civicrm/civicrm-core/pull/23484))**
-- **[REF] Remove unreachable code ([23507](https://github.com/civicrm/civicrm-core/pull/23507))**
+- **ProximityQuery - Remove unused code
+ ([23581](https://github.com/civicrm/civicrm-core/pull/23581))**
-- **[REF] [Import] Remove unused parameter ([23495](https://github.com/civicrm/civicrm-core/pull/23495))**
+- **Remove unused class
+ ([23580](https://github.com/civicrm/civicrm-core/pull/23580))**
-- **[Import] Remove silly param ([23493](https://github.com/civicrm/civicrm-core/pull/23493))**
+- **Remove unused properties
+ ([23701](https://github.com/civicrm/civicrm-core/pull/23701))**
-- **5.50 to master ([23500](https://github.com/civicrm/civicrm-core/pull/23500))**
+- **Remove deprecated preferred_mail_format from more places...
+ ([23565](https://github.com/civicrm/civicrm-core/pull/23565))**
-- **[Import] Remove `if (1) {` (whitespace intensive) ([23494](https://github.com/civicrm/civicrm-core/pull/23494))**
+- **Remove some never used fields - copy & paste begone
+ ([23605](https://github.com/civicrm/civicrm-core/pull/23605))**
-- **(REF) CRM_Upgrade_Form - Remove silly method `runQuery` ([23492](https://github.com/civicrm/civicrm-core/pull/23492))**
+- **Remove obsolete code - this parameter is not possible
+ ([23625](https://github.com/civicrm/civicrm-core/pull/23625))**
-- **[Import] Simplify checking contact type is valid ([23476](https://github.com/civicrm/civicrm-core/pull/23476))**
+- **Remove unused variables
+ ([23613](https://github.com/civicrm/civicrm-core/pull/23613))**
-- **APIv4 - Filter custom fields based on supplied values ([23489](https://github.com/civicrm/civicrm-core/pull/23489))**
+- **Remove no-longer-used function 29 points
+ ([23653](https://github.com/civicrm/civicrm-core/pull/23653))**
-- **Cleanup gender handling in contact import + add test ([23484](https://github.com/civicrm/civicrm-core/pull/23484))**
+- **Remove legacy calls to `civicrm_error`, unpack return
+ ([23634](https://github.com/civicrm/civicrm-core/pull/23634))**
-- **[REF] [Import] Remove now-unused code ([23461](https://github.com/civicrm/civicrm-core/pull/23461))**
+- **Remove some unused variables
+ ([23614](https://github.com/civicrm/civicrm-core/pull/23614))**
-- **[REF] [Import] Stop calling Parser in MapField mode (contact import) ([23470](https://github.com/civicrm/civicrm-core/pull/23470))**
+- **Remove do-nothing deprecated line
+ ([23556](https://github.com/civicrm/civicrm-core/pull/23556))**
-- **Painstaking unravelling of function ([23483](https://github.com/civicrm/civicrm-core/pull/23483))**
+- **Remove unreachable code
+ ([23551](https://github.com/civicrm/civicrm-core/pull/23551))**
-- **[Import] Add tests for contact type & contact subtype handling ([23475](https://github.com/civicrm/civicrm-core/pull/23475))**
+- **Remove a couple of non-test tests - syntax conformance
+ ([23715](https://github.com/civicrm/civicrm-core/pull/23715))**
-- **APIv4 - Export options along with custom field ([23452](https://github.com/civicrm/civicrm-core/pull/23452))**
+- **Remove some more unused code
+ ([23747](https://github.com/civicrm/civicrm-core/pull/23747))**
-- **Remove extra question mark from url ([23480](https://github.com/civicrm/civicrm-core/pull/23480))**
+- **Remove always-true if-check
+ ([23530](https://github.com/civicrm/civicrm-core/pull/23530))**
-- **Fix Schema System Check translation and show missing Custom Field ID ([23469](https://github.com/civicrm/civicrm-core/pull/23469))**
+- **Remove extraneous deprecated check
+ ([23532](https://github.com/civicrm/civicrm-core/pull/23532))**
-- **SearchKit - Pick better default for aggregate functions ([23446](https://github.com/civicrm/civicrm-core/pull/23446))**
+- **Remove obsolete/unused code, fix notices - activity import
+ ([23745](https://github.com/civicrm/civicrm-core/pull/23745))**
-- **APIv4 - Respect max length for name with export action ([23472](https://github.com/civicrm/civicrm-core/pull/23472))**
+- **Remove more obsolete import code
+ ([23742](https://github.com/civicrm/civicrm-core/pull/23742))**
-- **[REF] [Import] Minor simplification ([23464](https://github.com/civicrm/civicrm-core/pull/23464))**
+- **Remove unused functions
+ ([23740](https://github.com/civicrm/civicrm-core/pull/23740))**
-- **dev/core#2300 Can not use Custom Fields defined on a contact_sub_type in dedupe… ([23459](https://github.com/civicrm/civicrm-core/pull/23459))**
+- **Remove always true if conditions (whitespace in next commit)
+ ([23533](https://github.com/civicrm/civicrm-core/pull/23533))**
-- **[REF] [Import] Remove unused variable ([23463](https://github.com/civicrm/civicrm-core/pull/23463))**
+- **Remove never-true fields, and impossible property handling from previously
+ shared function ([23545](https://github.com/civicrm/civicrm-core/pull/23545))**
-- **CRM_Utils_Check - Catch Guzzle exception, same as core exception ([23466](https://github.com/civicrm/civicrm-core/pull/23466))**
+- **Remove sets for no-longer gotten vars
+ ([23453](https://github.com/civicrm/civicrm-core/pull/23453))**
-- **Consolidate datasource form - event import ([23457](https://github.com/civicrm/civicrm-core/pull/23457))**
+- **(NFC) karma - Enable all Civi components (not just CiviCase)
+ ([23450](https://github.com/civicrm/civicrm-core/pull/23450))**
-- **[REF] [Import] Activity - clean up copy & paste ([23289](https://github.com/civicrm/civicrm-core/pull/23289))**
+- **[NFC] Improve comment blocks for mapper
+ ([23517](https://github.com/civicrm/civicrm-core/pull/23517))**
-- **[Import] [Ref] Remove unused variable ([23462](https://github.com/civicrm/civicrm-core/pull/23462))**
+- **[NFC] Remove weird file
+ ([23539](https://github.com/civicrm/civicrm-core/pull/23539))**
-- **dev/core#492 Fix Dedupe rule creation should display labels of contact types, in c… ([23460](https://github.com/civicrm/civicrm-core/pull/23460))**
+- **[NFC] Remove weird test data file
+ ([23727](https://github.com/civicrm/civicrm-core/pull/23727))**
-- **Import validate related contacts in the same way as the main contact ([23455](https://github.com/civicrm/civicrm-core/pull/23455))**
+- **[NFC] Fix Since version in Price Set Entity APIv4
+ ([23698](https://github.com/civicrm/civicrm-core/pull/23698))**
-- **Allow for custom base page in AJAX requests ([23420](https://github.com/civicrm/civicrm-core/pull/23420))**
+- **[NFC] Mixin - update version tags and add comment for new version of mgd-php
+ ([23685](https://github.com/civicrm/civicrm-core/pull/23685))**
-- **[REF] [Import] Minor code cleanup ([23444](https://github.com/civicrm/civicrm-core/pull/23444))**
+- **[NFC] Failing test for api chain using sequential
+ ([23675](https://github.com/civicrm/civicrm-core/pull/23675))**
-- **Remove sets for no-longer gotten vars ([23453](https://github.com/civicrm/civicrm-core/pull/23453))**
+- **(NFC) Scheduled Reminders - Reinstate and analyze test-case for "Also
+ Include" ([23628](https://github.com/civicrm/civicrm-core/pull/23628))**
-- ** (NFC) karma - Enable all Civi components (not just CiviCase) ([23450](https://github.com/civicrm/civicrm-core/pull/23450))**
+- **[NFC] Bring back deleted activity email tests
+ ([23577](https://github.com/civicrm/civicrm-core/pull/23577))**
-- **(NFC) CRM_Utils_Hook - Typo ([23448](https://github.com/civicrm/civicrm-core/pull/23448))**
+- **(NFC) CRM_Utils_Hook - Typo
+ ([23448](https://github.com/civicrm/civicrm-core/pull/23448))**
-- **[REF] [Import] Parser cleanup ([23442](https://github.com/civicrm/civicrm-core/pull/23442))**
+- **Ref Extract import validation
+ ([23498](https://github.com/civicrm/civicrm-core/pull/23498))**
-- **(REF) CRM_Dedupe_BAO_DedupeRule - Support third party fields and tables in rules ([23332](https://github.com/civicrm/civicrm-core/pull/23332))**
+- **[Ref] [Import] Cleanup function return
+ ([23511](https://github.com/civicrm/civicrm-core/pull/23511))**
-- **[TEST ONLY] APIv4 - ensure test records are cleaned up in non-transaction tests ([23441](https://github.com/civicrm/civicrm-core/pull/23441))**
+- **[REF] [Import] Remove unused parameter
+ ([23495](https://github.com/civicrm/civicrm-core/pull/23495))**
-- **5.50 ([23443](https://github.com/civicrm/civicrm-core/pull/23443))**
+- **[REF] [Import] Remove now-unused code
+ ([23461](https://github.com/civicrm/civicrm-core/pull/23461))**
-- **SearchKit - Default to simple pager when creating new table display ([23436](https://github.com/civicrm/civicrm-core/pull/23436))**
+- **[REF] [Import] Stop calling Parser in MapField mode (contact import)
+ ([23470](https://github.com/civicrm/civicrm-core/pull/23470))**
-- **SearchKit - Allow functions in the GROUP BY clause ([23434](https://github.com/civicrm/civicrm-core/pull/23434))**
+- **[REF] [Import] Minor simplification
+ ([23464](https://github.com/civicrm/civicrm-core/pull/23464))**
-- **[REF] [Import] Simplify if - exit loop early ([23427](https://github.com/civicrm/civicrm-core/pull/23427))**
+- **[REF] [Import] Remove unused variable
+ ([23463](https://github.com/civicrm/civicrm-core/pull/23463))**
-- **Dashboard - Efficiency tweak ([23439](https://github.com/civicrm/civicrm-core/pull/23439))**
+- **[REF] [Import] Remove unused field get action (death to copy & paste)
+ ([23428](https://github.com/civicrm/civicrm-core/pull/23428))**
-- **dev/drupal#176 - Allow wider range of psr-log versions to be installed ([23409](https://github.com/civicrm/civicrm-core/pull/23409))**
+- **[REF] [Import] Simplify if - exit loop early
+ ([23427](https://github.com/civicrm/civicrm-core/pull/23427))**
-- **SearchKit - Don't transform case for fieldsets on admin screen (more translation-friendly) ([23437](https://github.com/civicrm/civicrm-core/pull/23437))**
+- **[REF] [Import] Activity - clean up copy & paste
+ ([23289](https://github.com/civicrm/civicrm-core/pull/23289))**
-- **Dashboard - Sort available dashlets alphabetically, add search box ([23438](https://github.com/civicrm/civicrm-core/pull/23438))**
+- **[Import] [Ref] Trivial - fold function contents back into parent
+ ([23610](https://github.com/civicrm/civicrm-core/pull/23610))**
-- **Translation: remove support for CiviCRM pre-4.5 l10n file locations ([23435](https://github.com/civicrm/civicrm-core/pull/23435))**
+- **Extend import option handling to prefix, suffix, language,
+ communication_style
+ ([23535](https://github.com/civicrm/civicrm-core/pull/23535))**
-- **[REF] APIv4 - Simplify entity creation in test suite ([23432](https://github.com/civicrm/civicrm-core/pull/23432))**
+- **[Import] Consolidate DataSource.tpl - template for first file on activity
+ import ([23456](https://github.com/civicrm/civicrm-core/pull/23456))**
-- **Dashboard - Show full title when hovering an inactive dashlet ([23433](https://github.com/civicrm/civicrm-core/pull/23433))**
+- **[Import] Check subtype validity in validate rather than wait for 'imort'
+ ([23526](https://github.com/civicrm/civicrm-core/pull/23526))**
-- **[REF] [Import] Remove unused field get action (death to copy & paste) ([23428](https://github.com/civicrm/civicrm-core/pull/23428))**
+- **[Import] Use table rather than csvs for no-match & unparsed
+ ([23418](https://github.com/civicrm/civicrm-core/pull/23418))**
-- **[Import] Stop passing unused parameter ([23421](https://github.com/civicrm/civicrm-core/pull/23421))**
+- **[Import] Unpack the weird wild error return
+ ([23474](https://github.com/civicrm/civicrm-core/pull/23474))**
-- **[Ref] [Import][Member] Remove unused params ([23425](https://github.com/civicrm/civicrm-core/pull/23425))**
+- **[Import] Remove handling for unavailable field current_employer
+ ([23509](https://github.com/civicrm/civicrm-core/pull/23509))**
-- **5.50 to master ([23426](https://github.com/civicrm/civicrm-core/pull/23426))**
+- **Contribution import - simplify error handling
+ ([23714](https://github.com/civicrm/civicrm-core/pull/23714))**
-- **[REF] [Import] Create user-job records for Memership imports ([23416](https://github.com/civicrm/civicrm-core/pull/23416))**
+- **[Import] [Contribution] Cleanup templates & form variables, following
+ contact pattern
+ ([23683](https://github.com/civicrm/civicrm-core/pull/23683))**
-- **[Import] Use table rather than csvs for no-match & unparsed ([23418](https://github.com/civicrm/civicrm-core/pull/23418))**
+- **Contact import - extract common code, make tags & groups queue-friendly
+ ([23680](https://github.com/civicrm/civicrm-core/pull/23680))**
-- **[REF] Fix PHP8.1 issue with passing NULL to trim() ([23317](https://github.com/civicrm/civicrm-core/pull/23317))**
+- **Contact Import cleanup - includes fixes to contact machine
+ ([23666](https://github.com/civicrm/civicrm-core/pull/23666))**
-- **SearchKit - Default to search for individuals ([23385](https://github.com/civicrm/civicrm-core/pull/23385))**
+- **[Import] Add some not-yet-used `getParser` functions that are prone to
+ conflict ([23590](https://github.com/civicrm/civicrm-core/pull/23590))**
-- **(REF) Importer - Remove unused parameters. Simplify signature. ([23401](https://github.com/civicrm/civicrm-core/pull/23401))**
+- **[Import] Remove empty if
+ ([23531](https://github.com/civicrm/civicrm-core/pull/23531))**
-- **5.50 to master ([23414](https://github.com/civicrm/civicrm-core/pull/23414))**
+- **[Import] Fix & test check on contact subtype change
+ ([23508](https://github.com/civicrm/civicrm-core/pull/23508))**
-- **5.50 ([23411](https://github.com/civicrm/civicrm-core/pull/23411))**
+- **[Import] [Ref] Remove unused variable
+ ([23462](https://github.com/civicrm/civicrm-core/pull/23462))**
-- **[TEST ONLY] APIv4 - Remove unused extras from ConformanceTest ([23410](https://github.com/civicrm/civicrm-core/pull/23410))**
+- **[Import] Remove silly param
+ ([23493](https://github.com/civicrm/civicrm-core/pull/23493))**
-- **[REF] Import - make condition clearer ([23382](https://github.com/civicrm/civicrm-core/pull/23382))**
+- **[Import] Remove svn whimsy - DUPLICATE_REPLACE
+ ([23504](https://github.com/civicrm/civicrm-core/pull/23504))**
-- **[REF] [Import] Contribution import - clarify return codes ([23290](https://github.com/civicrm/civicrm-core/pull/23290))**
+- **[Import] Remove `if (1) {` (whitespace intensive)
+ ([23494](https://github.com/civicrm/civicrm-core/pull/23494))**
-- **[REF] [Import] Summary tpl - remove always-true ifs ([23406](https://github.com/civicrm/civicrm-core/pull/23406))**
+- **[Import] Cleanup Contribution flow - esp with regards to soft credits
+ ([23588](https://github.com/civicrm/civicrm-core/pull/23588))**
-- **[REF][Import] Remove some, now unused, parameters ([23405](https://github.com/civicrm/civicrm-core/pull/23405))**
+- **[Import] [Ref] [Contribution] Additional functions, typo fix
+ ([23637](https://github.com/civicrm/civicrm-core/pull/23637))**
-- **Afform - support relationships ([23296](https://github.com/civicrm/civicrm-core/pull/23296))**
+- **[Import] Test + fix for failure to reject invalid ex identifier
+ ([23560](https://github.com/civicrm/civicrm-core/pull/23560))**
-- **[Ref][Import] Remove now-unused code ([23395](https://github.com/civicrm/civicrm-core/pull/23395))**
+- **[Import] [ref] Move function to parent for use by siblings
+ ([23592](https://github.com/civicrm/civicrm-core/pull/23592))**
-- **[REF] [TEST ONLY] APIv4 - Reorganize test classes, don't use transactions for custom field tests ([23402](https://github.com/civicrm/civicrm-core/pull/23402))**
+- **[Import] Add tests for contact type & contact subtype handling
+ ([23475](https://github.com/civicrm/civicrm-core/pull/23475))**
-- **[Import] Reduce unused copy & paste ([23400](https://github.com/civicrm/civicrm-core/pull/23400))**
+- **[Import] Simplify checking contact type is valid
+ ([23476](https://github.com/civicrm/civicrm-core/pull/23476))**
-- **5.50 ([23399](https://github.com/civicrm/civicrm-core/pull/23399))**
+- **[Import] Stop passing unused parameter
+ ([23421](https://github.com/civicrm/civicrm-core/pull/23421))**
-- **dev/core#3447 Fix for master-only-regression ([23393](https://github.com/civicrm/civicrm-core/pull/23393))**
+- **[Ref] [Import][Member] Remove unused params
+ ([23425](https://github.com/civicrm/civicrm-core/pull/23425))**
-- **[REF] [Import] Stop passing unused parameters ([23386](https://github.com/civicrm/civicrm-core/pull/23386))**
+- **[REF] [Import] Create user-job records for Memership imports
+ ([23416](https://github.com/civicrm/civicrm-core/pull/23416))**
-- **5.50 ([23391](https://github.com/civicrm/civicrm-core/pull/23391))**
+- **(REF) Importer - Remove unused parameters. Simplify signature.
+ ([23401](https://github.com/civicrm/civicrm-core/pull/23401))**
-- **[Import] [Ref] Iterate through the mapping of fields ([23384](https://github.com/civicrm/civicrm-core/pull/23384))**
+- **[REF] Import - make condition clearer
+ ([23382](https://github.com/civicrm/civicrm-core/pull/23382))**
-- **5.50 ([23388](https://github.com/civicrm/civicrm-core/pull/23388))**
+- **[REF] [Import] Contribution import - clarify return codes
+ ([23290](https://github.com/civicrm/civicrm-core/pull/23290))**
-- **Use correct user variable in hook_user_insert ([74](https://github.com/civicrm/civicrm-drupal-8/pull/74))**
+- **[REF] [Import] Summary tpl - remove always-true ifs
+ ([23406](https://github.com/civicrm/civicrm-core/pull/23406))**
-- **(dev/drupal#79) Update PHP version checks ([51](https://github.com/civicrm/civicrm-joomla/pull/51))**
+- **[REF][Import] Remove some, now unused, parameters
+ ([23405](https://github.com/civicrm/civicrm-core/pull/23405))**
-- **dev/joomla#16 : [Joomla 4.0] CiviCRM logo not showing in Quick Icon plugin ([65](https://github.com/civicrm/civicrm-joomla/pull/65))**
+- **[REF] [Import] Parser cleanup
+ ([23442](https://github.com/civicrm/civicrm-core/pull/23442))**
-- **dev/drupal#179 - kcfinder - Explicit start of Drupal session ([342](https://github.com/civicrm/civicrm-packages/pull/342))**
+- **[REF] [Import] Minor code cleanup
+ ([23444](https://github.com/civicrm/civicrm-core/pull/23444))**
-## <a name="misc"></a>Miscellany
+- **[Import] Reduce unused copy & paste
+ ([23400](https://github.com/civicrm/civicrm-core/pull/23400))**
+
+- **[REF] [Import] Stop passing unused parameters
+ ([23386](https://github.com/civicrm/civicrm-core/pull/23386))**
+
+- **[Import] [Ref] Iterate through the mapping of fields
+ ([23384](https://github.com/civicrm/civicrm-core/pull/23384))**
+
+- **[Ref][Import] Remove now-unused code
+ ([23395](https://github.com/civicrm/civicrm-core/pull/23395))**
+
+- **[TEST ONLY] APIv4 - Remove unused extras from ConformanceTest
+ ([23410](https://github.com/civicrm/civicrm-core/pull/23410))**
+
+- **[TEST ONLY] APIv4 - ensure test records are cleaned up in non-transaction
+ tests ([23441](https://github.com/civicrm/civicrm-core/pull/23441))**
+
+- **Test cleanup - use names keys in mapper array where possible for clarity
+ ([23627](https://github.com/civicrm/civicrm-core/pull/23627))**
+
+- **Additional test
+ ([23562](https://github.com/civicrm/civicrm-core/pull/23562))**
+
+- **Add location import testing
+ ([23540](https://github.com/civicrm/civicrm-core/pull/23540))**
+
+- **Test fix
+ ([23561](https://github.com/civicrm/civicrm-core/pull/23561))**
+
+- **Add unit tests to cover date field imports
+ ([23502](https://github.com/civicrm/civicrm-core/pull/23502))**
+
+- **Payment forms test fixes
+ ([23524](https://github.com/civicrm/civicrm-core/pull/23524))**
+
+- **Re-use code in test
+ ([23523](https://github.com/civicrm/civicrm-core/pull/23523))**
+
+- **Fix test to validate forms & remove some unused code
+ ([23734](https://github.com/civicrm/civicrm-core/pull/23734))**
+
+- **Reduce test output spam
+ ([23750](https://github.com/civicrm/civicrm-core/pull/23750))**
+
+- **Fix for failing test in master
+ ([23751](https://github.com/civicrm/civicrm-core/pull/23751))**
+
+- **[REF] [TEST ONLY] APIv4 - Reorganize test classes, don't use transactions
+ for custom field tests
+ ([23402](https://github.com/civicrm/civicrm-core/pull/23402))**
+
+- **[REF] Fix second output in customFormat function and extend unit test
+ ([23815](https://github.com/civicrm/civicrm-core/pull/23815))**
+
+- **(REF) CRM_Dedupe_BAO_DedupeRule - Support third party fields and tables in
+ rules ([23332](https://github.com/civicrm/civicrm-core/pull/23332))**
+
+- **Update guzzle to 6.5.7
+ ([23748](https://github.com/civicrm/civicrm-core/pull/23748))**
+
+- **[REF] Update Guzzle to be 6.5.8
+ ([23858](https://github.com/civicrm/civicrm-core/pull/23858))**
+
+- **[REF] Fix PHP8.1 issue with passing NULL to trim()
+ ([23317](https://github.com/civicrm/civicrm-core/pull/23317))**
+
+- **[REF] Remove handling for non-existent 'savedMapping' field
+ ([23283](https://github.com/civicrm/civicrm-core/pull/23283))**
+
+- **[REF] Improve Get Coordinates by supporting other geocoding providers…
+ ([23646](https://github.com/civicrm/civicrm-core/pull/23646))**
+
+- **[REF] Minor simplification on input
+ ([23536](https://github.com/civicrm/civicrm-core/pull/23536))**
+
+- **(REF) CRM_Upgrade_Form - Remove silly method `runQuery`
+ ([23492](https://github.com/civicrm/civicrm-core/pull/23492))**
+
+- **[REF] APIv4 - Simplify entity creation in test suite
+ ([23432](https://github.com/civicrm/civicrm-core/pull/23432))**
+
+- **[REF] Move list of fields that have been upgraded
+ ([23518](https://github.com/civicrm/civicrm-core/pull/23518))**
+
+- **[REF] Remove unreachable code
+ ([23507](https://github.com/civicrm/civicrm-core/pull/23507))**
+
+- **[REF] Simplify contact.create
+ ([23515](https://github.com/civicrm/civicrm-core/pull/23515))**
+
+- **[REF] Fix handling of NULL values in count_characters smarty modifier by
+ creating a CiviCRM specific one that handles them
+ ([23318](https://github.com/civicrm/civicrm-core/pull/23318))**
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Benjamin W; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Davis Media Access - Darrick Servis; Deepak Srivastava; ES-Progress - Sandor Semsey; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart; iXiam - César Ramos; JMA Consulting - Monish Deb, Seamus Lee; Klangsoft - David Reedy Jr; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Robert J. Lang; Squiffle Consulting - Aidan Saunders; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman;
+Benjamin W; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM -
+Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu
+Lutfy; Dave D; Davis Media Access - Darrick Servis; Deepak Srivastava;
+ES-Progress - Sandor Semsey; Freeform Solutions - Herb van den Dool;
+Fuzion - Luke Stewart; iXiam - César Ramos; JMA Consulting - Monish Deb, Seamus
+Lee; Klangsoft - David Reedy Jr; Lighthouse Consulting and Design - Brian
+Shaughnessy; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg;
+MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology
+Project - Jamie McClelland; Robert J. Lang; Squiffle Consulting - Aidan
+Saunders; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen
+McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-Agileware - Justin Freeman; ALL IN APPLI; Artful Robot - Rich Lott; Australian Greens - Andrew Cormick-Dockery; Betty Dolfing; Blackfly Solutions - Alan Dixon; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; clarkac1; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Davis Media Access - Darrick Servis; DevApp - Adam Kwiatkowski; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Luke Stewart, Peter Davis; Greenleaf Advancement - Guy Iaccarino; Humanists UK - Andrew West;; iXiam - César Ramos; jaomalley; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; Progressive Technology Project - Jamie McClelland; Semper IT - Karin Gerritsen; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton
+Agileware - Justin Freeman; ALL IN APPLI; Andy Clark; Artful Robot - Rich Lott;
+Australian Greens - Andrew Cormick-Dockery; Betty Dolfing; Blackfly
+Solutions - Alan Dixon; CiviCoop - Jaap Jansma; Coop SymbioTIC - Samuel Vanhove;
+DevApp - Adam Kwiatkowski; Francesc Bassas i Bullich; Fuzion - Peter Davis;
+Greenleaf Advancement - Guy Iaccarino; Humanists UK - Andrew West; jaomalley;
+Jens Schuppe; Semper IT - Karin Gerritsen; Tadpole Collective - Kevin Cristiano;