| *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? | 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
-
### Core CiviCRM
-- **dev/core#2498 Fix regression on saving dedupe rules ([19952](https://github.com/civicrm/civicrm-core/pull/19952))**
+- **Remove campaign_id pseudoconstants
+ ([19463](https://github.com/civicrm/civicrm-core/pull/19463))**
+
+ Improves performance by not loading (potentially huge) list of campaigns
+ into memory.
-- **Revert "dev/core#2028 Add in a status check for checking if the wkhtm… ([19942](https://github.com/civicrm/civicrm-core/pull/19942))**
+- **Custom setting for boolean checkbox is serialized as int value
+ ([dev/core#2371](https://lab.civicrm.org/dev/core/-/issues/2371):
+ [19576](https://github.com/civicrm/civicrm-core/pull/19576))**
-- **[WIP] dev/core#2473 - Don't crash when assignee left blank when creating followup on email activity ([19874](https://github.com/civicrm/civicrm-core/pull/19874))**
+ Serializes setting value as boolean for checkbox in CRM_Admin_Form_Generic.
-- **(dev/core#2077) AuthX - Allow optional "guards" ([19728](https://github.com/civicrm/civicrm-core/pull/19728))**
+- **Apply bootstrap theme to searchKit dashlets
+ ([19577](https://github.com/civicrm/civicrm-core/pull/19577))**
-- **avoid error when reserving respondents in a survey. ([19811](https://github.com/civicrm/civicrm-core/pull/19811))**
+ Themes SearchKit dashlets.
-- **Fix rc regression - js error on autorenew checkbox ([19791](https://github.com/civicrm/civicrm-core/pull/19791))**
+- **Crypto - Add support for signing and verifying JSON Web Tokens
+ ([19599](https://github.com/civicrm/civicrm-core/pull/19599))**
-- **SearchKit - Fix token menu positioning ([19780](https://github.com/civicrm/civicrm-core/pull/19780))**
+ Introduces a mechanism for working with JSON Web Tokens.
-- **dev/core#2452 - Make upgrade to 5.36 more robust when creating foreign key ([19773](https://github.com/civicrm/civicrm-core/pull/19773))**
+- **Add 'readonly' attribute to fields in schema
+ ([dev/core#2397](https://lab.civicrm.org/dev/core/-/issues/2397):
+ [19627](https://github.com/civicrm/civicrm-core/pull/19627))**
-- **Add is empty filter to search / api ([19736](https://github.com/civicrm/civicrm-core/pull/19736))**
+ Adds 'readonly' metadata to all id fields, custom fields with 'is_view' and
+ appropriate contact fields.
-- **SearchKit - Fix broken update dialog and add input type float ([19758](https://github.com/civicrm/civicrm-core/pull/19758))**
+- **Show Contact age on deceased date
+ ([19348](https://github.com/civicrm/civicrm-core/pull/19348))**
-- **Afform - Show breadcrumbs appropriate to whether a form can be edited ([19739](https://github.com/civicrm/civicrm-core/pull/19739))**
+ Shows age of contact when it was deceased if deceased date is present.
-- **SearchKit - Fix removing all related fields from SELECT when removing a JOIN ([19747](https://github.com/civicrm/civicrm-core/pull/19747))**
+- **View sent emails in activities
+ ([dev/core#1750](https://lab.civicrm.org/dev/core/-/issues/1750):
+ [18299](https://github.com/civicrm/civicrm-core/pull/18299))**
-- **dev/translation#58 further regression fix: don't make group title NOT NULL even for a moment ([19740](https://github.com/civicrm/civicrm-core/pull/19740))**
+ Replaces tokens in Activity content for sent emails.
-- **SearchKit - Take search filters from the url when viewing a standalone display ([19713](https://github.com/civicrm/civicrm-core/pull/19713))**
+- **Expose a REST end-point through standard routing
+ ([dev/core#2077](https://lab.civicrm.org/dev/core/-/issues/2077):
+ [19728](https://github.com/civicrm/civicrm-core/pull/19728))**
-- **core#1132 - don't fire hook_civicrm_fieldOptions before hook_civicrm_… ([19580](https://github.com/civicrm/civicrm-core/pull/19580))**
+ Provides a binding for CRM_Utils_REST in the conventional routing system.
-- **Afform - Add link to edit form in breadcrumbs ([19691](https://github.com/civicrm/civicrm-core/pull/19691))**
+- **Improve activity import to support updates (Work Towards
+ [dev/core#2308](https://lab.civicrm.org/dev/core/-/issues/2308):
+ [19421](https://github.com/civicrm/civicrm-core/pull/19421),
+ [19553](https://github.com/civicrm/civicrm-core/pull/19553) and
+ [19555](https://github.com/civicrm/civicrm-core/pull/19555))**
-- **5.35 ([19726](https://github.com/civicrm/civicrm-core/pull/19726))**
+ Clean up and tests in preparation for changes to the Activity Import.
-- **Improve search display filter validation ([19720](https://github.com/civicrm/civicrm-core/pull/19720))**
+- **Support chain-select elements in .setting.php files
+ ([dev/core#2386](https://lab.civicrm.org/dev/core/-/issues/2386):
+ [19629](https://github.com/civicrm/civicrm-core/pull/19629))**
-- **dev/core#2434 Fix price set id widget ([19723](https://github.com/civicrm/civicrm-core/pull/19723))**
+ Makes it possible to create metadata-driven chain select fields.
-- **dev/core#2422 Add created_id, modified_id, expires_date to saved search table ([19709](https://github.com/civicrm/civicrm-core/pull/19709))**
+- **Add no results found on empty civireports dashlet
+ ([dev/core#2420](https://lab.civicrm.org/dev/core/-/issues/2420):
+ [19668](https://github.com/civicrm/civicrm-core/pull/19668))**
-- **5.35 ([19722](https://github.com/civicrm/civicrm-core/pull/19722))**
+ Adds text to report template saying no results found if that is the case.
-- **Fix membership form to correctly calculate tax when a discount is applied ([19476](https://github.com/civicrm/civicrm-core/pull/19476))**
+- **Search kit navigation - once I've created an afform it's hard to edit it
+ ([dev/core#2389](https://lab.civicrm.org/dev/core/-/issues/2389):
+ [19617](https://github.com/civicrm/civicrm-core/pull/19617))**
-- **NFC Update comments in token classes ([19715](https://github.com/civicrm/civicrm-core/pull/19715))**
+ Improves SearchKit admin page by including links to edit.
-- **AuthX - Extended authentication support (portable and router-friendly) ([19590](https://github.com/civicrm/civicrm-core/pull/19590))**
+- **Afform - Add 'View Page' link from afform edit screen
+ ([19645](https://github.com/civicrm/civicrm-core/pull/19645))**
-- **5.35 ([19714](https://github.com/civicrm/civicrm-core/pull/19714))**
+ Improves Afform edit screen by adding a link to "View Page".
-- **Afform - Remove ngRoute from afformStandalone page ([19703](https://github.com/civicrm/civicrm-core/pull/19703))**
+- **Afform - Add link to edit form in breadcrumbs
+ ([19691](https://github.com/civicrm/civicrm-core/pull/19691))**
-- **info.xml - Allow multiple `<author>`s ([19684](https://github.com/civicrm/civicrm-core/pull/19684))**
+ If the user has permission to edit the Afform form (and the afform_admin
+ extension is enabled), shows a breadcrumb back to edit the form.
-- **5.35 to master ([19712](https://github.com/civicrm/civicrm-core/pull/19712))**
+- **Afform - Remove ngRoute from afformStandalone page
+ ([19703](https://github.com/civicrm/civicrm-core/pull/19703))**
-- **Search display fixes ([19683](https://github.com/civicrm/civicrm-core/pull/19683))**
+ Removes an unused dependency from the Afform standalone page, making it
+ more flexible and reusable.
-- **Fix migrateUtf8mb4 for special database names ([19708](https://github.com/civicrm/civicrm-core/pull/19708))**
+- **Afform Gui - Block editing enhancements
+ ([19530](https://github.com/civicrm/civicrm-core/pull/19530))**
-- **dev/core#1400 - Put dashlets back to only showing open cases by default ([19675](https://github.com/civicrm/civicrm-core/pull/19675))**
+ Improves block editing in the Afform GUI.
-- **[NFC] Add in unit test to prove that domain tokens are able to be inc… ([19702](https://github.com/civicrm/civicrm-core/pull/19702))**
+- **Add created_id & modified_id to civicrm_saved_search
+ ([dev/core#2422](https://lab.civicrm.org/dev/core/-/issues/2422):
+ [19709](https://github.com/civicrm/civicrm-core/pull/19709))**
-- **5.35 ([19706](https://github.com/civicrm/civicrm-core/pull/19706))**
+ Sites using search kit will rapidly start to accumulate a large number of saved
+ searches and will want better filtering (& cleanup). This adds created_id and
+ modified_id and starts populating them as well as expires_date (which won't
+ start populating until it is exposed in the search kit UI).
-- **Angular - Remove deprecated js file ([19704](https://github.com/civicrm/civicrm-core/pull/19704))**
+- **afform_mock - Hide extension. Clearly indicate as development-only
+ ([19541](https://github.com/civicrm/civicrm-core/pull/19541))**
-- **5.35 ([19701](https://github.com/civicrm/civicrm-core/pull/19701))**
+ Hides the afform_mock extensio and clearly indicates it as development-only.
-- **APIv4 - Rename 'controlField' property to 'control_field' ([19699](https://github.com/civicrm/civicrm-core/pull/19699))**
+- **Afform - Support date range filters for search displays
+ ([19632](https://github.com/civicrm/civicrm-core/pull/19632))**
-- **5.35 ([19695](https://github.com/civicrm/civicrm-core/pull/19695))**
+ Adds support for date range filters for Afform search displays.
-- **APIv3 - Improve array-based apis to support sorting and operators ([19690](https://github.com/civicrm/civicrm-core/pull/19690))**
+- **Afform - Allow public submission (PUB-CONTACT). Expand E2E test coverage.
+ ([19579](https://github.com/civicrm/civicrm-core/pull/19579))**
-- **core#2386 - metadata-driven chain-select fields ([19629](https://github.com/civicrm/civicrm-core/pull/19629))**
+ Makes it possible to submit new contact records to Afform as an anonymous
+ user, and includes E2E test-coverage to that effect.
-- **dev/core#2420 Add text to report template saying no results found if that is the case ([19668](https://github.com/civicrm/civicrm-core/pull/19668))**
+- **Afform - SearchKit support for calculated fields
+ ([19612](https://github.com/civicrm/civicrm-core/pull/19612))**
-- **[REF] clean up if ([19693](https://github.com/civicrm/civicrm-core/pull/19693))**
+ Adds support for calculated fields as afform search filters.
-- **dev/core#1207 - My Cases dashlet shouldn't crash for users with only my cases access ([19689](https://github.com/civicrm/civicrm-core/pull/19689))**
+- **Search kit select current user
+ ([19620](https://github.com/civicrm/civicrm-core/pull/19620))**
-- **Fix for missing function CodeGen_Util::removeDir ([19688](https://github.com/civicrm/civicrm-core/pull/19688))**
+ Adds the ability to choose "Current User" for search criteria which allows
+ displays to show different results to different users.
-- **SearchKit - Fix clearing selection behavior ([19686](https://github.com/civicrm/civicrm-core/pull/19686))**
+- **Search Kit - Use wrapper api to run searches
+ ([19585](https://github.com/civicrm/civicrm-core/pull/19585))**
-- **dev/core#1400 - Failing test showing that My Cases users can't view their own closed cases ([19674](https://github.com/civicrm/civicrm-core/pull/19674))**
+ Adds a new `SearchDisplay.Run` api action to centralize the logic and
+ permissions for retrieving results for search displays.
-- **Reduce wasted space in civicrm dashboard margins ([19682](https://github.com/civicrm/civicrm-core/pull/19682))**
+- **SearchKit - Enable links for implicit joins
+ ([19631](https://github.com/civicrm/civicrm-core/pull/19631))**
-- **dev/core#1400 Users with 'view own cases' permission can't open resolved cases ([19666](https://github.com/civicrm/civicrm-core/pull/19666))**
+ Improves SearchKit to show links for implicitly joined entities.
-- **SearchKit - Add links/menus/buttons to search displays ([19673](https://github.com/civicrm/civicrm-core/pull/19673))**
+- **SearchKit - cleanup display configuration and add "rewrite" feature
+ ([19662](https://github.com/civicrm/civicrm-core/pull/19662))**
-- **[REF] Load participant id within completeOrder rather than passing it in ([19641](https://github.com/civicrm/civicrm-core/pull/19641))**
+ Adds the ability to rewrite fields in search displays, while streamlining the
+ display administration screen.
-- **[REF] Move code that relates to receipts when paying by credit card out of the shared function ([19658](https://github.com/civicrm/civicrm-core/pull/19658))**
+- **SearchKit - Take search filters from the url when viewing a standalone
+ display ([19713](https://github.com/civicrm/civicrm-core/pull/19713))**
-- **Joomla::synchronizeUsers - Fix notice due to old style reference ([19677](https://github.com/civicrm/civicrm-core/pull/19677))**
+ Passes all query params from the url fragment as search filters to
+ the display.
-- **5.35 to master ([19679](https://github.com/civicrm/civicrm-core/pull/19679))**
+- **SearchKit - Add links/menus/buttons to search displays
+ ([19673](https://github.com/civicrm/civicrm-core/pull/19673))**
-- **GuzzleMiddleware::url() - Distinguish frontend and backend routes ([19678](https://github.com/civicrm/civicrm-core/pull/19678))**
+ Gives the ability to configure sets of links, buttons or menus in SearchKit
+ search displays.
-- **Afform - move contentEditable directive into crmUI library for reusability ([19672](https://github.com/civicrm/civicrm-core/pull/19672))**
+- **SearchKit - Add implicit joins for displaying labels of related entities
+ ([19554](https://github.com/civicrm/civicrm-core/pull/19554))**
-- **SearchKit - cleanup display configuration and add "rewrite" feature ([19662](https://github.com/civicrm/civicrm-core/pull/19662))**
+ Gives SearchKit the ability to display labels of related entities, for
+ example, displaying the Campaign title instead of just the Campaign ID.
-- **Fixes dev/core#2424 navigation items order ([19671](https://github.com/civicrm/civicrm-core/pull/19671))**
+- **SearchKit - Add links to view multi-record custom data
+ ([19626](https://github.com/civicrm/civicrm-core/pull/19626))**
-- **Metadata: Add html:label for Contribution Status ID ([19669](https://github.com/civicrm/civicrm-core/pull/19669))**
+ When creating a search display, you can now add a link to view a Multi-Record
+ custom entity.
-- **Fix master-only regression ([19667](https://github.com/civicrm/civicrm-core/pull/19667))**
+- **APIv4 - Add option lists to getFields html_type and data_type
+ ([19596](https://github.com/civicrm/civicrm-core/pull/19596))**
-- ** EntityRef - Search by id when an integer is entered ([19638](https://github.com/civicrm/civicrm-core/pull/19638))**
+ Adds option lists to html_type and data_type in APIv4 getFields to make them
+ easier to discover in the API Explorer.
-- **[NFC] minor cleanup in testCaseCreateWithResolvedStatus ([19664](https://github.com/civicrm/civicrm-core/pull/19664))**
+- **Add is empty filter to search / api
+ ([19736](https://github.com/civicrm/civicrm-core/pull/19736))**
-- **Minor cleanup - ChangeCaseStatus ([19663](https://github.com/civicrm/civicrm-core/pull/19663))**
+ Adds 2 new operators, "Is Empty" & "Not Empty" to SearchKit (and APIv4 in
+ general). Removes the "Is Null / Not Null" operators from SearchKit because
+ they are overly technical and have confusingly similar names to the new
+ operators (they are still available in the API generally, just not the SearchKit
+ UI).
-- **Afform: Only permit Date fields to be made into a select list if it i… ([19665](https://github.com/civicrm/civicrm-core/pull/19665))**
+- **Improve search display filter validation
+ ([19720](https://github.com/civicrm/civicrm-core/pull/19720))**
-- **Afform - Support date range filters for search displays ([19632](https://github.com/civicrm/civicrm-core/pull/19632))**
+ When viewing a SearchDisplay, this will verify all filters are permitted by
+ first checking the SELECT clause, and secondly checking for a containing Afform
+ with exposed filters.
-- **[REF] do not needlessly pass as reference, enforce valid param ([19478](https://github.com/civicrm/civicrm-core/pull/19478))**
+- **AuthX - Extended authentication support (portable and router-friendly)
+ ([19590](https://github.com/civicrm/civicrm-core/pull/19590))**
-- **dev/core#2372 Enable submitOnce for some forms ([19610](https://github.com/civicrm/civicrm-core/pull/19610))**
+ Introduces an extension, authx, which broadly improves
+ support for HTTP authentication on any CiviCRM route.
-- **5.35 to master ([19661](https://github.com/civicrm/civicrm-core/pull/19661))**
+- **info.xml - Allow multiple `<author>`s
+ ([19684](https://github.com/civicrm/civicrm-core/pull/19684))**
-- **dev/translation#32 Contribution ThankYou: partial fix for recurring units ([19655](https://github.com/civicrm/civicrm-core/pull/19655))**
+ Allows info.xml files to list multiple authors.
-- **SearchKit - Don't save on enter key ([19643](https://github.com/civicrm/civicrm-core/pull/19643))**
+- **APIv3 - Improve array-based apis to support sorting and operators
+ ([19690](https://github.com/civicrm/civicrm-core/pull/19690))**
-- **Enable-"Do-no-trade"-filter ([19650](https://github.com/civicrm/civicrm-core/pull/19650))**
+ Backports some APIv4 code to v3, for the purpose of supporting entityRef
+ widgets for Afform.
-- **Afform - Add 'View Page' link from afform edit screen ([19645](https://github.com/civicrm/civicrm-core/pull/19645))**
+- **Metadata: Add html:label for Contribution Status ID
+ ([19669](https://github.com/civicrm/civicrm-core/pull/19669))**
-- **dev/core#2404 - Afform - Resolve ambiguity of omitted permissions ([19657](https://github.com/civicrm/civicrm-core/pull/19657))**
+ Adds html:label for Contribution Status ID to the metadata.
-- **[REF] Simplfy parameter ([19654](https://github.com/civicrm/civicrm-core/pull/19654))**
+- **APIv4 explorer, search kit - entity reference fields tricky if you know the
+ id ([dev/core#2400](https://lab.civicrm.org/dev/core/-/issues/2400):
+ [19638](https://github.com/civicrm/civicrm-core/pull/19638))**
-- **dev/core#778 Do not increment tax on validation error ([19648](https://github.com/civicrm/civicrm-core/pull/19648))**
+ Ensures when the user types an integer into an EntityRef field, the record
+ with that ID is returned first.
-- **5.35 to master ([19656](https://github.com/civicrm/civicrm-core/pull/19656))**
+- **Enable-"Do-no-trade"-filter
+ ([19650](https://github.com/civicrm/civicrm-core/pull/19650))**
-- **Use specific function when formatting money for a default ([19652](https://github.com/civicrm/civicrm-core/pull/19652))**
+ Adds a Do not trade filter.
-- **Fix i18n issue with changeLog in data templates ([19651](https://github.com/civicrm/civicrm-core/pull/19651))**
+### CiviCase
-- **[REF] Use form property rather than formValues to pass generated invoice ID on membership forms ([19549](https://github.com/civicrm/civicrm-core/pull/19549))**
+- **Investigate replacing civicase views with something that is not views (Add
+ test for [dev/core#2385](https://lab.civicrm.org/dev/core/-/issues/2385):
+ [19609](https://github.com/civicrm/civicrm-core/pull/19609))**
-- **Mark Old Cividiscount hook support deprecated ([19649](https://github.com/civicrm/civicrm-core/pull/19649))**
+ Adds test coverage for getCaseActivityQuery.
-- **Remove unreachable code & variable cleanup in membership back office form template ([19647](https://github.com/civicrm/civicrm-core/pull/19647))**
+### CiviContribute
-- **[Regression] campaign name no longer accepted ([19633](https://github.com/civicrm/civicrm-core/pull/19633))**
+- **Delay on rendering contribution dashboard charts seems unnecessary
+ ([dev/core#2365](https://lab.civicrm.org/dev/core/-/issues/2365):
+ [19544](https://github.com/civicrm/civicrm-core/pull/19544))**
-- **dev/translation#65 Further remove moneyValueFormat ([19605](https://github.com/civicrm/civicrm-core/pull/19605))**
+ Speeds up rendering of contribution dashboard charts.
-- **SearchKit - Add links to view multi-record custom data ([19626](https://github.com/civicrm/civicrm-core/pull/19626))**
+### Joomla Integration
-- **dev/core#2388 SearchKit - Fix display of pseudoconstant fields ([19618](https://github.com/civicrm/civicrm-core/pull/19618))**
+- **Use Joomla style language strings to allow translations
+ ([56](https://github.com/civicrm/civicrm-joomla/pull/56))**
+
+ Changes some hardcoded english strings to use the Joomla translation system
+ so users can create translation overrides.
+
+## <a name="bugs"></a>Bugs resolved
-- **Remove single use of extraParams in CRM_Utils_Token::getTokenDetails() ([19640](https://github.com/civicrm/civicrm-core/pull/19640))**
+### Core CiviCRM
-- **[NFC/Unit Test] dev/core#2385 - Add test for getCaseActivityQuery ([19609](https://github.com/civicrm/civicrm-core/pull/19609))**
+- **Ensure dispatcher has loaded listeners
+ ([19614](https://github.com/civicrm/civicrm-core/pull/19614))**
-- **Show Contact age on deceased date ([19348](https://github.com/civicrm/civicrm-core/pull/19348))**
+ Fixes an edge case where the dispatcher can fail to load listeners
-- **dev/event#50 - Non static function called statically for event ical downloads ([19637](https://github.com/civicrm/civicrm-core/pull/19637))**
+- **Correct sms numbers
+ ([19509](https://github.com/civicrm/civicrm-core/pull/19509))**
-- **SearchKit - Enable links for implicit joins ([19631](https://github.com/civicrm/civicrm-core/pull/19631))**
+ When sending SMS messages to contacts in search results, under some
+ conditions a single contact's mobile phone number is repeated over and over
+ again for remaining contacts.
-- **dev/core#2398 - Fix save'n'test button on mail account form ([19636](https://github.com/civicrm/civicrm-core/pull/19636))**
+- **Asset building breaks the site (Work towards
+ [dev/core#2137](https://lab.civicrm.org/dev/core/-/issues/2137):
+ [19559](https://github.com/civicrm/civicrm-core/pull/19559) and
+ [18830](https://github.com/civicrm/civicrm-core/pull/18830))**
-- **Search kit select current user ([19620](https://github.com/civicrm/civicrm-core/pull/19620))**
+ Enhances log messages when AssetBuilder fails and put it inside a try/catch.
-- **[REF] simplify parameter, use preferred strict ([19597](https://github.com/civicrm/civicrm-core/pull/19597))**
+- **documentation on CIVICRM_CRED_KEYS (Work Towards
+ [dev/core#2370](https://lab.civicrm.org/dev/core/-/issues/2370):
+ [19568](https://github.com/civicrm/civicrm-core/pull/19568))**
-- **WordPress - If we hit a "permission denied" error, return HTTP 403 ([19608](https://github.com/civicrm/civicrm-core/pull/19608))**
+ Slightly expands the amount of entropy for certain auto-generated values.
-- **Fix incorrect use of ts when setting custom data form title ([19625](https://github.com/civicrm/civicrm-core/pull/19625))**
+- **Prevent double clicking submit button
+ ([dev/core#2372](https://lab.civicrm.org/dev/core/-/issues/2372):
+ [19610](https://github.com/civicrm/civicrm-core/pull/19610))**
-- **dev/financial#166 Clean up money formatting in iif ([19634](https://github.com/civicrm/civicrm-core/pull/19634))**
+ Prevents double clicking of submit button on any standard form without ajax
+ (ex: New Contribution Form).
-- **Metadata - Add 'readonly' to id fields, custom fields & contact fields ([19627](https://github.com/civicrm/civicrm-core/pull/19627))**
+- **Geocoding saves values that web UI doesn't accept (Work Towards
+ [dev/core#2379](https://lab.civicrm.org/dev/core/-/issues/2379):
+ [19588](https://github.com/civicrm/civicrm-core/pull/19588))**
-- **Afform - Allow public submission (PUB-CONTACT). Expand E2E test coverage. ([19579](https://github.com/civicrm/civicrm-core/pull/19579))**
+ The CiviCRM UI doesn't allow saving more than 14 characters in a geocoding
+ field. However, geocoders themselves aren't restricted to 14 characters. This
+ means that geocoders can enter a geocode that prevents editing the address.
-- **Convert Smarty & domain token processing to use token processor ([19598](https://github.com/civicrm/civicrm-core/pull/19598))**
+- **Afform permissions - open access didn't seem to work (search kit)
+ ([dev/core#2404](https://lab.civicrm.org/dev/core/-/issues/2404):
+ [19657](https://github.com/civicrm/civicrm-core/pull/19657))**
-- **Joomla - Implement getUfId(). Fix `@user:<name>`. ([19615](https://github.com/civicrm/civicrm-core/pull/19615))**
+ Addresses some ambiguities/confusion in permission for Afform. The basic
+ question -- if permission is omitted (in various ways -- unset, null,
+ empty-string), then what is the effective permission?
-- **dev/core#2389 SearchKit - Show edit link to searchDisplay afforms ([19617](https://github.com/civicrm/civicrm-core/pull/19617))**
+- **Navigation menu order
+ ([dev/core#2424](https://lab.civicrm.org/dev/core/-/issues/2424):
+ [19671](https://github.com/civicrm/civicrm-core/pull/19671))**
-- **dev/core#2392 - Deprecated url parameters in contribution dashboard detail links ([19621](https://github.com/civicrm/civicrm-core/pull/19621))**
+ Ensures one can change the order of navigation items from an extension.
-- **Ensure dispatcher has loaded listeners ([19614](https://github.com/civicrm/civicrm-core/pull/19614))**
+- **Create followup section at bottom of non-bulk email activities crashes
+ ([dev/core#2473](https://lab.civicrm.org/dev/core/-/issues/2473):
+ [19874](https://github.com/civicrm/civicrm-core/pull/19874))**
-- **Remove empty {ts} ([19622](https://github.com/civicrm/civicrm-core/pull/19622))**
+ Prevents a crash when the assignee is left blank when creating followup on
+ email activity.
-- **dev/core#1750: Replace Tokens In Activity Content for Sent Emails ([18299](https://github.com/civicrm/civicrm-core/pull/18299))**
+- **Afform - Show breadcrumbs appropriate to whether a form can be edited
+ ([19739](https://github.com/civicrm/civicrm-core/pull/19739))**
-- **Remove always-true-if ([19566](https://github.com/civicrm/civicrm-core/pull/19566))**
+ Removes the "Edit" link from non-editable forms, and adds the current
+ form back into the breadcrumbs, for the sake of forms which use url params for
+ routing.
-- **Afform - SearchKit support for calculated fields ([19612](https://github.com/civicrm/civicrm-core/pull/19612))**
+- **APIv4 - Improve handling of joins & custom fields
+ ([19562](https://github.com/civicrm/civicrm-core/pull/19562))**
-- **Fix on recently merged asset builder catch patch ([19613](https://github.com/civicrm/civicrm-core/pull/19613))**
+ Fixes some apparent bugs in SearchKit where certain fields were apparently
+ supported in the UI but the API would crash when trying to query them.
-- **Add contactlayouteditor to gitignore ([19611](https://github.com/civicrm/civicrm-core/pull/19611))**
+- **APIv4 - Increase alias max length to 256
+ ([19537](https://github.com/civicrm/civicrm-core/pull/19537))**
-- **Search Kit - Use wrapper api to run searches ([19585](https://github.com/civicrm/civicrm-core/pull/19585))**
+ Fixes a bug in Search Kit where fields derived from long complex joins would
+ disappear because their alias was longer than the default length of 63 output
+ by CRM_Utils_String::munge().
-- **Crypto - Add support for signing and verifying JSON Web Tokens ([19599](https://github.com/civicrm/civicrm-core/pull/19599))**
+- **GuzzleMiddleware::url() - Distinguish frontend and backend routes
+ ([19678](https://github.com/civicrm/civicrm-core/pull/19678))**
-- **[REF] Stop passing contribution into completeOrder, id is enough ([19571](https://github.com/civicrm/civicrm-core/pull/19571))**
+ GuzzleMiddlware::url() is a helper that simplifies writing URLs within
+ Guzzle-based tests. For example, $http->get('route://civicrm/dashboard') send
+ a GET request to the local site's civicrm/dashboard page.
-- **core#2309: Validate weight and weight threshold ([19604](https://github.com/civicrm/civicrm-core/pull/19604))**
+- **Cannot create proper `Group`s on multilingual with MySQL 5.6 and Civi
+ 5.31-rc
+ ([dev/translation#58](https://lab.civicrm.org/dev/translation/-/issues/58):
+ [19740](https://github.com/civicrm/civicrm-core/pull/19740))**
-- **[NFC/Unit Test] Fix passing test that should pass but also should fail ([19607](https://github.com/civicrm/civicrm-core/pull/19607))**
+- **fieldOptions hook fatal error
+ ([dev/core#1132](https://lab.civicrm.org/dev/core/-/issues/1132):
+ [19580](https://github.com/civicrm/civicrm-core/pull/19580))**
-- **5.35 ([19606](https://github.com/civicrm/civicrm-core/pull/19606))**
+- **CiviCRM Find and Merge Duplicate Contacts, does not validate the weight and
+ weight threshold, possible to set a weight threshold which can never be
+ achieved. ([dev/core#2309](https://lab.civicrm.org/dev/core/-/issues/2309):
+ [19604](https://github.com/civicrm/civicrm-core/pull/19604))**
-- **core#2379 - avoid validation error on saving geocodes ([19588](https://github.com/civicrm/civicrm-core/pull/19588))**
+- **SearchKit : use of rows in query cause mysql errors
+ ([dev/core#2360](https://lab.civicrm.org/dev/core/-/issues/2360):
+ [19535](https://github.com/civicrm/civicrm-core/pull/19535))**
-- **[NFC] Code cleanup - use use statements, hints ([19595](https://github.com/civicrm/civicrm-core/pull/19595))**
+- **Searchkit bug - not displaying grouped by field
+ ([dev/core#2388](https://lab.civicrm.org/dev/core/-/issues/2388):
+ [19618](https://github.com/civicrm/civicrm-core/pull/19618))**
-- **Use specific function when formatting money for a default ([19602](https://github.com/civicrm/civicrm-core/pull/19602))**
+- **On mail accounts form, pressing save and test followed by save creates a
+ duplicate account
+ ([dev/core#2398](https://lab.civicrm.org/dev/core/-/issues/2398):
+ [19636](https://github.com/civicrm/civicrm-core/pull/19636))**
-- **5.35 ([19601](https://github.com/civicrm/civicrm-core/pull/19601))**
+- **5.36 upgrade should check if foreign keys exist before adding them
+ ([dev/core#2452](https://lab.civicrm.org/dev/core/-/issues/2452):
+ [19773](https://github.com/civicrm/civicrm-core/pull/19773))**
-- **HttpTestTrait - Define helper methods for E2E tests of Civi's HTTP routes ([19600](https://github.com/civicrm/civicrm-core/pull/19600))**
+- **Afform (et al) - Fetch more complete list of permissions via APIv4
+ ([19536](https://github.com/civicrm/civicrm-core/pull/19536))**
-- **event#48: Fix partially paid events in a modal dialog ([19572](https://github.com/civicrm/civicrm-core/pull/19572))**
+- **Afform: Only permit Date fields to be made into a select list if it is a
+ search form ([19665](https://github.com/civicrm/civicrm-core/pull/19665))**
-- **APIv4 - Add option lists to getFields html_type and data_type ([19596](https://github.com/civicrm/civicrm-core/pull/19596))**
+- **SearchKit - Don't save on enter key
+ ([19643](https://github.com/civicrm/civicrm-core/pull/19643))**
-- **Cleanup - Remove old unused schema/xml files. ([19570](https://github.com/civicrm/civicrm-core/pull/19570))**
+- **SearchKit - Fix token menu positioning
+ ([19780](https://github.com/civicrm/civicrm-core/pull/19780))**
-- **dev/core#2365 - Delayed drawing of contribution charts seems unnecessary ([19544](https://github.com/civicrm/civicrm-core/pull/19544))**
+- **SearchKit - Fix broken update dialog and add input type float
+ ([19758](https://github.com/civicrm/civicrm-core/pull/19758))**
-- **[REF] replace deprecated calls with buildOptions ([19578](https://github.com/civicrm/civicrm-core/pull/19578))**
+- **SearchKit - Fix removing all related fields from SELECT when removing a JOIN
+ ([19747](https://github.com/civicrm/civicrm-core/pull/19747))**
-- **5.35 to master ([19592](https://github.com/civicrm/civicrm-core/pull/19592))**
+- **SearchKit - Fix clearing selection behavior
+ ([19686](https://github.com/civicrm/civicrm-core/pull/19686))**
-- **Remove check for safe_mode/open_basedir on extension downloader because it triggers false positives ([19582](https://github.com/civicrm/civicrm-core/pull/19582))**
+- **APIv4 - Rename 'controlField' property to 'control_field'
+ ([19699](https://github.com/civicrm/civicrm-core/pull/19699))**
-- **APIv4 - Improve handling of joins & custom fields ([19562](https://github.com/civicrm/civicrm-core/pull/19562))**
+- **APIv4 - Fix HTTP status code selection
+ ([19533](https://github.com/civicrm/civicrm-core/pull/19533))**
-- **dev/drupal#156 - system_get_info() is gone in drupal 9 ([19583](https://github.com/civicrm/civicrm-core/pull/19583))**
+- **APIv4 - AJAX errors should say *something* useful
+ ([19526](https://github.com/civicrm/civicrm-core/pull/19526))**
-- **REF Regenerate DAOs and I18n Schema Structure following merge of #19565 ([19581](https://github.com/civicrm/civicrm-core/pull/19581))**
+- **avoid error when reserving respondents in a survey.
+ ([19811](https://github.com/civicrm/civicrm-core/pull/19811))**
-- **Apply bootstrap theme to searchKit dashlets ([19577](https://github.com/civicrm/civicrm-core/pull/19577))**
+- **Search display fixes
+ ([19683](https://github.com/civicrm/civicrm-core/pull/19683))**
-- **Delete repeated title and fix some labels ([19565](https://github.com/civicrm/civicrm-core/pull/19565))**
+- **Fix migrateUtf8mb4 for special database names
+ ([19708](https://github.com/civicrm/civicrm-core/pull/19708))**
-- **serialize as boolean setting value for checkbox in CRM_Admin_Form_Gen… ([19576](https://github.com/civicrm/civicrm-core/pull/19576))**
+- **Angular - Remove deprecated js file
+ ([19704](https://github.com/civicrm/civicrm-core/pull/19704))**
-- **Fix angular error when user is not logged in. ([19575](https://github.com/civicrm/civicrm-core/pull/19575))**
+- **Fix for missing function CodeGen_Util::removeDir
+ ([19688](https://github.com/civicrm/civicrm-core/pull/19688))**
-- **5.35 to master ([19574](https://github.com/civicrm/civicrm-core/pull/19574))**
+- **Reduce wasted space in civicrm dashboard margins
+ ([19682](https://github.com/civicrm/civicrm-core/pull/19682))**
-- **dev/core#2370 - Installer - Bump up entropy for autogenerated cred keys ([19568](https://github.com/civicrm/civicrm-core/pull/19568))**
+- **Fix i18n issue with changeLog in data templates
+ ([19651](https://github.com/civicrm/civicrm-core/pull/19651))**
-- **Remove unused code ([19567](https://github.com/civicrm/civicrm-core/pull/19567))**
+- **Improve consistency of field titles, labels, types across the schema
+ ([19531](https://github.com/civicrm/civicrm-core/pull/19531))**
-- **5.35 ([19564](https://github.com/civicrm/civicrm-core/pull/19564))**
+- **Remove single use of extraParams in CRM_Utils_Token::getTokenDetails()
+ ([19640](https://github.com/civicrm/civicrm-core/pull/19640))**
-- **Fix 'Unsupported html-element' error on forms using EntityFormTrait ([19560](https://github.com/civicrm/civicrm-core/pull/19560))**
+- **Fix incorrect use of ts when setting custom data form title
+ ([19625](https://github.com/civicrm/civicrm-core/pull/19625))**
-- **dev/core#2137 - Enhance log message to include the actual error ([19559](https://github.com/civicrm/civicrm-core/pull/19559))**
+- **Remove check for safe_mode/open_basedir on extension downloader because it
+ triggers false positives
+ ([19582](https://github.com/civicrm/civicrm-core/pull/19582))**
-- **Cleanup towards dev/core#2308 ([19421](https://github.com/civicrm/civicrm-core/pull/19421))**
+- **Delete repeated title and fix some labels
+ ([19565](https://github.com/civicrm/civicrm-core/pull/19565))**
-- **[REF] Fully remove contribution object from repeattransaction function ([19547](https://github.com/civicrm/civicrm-core/pull/19547))**
+- **Fix angular error when user is not logged in.
+ ([19575](https://github.com/civicrm/civicrm-core/pull/19575))**
-- **[REF] Remove unused pcp & soft credit handling from previously shared code ([19525](https://github.com/civicrm/civicrm-core/pull/19525))**
+- **Fix 'Unsupported html-element' error on forms using EntityFormTrait
+ ([19560](https://github.com/civicrm/civicrm-core/pull/19560))**
-- **Afform (et al) - Fetch more complete list of permissions via APIv4 ([19536](https://github.com/civicrm/civicrm-core/pull/19536))**
+- **php 7.4 deprecated squiggly brackets - html/quickform date
+ ([316](https://github.com/civicrm/civicrm-packages/pull/316))**
-- **SearchKit - Add implicit joins for displaying labels of related entities ([19554](https://github.com/civicrm/civicrm-core/pull/19554))**
+- **php 7.4 - E_NOTICE on membership dashboard
+ ([19545](https://github.com/civicrm/civicrm-core/pull/19545))**
-- **[NFC/Unit Test] dev/core#2308 - Tests for activity import ([19555](https://github.com/civicrm/civicrm-core/pull/19555))**
+- **php 7.4 E_NOTICE in Contact/BAO/Query
+ ([19552](https://github.com/civicrm/civicrm-core/pull/19552))**
-- **[REF] Rename variable to clarify it's usage ([19556](https://github.com/civicrm/civicrm-core/pull/19556))**
+### CiviCase
-- **Add unit test cover for the MessageTemplate::renderMessageTemplate function ([19551](https://github.com/civicrm/civicrm-core/pull/19551))**
+- **Users with 'view own cases' permission can't open resolved cases
+ ([dev/core#1400](https://lab.civicrm.org/dev/core/-/issues/1400):
+ [19674](https://github.com/civicrm/civicrm-core/pull/19674),
+ [19666](https://github.com/civicrm/civicrm-core/pull/19666) and
+ [19675](https://github.com/civicrm/civicrm-core/pull/19675))**
-- **Correct sms numbers ([19509](https://github.com/civicrm/civicrm-core/pull/19509))**
+- **"My Cases" dashlet gives datatables error
+ ([dev/core#1207](https://lab.civicrm.org/dev/core/-/issues/1207):
+ [19689](https://github.com/civicrm/civicrm-core/pull/19689))**
-- **dev/core#2308 - Fix Activity Import Parser test and convert to civi statics ([19553](https://github.com/civicrm/civicrm-core/pull/19553))**
+### CiviContribute
-- **php 7.4 E_NOTICE in Contact/BAO/Query ([19552](https://github.com/civicrm/civicrm-core/pull/19552))**
+- **Account IIF Export Amount Format improper
+ ([dev/financial#166](https://lab.civicrm.org/dev/financial/-/issues/166):
+ [19634](https://github.com/civicrm/civicrm-core/pull/19634))**
-- **Improve consistency of field titles, labels, types across the schema ([19531](https://github.com/civicrm/civicrm-core/pull/19531))**
+ Ensures money fields are formatted properly (no $ sign) when exporting.
-- **[REF] Simplify is_email_receipt handling ([19524](https://github.com/civicrm/civicrm-core/pull/19524))**
+- **Remove legacy php money_format use, switch to brickmoney
+ ([dev/translation#65](https://lab.civicrm.org/dev/translation/-/issues/65):
+ [19605](https://github.com/civicrm/civicrm-core/pull/19605))**
-- **php 7.4 - E_NOTICE on membership dashboard ([19545](https://github.com/civicrm/civicrm-core/pull/19545))**
+- **Recurring contributions: ThankYou page does not translate the contribution
+ unit
+ ([dev/translation#32](https://lab.civicrm.org/dev/translation/-/issues/32):
+ [19655](https://github.com/civicrm/civicrm-core/pull/19655))**
-- **5.35 to master ([19548](https://github.com/civicrm/civicrm-core/pull/19548))**
+- **Deprecated force url for contribution dashboard links
+ ([dev/core#2392](https://lab.civicrm.org/dev/core/-/issues/2392):
+ [19621](https://github.com/civicrm/civicrm-core/pull/19621))**
-- **put asset rendering call into a try/catch - dev/core #2137 ([18830](https://github.com/civicrm/civicrm-core/pull/18830))**
+- **Use specific function when formatting money for a default
+ ([19602](https://github.com/civicrm/civicrm-core/pull/19602))**
-- **[REF] [Repeattransaction] Stop setting contribution->id ([19538](https://github.com/civicrm/civicrm-core/pull/19538))**
+- **Use specific function when formatting money for a default ([19652]
+ (https://github.com/civicrm/civicrm-core/pull/19652))**
-- **[REF] [Repeattransaction] use financial_type_id from getTemplateContribution (which already has handling) ([19539](https://github.com/civicrm/civicrm-core/pull/19539))**
+### CiviEvent
-- **[REF] [Repeattransaction] Remove loading contribution page id from passed in object ([19540](https://github.com/civicrm/civicrm-core/pull/19540))**
+- **deprecated function error
+ ([dev/event#50](https://lab.civicrm.org/dev/event/-/issues/50):
+ [19637](https://github.com/civicrm/civicrm-core/pull/19637))**
-- **Afform Gui - Block editing enhancements ([19530](https://github.com/civicrm/civicrm-core/pull/19530))**
+ Fixes a Deprecated function error: "Non-static method
+ CRM_Event_ICalendar::run() should not be called statically in
+ CRM_Core_Invoke::runItem()" when clicking on the ical button on the Manage
+ Events form.
-- **[REF] Fix array access on NULL error when running afform unit tests o… ([19542](https://github.com/civicrm/civicrm-core/pull/19542))**
+- **Obsolete wkhtmltopdfPath causes hard fail in event registration due to
+ internal fatal error for the missing package
+ (Revert: [dev/core#2028](https://lab.civicrm.org/dev/core/-/issues/2028):
+ [19942](https://github.com/civicrm/civicrm-core/pull/19942))**
-- **afform_mock - Hide extension. Clearly indicate as development-only ([19541](https://github.com/civicrm/civicrm-core/pull/19541))**
+ Reverts the fix for this issue because it caused a regression.
-- **APIv4 - Increase alias max length to 256 ([19537](https://github.com/civicrm/civicrm-core/pull/19537))**
+- **Partial payments fail on events in a modal dialog box
+ ([dev/event#48](https://lab.civicrm.org/dev/event/-/issues/48):
+ [19572](https://github.com/civicrm/civicrm-core/pull/19572))**
-- **dev/core#2360 - Escape the word `rows` in sql query ([19535](https://github.com/civicrm/civicrm-core/pull/19535))**
+### CiviMember
-- **Fix display of membership dates on receipts when lineitems do not have a price_set_id ([19508](https://github.com/civicrm/civicrm-core/pull/19508))**
+- **Sales tax and Vat issue within memberships - membership fee increases
+ incorrectly when the membership has an error
+ ([dev/core#778](https://lab.civicrm.org/dev/core/-/issues/778):
+ [19648](https://github.com/civicrm/civicrm-core/pull/19648))**
-- **5.35 ([19534](https://github.com/civicrm/civicrm-core/pull/19534))**
+ Fixes a bug where when sales tax is enabled and is used for a membership form
+ sales tax was added every time the form validation failed.
-- **APIv4 - Fix HTTP status code selection ([19533](https://github.com/civicrm/civicrm-core/pull/19533))**
+- **Fix display of membership dates on receipts when lineitems do not have a
+ price_set_id ([19508](https://github.com/civicrm/civicrm-core/pull/19508))**
-- **Remove campaign_id pseudoconstants ([19463](https://github.com/civicrm/civicrm-core/pull/19463))**
+- **Fix membership form to correctly calculate tax when a discount is applied
+ ([19476](https://github.com/civicrm/civicrm-core/pull/19476))**
-- **[REF] Complete order Unset contribution once we have finished with it. ([19527](https://github.com/civicrm/civicrm-core/pull/19527))**
+### Drupal Integration
-- **[REF] Further extract the portion of sendTemplate that relates to rendering ([19522](https://github.com/civicrm/civicrm-core/pull/19522))**
+- **system_get_info() is deprecated in drupal 9
+ ([dev/drupal#156](https://lab.civicrm.org/dev/drupal/-/issues/156):
+ [19583](https://github.com/civicrm/civicrm-core/pull/19583))**
-- **(REF) APIv4 - Add hook for whitelisting select AJAX API's for anonymous invocation ([19494](https://github.com/civicrm/civicrm-core/pull/19494))**
+ Fixes fatal errors when viewing any CiviReport on a Drupal 9 integration.
-- **APIv4 - AJAX errors should say *something* useful ([19526](https://github.com/civicrm/civicrm-core/pull/19526))**
+- **'Recent Items' fails to show list of Recent Items
+ ([dev/core#2387](https://lab.civicrm.org/dev/core/-/issues/2387):
+ [62](https://github.com/civicrm/civicrm-drupal-8/pull/62))**
-- **7.x 5.35 ([642](https://github.com/civicrm/civicrm-drupal/pull/642))**
+ Ensures that the "Recent Items" block shows the list of recent items.
-- **7.x 5.35 ([639](https://github.com/civicrm/civicrm-drupal/pull/639))**
+- **drush install - Bump up entropy for autogenerated creds. Add signing key.
+ #640 ([58](https://github.com/civicrm/civicrm-drupal-8/pull/58))**
-- **dev/core#2387 - Method of preventing cache for blocks doesn't work ([62](https://github.com/civicrm/civicrm-drupal-8/pull/62))**
+### Joomla Integration
-- **drush install - Bump up entropy for autogenerated creds. Add signing key. #640 ([58](https://github.com/civicrm/civicrm-drupal-8/pull/58))**
+- **Joomla::synchronizeUsers - Fix notice due to old style reference
+ ([19677](https://github.com/civicrm/civicrm-core/pull/19677))**
-- **5.35 ([243](https://github.com/civicrm/civicrm-wordpress/pull/243))**
+- **Joomla - Implement getUfId(). Fix `@user:<name>`.
+ ([19615](https://github.com/civicrm/civicrm-core/pull/19615))**
-- **5.35 ([61](https://github.com/civicrm/civicrm-joomla/pull/61))**
+### WordPress Integration
-- **Use Joomla style language strings to allow translations ([56](https://github.com/civicrm/civicrm-joomla/pull/56))**
+- **WordPress - If we hit a "permission denied" error, return HTTP 403
+ ([19608](https://github.com/civicrm/civicrm-core/pull/19608))**
-- **php 7.4 deprecated squiggly brackets - html/quickform date ([316](https://github.com/civicrm/civicrm-packages/pull/316))**
+ Ensures if the user hits a permission denied error http 403 is returned
+ instead of 200.
## <a name="misc"></a>Miscellany
+- **Add contactlayouteditor to gitignore
+ ([19611](https://github.com/civicrm/civicrm-core/pull/19611))**
+
+- **Convert Smarty & domain token processing to use token processor
+ ([19598](https://github.com/civicrm/civicrm-core/pull/19598))**
+
+- **HttpTestTrait - Define helper methods for E2E tests of Civi's HTTP routes
+ ([19600](https://github.com/civicrm/civicrm-core/pull/19600))**
+
+- **Mark Old Cividiscount hook support deprecated
+ ([19649](https://github.com/civicrm/civicrm-core/pull/19649))**
+
+- **Cleanup - Remove old unused schema/xml files.
+ ([19570](https://github.com/civicrm/civicrm-core/pull/19570))**
+
+- **Afform - move contentEditable directive into crmUI library for reusability
+ ([19672](https://github.com/civicrm/civicrm-core/pull/19672))**
+
+- **Remove unreachable code & variable cleanup in membership back office form
+ template ([19647](https://github.com/civicrm/civicrm-core/pull/19647))**
+
+- **Remove unused code
+ ([19567](https://github.com/civicrm/civicrm-core/pull/19567))**
+
+- **Remove empty {ts}
+ ([19622](https://github.com/civicrm/civicrm-core/pull/19622))**
+
+- **Remove always-true-if
+ ([19566](https://github.com/civicrm/civicrm-core/pull/19566))**
+
+- **REF Regenerate DAOs and I18n Schema Structure following merge of #19565
+ ([19581](https://github.com/civicrm/civicrm-core/pull/19581))**
+
+- **[REF] do not needlessly pass as reference, enforce valid param
+ ([19478](https://github.com/civicrm/civicrm-core/pull/19478))**
+
+- **[REF] Simplfy parameter
+ ([19654](https://github.com/civicrm/civicrm-core/pull/19654))**
+
+- **[REF] Use form property rather than formValues to pass generated invoice ID
+ on membership forms
+ ([19549](https://github.com/civicrm/civicrm-core/pull/19549))**
+
+- **[REF] simplify parameter, use preferred strict
+ ([19597](https://github.com/civicrm/civicrm-core/pull/19597))**
+
+- **[REF] Stop passing contribution into completeOrder, id is enough
+ ([19571](https://github.com/civicrm/civicrm-core/pull/19571))**
+
+- **[REF] replace deprecated calls with buildOptions
+ ([19578](https://github.com/civicrm/civicrm-core/pull/19578))**
+
+- **[REF] Fully remove contribution object from repeattransaction function
+ ([19547](https://github.com/civicrm/civicrm-core/pull/19547))**
+
+- **[REF] Remove unused pcp & soft credit handling from previously shared code
+ ([19525](https://github.com/civicrm/civicrm-core/pull/19525))**
+
+- **[REF] Rename variable to clarify it's usage
+ ([19556](https://github.com/civicrm/civicrm-core/pull/19556))**
+
+- **[REF] Load participant id within completeOrder rather than passing it in
+ ([19641](https://github.com/civicrm/civicrm-core/pull/19641))**
+
+- **[REF] Move code that relates to receipts when paying by credit card out of
+ the shared function
+ ([19658](https://github.com/civicrm/civicrm-core/pull/19658))**
+
+- **[REF] Complete order Unset contribution once we have finished with it.
+ ([19527](https://github.com/civicrm/civicrm-core/pull/19527))**
+
+- **[REF] Further extract the portion of sendTemplate that relates to rendering
+ ([19522](https://github.com/civicrm/civicrm-core/pull/19522))**
+
+- **(REF) APIv4 - Add hook for whitelisting select AJAX API's for anonymous
+ invocation ([19494](https://github.com/civicrm/civicrm-core/pull/19494))**
+
+- **[REF] [Repeattransaction] Stop setting contribution->id
+ ([19538](https://github.com/civicrm/civicrm-core/pull/19538))**
+
+- **[REF] [Repeattransaction] use financial_type_id from getTemplateContribution
+ (which already has handling)
+ ([19539](https://github.com/civicrm/civicrm-core/pull/19539))**
+
+- **[REF] [Repeattransaction] Remove loading contribution page id from passed in
+ object ([19540](https://github.com/civicrm/civicrm-core/pull/19540))**
+
+- **[REF] Fix array access on NULL error when running afform unit tests o…
+ ([19542](https://github.com/civicrm/civicrm-core/pull/19542))**
+
+- **[REF] clean up if
+ ([19693](https://github.com/civicrm/civicrm-core/pull/19693))**
+
+- **[REF] Simplify is_email_receipt handling
+ ([19524](https://github.com/civicrm/civicrm-core/pull/19524))**
+
+- **Add unit test cover for the MessageTemplate::renderMessageTemplate function
+ ([19551](https://github.com/civicrm/civicrm-core/pull/19551))**
+
+- **[NFC/Unit Test] Fix passing test that should pass but also should fail
+ ([19607](https://github.com/civicrm/civicrm-core/pull/19607))**
+
+- **[NFC] Code cleanup - use use statements, hints
+ ([19595](https://github.com/civicrm/civicrm-core/pull/19595))**
+
+- **[NFC] Add in unit test to prove that domain tokens are able to be inc…
+ ([19702](https://github.com/civicrm/civicrm-core/pull/19702))**
+
+- **NFC Update comments in token classes
+ ([19715](https://github.com/civicrm/civicrm-core/pull/19715))**
+
+- **[NFC] minor cleanup in testCaseCreateWithResolvedStatus
+ ([19664](https://github.com/civicrm/civicrm-core/pull/19664))**
+
+- **Minor cleanup - ChangeCaseStatus
+ ([19663](https://github.com/civicrm/civicrm-core/pull/19663))**
+
## <a name="credits"></a>Credits
This release was developed by the following code authors:
-AGH Strategies - Alice Frumin, Andrew Hunt; Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy; Dave D; elinw; iXiam - Luciano Spiegel; J0WI; JMA Consulting - Monish Deb, Seamus Lee; lunar-debian; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
+AGH Strategies - Alice Frumin, Andie Hunt; Blackfly Solutions - Alan Dixon;
+CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten;
+CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy; Dave D; elinw; iXiam -
+Luciano Spiegel; J0WI; JMA Consulting - Monish Deb, Seamus Lee; lunar-debian;
+Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
+Progressive Technology Project - Jamie McClelland; Skvare - Sunil Pawar; Tadpole
+Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola
+Ogunwande; Wikimedia Foundation - Eileen McNaughton
Most authors also reviewed code for this release; in addition, the following
reviewers contributed their comments:
-a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Christian Wach; civibot[bot]; CiviCoop - Klaas Eikelboom; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy; Dave D; dptarrant; Fuzion - Peter Davis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Semper IT - Karin Gerritsen; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton
+a-n The Artists Information Company - William Mortada; Agileware - Justin
+Freeman; Artful Robot - Rich Lott; Christian Wach; CiviDesk - Yashodha Chaku;
+Dave T; Fuzion - Peter Davis; JMA Consulting - Joe Murray; MJCO - Mikey O'Toole;
+Nicol Wistreich; Semper IT - Karin Gerritsen;
## <a name="feedback"></a>Feedback
-These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
+These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
and contact `@agh1`.