From: Alice Frumin Date: Tue, 4 Oct 2022 04:10:58 +0000 (-0400) Subject: [NFC] first pass release notes 5.54 X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=32e60de8f61d7f6595b16128175dd80de61b83e1;p=civicrm-core.git [NFC] first pass release notes 5.54 --- diff --git a/contributor-key.yml b/contributor-key.yml index 12807acd23..fea835ae76 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -64,6 +64,8 @@ name : Alain Benbassat organization: Business & Code +- github : alarmingcod + - github : albionbrown name : Josh Brown organization: CEPR @@ -1280,7 +1282,7 @@ - github : savionlee name : Savion Lee - + - github : scoobird name : Morgan Robinson organization: Palante Technology Cooperative diff --git a/release-notes/5.54.0.md b/release-notes/5.54.0.md index 3bb2c26828..87355ec3dc 100644 --- a/release-notes/5.54.0.md +++ b/release-notes/5.54.0.md @@ -13,586 +13,1016 @@ Released October 5, 2022 | *Does this version...?* | | |:--------------------------------------------------------------- |:-------:| -| Fix security vulnerabilities? | | -| Change the database schema? | | -| Alter the API? | | -| Require attention to configuration options? | | -| Fix problems installing or upgrading to a previous version? | | -| Introduce features? | | -| Fix bugs? | | +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| **Require attention to configuration options?** | **yes** | +| Fix problems installing or upgrading to a previous version? | no | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features -## Bugs resolved - ### Core CiviCRM -- **Require search kit & form builder for `civiimport` ([24635](https://github.com/civicrm/civicrm-core/pull/24635))** +- **Double down or remove use of empoweredBy in invoice template + ([dev/core#3681](https://lab.civicrm.org/dev/core/-/issues/3681): + [24102](https://github.com/civicrm/civicrm-core/pull/24102))** -- **RecentItems - Fix inconsistent option values between upgrader & insta… ([24632](https://github.com/civicrm/civicrm-core/pull/24632))** + Adds token for CiviCRM empowered by image. -- **Fix import class loading issue in entityTypes hook ([24621](https://github.com/civicrm/civicrm-core/pull/24621))** +- **Queue API - Expose option for delayed tasks (`$options['release_time']`) + ([24395](https://github.com/civicrm/civicrm-core/pull/24395))** -- **Fix civiimport crash on unmapped fields, remove overzealous cleanup, add api to help debug & test ([24603](https://github.com/civicrm/civicrm-core/pull/24603))** + CRM_Queue_Queue_*::createItem() allows you to create new tasks for + separate/parallel execution. This patch adds an option for marking new tasks + as delayed (ie they will execute at some specific time in the future). -- **Fix is_override variable in MembershipView ([24617](https://github.com/civicrm/civicrm-core/pull/24617))** +- **Unhide message_admin extension + ([24269](https://github.com/civicrm/civicrm-core/pull/24269))** -- **dev/core#3862 - Crash when creating message template ([24615](https://github.com/civicrm/civicrm-core/pull/24615))** + Makes message_admin extension available thru the user interface. -- **dev/core#3826 Fix regression on contribution search tasks in search-kit ([24593](https://github.com/civicrm/civicrm-core/pull/24593))** +- **APIv4 - Add contact.getDuplicates action + ([24384](https://github.com/civicrm/civicrm-core/pull/24384))** -- **Put back exception during class scanning ([24601](https://github.com/civicrm/civicrm-core/pull/24601))** + Adds an APIv4 action for finding duplicate contacts given a set of values to + match. -- **Undo breakage of multi-primary key entities ([24584](https://github.com/civicrm/civicrm-core/pull/24584))** +- **APIv4 - Accept `match` param for Export action + ([24375](https://github.com/civicrm/civicrm-core/pull/24375))** -- **Class scanner - do not throw runTime Exception if class not loaded ([24580](https://github.com/civicrm/civicrm-core/pull/24580))** + Makes APIv4 Export code generator a little friendlier by inserting the match + param for you, if specified. -- **Add angular form to civiimport extension ([24545](https://github.com/civicrm/civicrm-core/pull/24545))** +- **Add `civiimport` core extension with Import api code for viewing import + tables ([24230](https://github.com/civicrm/civicrm-core/pull/24230))** -- **Fix warnings on upgrade when non-core message templates exist ([24588](https://github.com/civicrm/civicrm-core/pull/24588))** + Adds new pseudo-crud api for interacting with data import tables. -- **dev/core#3863 - Default email location on contact is always Billing ([24587](https://github.com/civicrm/civicrm-core/pull/24587))** +- **Add support for Contact tokens in welcome email using TokenProcessor + ([24235](https://github.com/civicrm/civicrm-core/pull/24235))** -- **Fix some inconsistent key names, as used by civiimport ([24574](https://github.com/civicrm/civicrm-core/pull/24574))** + Adds the possibility of using contact tokens in the welcome email -- **Add temporary file to help Joomla installers (5.54-rc) ([24572](https://github.com/civicrm/civicrm-core/pull/24572))** +- **Message Templates - Allow rendering & previewing of translated messages + ([24174](https://github.com/civicrm/civicrm-core/pull/24174))** -- **Remove attempt to match on soft credit header ([24566](https://github.com/civicrm/civicrm-core/pull/24566))** + Allows MessageTemplates to be translated. -- **Afform - Fix "Existing" autocomplete field and add tests ([24551](https://github.com/civicrm/civicrm-core/pull/24551))** +- **SearchKit - Use combo button+dropdown for creating new search or segment + ([24199](https://github.com/civicrm/civicrm-core/pull/24199))** -- **[NFC] Fix Typo in Dismaker list of core exts ([24570](https://github.com/civicrm/civicrm-core/pull/24570))** + Slightly more convenient buttons for creating a new search or segment. -- **Stop removing Import tables during cache clearing ([24538](https://github.com/civicrm/civicrm-core/pull/24538))** +- **SearchKit - Support form filters for relationships + ([24293](https://github.com/civicrm/civicrm-core/pull/24293))** -- **Flush old user jobs ([24546](https://github.com/civicrm/civicrm-core/pull/24546))** + Makes it possible to filter related contacts by relationship fields. -- **Fix entity_id being saved to message field (only affects rc+) ([24547](https://github.com/civicrm/civicrm-core/pull/24547))** +- **SearchKit - Better title and description for managed entities + ([24201](https://github.com/civicrm/civicrm-core/pull/24201))** -- **DebugSubscriber - Fix activation check ([24554](https://github.com/civicrm/civicrm-core/pull/24554))** + Improves titles and descriptions for managed entities. -- **Pass correct variable type to CRM_Core_OptionValue::getValues ([24543](https://github.com/civicrm/civicrm-core/pull/24543))** +- **SearchKit - Add contacts to mailing group in batches + ([24254](https://github.com/civicrm/civicrm-core/pull/24254))** -- **Fix import to support entity_configuration ([24520](https://github.com/civicrm/civicrm-core/pull/24520))** + Fixes potential problems when creating large CiviMail mailing groups via + SearchKit (for the "Email - schedule/send via CiviMail" action). -- **Remove references to old temp table names ([24532](https://github.com/civicrm/civicrm-core/pull/24532))** +- **SearchKit - Show other FK fields in the bridge join selector + ([24505](https://github.com/civicrm/civicrm-core/pull/24505))** -- **[REF] Update Zetacomponents/mail to be 1.9.4 ([24517](https://github.com/civicrm/civicrm-core/pull/24517))** + Allows Relationship IDs to be selected. -- **upmerge #24506 - got stuck in limbo between branches ([24515](https://github.com/civicrm/civicrm-core/pull/24515))** +- **Search Kit: More options on field transformations of a Date Field + ([dev/core#3700](https://lab.civicrm.org/dev/core/-/issues/3700): + [24181](https://github.com/civicrm/civicrm-core/pull/24181))** -- **SearchKit - Fix arithmetic in WHERE clause ([24514](https://github.com/civicrm/civicrm-core/pull/24514))** + Improves SearchKit so that you can e.g. Group by the month+year of a + birth-date. -- **AdminUI - Add SearchKit-based screen for Administer Contact Types ([24512](https://github.com/civicrm/civicrm-core/pull/24512))** +- **SearchKit - Better support for calculated fields as Afform filters + ([24448](https://github.com/civicrm/civicrm-core/pull/24448))** -- **Add unit test & handling for processing from UserJob configuration rather than form submitted values ([24510](https://github.com/civicrm/civicrm-core/pull/24510))** + More support for calculated fields in the Afform Admin UI, allowing them to + be configured more like real fields. This allows e.g. a SUM() aggregate to be + made a "search by range" filter. -- **dev/core#3838 - Addressee token evaluates middle_name as literal string null ([24513](https://github.com/civicrm/civicrm-core/pull/24513))** +- **SearchKit - Add activity task + ([24391](https://github.com/civicrm/civicrm-core/pull/24391))** -- **SearchKit - Allow aggreation by partial dates ([24181](https://github.com/civicrm/civicrm-core/pull/24181))** + Adds the "Add activity" task to SearchKit (for contact searches). -- **report clean up templates ([24508](https://github.com/civicrm/civicrm-core/pull/24508))** +- **FormBuilder - setting a field as 'required' does not implement any + validation check + (Work Towards [dev/core#3137](https://lab.civicrm.org/dev/core/-/issues/3137): + [23604](https://github.com/civicrm/civicrm-core/pull/23604))** -- **BAO regen ([24507](https://github.com/civicrm/civicrm-core/pull/24507))** + Implements a client-side only implementation of required field validation for + Afforms. -- **Fix unreleased regression on soft credit imports ([24502](https://github.com/civicrm/civicrm-core/pull/24502))** +- **Afform - add "Existing entity" selector + ([24165](https://github.com/civicrm/civicrm-core/pull/24165))** -- **report clean up templates ([24504](https://github.com/civicrm/civicrm-core/pull/24504))** + Allows selecting an existing entity, optionally filtered by a Saved Search in + Afform. -- **SearchKit - Show other FK fields in the bridge join selector ([24505](https://github.com/civicrm/civicrm-core/pull/24505))** +- **Require search kit & form builder for `civiimport` + ([24635](https://github.com/civicrm/civicrm-core/pull/24635))** -- **report cleanup ([24503](https://github.com/civicrm/civicrm-core/pull/24503))** + Requires search kit & form builder for civiimport. -- **🎁 CiviEvent, Event Dashboard, iCal links are inside the h3 styling move out and add spacing ([24149](https://github.com/civicrm/civicrm-core/pull/24149))** +- **Add angular form to civiimport extension + ([24545](https://github.com/civicrm/civicrm-core/pull/24545))** -- **Improve contribution import error handling ([24501](https://github.com/civicrm/civicrm-core/pull/24501))** + Add alternate import angular mapping form for contribution import in the + civimport extension. -- **SearchKit - Better support for calculated fields as Afform filters ([24448](https://github.com/civicrm/civicrm-core/pull/24448))** +- **Add Saved searches to view import jobs + ([24343](https://github.com/civicrm/civicrm-core/pull/24343))** -- **[REF] Fix syntax of var docblocks ([24498](https://github.com/civicrm/civicrm-core/pull/24498))** + Adds Saved searches to view import jobs. -- **More PHPdoc fixes ([24495](https://github.com/civicrm/civicrm-core/pull/24495))** +- **AdminUI - Add SearchKit-based screen for Administer Contact Types + ([24512](https://github.com/civicrm/civicrm-core/pull/24512))** -- **(REF) SettingsMetadata - Small cleanup to prevent duplicate slashes ([24493](https://github.com/civicrm/civicrm-core/pull/24493))** + One more step toward building out the CiviCRM Admin UI extension, this + converts the "Administer Contact Types" screen, while adding a new feature to + SearchKit: a convenient "Add New..." button at the top of the search display. -- **(dev/core#3790) Pledge status is missing on View Pledge page ([24492](https://github.com/civicrm/civicrm-core/pull/24492))** +- **File::findFiles - Save 200 million nanoseconds + ([24490](https://github.com/civicrm/civicrm-core/pull/24490))** -- **dev/financial#192 Fallback to custom currency object for codes which Brick\Money does not support. ([24428](https://github.com/civicrm/civicrm-core/pull/24428))** + Performance Improvement. -- **Adding better wording to Events page for matching dates ([24489](https://github.com/civicrm/civicrm-core/pull/24489))** +- **CiviCRM sample data - use a price set for at least one contribution page & + event ([dev/core#3685](https://lab.civicrm.org/dev/core/-/issues/3685): + [24103](https://github.com/civicrm/civicrm-core/pull/24103))** -- **Fix email notices on email edit block ([24332](https://github.com/civicrm/civicrm-core/pull/24332))** + Updates some of our sample data price sets to NOT be quick config. -- **File::findFiles - Save 200 million nanoseconds ([24490](https://github.com/civicrm/civicrm-core/pull/24490))** +- **Improve activity demo data - more types + ([24314](https://github.com/civicrm/civicrm-core/pull/24314))** -- **dev/core#1172 Fix Contribution import to handle ContributionSoft in a storable way ([24485](https://github.com/civicrm/civicrm-core/pull/24485))** + Extends the types of activities in the sample data -- **ClassScanner - Fix guard for preboot cache scenario ([24480](https://github.com/civicrm/civicrm-core/pull/24480))** +### CiviCase -- **Fix some notices on New Contribution page (smarty) ([24409](https://github.com/civicrm/civicrm-core/pull/24409))** +- **Afform - support opening new case + ([24236](https://github.com/civicrm/civicrm-core/pull/24236))** -- **[REF] Cleanup code to getAvailableFields on Contribution MapField ([24484](https://github.com/civicrm/civicrm-core/pull/24484))** + Allows the Case entity to be added to Form Builder and configure case client + and other fields (including custom). Submitting the form will open a new case + for the specified client, which could be the current user, or another contact + on the form. -- **MailingSystemTest - Fix invalid PHP ([24481](https://github.com/civicrm/civicrm-core/pull/24481))** +- **Case Dashboard improvements + ([dev/core#3822](https://lab.civicrm.org/dev/core/-/issues/3822): + [24382](https://github.com/civicrm/civicrm-core/pull/24382))** -- **5.53.0 release notes late changes ([24478](https://github.com/civicrm/civicrm-core/pull/24478))** + On the case dashboard sorts the recently performed activities by most recent + first. -- **Afform - Fix setting default value for date filter fields ([24471](https://github.com/civicrm/civicrm-core/pull/24471))** +- **APIv4 - Add `case_id` field to Activity entity + ([24244](https://github.com/civicrm/civicrm-core/pull/24244) + and [24360](https://github.com/civicrm/civicrm-core/pull/24360))** -- **allow contact reference custom fields to have lengths greater than 255 characters ([24468](https://github.com/civicrm/civicrm-core/pull/24468))** + Adds a case ID field to APIv4 Activity entity and adds support for updating + it. -- **Adjust contribution metadata to filter at display not load ([24475](https://github.com/civicrm/civicrm-core/pull/24475))** +### CiviContribute -- **[REF] Extract rule-loading function ([24474](https://github.com/civicrm/civicrm-core/pull/24474))** +- **Update invoice template to be (mostly) previewable + ([24122](https://github.com/civicrm/civicrm-core/pull/24122))** -- **Follow up code simplification - no need to map 'Individual' to 'Individual' ([24473](https://github.com/civicrm/civicrm-core/pull/24473))** +- **Fix contribution online receipt to be, somewhat, previewable + ([24321](https://github.com/civicrm/civicrm-core/pull/24321))** -- **[Ref] [Import] Simplify form event MapField (Contact) ([24464](https://github.com/civicrm/civicrm-core/pull/24464))** +- **Improve contribution import error handling + ([24501](https://github.com/civicrm/civicrm-core/pull/24501))** -- **Remove silly constants for Contact Types (import) ([24465](https://github.com/civicrm/civicrm-core/pull/24465))** + Better error messages for contribution imports. -- **[Ref] [Import] Simplify form event MapField to use shared rule (Participant) ([24463](https://github.com/civicrm/civicrm-core/pull/24463))** +- **Financial Type ACLs don't work on soft credits (Work Towards + [dev/financial#121](https://lab.civicrm.org/dev/financial/-/issues/121): + [22504](https://github.com/civicrm/civicrm-core/pull/22504))** -- **[REF] Remove calls to settings from angularjs to php layer to assist … ([24462](https://github.com/civicrm/civicrm-core/pull/24462))** + Supports modifying Soft Credit permissions via hook. -- **Fix import classes to call `runAllInteractive()` rather than `runAllViaWeb` (which in practice currently just calls `runAllViaWeb` ) ([24396](https://github.com/civicrm/civicrm-core/pull/24396))** +### CiviEvent -- **Re-run regen ([24461](https://github.com/civicrm/civicrm-core/pull/24461))** +- **Add initial Event Message Template previewability + ([24323](https://github.com/civicrm/civicrm-core/pull/24323))** -- **Mark some more fields deprecated or readonly ([24429](https://github.com/civicrm/civicrm-core/pull/24429))** + Adds Event Message Template previewability (with tokens populated). -- **dev/core#3778 Add code hook to set civicrm_participant.created_id ([24304](https://github.com/civicrm/civicrm-core/pull/24304))** +- **Event participant registered by contact ID + (Work Towards [dev/core#3778](https://lab.civicrm.org/dev/core/-/issues/3778): + [24304](https://github.com/civicrm/civicrm-core/pull/24304) and + [24167](https://github.com/civicrm/civicrm-core/pull/24167))** -- **Languages - Dropdown lists should reflect supported languages ([24444](https://github.com/civicrm/civicrm-core/pull/24444))** + Adds created_id field to civicrm_participant and adds a code hook to set the + civicrm_participant.created_id. -- **Afform - Implement client-side validation of required fields ([23604](https://github.com/civicrm/civicrm-core/pull/23604))** +### CiviMember -- **Fix Import metadata to use apiv4 for contact on contribution imports ([24441](https://github.com/civicrm/civicrm-core/pull/24441))** +- **Add hint to create membership "You do not have all the permissions needed + for this page" message + ([24253](https://github.com/civicrm/civicrm-core/pull/24253))** -- **Stop PHP warning on installations with no contributions ([24427](https://github.com/civicrm/civicrm-core/pull/24427))** + Clearer error message when trying to create a membership when no membership + types have been configured. -- **[NFC] Add in Unit test to test domain token replacement in Reply process ([24453](https://github.com/civicrm/civicrm-core/pull/24453))** +- **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): + [24194](https://github.com/civicrm/civicrm-core/pull/24194))** -- **CRM_Queue_Queue - Add 'getStatistic($name)'. Deprecate 'numberOfItems()' ([24452](https://github.com/civicrm/civicrm-core/pull/24452))** + Improves the Membership tab on the contact record by sorting the memberships + listed by join date. -- **Increase the deprecation on some unused functions ([24442](https://github.com/civicrm/civicrm-core/pull/24442))** +### Drupal Integration -- **Afform - Fix date range filters for search displays ([24451](https://github.com/civicrm/civicrm-core/pull/24451))** +- **Epic: Drupal 10 readiness (Work Towards + [dev/drupal#176](https://lab.civicrm.org/dev/drupal/-/issues/176): + [24133](https://github.com/civicrm/civicrm-core/pull/24133))** -- **(NFC) Fix sprintf syntax ([24447](https://github.com/civicrm/civicrm-core/pull/24447))** + Makes loadBootstrap work in drupal 10, e.g. to make `cv` work. -- **Improve scheduled reminder form labels. Resolves issue core/3823 ([24421](https://github.com/civicrm/civicrm-core/pull/24421))** +## Bugs resolved -- **[REF] ManagedEntities - Move deprecated function ([24437](https://github.com/civicrm/civicrm-core/pull/24437))** +### Core CiviCRM -- **Use preferred `{contact.email_greeting_display}` token over deprecated `{contact.email_greeting}` in ALL templates ([24316](https://github.com/civicrm/civicrm-core/pull/24316))** +- **allow contact reference custom fields to have lengths greater than 255 + characters ([24468](https://github.com/civicrm/civicrm-core/pull/24468))** -- **Add support for Contact tokens in welcome email using TokenProcessor ([24235](https://github.com/civicrm/civicrm-core/pull/24235))** +- **Define `setLocale()` for languages which aren't "all there" + ([dev/translation#78](https://lab.civicrm.org/dev/translation/-/issues/78): + [24403](https://github.com/civicrm/civicrm-core/pull/24403))** -- **Remove function after two years of noisy deprecation ([24443](https://github.com/civicrm/civicrm-core/pull/24443))** +- **Failed payment blocks member from joining again, should be Pending not + Cancelled ([dev/core#2517](https://lab.civicrm.org/dev/core/-/issues/2517): + [24342](https://github.com/civicrm/civicrm-core/pull/24342))** -- **Message Templates - Allow rendering & previewing of translated messages ([24174](https://github.com/civicrm/civicrm-core/pull/24174))** + Remove tests from core test suites relating to membership cancellation process + and update extension unit tests to cover for gaps in testing. -- **REF] Standardise validation of mapped fields in imports, fix over-zealous requirements when matching on trxn_id, invoice_id for update ([24433](https://github.com/civicrm/civicrm-core/pull/24433))** +- **Remove dataColumnGuessing + ([dev/core#3664](https://lab.civicrm.org/dev/core/-/issues/3664): + [24212](https://github.com/civicrm/civicrm-core/pull/24212))** -- **dev/core#3833 Update CRM_Extension_Downloader to not use dynamic properties ([24438](https://github.com/civicrm/civicrm-core/pull/24438))** +- **Fix Import metadata to use apiv4 for contact on contribution imports + ([24441](https://github.com/civicrm/civicrm-core/pull/24441))** -- **ManagedEntity - Ensure managed record is consistently deleted ([24435](https://github.com/civicrm/civicrm-core/pull/24435))** +- **Importing Data: field "source" is updated instead of filled + ([dev/core#3733](https://lab.civicrm.org/dev/core/-/issues/3733): + [24001](https://github.com/civicrm/civicrm-core/pull/24001))** -- **dev/financial#208 - Fix crash for invoice button ([24434](https://github.com/civicrm/civicrm-core/pull/24434))** +- **Fix import class loading issue in entityTypes hook + ([24621](https://github.com/civicrm/civicrm-core/pull/24621))** -- **Remove method getActionAttribute ([24425](https://github.com/civicrm/civicrm-core/pull/24425))** +- **Fix civiimport crash on unmapped fields, remove overzealous cleanup, add + api to help debug & test + ([24603](https://github.com/civicrm/civicrm-core/pull/24603))** -- **dev/core#3831 Deprecated string interpolation ([24436](https://github.com/civicrm/civicrm-core/pull/24436))** +- **Stop removing Import tables during cache clearing + ([24538](https://github.com/civicrm/civicrm-core/pull/24538))** -- **dev/core#3833 Update CRM_Extension_Downloader to not use dynamic properties ([24440](https://github.com/civicrm/civicrm-core/pull/24440))** +- **Fix import classes to call `runAllInteractive()` rather than `runAllViaWeb` + (which in practice currently just calls `runAllViaWeb`) + ([24396](https://github.com/civicrm/civicrm-core/pull/24396))** -- **When updating userJob status to match queue status skip permission check ([24394](https://github.com/civicrm/civicrm-core/pull/24394))** +- **Fix import to support entity_configuration + ([24520](https://github.com/civicrm/civicrm-core/pull/24520))** -- **Fix PHPDoc comment for CRM_Financial_BAO_FinancialItem::add ([24439](https://github.com/civicrm/civicrm-core/pull/24439))** +- **Fix some inconsistent key names, as used by civiimport + ([24574](https://github.com/civicrm/civicrm-core/pull/24574))** -- **APIv4 - Promote option `$language` from DAOActionTrait to AbstractAction ([24430](https://github.com/civicrm/civicrm-core/pull/24430))** +- **Add 'Entity' to the information import parser classes provide + ([24285](https://github.com/civicrm/civicrm-core/pull/24285))** -- **Deprecate preferred_mail_format column ([24426](https://github.com/civicrm/civicrm-core/pull/24426))** +- **Undefined array key "rows" in Search.tpl.php when entering "Manage Groups" + ([dev/core#3771](https://lab.civicrm.org/dev/core/-/issues/3771): + [24318](https://github.com/civicrm/civicrm-core/pull/24318))** -- **Contribution import - test notes, cleanup notes, fix regression found in test writing ([24419](https://github.com/civicrm/civicrm-core/pull/24419))** +- **Custom Groups should not exclude activity types where filter > 0 if in + managed entities + ([dev/core#3796](https://lab.civicrm.org/dev/core/-/issues/3796): + [24222](https://github.com/civicrm/civicrm-core/pull/24222))** -- **Mark `contact.created date` read-only in schema ([24417](https://github.com/civicrm/civicrm-core/pull/24417))** +- **Allow other extensions to use Recaptcha extension for validation + ([dev/core#3811](https://lab.civicrm.org/dev/core/-/issues/3811): + [24303](https://github.com/civicrm/civicrm-core/pull/24303))** -- **Add missing PHPDoc types ([24424](https://github.com/civicrm/civicrm-core/pull/24424))** + Fixes for missing recaptcha_check_answer() when validate is called by other + extensions. -- **Remove method updateDisplayNames ([24422](https://github.com/civicrm/civicrm-core/pull/24422))** +- **Scheduled Reminders' effective start/end date incorrectly described. + ([dev/core#3823](https://lab.civicrm.org/dev/core/-/issues/3823): + [24421](https://github.com/civicrm/civicrm-core/pull/24421))** -- **Docblock fix - findOrphanedFiles method ([24423](https://github.com/civicrm/civicrm-core/pull/24423))** +- **PHP 8.2 Deprecated ${} string interpolation + ([dev/core#3831](https://lab.civicrm.org/dev/core/-/issues/3831): + [24436](https://github.com/civicrm/civicrm-core/pull/24436))** -- **Fix contribution online receipt to be, somewhat, previewable ([24321](https://github.com/civicrm/civicrm-core/pull/24321))** +- **PHP 8.2 Dynamic Properties are deprecated + ([dev/core#3833](https://lab.civicrm.org/dev/core/-/issues/3833): + [24438](https://github.com/civicrm/civicrm-core/pull/24438) and + [24440](https://github.com/civicrm/civicrm-core/pull/24440))** -- **dev/drupal#176 - Make loadBootstrap work in drupal 10, e.g. to make `cv` work ([24133](https://github.com/civicrm/civicrm-core/pull/24133))** +- **Middle name is evaluating to literal word null in addressee greeting + ([dev/core#3838](https://lab.civicrm.org/dev/core/-/issues/3838): + [24513](https://github.com/civicrm/civicrm-core/pull/24513))** -- **API - Standardize group ACL checks ([24337](https://github.com/civicrm/civicrm-core/pull/24337))** +- **Error when creating a message template + ([dev/core#3862](https://lab.civicrm.org/dev/core/-/issues/3862): + [24615](https://github.com/civicrm/civicrm-core/pull/24615))** -- **dev/core#3828 Fix required fields check to accept 0 ([24414](https://github.com/civicrm/civicrm-core/pull/24414))** +- **Default location type for email seems to have become Billing, even if Home + is set as the default. + ([dev/core#3863](https://lab.civicrm.org/dev/core/-/issues/3863): + [24587](https://github.com/civicrm/civicrm-core/pull/24587))** -- **REF Code cleanup for event configuration extracted from advancedevents extension ([24418](https://github.com/civicrm/civicrm-core/pull/24418))** +- **Move creating of nav & menu items to legacycustomsearches extension + ([23862](https://github.com/civicrm/civicrm-core/pull/23862))** -- **Remove always-true if ([24410](https://github.com/civicrm/civicrm-core/pull/24410))** +- **Update references to 'workflow' (from old 'valueName' parameter) + ([24054](https://github.com/civicrm/civicrm-core/pull/24054))** -- **Remove obsolete param from duplicated function ([24412](https://github.com/civicrm/civicrm-core/pull/24412))** +- **Update DAO to use declared primary field, do not assume... + ([24275](https://github.com/civicrm/civicrm-core/pull/24275))** -- **Remove unreachable code ([24411](https://github.com/civicrm/civicrm-core/pull/24411))** +- **AllCoreTables - Dismbiguate `init `and `flush` + ([24274](https://github.com/civicrm/civicrm-core/pull/24274))** -- **Use shared parent formRule in custom import api ([24389](https://github.com/civicrm/civicrm-core/pull/24389))** +- **OAuth fixes + ([24383](https://github.com/civicrm/civicrm-core/pull/24383))** -- **Minor code cleaup - the form rule is in the parent function ([24388](https://github.com/civicrm/civicrm-core/pull/24388))** +- **Fix array-cache-bypass - in FastArrays on `has()` + ([24156](https://github.com/civicrm/civicrm-core/pull/24156))** -- **Update Contribution import to use new v4 dedupe lookup ([24402](https://github.com/civicrm/civicrm-core/pull/24402))** +- **Fix email notices on email edit block + ([24332](https://github.com/civicrm/civicrm-core/pull/24332))** -- **Switch Contact import to use new v4 dedupe lookup ([24401](https://github.com/civicrm/civicrm-core/pull/24401))** +- **Afform - Fix date range filters for search displays + ([24451](https://github.com/civicrm/civicrm-core/pull/24451))** -- **Remove misleading comment. ([24407](https://github.com/civicrm/civicrm-core/pull/24407))** +- **Afform - Fix setting default value for date filter fields + ([24471](https://github.com/civicrm/civicrm-core/pull/24471))** -- **APIv4 - Add contact.getDuplicates action ([24384](https://github.com/civicrm/civicrm-core/pull/24384))** +- **Afform - Fix "Existing" autocomplete field and add tests + ([24551](https://github.com/civicrm/civicrm-core/pull/24551))** -- **Stop PHP notice when accessing invalid event ID ([24406](https://github.com/civicrm/civicrm-core/pull/24406))** +- **SearchKit - Fix arithmetic in WHERE clause + ([24514](https://github.com/civicrm/civicrm-core/pull/24514))** -- **Tidy up whereClause method of mailing browse ([24404](https://github.com/civicrm/civicrm-core/pull/24404))** +- **Fix warnings on upgrade when non-core message templates exist + ([24588](https://github.com/civicrm/civicrm-core/pull/24588))** -- **PHPDoc comment fixes ([24405](https://github.com/civicrm/civicrm-core/pull/24405))** +- **RecentItems - Fix inconsistent option values between upgrader & installer + ([24632](https://github.com/civicrm/civicrm-core/pull/24632))** -- **(dev/translation#78) Allow partial/mixed locales. Define global `Locale` object. ([24403](https://github.com/civicrm/civicrm-core/pull/24403))** +- **Put back exception during class scanning + ([24601](https://github.com/civicrm/civicrm-core/pull/24601))** -- **(REF) Tests - Misc updates in prepartion for l10n updates ([24400](https://github.com/civicrm/civicrm-core/pull/24400))** +- **Undo breakage of multi-primary key entities + ([24584](https://github.com/civicrm/civicrm-core/pull/24584))** -- **QueueItem - Convert DATETIME to TIMESTAMP ([24399](https://github.com/civicrm/civicrm-core/pull/24399))** +- **Class scanner - do not throw runTime Exception if class not loaded + ([24580](https://github.com/civicrm/civicrm-core/pull/24580))** -- **Minor import test cleanup ([24387](https://github.com/civicrm/civicrm-core/pull/24387))** +- **Flush old user jobs + ([24546](https://github.com/civicrm/civicrm-core/pull/24546))** -- **Minor readability cleanup - remove code comments about removed item, comments ([24397](https://github.com/civicrm/civicrm-core/pull/24397))** +- **DebugSubscriber - Fix activation check + ([24554](https://github.com/civicrm/civicrm-core/pull/24554))** -- **[Ref] Import cleanup code that looks up contribution in import ([24374](https://github.com/civicrm/civicrm-core/pull/24374))** +- **Pass correct variable type to CRM_Core_OptionValue::getValues + ([24543](https://github.com/civicrm/civicrm-core/pull/24543))** -- **Add Saved searches to view import jobs ([24343](https://github.com/civicrm/civicrm-core/pull/24343))** +- **Deprecate preferred_mail_format column + ([24426](https://github.com/civicrm/civicrm-core/pull/24426))** -- **Fix broken js on Contribution Import ([24371](https://github.com/civicrm/civicrm-core/pull/24371))** +- **Smarty notice fix - remove obsolete preferred_mail_format + ([24335](https://github.com/civicrm/civicrm-core/pull/24335))** -- **Queue API - Expose option for delayed tasks (`$options['release_time']`) ([24395](https://github.com/civicrm/civicrm-core/pull/24395))** +- **CrmUi - Fix tabSetOptions variable + ([24197](https://github.com/civicrm/civicrm-core/pull/24197))** -- **(NFC) Autoformat big clusters of `list()` statements ([24392](https://github.com/civicrm/civicrm-core/pull/24392))** +- **Mark some more fields deprecated or readonly + ([24429](https://github.com/civicrm/civicrm-core/pull/24429))** -- **Issue/core#3489: Increase field size for mailing bounce type ([23658](https://github.com/civicrm/civicrm-core/pull/23658))** +- **Increase the deprecation on some unused functions + ([24442](https://github.com/civicrm/civicrm-core/pull/24442))** -- **OAuth fixes ([24383](https://github.com/civicrm/civicrm-core/pull/24383))** +- **Stop PHP warning on installations with no contributions + ([24427](https://github.com/civicrm/civicrm-core/pull/24427))** -- **SearchKit - Add activity task ([24391](https://github.com/civicrm/civicrm-core/pull/24391))** +- **CRM_Queue_Queue - Add 'getStatistic($name)'. Deprecate 'numberOfItems()' + ([24452](https://github.com/civicrm/civicrm-core/pull/24452))** -- **[REF] Variable use cleanup ([24390](https://github.com/civicrm/civicrm-core/pull/24390))** +- **Languages - Dropdown lists should reflect supported languages + ([24444](https://github.com/civicrm/civicrm-core/pull/24444))** -- **Move participant cancel tests to extension ([24340](https://github.com/civicrm/civicrm-core/pull/24340))** +- **Use preferred `{contact.email_greeting_display}` token over deprecated + `{contact.email_greeting}` in ALL templates + ([24316](https://github.com/civicrm/civicrm-core/pull/24316))** -- **Fix participant import not to import to deleted contacts ([24377](https://github.com/civicrm/civicrm-core/pull/24377))** +- **ManagedEntity - Ensure managed record is consistently deleted + ([24435](https://github.com/civicrm/civicrm-core/pull/24435))** -- **Membership import - Simplify contact_id validation & avoid deleted contacts ([24380](https://github.com/civicrm/civicrm-core/pull/24380))** +- **When updating userJob status to match queue status skip permission check + ([24394](https://github.com/civicrm/civicrm-core/pull/24394))** -- **Deprecate horrible function + unreleased regression ([24386](https://github.com/civicrm/civicrm-core/pull/24386))** +- **Warning popup about copy of extension in system path disappears too fast + ([24381](https://github.com/civicrm/civicrm-core/pull/24381))** -- **Add unique index to DedupeRuleGroup.name field ([24385](https://github.com/civicrm/civicrm-core/pull/24385))** +- **APIv4 - Fix some hard-coded references to 'id' in DAO action classes + ([24290](https://github.com/civicrm/civicrm-core/pull/24290))** -- **dev/core#3822 - On case dashboard sort the recently performed activities by most recent first ([24382](https://github.com/civicrm/civicrm-core/pull/24382))** +- **APIv4 - Promote option `$language` from DAOActionTrait to AbstractAction + ([24430](https://github.com/civicrm/civicrm-core/pull/24430))** -- **Warning popup about copy of extension in system path disappears too fast ([24381](https://github.com/civicrm/civicrm-core/pull/24381))** +- **APIv4 - Add comments and fix data type for contact location joins + ([24239](https://github.com/civicrm/civicrm-core/pull/24239))** -- **Add missing country=>billingCountry to PropertyBag mapping ([24232](https://github.com/civicrm/civicrm-core/pull/24232))** +- **APIv4 - Fix GroupContact permission to use standard ACLs + ([24186](https://github.com/civicrm/civicrm-core/pull/24186))** -- **Finally full remove the awful addField from import ([24379](https://github.com/civicrm/civicrm-core/pull/24379))** +- **Fix notice on skipTitle + ([24338](https://github.com/civicrm/civicrm-core/pull/24338))** -- **Alternate to #24143 - Update all is_reserved message templates during upgrade and their corresponding is_default's if it hasn't been edited ([24345](https://github.com/civicrm/civicrm-core/pull/24345))** +- **Strict smarty notice fix on contact edit - `isSingleRecordEdit` + ([24330](https://github.com/civicrm/civicrm-core/pull/24330))** -- **Add initial Event Message Template previewability ([24323](https://github.com/civicrm/civicrm-core/pull/24323))** +- **Fix Advanced search under strict smarty + ([24336](https://github.com/civicrm/civicrm-core/pull/24336))** -- **APIv4 - Accept `match` param for Export action ([24375](https://github.com/civicrm/civicrm-core/pull/24375))** +- **Fix `returnProperties` on contact retrieval in `Contact_Tokens` to fetch + less, less often + ([24315](https://github.com/civicrm/civicrm-core/pull/24315))** -- **Remove obsolete addField from activity import ([24376](https://github.com/civicrm/civicrm-core/pull/24376))** +- **ClassScanner - Fix guard for preboot cache scenario + ([24480](https://github.com/civicrm/civicrm-core/pull/24480))** -- **Convert membership Import to use select2 ([24356](https://github.com/civicrm/civicrm-core/pull/24356))** +- **ClassScanner - Throw an exception if a class-file doesn't have the expected + class ([24348](https://github.com/civicrm/civicrm-core/pull/24348))** -- **5.53 ([24378](https://github.com/civicrm/civicrm-core/pull/24378))** +- **Clean up another cache usage to use metadata + ([24298](https://github.com/civicrm/civicrm-core/pull/24298))** -- **Test only fixes ([24369](https://github.com/civicrm/civicrm-core/pull/24369))** +- **Fix another cache usage to use metadata cache + ([24297](https://github.com/civicrm/civicrm-core/pull/24297))** -- **Merge rc to master ([24373](https://github.com/civicrm/civicrm-core/pull/24373))** +- **Further fix on `fastArrayCache` `has` + ([24292](https://github.com/civicrm/civicrm-core/pull/24292))** -- **APIv4 - Support updating activity.case_id ([24360](https://github.com/civicrm/civicrm-core/pull/24360))** +- **Fix use of legacy pseudoConstant methods + ([24270](https://github.com/civicrm/civicrm-core/pull/24270))** -- **[Ref] Extract getContactFields ([24362](https://github.com/civicrm/civicrm-core/pull/24362))** +- **Case-insensitive match on subtypes when validating subtype by entity for + custom groups ([24134](https://github.com/civicrm/civicrm-core/pull/24134))** -- **Unused functions in CRM_Upgrade_Form ([24361](https://github.com/civicrm/civicrm-core/pull/24361))** +- **CiviEventDispatcher - Fix pass-by-reference of hook-style arguments for + service-based listeners + ([24282](https://github.com/civicrm/civicrm-core/pull/24282))** -- **APIv4 - Expand Group.create permissions to include CiviMail ([24268](https://github.com/civicrm/civicrm-core/pull/24268))** +- **[php 8 compat] Make sure variables are assigned in civireport + ([24326](https://github.com/civicrm/civicrm-core/pull/24326))** -- **Simplify Domain edit form to not call complete `LocationBlock::buildQuickForm` ([24333](https://github.com/civicrm/civicrm-core/pull/24333))** +- **Fix PHP notice and hide/show 'including yourself' depending on if + contact_id is set + ([24301](https://github.com/civicrm/civicrm-core/pull/24301))** -- **[REF] Simplify error handling in contribution import ([24351](https://github.com/civicrm/civicrm-core/pull/24351))** +- **AUS is not a valid ISO 3166-1 alpha-2 country code. Do not use it in tests + ([24277](https://github.com/civicrm/civicrm-core/pull/24277))** -- **[REF] Fold only parent class into only child class ([24353](https://github.com/civicrm/civicrm-core/pull/24353))** +- **Further caching fix - use metadata cache + ([24294](https://github.com/civicrm/civicrm-core/pull/24294))** -- **Deprecate `BAO_Membership::importableFields` ([24357](https://github.com/civicrm/civicrm-core/pull/24357))** +- **Mark `contact.created date` read-only in schema + ([24417](https://github.com/civicrm/civicrm-core/pull/24417))** -- **Fix notice on skipTitle ([24338](https://github.com/civicrm/civicrm-core/pull/24338))** +- **CRM_Core_DAO - Be more flexible about the primary key name + ([24299](https://github.com/civicrm/civicrm-core/pull/24299))** -- **ClassScanner - Throw an exception if a class-file doesn't have the expected class ([24348](https://github.com/civicrm/civicrm-core/pull/24348))** +- **QueueItem - Convert DATETIME to TIMESTAMP + ([24399](https://github.com/civicrm/civicrm-core/pull/24399))** -- **Merge branch '5.53' to master ([24359](https://github.com/civicrm/civicrm-core/pull/24359))** +- **Add unique index to DedupeRuleGroup.name field + ([24385](https://github.com/civicrm/civicrm-core/pull/24385))** -- **Move `isSkipDuplicates` to shared parent ([24354](https://github.com/civicrm/civicrm-core/pull/24354))** +- **Resolve existential crisis for customfield.is_active + ([24246](https://github.com/civicrm/civicrm-core/pull/24246))** -- **Remove do-nothing code, add test to prove ([24350](https://github.com/civicrm/civicrm-core/pull/24350))** +- **Alternate to #24143 - Update all is_reserved message templates during + upgrade and their corresponding is_default's if it hasn't been edited + ([24345](https://github.com/civicrm/civicrm-core/pull/24345))** -- **Fix imported statuses & contribution id storage on import job ([24344](https://github.com/civicrm/civicrm-core/pull/24344))** +### CiviCase -- **5.53 ([24352](https://github.com/civicrm/civicrm-core/pull/24352))** +- **Migrate case activity revisions to trigger-based logging + ([dev/core#1532](https://lab.civicrm.org/dev/core/-/issues/1532): + [24266](https://github.com/civicrm/civicrm-core/pull/24266) and + [24249](https://github.com/civicrm/civicrm-core/pull/24249))** -- **Strict smarty notice fix on contact edit - `isSingleRecordEdit` ([24330](https://github.com/civicrm/civicrm-core/pull/24330))** + Add upgrade message about civicase activity revisions and related cleanup. -- **[REF]dev/core#2517 Remove tests from core test suites relating to mem… ([24342](https://github.com/civicrm/civicrm-core/pull/24342))** +### CiviContribute -- **Remove extraneous `if` (`supportedFields` always returns an array) ([24339](https://github.com/civicrm/civicrm-core/pull/24339))** +- **Import of contributions (update existing) -> error for total_amount = "0" + ([dev/core#3828](https://lab.civicrm.org/dev/core/-/issues/3828): + [24414](https://github.com/civicrm/civicrm-core/pull/24414))** -- **Fix Advanced search under strict smarty ([24336](https://github.com/civicrm/civicrm-core/pull/24336))** +- **Searchkit: Contribution tasks like receipt give fatal error + ([dev/core#3826](https://lab.civicrm.org/dev/core/-/issues/3826): + [24593](https://github.com/civicrm/civicrm-core/pull/24593))** -- **[REF] Clarify what is being used from getElements, remove unused ([24317](https://github.com/civicrm/civicrm-core/pull/24317))** +- **CiviCRM crashes when I select ZMK as default currency + ([dev/financial#192](https://lab.civicrm.org/dev/financial/-/issues/192): + [24428](https://github.com/civicrm/civicrm-core/pull/24428))** -- **Smarty notice fix - remove obsolete preferred_mail_format ([24335](https://github.com/civicrm/civicrm-core/pull/24335))** + Fallback to custom currency object for codes which Brick\Money does not + support. -- **Fix `returnProperties` on contact retrieval in `Contact_Tokens` to fetch less, less often ([24315](https://github.com/civicrm/civicrm-core/pull/24315))** +- **Download invoice button on contribution view gives fatal error + ([dev/financial#208](https://lab.civicrm.org/dev/financial/-/issues/208): + [24434](https://github.com/civicrm/civicrm-core/pull/24434))** -- **Clean up another cache usage to use metadata ([24298](https://github.com/civicrm/civicrm-core/pull/24298))** +- **Adjust contribution metadata to filter at display not load + ([24475](https://github.com/civicrm/civicrm-core/pull/24475))** -- **Fix another cache usage to use metadata cache ([24297](https://github.com/civicrm/civicrm-core/pull/24297))** +- **Mapping field schema inadequate + (Work Towards [dev/core#1172](https://lab.civicrm.org/dev/core/-/issues/1172): + [24485](https://github.com/civicrm/civicrm-core/pull/24485))** -- **Further fix on `fastArrayCache` `has` ([24292](https://github.com/civicrm/civicrm-core/pull/24292))** + Fix Contribution import to handle ContributionSoft in a storable way. -- **Finish consolidating DataSource.tpl across non-contact imports ([24267](https://github.com/civicrm/civicrm-core/pull/24267))** +- **Fix imported statuses & contribution id storage on import job + ([24344](https://github.com/civicrm/civicrm-core/pull/24344))** -- **Remove now-unused addField from Contribution Import ([24278](https://github.com/civicrm/civicrm-core/pull/24278))** +- **Add missing country=>billingCountry to PropertyBag mapping + ([24232](https://github.com/civicrm/civicrm-core/pull/24232))** -- **Remove now-unused addField from Custom import ([24289](https://github.com/civicrm/civicrm-core/pull/24289))** +- **[php8] E_WARNING on Find Contributions + ([24195](https://github.com/civicrm/civicrm-core/pull/24195))** -- **[NFC] Remove no-longer used (protected) function `getAllContactReturnFields()` ([24313](https://github.com/civicrm/civicrm-core/pull/24313))** +- **Fix some notices on New Contribution page (smarty) + ([24409](https://github.com/civicrm/civicrm-core/pull/24409))** -- **[php 8 compat] Make sure variables are assigned in civireport ([24326](https://github.com/civicrm/civicrm-core/pull/24326))** +- **Remove attempt to match on soft credit header + ([24566](https://github.com/civicrm/civicrm-core/pull/24566))** -- **Unused function getOptionalSmartyElements ([24327](https://github.com/civicrm/civicrm-core/pull/24327))** +- **Enotice fix on payment processor browse + ([24308](https://github.com/civicrm/civicrm-core/pull/24308))** -- **[NFC] Better unit test of Link Cases form ([24328](https://github.com/civicrm/civicrm-core/pull/24328))** +- **Fix broken js on Contribution Import + ([24371](https://github.com/civicrm/civicrm-core/pull/24371))** -- **Improve activity demo data - more types ([24314](https://github.com/civicrm/civicrm-core/pull/24314))** +- **For Contribution pages with a recurring payment option. Change the label + from "Regular amount" to "Regular Amount" + ([24310](https://github.com/civicrm/civicrm-core/pull/24310))** -- **Finally remove hated `loadRelatedObjects` call from Invoice task ([24319](https://github.com/civicrm/civicrm-core/pull/24319))** +### CiviEvent -- **SearchKit - Support form filters for relationships ([24293](https://github.com/civicrm/civicrm-core/pull/24293))** +- **Adding better wording to Events page for matching dates + ([24489](https://github.com/civicrm/civicrm-core/pull/24489))** -- **dev/core#3771 - E-notice fix on manage groups ([24318](https://github.com/civicrm/civicrm-core/pull/24318))** +- **🎁 CiviEvent, Event Dashboard, iCal links are inside the h3 styling move out + and add spacing ([24149](https://github.com/civicrm/civicrm-core/pull/24149))** -- **Regenerate sql ([24311](https://github.com/civicrm/civicrm-core/pull/24311))** +- **Fix participant import not to import to deleted contacts + ([24377](https://github.com/civicrm/civicrm-core/pull/24377))** -- **For Contribution pages with a recurring payment option. Change the label from "Regular amount" to "Regular Amount" ([24310](https://github.com/civicrm/civicrm-core/pull/24310))** +- **Stop PHP notice when accessing invalid event ID + ([24406](https://github.com/civicrm/civicrm-core/pull/24406))** -- **[REF] Only add in entry to update Greeting if the greeting doesn't ma… ([24309](https://github.com/civicrm/civicrm-core/pull/24309))** +### CiviMail -- **Enotice fix on payment processor browse ([24308](https://github.com/civicrm/civicrm-core/pull/24308))** +- **Search Kit: CiviMail search action fails for non-administrators + ([dev/core#3755](https://lab.civicrm.org/dev/core/-/issues/3755): + [24268](https://github.com/civicrm/civicrm-core/pull/24268))** -- **dev/core#3685 Update some of our sample data price sets to NOT be quick config ([24103](https://github.com/civicrm/civicrm-core/pull/24103))** +- **Increase field size for mailing bounce type + ([dev/core#3489](https://lab.civicrm.org/dev/core/-/issues/3489): + [23658](https://github.com/civicrm/civicrm-core/pull/23658))** -- **[REF] Convert Elavon Payment Processor to be a core Extension ([24183](https://github.com/civicrm/civicrm-core/pull/24183))** +### CiviMember -- **Deprecate two single-use option-value functions `create-a-sock` and `delete-a-sock` ([24306](https://github.com/civicrm/civicrm-core/pull/24306))** +- **Convert membership Import to use select2 + ([24356](https://github.com/civicrm/civicrm-core/pull/24356))** -- **Code cleanup on greeting processing ([24129](https://github.com/civicrm/civicrm-core/pull/24129))** +- **Membership import - Simplify contact_id validation & avoid deleted contacts + ([24380](https://github.com/civicrm/civicrm-core/pull/24380))** -- **CiviEventDispatcher - Fix pass-by-reference of hook-style arguments for service-based listeners ([24282](https://github.com/civicrm/civicrm-core/pull/24282))** +- **Fix is_override variable in MembershipView + ([24617](https://github.com/civicrm/civicrm-core/pull/24617))** -- **(NFC) FileTest - Mark as ornery ([24307](https://github.com/civicrm/civicrm-core/pull/24307))** +### CiviPledge -- **Add `civiimport` core extension with Import api code for viewing import tables ([24230](https://github.com/civicrm/civicrm-core/pull/24230))** +- **Pledge status is missing on View Pledge page + ([dev/core#3790](https://lab.civicrm.org/dev/core/-/issues/3790): + [24492](https://github.com/civicrm/civicrm-core/pull/24492))** -- **CRM_Core_DAO - Be more flexible about the primary key name ([24299](https://github.com/civicrm/civicrm-core/pull/24299))** +### Drupal Integration -- **dev/core#3811 fixes for missing recaptcha_check_answer() when validate is called by other extensions ([24303](https://github.com/civicrm/civicrm-core/pull/24303))** +- **Symfony 6 can't find the EventDispatcher when adding hooks that are defined + in getSubscribedEvents + ([dev/core#3802](https://lab.civicrm.org/dev/core/-/issues/3802): + [24250](https://github.com/civicrm/civicrm-core/pull/24250))** -- **Fix PHP notice and hide/show 'including yourself' depending on if contact_id is set ([24301](https://github.com/civicrm/civicrm-core/pull/24301))** + Compatibility with symfony 6 for drupal 10 for listeners added via + getSubscribedEvents. -- **AUS is not a valid ISO 3166-1 alpha-2 country code. Do not use it in tests ([24277](https://github.com/civicrm/civicrm-core/pull/24277))** +- **Drupal views group filter is not working + ([dev/core#414](https://lab.civicrm.org/dev/core/-/issues/414): + [548](https://github.com/civicrm/civicrm-drupal/pull/548))** -- **(REF) Extract method `Array::single()` ([24287](https://github.com/civicrm/civicrm-core/pull/24287))** + Fixes the contact subtype drupal views group filter. -- **dev/core#3778 Add created_id field to civicrm_participant ([24167](https://github.com/civicrm/civicrm-core/pull/24167))** +### Joomla Integration -- **Afform - support opening new case ([24236](https://github.com/civicrm/civicrm-core/pull/24236))** +- **Add temporary file to help Joomla installers (5.54-rc) + ([24572](https://github.com/civicrm/civicrm-core/pull/24572))** -- **Further caching fix - use metadata cache ([24294](https://github.com/civicrm/civicrm-core/pull/24294))** +## Miscellany -- **[REF] [Upgrade] Remove the entry point that called the unused entry point ([24286](https://github.com/civicrm/civicrm-core/pull/24286))** +- **Fix PHPDoc comment for CRM_Financial_BAO_FinancialItem::add + ([24439](https://github.com/civicrm/civicrm-core/pull/24439))** -- **dev/core#3681 Add token for CiviCRM empowered by image ([24102](https://github.com/civicrm/civicrm-core/pull/24102))** +- **Contribution import - test notes, cleanup notes, fix regression found + in test writing ([24419](https://github.com/civicrm/civicrm-core/pull/24419))** -- **Remove now-unused addField from Membership import ([24288](https://github.com/civicrm/civicrm-core/pull/24288))** +- **Add missing PHPDoc types + ([24424](https://github.com/civicrm/civicrm-core/pull/24424))** -- **Fix array-cache-bypass - in FastArrays on `has()` ([24156](https://github.com/civicrm/civicrm-core/pull/24156))** +- **Use shared parent formRule in custom import api + ([24389](https://github.com/civicrm/civicrm-core/pull/24389))** -- **financial#121: Support modifying Soft Credit permissions via hook ([22504](https://github.com/civicrm/civicrm-core/pull/22504))** +- **Update Contribution import to use new v4 dedupe lookup + ([24402](https://github.com/civicrm/civicrm-core/pull/24402))** -- **Update invoice template to be (mostly) previewable ([24122](https://github.com/civicrm/civicrm-core/pull/24122))** +- **Switch Contact import to use new v4 dedupe lookup + ([24401](https://github.com/civicrm/civicrm-core/pull/24401))** -- **(REF) Extract LocaleTestTrait. Tighten up multilingual testing. ([24291](https://github.com/civicrm/civicrm-core/pull/24291))** +- **Regenerate sql + ([24311](https://github.com/civicrm/civicrm-core/pull/24311))** -- **Move creating of nav & menu items to legacycustomsearches extension ([23862](https://github.com/civicrm/civicrm-core/pull/23862))** +- **Finish consolidating DataSource.tpl across non-contact imports + ([24267](https://github.com/civicrm/civicrm-core/pull/24267))** -- **APIv4 - Fix some hard-coded references to 'id' in DAO action classes ([24290](https://github.com/civicrm/civicrm-core/pull/24290))** +- **Unused function getOptionalSmartyElements + ([24327](https://github.com/civicrm/civicrm-core/pull/24327))** -- **[NFC] Add in Further debugging to authx test to try and debug issue o… ([24258](https://github.com/civicrm/civicrm-core/pull/24258))** +- **API - Standardize group ACL checks + ([24337](https://github.com/civicrm/civicrm-core/pull/24337))** -- **(NFC) Mark various tests with `@group locale` ([24284](https://github.com/civicrm/civicrm-core/pull/24284))** +- **Simplify Domain edit form to not call complete + `LocationBlock::buildQuickForm` + ([24333](https://github.com/civicrm/civicrm-core/pull/24333))** -- **Add 'Entity' to the information import parser classes provide ([24285](https://github.com/civicrm/civicrm-core/pull/24285))** +- **Deprecate two single-use option-value functions `create-a-sock` and + `delete-a-sock` ([24306](https://github.com/civicrm/civicrm-core/pull/24306))** -- **Update references to 'workflow' (from old 'valueName' parameter) ([24054](https://github.com/civicrm/civicrm-core/pull/24054))** +- **Deprecate `BAO_Membership::importableFields` + ([24357](https://github.com/civicrm/civicrm-core/pull/24357))** -- **(REF) Extract compiler passes from CRM_Api4_Services ([24283](https://github.com/civicrm/civicrm-core/pull/24283))** +- **Move `isSkipDuplicates` to shared parent + ([24354](https://github.com/civicrm/civicrm-core/pull/24354))** -- **Remove now-unused addField from Participant import ([24279](https://github.com/civicrm/civicrm-core/pull/24279))** +- **Unused functions in CRM_Upgrade_Form + ([24361](https://github.com/civicrm/civicrm-core/pull/24361))** -- **Update DAO to use declared primary field, do not assume... ([24275](https://github.com/civicrm/civicrm-core/pull/24275))** +- **Consolidate error handling on Custom data import tpl + ([24216](https://github.com/civicrm/civicrm-core/pull/24216))** -- **SearchKit - Add contacts to mailing group in batches ([24254](https://github.com/civicrm/civicrm-core/pull/24254))** +- **Code cleanup on greeting processing + ([24129](https://github.com/civicrm/civicrm-core/pull/24129))** -- **APIv4 - Fix GroupContact permission to use standard ACLs ([24186](https://github.com/civicrm/civicrm-core/pull/24186))** +- **Deprecate horrible function + unreleased regression + ([24386](https://github.com/civicrm/civicrm-core/pull/24386))** -- **Importer - Remove unused functions (`isErrorInCustomData`, `getSubtypes`, `validateCustomField`) ([24280](https://github.com/civicrm/civicrm-core/pull/24280))** +- **Fix processCaseActivity docblock + ([24251](https://github.com/civicrm/civicrm-core/pull/24251))** -- **(REF) I18nSubscriber - Rename parameter to be more evocative ([24281](https://github.com/civicrm/civicrm-core/pull/24281))** +- **Deprecate `BAO_Contribution::importableFields` + ([24225](https://github.com/civicrm/civicrm-core/pull/24225))** -- **AllCoreTables - Dismbiguate `init `and `flush` ([24274](https://github.com/civicrm/civicrm-core/pull/24274))** +- **Move non-shared function to private function on using class + ([24227](https://github.com/civicrm/civicrm-core/pull/24227))** -- **Unhide message_admin extension ([24269](https://github.com/civicrm/civicrm-core/pull/24269))** +- **Tidy up whereClause method of mailing browse + ([24404](https://github.com/civicrm/civicrm-core/pull/24404))** -- **Remove last usage of `_fields` from `Import_Parser` ([24273](https://github.com/civicrm/civicrm-core/pull/24273))** +- **APIv4 - Drop support for deprecated join syntax + ([24075](https://github.com/civicrm/civicrm-core/pull/24075))** -- **dev/core#1532 - Add upgrade message about civicase activity revisions ([24266](https://github.com/civicrm/civicrm-core/pull/24266))** +- **PHPDoc comment fixes + ([24405](https://github.com/civicrm/civicrm-core/pull/24405))** -- **APIv4 - Add `case_id` field to Activity entity ([24244](https://github.com/civicrm/civicrm-core/pull/24244))** +- **Minor code cleanup - the form rule is in the parent function + ([24388](https://github.com/civicrm/civicrm-core/pull/24388))** -- **Remove another three no-longer-used functions ([24272](https://github.com/civicrm/civicrm-core/pull/24272))** +- **Move unshared code to unshared function + ([24218](https://github.com/civicrm/civicrm-core/pull/24218))** -- **Fix use of legacy pseudoConstant methods ([24270](https://github.com/civicrm/civicrm-core/pull/24270))** +- **Move a little code from legacy function `loadRelatedObjects` to the calling + functions ([24190](https://github.com/civicrm/civicrm-core/pull/24190))** -- **Remove no-longer-used function ([24271](https://github.com/civicrm/civicrm-core/pull/24271))** +- **Docblock fix - findOrphanedFiles method + ([24423](https://github.com/civicrm/civicrm-core/pull/24423))** -- **Case-insensitive match on subtypes when validating subtype by entity for custom groups ([24134](https://github.com/civicrm/civicrm-core/pull/24134))** +- **Re-run regen + ([24461](https://github.com/civicrm/civicrm-core/pull/24461))** -- **SettingsStyleTest - Stop the madness ([24154](https://github.com/civicrm/civicrm-core/pull/24154))** +- **Follow up code simplification - no need to map 'Individual' to 'Individual' + ([24473](https://github.com/civicrm/civicrm-core/pull/24473))** -- **[Import] [Ref] Extract shared form rule code ([24217](https://github.com/civicrm/civicrm-core/pull/24217))** +- **More PHPdoc fixes + ([24495](https://github.com/civicrm/civicrm-core/pull/24495))** -- **[NFC] Add test for editing activity subject to file on case ([24262](https://github.com/civicrm/civicrm-core/pull/24262))** +- **report cleanup + ([24503](https://github.com/civicrm/civicrm-core/pull/24503))** -- **Add hint to create membership "You do not have all the permissions needed for this page" message ([24253](https://github.com/civicrm/civicrm-core/pull/24253))** +- **report clean up templates + ([24504](https://github.com/civicrm/civicrm-core/pull/24504))** -- **5.53 ([24257](https://github.com/civicrm/civicrm-core/pull/24257))** +- **report clean up templates + ([24508](https://github.com/civicrm/civicrm-core/pull/24508))** -- **dev/core#3802 - Compatibility with symfony 6 for drupal 10 for listeners added via getSubscribedEvents ([24250](https://github.com/civicrm/civicrm-core/pull/24250))** +- **BAO regen + ([24507](https://github.com/civicrm/civicrm-core/pull/24507))** -- **dev/core#1532 - Remove civicaseActivityRevisions setting & related code ([24249](https://github.com/civicrm/civicrm-core/pull/24249))** +- **(REF) Extract method `Array::single()` + ([24287](https://github.com/civicrm/civicrm-core/pull/24287))** -- **Remove unused impossible function in upgrade page ([24252](https://github.com/civicrm/civicrm-core/pull/24252))** +- **(REF) I18nSubscriber - Rename parameter to be more evocative + ([24281](https://github.com/civicrm/civicrm-core/pull/24281))** -- **Fix processCaseActivity docblock ([24251](https://github.com/civicrm/civicrm-core/pull/24251))** +- **[REF] Activity BAO - Decouple CiviCase logic from create function + ([24247](https://github.com/civicrm/civicrm-core/pull/24247))** -- **[REF] Activity BAO - Decouple CiviCase logic from create function ([24247](https://github.com/civicrm/civicrm-core/pull/24247))** +- **(REF) Extract compiler passes from CRM_Api4_Services + ([24283](https://github.com/civicrm/civicrm-core/pull/24283))** -- **NFC - Make it possible to mark a dao field @deprecated ([24248](https://github.com/civicrm/civicrm-core/pull/24248))** +- **[REF] Decouple CiviGrant from core permission function + ([24191](https://github.com/civicrm/civicrm-core/pull/24191))** -- **Resolve existential crisis for customfield.is_active ([24246](https://github.com/civicrm/civicrm-core/pull/24246))** +- **[Import] [Ref] Extract shared form rule code + ([24217](https://github.com/civicrm/civicrm-core/pull/24217))** -- **5.53 ([24240](https://github.com/civicrm/civicrm-core/pull/24240))** +- **(REF) Extract LocaleTestTrait. Tighten up multilingual testing. + ([24291](https://github.com/civicrm/civicrm-core/pull/24291))** -- **APIv4 - Add comments and fix data type for contact location joins ([24239](https://github.com/civicrm/civicrm-core/pull/24239))** +- **[REF] ManagedEntities - Move deprecated function + ([24437](https://github.com/civicrm/civicrm-core/pull/24437))** -- **[Import-code-cleanup] Remove now-unused summary forms ([24205](https://github.com/civicrm/civicrm-core/pull/24205))** +- **REF] Standardise validation of mapped fields in imports, fix over-zealous + requirements when matching on trxn_id, invoice_id for update + ([24433](https://github.com/civicrm/civicrm-core/pull/24433))** -- **Remove unreachable legacy code ([24226](https://github.com/civicrm/civicrm-core/pull/24226))** +- **REF Code cleanup for event configuration extracted from advancedevents + extension ([24418](https://github.com/civicrm/civicrm-core/pull/24418))** -- **[REF] Remove unused message template upgrade code ([24231](https://github.com/civicrm/civicrm-core/pull/24231))** +- **(REF) Tests - Misc updates in prepartion for l10n updates + ([24400](https://github.com/civicrm/civicrm-core/pull/24400))** -- **Deprecate `BAO_Contribution::importableFields` ([24225](https://github.com/civicrm/civicrm-core/pull/24225))** +- **[Ref] Import cleanup code that looks up contribution in import + ([24374](https://github.com/civicrm/civicrm-core/pull/24374))** -- **[REF] Decouple CiviGrant from core permission function ([24191](https://github.com/civicrm/civicrm-core/pull/24191))** +- **[REF] Variable use cleanup + ([24390](https://github.com/civicrm/civicrm-core/pull/24390))** -- **5.53 ([24229](https://github.com/civicrm/civicrm-core/pull/24229))** +- **[Ref] Extract getContactFields + ([24362](https://github.com/civicrm/civicrm-core/pull/24362))** -- **Move non-shared function to private function on using class ([24227](https://github.com/civicrm/civicrm-core/pull/24227))** +- **[REF] Simplify error handling in contribution import + ([24351](https://github.com/civicrm/civicrm-core/pull/24351))** -- **[Import-code-cleanup] Remove unused function ([24210](https://github.com/civicrm/civicrm-core/pull/24210))** +- **[REF] Fold only parent class into only child class + ([24353](https://github.com/civicrm/civicrm-core/pull/24353))** -- **[Import-code-cleanup] Remove now-unused tpl ([24214](https://github.com/civicrm/civicrm-core/pull/24214))** +- **[REF] Only add in entry to update Greeting if the greeting doesn't match + what is already in the database + ([24309](https://github.com/civicrm/civicrm-core/pull/24309))** -- **(dev/core#3141) Membership should be listed chronologically by end da… ([24194](https://github.com/civicrm/civicrm-core/pull/24194))** +- **[REF] Convert Elavon Payment Processor to be a core Extension + ([24183](https://github.com/civicrm/civicrm-core/pull/24183))** -- **Afform - add "Existing entity" selector ([24165](https://github.com/civicrm/civicrm-core/pull/24165))** +- **[REF] Update Zetacomponents/mail to be 1.9.4 + ([24517](https://github.com/civicrm/civicrm-core/pull/24517))** -- **5.53 ([24223](https://github.com/civicrm/civicrm-core/pull/24223))** +- **[REF] Fix syntax of var docblocks + ([24498](https://github.com/civicrm/civicrm-core/pull/24498))** -- **dev/core#3796 include subtypes where filter > 0 ([24222](https://github.com/civicrm/civicrm-core/pull/24222))** +- **(REF) SettingsMetadata - Small cleanup to prevent duplicate slashes + ([24493](https://github.com/civicrm/civicrm-core/pull/24493))** -- **Consolidate error handling on Custom data import tpl ([24216](https://github.com/civicrm/civicrm-core/pull/24216))** +- **[REF] Cleanup code to getAvailableFields on Contribution MapField + ([24484](https://github.com/civicrm/civicrm-core/pull/24484))** -- **SearchKit - Use combo button+dropdown for creating new search or segment ([24199](https://github.com/civicrm/civicrm-core/pull/24199))** +- **[REF] Extract rule-loading function + ([24474](https://github.com/civicrm/civicrm-core/pull/24474))** -- **Move unshared code to unshared function ([24218](https://github.com/civicrm/civicrm-core/pull/24218))** +- **[Ref] [Import] Simplify form event MapField (Contact) + ([24464](https://github.com/civicrm/civicrm-core/pull/24464))** -- **dev/core#3664 Remove dataColumnGuessing ([24212](https://github.com/civicrm/civicrm-core/pull/24212))** +- **[Ref] [Import] Simplify form event MapField to use shared rule (Participant) + ([24463](https://github.com/civicrm/civicrm-core/pull/24463))** -- **Move a little code from legacy function `loadRelatedObjects` to the calling functions ([24190](https://github.com/civicrm/civicrm-core/pull/24190))** +- **[REF] Remove calls to settings from angularjs to php layer to assist with + less permissioned users using civimail + ([24462](https://github.com/civicrm/civicrm-core/pull/24462))** -- **[Import-code-cleanup] Remove another now-unused class `CRM_Contact_Import_ImportJob` ([24211](https://github.com/civicrm/civicrm-core/pull/24211))** +- **[REF] Clarify what is being used from getElements, remove unused + ([24317](https://github.com/civicrm/civicrm-core/pull/24317))** -- **NFC IDE code format to get rid of array() ([24215](https://github.com/civicrm/civicrm-core/pull/24215))** +- **[REF] [Upgrade] Remove the entry point that called the unused entry point + ([24286](https://github.com/civicrm/civicrm-core/pull/24286))** -- **5.53 to master ([24213](https://github.com/civicrm/civicrm-core/pull/24213))** +- **[REF] Remove unused message template upgrade code + ([24231](https://github.com/civicrm/civicrm-core/pull/24231))** -- **Finally remove apiv2 DeprecatedUtils ([24208](https://github.com/civicrm/civicrm-core/pull/24208))** +- **Importer - Remove unused functions (`isErrorInCustomData`, `getSubtypes`, + `validateCustomField`) + ([24280](https://github.com/civicrm/civicrm-core/pull/24280))** -- **Merge 5.53 to master ([24209](https://github.com/civicrm/civicrm-core/pull/24209))** +- **[Import-code-cleanup] Fold call to deprecated function back into calling + function ([24188](https://github.com/civicrm/civicrm-core/pull/24188))** -- **APIv4 - Drop support for deprecated join syntax ([24075](https://github.com/civicrm/civicrm-core/pull/24075))** +- **[Import-code-cleanup] Remove unused function + ([24210](https://github.com/civicrm/civicrm-core/pull/24210))** -- **[Import-code-cleanup] Fold call to deprecated function back into calling function ([24188](https://github.com/civicrm/civicrm-core/pull/24188))** +- **[Import-code-cleanup] Remove now-unused tpl + ([24214](https://github.com/civicrm/civicrm-core/pull/24214))** -- **dev/core#3733 [Import] Test & fix for source updating when it should … ([24001](https://github.com/civicrm/civicrm-core/pull/24001))** +- **[Import-code-cleanup] Remove now-unused summary forms + ([24205](https://github.com/civicrm/civicrm-core/pull/24205))** -- **[Import-code-cleanup] Mark a few functions deprecated for clarity & mark parser class internal ([24185](https://github.com/civicrm/civicrm-core/pull/24185))** +- **[Import-code-cleanup] Mark a few functions deprecated for clarity & mark + parser class internal + ([24185](https://github.com/civicrm/civicrm-core/pull/24185))** -- **[Import-code-cleanup] Fold call to weird deprecated function back into calling code ([24189](https://github.com/civicrm/civicrm-core/pull/24189))** +- **[Import-code-cleanup] Fold call to weird deprecated function back into + calling code ([24189](https://github.com/civicrm/civicrm-core/pull/24189))** -- **[php8] E_WARNING on Find Contributions ([24195](https://github.com/civicrm/civicrm-core/pull/24195))** +- **[Import-code-cleanup] Remove another now-unused class + `CRM_Contact_Import_ImportJob` + ([24211](https://github.com/civicrm/civicrm-core/pull/24211))** -- **SearchKit - Better title and description for managed entities ([24201](https://github.com/civicrm/civicrm-core/pull/24201))** +- **Minor readability cleanup - remove code comments about removed item, + comments ([24397](https://github.com/civicrm/civicrm-core/pull/24397))** -- **CrmUi - Fix tabSetOptions variable ([24197](https://github.com/civicrm/civicrm-core/pull/24197))** +- **Remove last usage of `_fields` from `Import_Parser` + ([24273](https://github.com/civicrm/civicrm-core/pull/24273))** -- **dev/core#414: Fixes views group filter ([548](https://github.com/civicrm/civicrm-drupal/pull/548))** +- **Remove another three no-longer-used functions + ([24272](https://github.com/civicrm/civicrm-core/pull/24272))** -## Miscellany +- **Remove no-longer-used function + ([24271](https://github.com/civicrm/civicrm-core/pull/24271))** + +- **Remove unused impossible function in upgrade page + ([24252](https://github.com/civicrm/civicrm-core/pull/24252))** + +- **Remove now-unused addField from Participant import + ([24279](https://github.com/civicrm/civicrm-core/pull/24279))** + +- **Remove now-unused addField from Membership import + ([24288](https://github.com/civicrm/civicrm-core/pull/24288))** + +- **Remove references to old temp table names + ([24532](https://github.com/civicrm/civicrm-core/pull/24532))** + +- **Remove silly constants for Contact Types (import) + ([24465](https://github.com/civicrm/civicrm-core/pull/24465))** + +- **Remove function after two years of noisy deprecation + ([24443](https://github.com/civicrm/civicrm-core/pull/24443))** + +- **Remove method getActionAttribute + ([24425](https://github.com/civicrm/civicrm-core/pull/24425))** + +- **Remove method updateDisplayNames + ([24422](https://github.com/civicrm/civicrm-core/pull/24422))** + +- **Remove unreachable legacy code + ([24226](https://github.com/civicrm/civicrm-core/pull/24226))** + +- **Remove always-true if + ([24410](https://github.com/civicrm/civicrm-core/pull/24410))** + +- **Remove obsolete param from duplicated function + ([24412](https://github.com/civicrm/civicrm-core/pull/24412))** + +- **Remove unreachable code + ([24411](https://github.com/civicrm/civicrm-core/pull/24411))** + +- **Remove misleading comment. + ([24407](https://github.com/civicrm/civicrm-core/pull/24407))** + +- **Remove obsolete addField from activity import + ([24376](https://github.com/civicrm/civicrm-core/pull/24376))** + +- **Remove do-nothing code, add test to prove + ([24350](https://github.com/civicrm/civicrm-core/pull/24350))** + +- **Remove extraneous `if` (`supportedFields` always returns an array) + ([24339](https://github.com/civicrm/civicrm-core/pull/24339))** + +- **Remove now-unused addField from Contribution Import + ([24278](https://github.com/civicrm/civicrm-core/pull/24278))** + +- **Remove now-unused addField from Custom import + ([24289](https://github.com/civicrm/civicrm-core/pull/24289))** + +- **Finally remove apiv2 DeprecatedUtils + ([24208](https://github.com/civicrm/civicrm-core/pull/24208))** + +- **Finally remove hated `loadRelatedObjects` call from Invoice task + ([24319](https://github.com/civicrm/civicrm-core/pull/24319))** + +- **Finally full remove the awful addField from import + ([24379](https://github.com/civicrm/civicrm-core/pull/24379))** + +- **Add unit test & handling for processing from UserJob configuration rather + than form submitted values + ([24510](https://github.com/civicrm/civicrm-core/pull/24510))** + +- **MailingSystemTest - Fix invalid PHP + ([24481](https://github.com/civicrm/civicrm-core/pull/24481))** + +- **Minor import test cleanup + ([24387](https://github.com/civicrm/civicrm-core/pull/24387))** + +- **Move participant cancel tests to extension + ([24340](https://github.com/civicrm/civicrm-core/pull/24340))** + +- **Test only fixes + ([24369](https://github.com/civicrm/civicrm-core/pull/24369))** + +- **SettingsStyleTest - Stop the madness + ([24154](https://github.com/civicrm/civicrm-core/pull/24154))** + +- **NFC IDE code format to get rid of array() + ([24215](https://github.com/civicrm/civicrm-core/pull/24215))** + +- **[NFC] Fix Typo in Dismaker list of core exts + ([24570](https://github.com/civicrm/civicrm-core/pull/24570))** + +- **[NFC] Add in Unit test to test domain token replacement in Reply process + ([24453](https://github.com/civicrm/civicrm-core/pull/24453))** + +- **(NFC) Fix sprintf syntax + ([24447](https://github.com/civicrm/civicrm-core/pull/24447))** + +- **(NFC) Autoformat big clusters of `list()` statements + ([24392](https://github.com/civicrm/civicrm-core/pull/24392))** + +- **[NFC] Remove no-longer used (protected) function `getAllContactReturnFields()` + ([24313](https://github.com/civicrm/civicrm-core/pull/24313))** + +- **[NFC] Better unit test of Link Cases form + ([24328](https://github.com/civicrm/civicrm-core/pull/24328))** + +- **(NFC) FileTest - Mark as ornery + ([24307](https://github.com/civicrm/civicrm-core/pull/24307))** + +- **[NFC] Add in Further debugging to authx test to try and debug issue + ([24258](https://github.com/civicrm/civicrm-core/pull/24258))** + +- **(NFC) Mark various tests with `@group locale` + ([24284](https://github.com/civicrm/civicrm-core/pull/24284))** + +- **[NFC] Add test for editing activity subject to file on case + ([24262](https://github.com/civicrm/civicrm-core/pull/24262))** + +- **NFC - Make it possible to mark a dao field @deprecated + ([24248](https://github.com/civicrm/civicrm-core/pull/24248))** ## Credits This release was developed by the following code authors: -AGH Strategies - Andie Hunt; Agileware - Justin Freeman; BrightMinded Ltd - Bradley Taylor; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Shane Bill; Dave D; Freeform Solutions - Herb van den Dool; JMA Consulting - Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland; SYSTOPIA Organisationsberatung - Björn Endres; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Andie Hunt, Alice Frumin; Agileware - Justin Freeman; +BrightMinded Ltd - Bradley Taylor; CiviCoop - Jaap Jansma; CiviCRM - Coleman +Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, +Shane Bill; Dave D; Freeform Solutions - Herb van den Dool; JMA Consulting - +Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - +Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - +Jamie McClelland; SYSTOPIA Organisationsberatung - Björn Endres; 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; alarmingcod; Andy Burns; Artful Robot - Rich Lott; Australian Greens - John Twyman; avall-llovera; BrightMinded Ltd - Bradley Taylor; civibot[bot]; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Shane Bill; Dave D; Digitalcourage - Detlev Sieber; Francesc Bassas i Bullich; Jens Schuppe; JMA Consulting - Seamus Lee; Levi.k; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg; MJW Consulting - Matthew Wire; Nicol Wistreich; PERORA SRL - Samuele Masetto; Squiffle Consulting - Aidan Saunders; Third Sector Design - Kurund Jalmi, Michael McAndrew; Wikimedia Foundation - Eileen McNaughton +alarmingcod; Andy Burns; Artful Robot - Rich Lott; Australian Greens - John +Twyman; avall-llovera; Digitalcourage - Detlev Sieber; Francesc Bassas i +Bullich; Jens Schuppe; Levi.k; Lighthouse Consulting and Design - Brian +Shaughnessy; Megaphone Technology Consulting - Brienne Kordis; Nicol Wistreich; +Squiffle Consulting - Aidan Saunders; Third Sector Design - Michael McAndrew ## Feedback