From: Alice Frumin Date: Wed, 12 Jul 2023 02:08:01 +0000 (-0400) Subject: [NFC] 5.64 release notes X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=b21b395a7ded95a9b599db734feca7da2359b323;p=civicrm-core.git [NFC] 5.64 release notes --- diff --git a/contributor-key.yml b/contributor-key.yml index 633be5d5c2..03a34b00f1 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -1523,6 +1523,9 @@ - github : tobiaslounsbury name : Tobias Lounsbury +- github : TobiasVoigt + name : Tobias Voigt + - name : Thomas Mannell organization: Registered Nurses' Association of Ontario @@ -1710,3 +1713,5 @@ - github : mikeybeck name : Mike Beck organization: Fuzion + +- github : ziljah diff --git a/release-notes/5.64.0.md b/release-notes/5.64.0.md index 3f638e9ad0..d86da799e9 100644 --- a/release-notes/5.64.0.md +++ b/release-notes/5.64.0.md @@ -13,554 +13,995 @@ Released August 2, 2023 | *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** | ## Features -## Bugs resolved - ### Core CiviCRM -- **Fix recent breakage on membershipBlock.tpl ([26777](https://github.com/civicrm/civicrm-core/pull/26777))** +- **Add LEFT, RIGHT and SUBSTRING SQL functions + ([26549](https://github.com/civicrm/civicrm-core/pull/26549))** -- **Fix PHP errors on profiles and custom fields when using options per line ([26763](https://github.com/civicrm/civicrm-core/pull/26763))** + Adds LEFT, RIGHT and SUBSTRING SQL functions to APIv4. -- **dev/core#4409 Use translation for default language, if exists ([26232](https://github.com/civicrm/civicrm-core/pull/26232))** +- **Log server-side validation errors so it is easier to troubleshoot/debug + afform issues ([25533](https://github.com/civicrm/civicrm-core/pull/25533))** -- **dev/core#4418 Add in Upgrade script to fix double json encoding ([26760](https://github.com/civicrm/civicrm-core/pull/26760))** + Makes it easier to debug in afform by logging server-side validation errors. -- **[REF] dev/core#4418 Add in Unit test of submitting the form to ensure… ([26758](https://github.com/civicrm/civicrm-core/pull/26758))** +- **Render Email input as type="email" + ([26705](https://github.com/civicrm/civicrm-core/pull/26705))** -- **dev/core#4418 Fix Payment Processor accepted_credit_cards regression ([26755](https://github.com/civicrm/civicrm-core/pull/26755))** + Makes core email field inputs display as type=email. -- **dev/core#4419 - Crash on membership tab of contribution page config (should go into 5.64) ([26757](https://github.com/civicrm/civicrm-core/pull/26757))** +- **Specify 'match' in mgd.php files + ([26608](https://github.com/civicrm/civicrm-core/pull/26608))** -- **crmCaseType: fix New Case Type link visiblity in obscure circumstances ([26749](https://github.com/civicrm/civicrm-core/pull/26749))** + Adds 'match' param to reduce conflicts when resolving managed entities. -- **5.63 late / after release changes ([26753](https://github.com/civicrm/civicrm-core/pull/26753))** +- **Towards consistency for displaying test entities. Stop hiding test entities + on some dashboards + ([23724](https://github.com/civicrm/civicrm-core/pull/23724))** -- **[REF] Use writeRecord in the revert function of MessageTemplate to en… ([26754](https://github.com/civicrm/civicrm-core/pull/26754))** + Works towards consistent display of test entities by making all test entities + show up on the relevant contact summary tabs and not on the user dashboard. -- **Remove unneeded and strange profile field save success alert ([26751](https://github.com/civicrm/civicrm-core/pull/26751))** +- **Add weights to contact search actions + ([26719](https://github.com/civicrm/civicrm-core/pull/26719))** -- **Split MembershipBlock.tpl into 2 ([26690](https://github.com/civicrm/civicrm-core/pull/26690))** + Adds weights to contact search actions so extensions can more easily + manipulate them. -- **Make the `recur_id` field of Contributions available to FormBuilder ([26745](https://github.com/civicrm/civicrm-core/pull/26745))** +- **Add weight to Group Links + ([26718](https://github.com/civicrm/civicrm-core/pull/26718))** -- **dev/core#4413 Don't remove core component permissions when disabled ([26744](https://github.com/civicrm/civicrm-core/pull/26744))** + Adds weights to group links so that extensions can more easily manipulate + them. -- **(dev/core#4391) Prohibit uninstallation of core components ([26743](https://github.com/civicrm/civicrm-core/pull/26743))** +- **Add import listing for admins + ([26316](https://github.com/civicrm/civicrm-core/pull/26316))** -- **NFC: Add debug level log message when afform submissions catch exceptions ([26741](https://github.com/civicrm/civicrm-core/pull/26741))** + Adds a searchkit search to display a list of imports run on the site for + admins only to the civiimport extension. -- **Fix regression caused by 26620 ([26659](https://github.com/civicrm/civicrm-core/pull/26659))** +- **Add All imports menu item for users with Administer Queues + ([26516](https://github.com/civicrm/civicrm-core/pull/26516))** -- **Fix Translation to load related language more reliably ([26190](https://github.com/civicrm/civicrm-core/pull/26190))** + Adds a link to "All Imports" search to the menu bar for sites with the + civiimport extension enabled. -- **Fix apiv4 bug on custom fields with spaces in name ([26740](https://github.com/civicrm/civicrm-core/pull/26740))** +- **[WIP] civicrm_admin_ui Find contacts replacement + ([26381](https://github.com/civicrm/civicrm-core/pull/26381))** -- **AdminUI: Convert Mail Accounts page civicrm/admin/mailSettings ([26733](https://github.com/civicrm/civicrm-core/pull/26733))** + When using the core AdminUI extension, replaces the "Find contacts" search + with a Search Kit + Form Builder version. -- **Update related contribution trxn_id before sending email [must go into 5.64] ([26737](https://github.com/civicrm/civicrm-core/pull/26737))** +- **Remove Search Builder link from search results + ([26670](https://github.com/civicrm/civicrm-core/pull/26670))** -- **5.63 ([26738](https://github.com/civicrm/civicrm-core/pull/26738))** + Removes the link to Search Builder from Advanced Search and Find Contacts + results screens. -- **Standalone login ux ([26684](https://github.com/civicrm/civicrm-core/pull/26684))** +- **Add capitalize filter to tokens + ([26662](https://github.com/civicrm/civicrm-core/pull/26662))** -- **Fix another place weight is not passed ([26736](https://github.com/civicrm/civicrm-core/pull/26736))** + Adds a token filter: capitalize, to apply title-case/name-case to token-values. -- **Remove unused variables, fix a couple of == ([26734](https://github.com/civicrm/civicrm-core/pull/26734))** +- **crmMoney filter - allow coercing locale + ([26383](https://github.com/civicrm/civicrm-core/pull/26383))** -- **AdminUI: Convert Job Log page civicrm/admin/joblog ([26732](https://github.com/civicrm/civicrm-core/pull/26732))** + Adds a crmMoney filter to tokens, comparable to crmDate, for coercing money + into a particular format. -- **Add weights to contact search actions ([26719](https://github.com/civicrm/civicrm-core/pull/26719))** +- **Note Form: use EntityFormTrait and setEntityId for postProcess hooks + ([26686](https://github.com/civicrm/civicrm-core/pull/26686))** -- **[NFC] Update test that's no longer doing what it was doing ([26725](https://github.com/civicrm/civicrm-core/pull/26725))** + Makes it easier for extension developers to use the postProcess hook when + notes are edited. -- **REF - Replace CRM_Utils_Array::value with ?? ([26731](https://github.com/civicrm/civicrm-core/pull/26731))** +- **Improve select for Add Navigation Menu Item > Parent + ([26550](https://github.com/civicrm/civicrm-core/pull/26550))** -- **SearchKit - Fix check for smarty syntax in rewrite output ([26730](https://github.com/civicrm/civicrm-core/pull/26730))** + Improves the "Add Navigation Menu Item" parent field by making it a select2, + wider and the list ordered. -- **Merged #26726 into master. ([26728](https://github.com/civicrm/civicrm-core/pull/26728))** +- **AdminUI: Convert Job Log page civicrm/admin/joblog + ([26732](https://github.com/civicrm/civicrm-core/pull/26732))** -- **Update Api.php to correct external_identifier to type STRING ([26726](https://github.com/civicrm/civicrm-core/pull/26726))** + Adds a "Job Log" page to the Admin UI extension. -- **[REF] Autoformat php short array syntax ([26724](https://github.com/civicrm/civicrm-core/pull/26724))** +- **AdminUI: Convert Mail Accounts page civicrm/admin/mailSettings + ([26733](https://github.com/civicrm/civicrm-core/pull/26733))** -- **[REF] Remove unnecessary CRM_Utils_Array::value and use short array syntax ([26723](https://github.com/civicrm/civicrm-core/pull/26723))** + Adds a "Mail Accounts" page to the Admin UI extension. -- **dev/joomla#51 Fix Joomla permissions warning ([26699](https://github.com/civicrm/civicrm-core/pull/26699))** +- **Add select2s for Contribution, etc + ([26502](https://github.com/civicrm/civicrm-core/pull/26502))** -- **#4360 #4384 fixing multiple regressions with path civicrm/contact/search ([26669](https://github.com/civicrm/civicrm-core/pull/26669))** + Improves user experience by changing old-school selects to select2s on the + following forms: Contribution, Manage Contribution Page, Manage Event + Registration, Payments, PCPs, Pledges. -- **Remove now unsed createEvent test function from test baseClass ([26717](https://github.com/civicrm/civicrm-core/pull/26717))** +- **Put link first in SearchDisplay Links options + ([26697](https://github.com/civicrm/civicrm-core/pull/26697))** -- **Towards consistency for displaying test entities. Stop hiding test entities on some dashboards ([23724](https://github.com/civicrm/civicrm-core/pull/23724))** + Improves SearchKit -> SearchDisplay -> Links options user experience by + reordering the fields. -- **Render Email input as type="email" ([26705](https://github.com/civicrm/civicrm-core/pull/26705))** +- **Clarify dedupe rules as "Name or Email" + ([26673](https://github.com/civicrm/civicrm-core/pull/26673))** -- **Add frontend_title to various data set up places ([26721](https://github.com/civicrm/civicrm-core/pull/26721))** + Renames the default Organizational and Household dedupe rules from "Name and + Email", to "Name or Email" which more accurately reflects how they work. -- **Include `entityTrait` in `ContactTestTrait` ([26715](https://github.com/civicrm/civicrm-core/pull/26715))** +- **Move last (hopefully) custom search classes to the extension, unhide + ([26664](https://github.com/civicrm/civicrm-core/pull/26664) and + [26660](https://github.com/civicrm/civicrm-core/pull/26660))** -- **Remove some unused test functions ([26720](https://github.com/civicrm/civicrm-core/pull/26720))** + Unhides the Legacy Custom Search extension so that users can uninstall it. -- **Drop unused table civicrm_action_mapping ([26646](https://github.com/civicrm/civicrm-core/pull/26646))** +- **WorkflowMessage - Allow more dynamic-localized data. Unify language field. + ([26618](https://github.com/civicrm/civicrm-core/pull/26618) and + [26651](https://github.com/civicrm/civicrm-core/pull/26651))** -- **Add weight to Group Links ([26718](https://github.com/civicrm/civicrm-core/pull/26718))** + Makes it possible for bespoke methods in WorkflowMessages to generate + localized content. -- **SearchKit - Provide context information to subscribers ([26716](https://github.com/civicrm/civicrm-core/pull/26716))** +- **Add deployID to civicrm.settings.php + ([26632](https://github.com/civicrm/civicrm-core/pull/26632))** -- **Reduce PHP warnings with paymentBlock ([26505](https://github.com/civicrm/civicrm-core/pull/26505))** + Adds deployID to civicrm.settings.php file for redis implementations. -- **Fix ChangeFeeSelectionTest to use eventCreatePaid ([26709](https://github.com/civicrm/civicrm-core/pull/26709))** +- **Add Search Display of ACLs + ([26624](https://github.com/civicrm/civicrm-core/pull/26624), + [26627](https://github.com/civicrm/civicrm-core/pull/26627) and + [26617](https://github.com/civicrm/civicrm-core/pull/26617))** -- **APIv4 - Add more metadata to CustomValue entities; use AutoService ([26710](https://github.com/civicrm/civicrm-core/pull/26710))** + Adds a search kit built search display of ACLs into the new admin ui extension + and associated metadata that is needed. -- **[REF] Code cleanup; remove unused vars and remove CRM_Utils_Array::value ([26714](https://github.com/civicrm/civicrm-core/pull/26714))** +- **Allow negative rules for ACLs + ([dev/core#3753](https://lab.civicrm.org/dev/core/-/issues/3753): + [26041](https://github.com/civicrm/civicrm-core/pull/26041))** -- **Install SK as part of headless test baseline ([26712](https://github.com/civicrm/civicrm-core/pull/26712))** + Permits ACL rules that negate (deny) access. -- **clearTempTables: fix condition for user_job check ([26696](https://github.com/civicrm/civicrm-core/pull/26696))** +- **Add "priority" column to ACLs and support ACL rule precedence + ([26592](https://github.com/civicrm/civicrm-core/pull/26592) and + [26609](https://github.com/civicrm/civicrm-core/pull/26609))** -- **CRM_Mailing_Form_Optout, CRM_Mailing_Form_Unsubscribe: change properties to protected from private ([26713](https://github.com/civicrm/civicrm-core/pull/26713))** + Adds the concept of a priority to ACL rules. This allows for allow or deny + rules to take precedence by the priority they are given. -- **Don't show SQL text in SK if user does not have view debug permission ([26711](https://github.com/civicrm/civicrm-core/pull/26711))** +- **Move standalone classes and standaloneusers extension into core + ([26684](https://github.com/civicrm/civicrm-core/pull/26684), + [26621](https://github.com/civicrm/civicrm-core/pull/26621) and + [26631](https://github.com/civicrm/civicrm-core/pull/26631))** -- **SearchKit - Allow custom fields in join conditions ([26698](https://github.com/civicrm/civicrm-core/pull/26698))** + Adds support for Standalone builds. -- **Use eventCreateUnpaid in participantCreate ([26708](https://github.com/civicrm/civicrm-core/pull/26708))** +- **SearchKit - Provide context information to subscribers + ([26716](https://github.com/civicrm/civicrm-core/pull/26716))** -- **Fix ACLPermissionTrait to use EventTest create function ([26707](https://github.com/civicrm/civicrm-core/pull/26707))** + Provides context information to subscribers in SearchKit. -- **5.63 ([26706](https://github.com/civicrm/civicrm-core/pull/26706))** +- **SearchKit - Allow custom fields in join conditions + ([26698](https://github.com/civicrm/civicrm-core/pull/26698))** -- **Allow Drupal webstest user to view debug output ([26703](https://github.com/civicrm/civicrm-core/pull/26703))** + Allows custom fields in SearchKit join conditions. -- **Fix debug permissions for API 4 Explorer debug ([26702](https://github.com/civicrm/civicrm-core/pull/26702))** +- **SearchKit - Expose expires_date field to UI + ([26485](https://github.com/civicrm/civicrm-core/pull/26485))** -- **Test cleanup in BAO_ParticipantTest ([26704](https://github.com/civicrm/civicrm-core/pull/26704))** + Exposes expires_date field to the SearchKit UI. -- **[Tests] Fix a few more places to use eventTrait & remove `legacyEventCreate` ([26701](https://github.com/civicrm/civicrm-core/pull/26701))** +- **API/SearchKit - Improve dynamic pseudoconstant lookups and ACL adminUI + ([26639](https://github.com/civicrm/civicrm-core/pull/26639))** -- **Standalone - Track logged-in user object ([26672](https://github.com/civicrm/civicrm-core/pull/26672))** + Improves metadata in the ACL entity, metadata handling in the API, and the + new AdminUI "Manage ACL" screen. -- **Put link first in SearchDisplay Links options ([26697](https://github.com/civicrm/civicrm-core/pull/26697))** +- **APIv4 - Add EntitySet api for set-ops such as UNION + ([26536](https://github.com/civicrm/civicrm-core/pull/26536) and + [26583](https://github.com/civicrm/civicrm-core/pull/26583))** -- **APIv4, Case API, configure options and suffixes for medium_id field ([25224](https://github.com/civicrm/civicrm-core/pull/25224))** + Makes it so one can use UNION in APIv4. -- **Add calculated optout & unsub mailing stats to API 4 ([26694](https://github.com/civicrm/civicrm-core/pull/26694))** +- **APIv4 - Remove gatekeeper permission check for AJAX endpoint (with tests) + ([26391](https://github.com/civicrm/civicrm-core/pull/26391))** -- **Add calculated fields to API 4 for total mailing stats ([26689](https://github.com/civicrm/civicrm-core/pull/26689))** + Historically the AJAX api has required either 'access CiviCRM' or 'access + AJAX API' as a broad hedge against security vulnerabilities, but this + interferes with legitimate use-cases for anonymous users to make ajax + requests. Since http requests are allowed by anon, and many Civi pages now + contain ajax elements, this PR replaces that broad hedge with unit tests for + AJAX security. -- **Don't check for PHP 5 on Mapping Settings ([26693](https://github.com/civicrm/civicrm-core/pull/26693))** +- **APIv4 - Add more metadata to CustomValue entities; use AutoService + ([26710](https://github.com/civicrm/civicrm-core/pull/26710))** -- **Typo correct for MailingEventReply.php ([26692](https://github.com/civicrm/civicrm-core/pull/26692))** + Metadata improvements for multi-record custom field pseudo-entities. -- **replace deprecated functions in event fee form ([26691](https://github.com/civicrm/civicrm-core/pull/26691))** +- **Afform - Enable search operators to be exposed on the form + ([26496](https://github.com/civicrm/civicrm-core/pull/26496))** -- **Note Form: use EntityFormTrait and setEntityId for postProcess hooks ([26686](https://github.com/civicrm/civicrm-core/pull/26686))** + Allows search operators to be selectable on the form by the end-user in Form + Builder. -- **CiviGrant - Support APIv4 autocompletes ([26687](https://github.com/civicrm/civicrm-core/pull/26687))** +- **Form Builder - Clarify "Security" options + ([26581](https://github.com/civicrm/civicrm-core/pull/26581))** -- **Add missing Mailing Events to API4: Delivered, Forward, Reply ([26683](https://github.com/civicrm/civicrm-core/pull/26683))** + Improves Form Builder user experience by clarifying Security options. -- **crmAutocomplete - Fix endless loop (again) ([26681](https://github.com/civicrm/civicrm-core/pull/26681))** +### CiviCampaign -- **Fix ommitted port when constructing redirect URL ([26685](https://github.com/civicrm/civicrm-core/pull/26685))** +- **Add apiv4 Survey entity + ([26653](https://github.com/civicrm/civicrm-core/pull/26653))** -- **dev/core#4396 AdminUI Find contact using sort_name ([26682](https://github.com/civicrm/civicrm-core/pull/26682))** + Adds the Survey entity to Apiv4. -- **[PHP8] Codegen - Don't generate invalid secondary emails ([26680](https://github.com/civicrm/civicrm-core/pull/26680))** +- **Add survey tokens + ([26661](https://github.com/civicrm/civicrm-core/pull/26661))** -- **Clarify dedupe rules as "Name or Email" ([26673](https://github.com/civicrm/civicrm-core/pull/26673))** + Adds email tokens for survey data. -- **Add workflow message template for sign_petition, confirm petition ([26654](https://github.com/civicrm/civicrm-core/pull/26654))** +- **Add workflow message template for sign_petition, confirm petition + ([26654](https://github.com/civicrm/civicrm-core/pull/26654))** -- **Fix test to use created workflow ([26655](https://github.com/civicrm/civicrm-core/pull/26655))** + Adds workflow message template for sign_petition and confirm petition. -- **(REF) Simplify some more installation data ([26675](https://github.com/civicrm/civicrm-core/pull/26675))** +### CiviCase -- **(dev/core#1615) Setup - Prepare to generate Joomla-style "civicrm.settings.php" ([26678](https://github.com/civicrm/civicrm-core/pull/26678))** +- **APIv4, Case API, configure options and suffixes for medium_id field + ([25224](https://github.com/civicrm/civicrm-core/pull/25224))** -- **distmaker - Add some options to speed up frequent rebuilds ([26677](https://github.com/civicrm/civicrm-core/pull/26677))** + Improves the APIv4 Case entity by making the options for `medium_id` a select + instead of a free text field. -- **dev/core#3890 Rebuild smart groups included in mailing on scheduling ([24681](https://github.com/civicrm/civicrm-core/pull/24681))** +### CiviContribute -- **NFC: standardise ufId to ufID to avoid confusion ([26679](https://github.com/civicrm/civicrm-core/pull/26679))** +- **[AuthorizeNetIPN] Use API for failure updates + ([26600](https://github.com/civicrm/civicrm-core/pull/26600))** -- **Standalone - Generate proper HTTP response code for permission-errors ([26657](https://github.com/civicrm/civicrm-core/pull/26657))** + Improves AuthorizeNetIPN integration by using APIv4 to log Failure updates. -- **Fix UTC offsets when retrieving timezone string in WordPress ([26604](https://github.com/civicrm/civicrm-core/pull/26604))** +- **Make the `recur_id` field of Contributions available to FormBuilder + ([26745](https://github.com/civicrm/civicrm-core/pull/26745))** -- **Delete unused tpl file ([26671](https://github.com/civicrm/civicrm-core/pull/26671))** + Makes the `recur_id` Contribution field available to FormBuilder. -- **crmMoney filter - allow coercing locale ([26383](https://github.com/civicrm/civicrm-core/pull/26383))** +### CiviEvent -- **Ensure counties are properly imported even if ambiguous ([25989](https://github.com/civicrm/civicrm-core/pull/25989))** +- **Add unit test cover + nl2br for location in event emails + ([26296](https://github.com/civicrm/civicrm-core/pull/26296))** -- **Follow up to #26618 - set locale consistently when exporting model ([26651](https://github.com/civicrm/civicrm-core/pull/26651))** + Makes it so the html version of the event location token converts line breaks + to page breaks. -- **Standalone - Fix some path calculations ([26649](https://github.com/civicrm/civicrm-core/pull/26649))** +- **Expose a few more event fields as tokens + ([26575](https://github.com/civicrm/civicrm-core/pull/26575))** -- **Standalone - Auto-enable user subsystem. Tweak default user. ([26643](https://github.com/civicrm/civicrm-core/pull/26643))** + Makes the following information available as tokens when sending participants + emails: `is_share`, `is_share:label`, `requires_approval`, + `requires_approval:label` and `fee_label.` -- **Remove Search Builder link from search results ([26670](https://github.com/civicrm/civicrm-core/pull/26670))** +- **Enhance examples to cover additional participants + ([26573](https://github.com/civicrm/civicrm-core/pull/26573))** -- **5.63 ([26667](https://github.com/civicrm/civicrm-core/pull/26667))** + Adds additional examples to the event message templates preview and starts to + flesh out the data to present for them -- **Admin UI - be like regular civi and don't show reserved custom groups ([26668](https://github.com/civicrm/civicrm-core/pull/26668))** +### CiviMail -- **Add survey tokens ([26661](https://github.com/civicrm/civicrm-core/pull/26661))** +- **CiviMail - New autocompletes for selecting recipients + ([26585](https://github.com/civicrm/civicrm-core/pull/26585))** -- **Move last (hopefully) custom search classes to the extension, unhide ([26664](https://github.com/civicrm/civicrm-core/pull/26664))** + Breaks the "Recipients" field when building a CiviMail mailing into a select + for groups to include and a select for groups to exclude. -- **Fix actions on Relationship search using Searchkit ([26642](https://github.com/civicrm/civicrm-core/pull/26642))** +- **Add missing Mailing Events to API4: Delivered, Forward, Reply + ([26683](https://github.com/civicrm/civicrm-core/pull/26683))** -- **SearchKit - Reuse helpers from CRM_Core_Action ([26663](https://github.com/civicrm/civicrm-core/pull/26663))** + Adds the mailing events: Delivered, Forward and Reply to APIv4. -- **Add capitalize filter to tokens ([26662](https://github.com/civicrm/civicrm-core/pull/26662))** +- **Add calculated fields to API 4 for total mailing stats + ([26689](https://github.com/civicrm/civicrm-core/pull/26689) and + [26694](https://github.com/civicrm/civicrm-core/pull/26694))** -- **Move Custom Group search test to extension, remove xml brittleness ([26660](https://github.com/civicrm/civicrm-core/pull/26660))** + Adds calculated fields to APIv4 for mailing stats, specifically: intended + recipients, successful deliveries, unique and total opens, unique and total + clicks, bounces, unsubscribes, opt outs, forwards and replies. -- **[REF] Switch a bunch of core pages to use auto-links ([26658](https://github.com/civicrm/civicrm-core/pull/26658))** +### Drupal Integration -- **Standalone - Suppress debug output ([26656](https://github.com/civicrm/civicrm-core/pull/26656))** +- **Allow Drupal webstest user to view debug output + ([26703](https://github.com/civicrm/civicrm-core/pull/26703))** -- **Remove copy-and-paste comment ([26652](https://github.com/civicrm/civicrm-core/pull/26652))** + Makes it so the drupal webtest user can view debug output to make it easier + to debug. -- **Add apiv4 Survey entity ([26653](https://github.com/civicrm/civicrm-core/pull/26653))** +## Bugs resolved -- **REF - Auto-generate links for CRM_Core_Page_Basic ([26644](https://github.com/civicrm/civicrm-core/pull/26644))** +### Core CiviCRM -- **[Test] Clean up payment processors when cleaning up other related entities ([26640](https://github.com/civicrm/civicrm-core/pull/26640))** +- **Make frontend_title consistently required and use it in all front end + presentations (Work Towards + [dev/core#4213](https://lab.civicrm.org/dev/core/-/issues/4213): + [26721](https://github.com/civicrm/civicrm-core/pull/26721))** -- **Fix test to not use brittle xml, remove redundant crud tests ([26648](https://github.com/civicrm/civicrm-core/pull/26648))** + Adds `frontend_title` to various data set up places. -- **REF - Code cleanup and notice fixes in scheduled reminders ([26647](https://github.com/civicrm/civicrm-core/pull/26647))** +- **How to activate downloaded translations? + ([extensions/uplang#6](https://lab.civicrm.org/extensions/uplang/-/issues/6): + [26564](https://github.com/civicrm/civicrm-core/pull/26564))** -- **Update UFJoin test to not use brittle xml set up ([26645](https://github.com/civicrm/civicrm-core/pull/26645))** + Fixes menu description translations on the Administration Console. -- **Fix some test cleanup routines ([26634](https://github.com/civicrm/civicrm-core/pull/26634))** +- **Migrate installers to "setup" API (Work Towards + [dev/core#1615](https://lab.civicrm.org/dev/core/-/issues/1615): + [26678](https://github.com/civicrm/civicrm-core/pull/26678) and + [26677](https://github.com/civicrm/civicrm-core/pull/26677))** -- **Cleanup Apiv3-UfField test ([26638](https://github.com/civicrm/civicrm-core/pull/26638))** + Adds some distmaker options to speed up frequent rebuilds. Work towards + migrating the Joomla installer to use the setup api. -- **(REF) Convert dynamic translations from `ts()` to `_ts()` ([26595](https://github.com/civicrm/civicrm-core/pull/26595))** +- **OAUTH2 google doesn't seem to give you refresh tokens easily + ([dev/core#2184](https://lab.civicrm.org/dev/core/-/issues/2184): + [26531](https://github.com/civicrm/civicrm-core/pull/26531))** -- **API/SearchKit - Improve dynamic pseudoconstant lookups and ACL adminU… ([26639](https://github.com/civicrm/civicrm-core/pull/26639))** +- **Errors on merging contacts with websites + ([dev/core#2549](https://lab.civicrm.org/dev/core/-/issues/2549): + [26605](https://github.com/civicrm/civicrm-core/pull/26605))** -- **5.63 to master ([26641](https://github.com/civicrm/civicrm-core/pull/26641))** +- **Proposal: Create stub extensions for civicrm core + all components + (Work Towards [dev/core#3961](https://lab.civicrm.org/dev/core/-/issues/3961): + [26208](https://github.com/civicrm/civicrm-core/pull/26208))** -- **Add Search Display of ACLs ([26624](https://github.com/civicrm/civicrm-core/pull/26624))** + Moves component Api4 files to component extensions. -- **CiviMail - New autocompletes for selecting recipients ([26585](https://github.com/civicrm/civicrm-core/pull/26585))** +- **Replace hard-coded call to legacyCustomSearch framework with a hook + ([dev/core#4056](https://lab.civicrm.org/dev/core/-/issues/4056): + [26611](https://github.com/civicrm/civicrm-core/pull/26611))** -- **Update online event workflow template for more consistent participant amount data and preview-ability ([26574](https://github.com/civicrm/civicrm-core/pull/26574))** +- **Finish making legacycustomsearches optional + (Work Towards [dev/core#4112](https://lab.civicrm.org/dev/core/-/issues/4112): + [26614](https://github.com/civicrm/civicrm-core/pull/26614) and + [26613](https://github.com/civicrm/civicrm-core/pull/26613))** -- **Add deployID to civicrm.settings.php ([26632](https://github.com/civicrm/civicrm-core/pull/26632))** + Refactors code to move towards making legacycustomsearches optional. -- **Fix group count for delete confirmation ([26625](https://github.com/civicrm/civicrm-core/pull/26625))** +- **SearchKit/FormBuilder - handling monetary totals + ([dev/core#4207](https://lab.civicrm.org/dev/core/-/issues/4207): + [26498](https://github.com/civicrm/civicrm-core/pull/26498))** -- **Very minor test cleanup ([26635](https://github.com/civicrm/civicrm-core/pull/26635))** +- **AdminUI: Redirection after creating new profile and adding fields is + incorrect / not user friendly + ([dev/core#4254](https://lab.civicrm.org/dev/core/-/issues/4254): + [26470](https://github.com/civicrm/civicrm-core/pull/26470))** -- **Contribution WorkflowTrait updates to support event template changes ([26633](https://github.com/civicrm/civicrm-core/pull/26633))** +- **SearchKit + FormBuilder: In place edit using a list view + ([dev/core#4319](https://lab.civicrm.org/dev/core/-/issues/4319): + [26473](https://github.com/civicrm/civicrm-core/pull/26473))** -- **standaloneusers - Update versioning ([26631](https://github.com/civicrm/civicrm-core/pull/26631))** + Fix in-place edit in SearchKit list and grid displays. -- **WorkflowMessage - Allow more dynamic-localized data. Unify language field. ([26618](https://github.com/civicrm/civicrm-core/pull/26618))** +- **GroupTest occasionally failing due to new test + ([dev/core#4327](https://lab.civicrm.org/dev/core/-/issues/4327): + [26478](https://github.com/civicrm/civicrm-core/pull/26478))** -- **5.63 ([26630](https://github.com/civicrm/civicrm-core/pull/26630))** +- **Prevent people from sneakily adding fields to your extension's reserved + custom groups by using the Move action + ([dev/core#4338](https://lab.civicrm.org/dev/core/-/issues/4338): + [26518](https://github.com/civicrm/civicrm-core/pull/26518))** -- **Move standalone classes and standaloneusers extension into core ([26621](https://github.com/civicrm/civicrm-core/pull/26621))** +- **SearchKit: two displays on dashboard using similar search incorrectly share + Total value -- variable leakage? + ([dev/core#4348](https://lab.civicrm.org/dev/core/-/issues/4348): + [26480](https://github.com/civicrm/civicrm-core/pull/26480))** -- **Move recurring handling to recur function in PaypalIPN ([26560](https://github.com/civicrm/civicrm-core/pull/26560))** +- **New Activity with custom radio field gives fatal error + ([dev/core#4355](https://lab.civicrm.org/dev/core/-/issues/4355): + [26517](https://github.com/civicrm/civicrm-core/pull/26517))** -- **Don't show filtered from NaN on Groups when 0 groups found ([26629](https://github.com/civicrm/civicrm-core/pull/26629))** +- **Verbiage changes on Find Groups screen + ([dev/core#4358](https://lab.civicrm.org/dev/core/-/issues/4358): + [26525](https://github.com/civicrm/civicrm-core/pull/26525))** -- **CiviMail - Sundry cleanups ([26626](https://github.com/civicrm/civicrm-core/pull/26626))** +- **Afforms fields are doubled + ([dev/core#4359](https://lab.civicrm.org/dev/core/-/issues/4359): + [26528](https://github.com/civicrm/civicrm-core/pull/26528))** -- **Switch to Payment.create & repeattransaction in Authorize.net ([26620](https://github.com/civicrm/civicrm-core/pull/26620))** +- **AdminUI: Advanced Search not accessible and Redirect after Search Actions + from Contacts in Group broken + ([dev/core#4360](https://lab.civicrm.org/dev/core/-/issues/4360) and + [dev/core#4384](https://lab.civicrm.org/dev/core/-/issues/4384): + [26669](https://github.com/civicrm/civicrm-core/pull/26669))** -- **Fix some missing places where prioritisation is not incorporated ([26610](https://github.com/civicrm/civicrm-core/pull/26610))** +- **Trigger-based logging schema reconciliation fails when a column is renamed + to a different upper/lower case + ([dev/core#4369](https://lab.civicrm.org/dev/core/-/issues/4369): + [26548](https://github.com/civicrm/civicrm-core/pull/26548))** -- **Add Everyone acl role option value ([26627](https://github.com/civicrm/civicrm-core/pull/26627))** +- **One of parameters (value: ) is not of the type CommaSeparatedIntegers for + lesser-permissioned users + ([dev/core#4383](https://lab.civicrm.org/dev/core/-/issues/4383): + [26577](https://github.com/civicrm/civicrm-core/pull/26577))** -- **Group BAO - Remove secret param that was breaking groupNesting ([26623](https://github.com/civicrm/civicrm-core/pull/26623))** + Fixes a crash for lesser permissioned users. -- **Fix ACLs to use the correct name of the civicrm_group table ([26615](https://github.com/civicrm/civicrm-core/pull/26615))** +- **PHP 8 Compatibility Issue - strlen of array + ([dev/core#4387](https://lab.civicrm.org/dev/core/-/issues/4387): + [26598](https://github.com/civicrm/civicrm-core/pull/26598))** -- **APIv4 Explorer - Fix regression in php generation ([26622](https://github.com/civicrm/civicrm-core/pull/26622))** +- **Can't import using contact id + (Work Towards + [dev/core#4389](https://lab.civicrm.org/dev/core/-/issues/4389): + [26607](https://github.com/civicrm/civicrm-core/pull/26607))** -- **dev/core#2549 ([26605](https://github.com/civicrm/civicrm-core/pull/26605))** + Improves import help text. -- **Do not generate unshared variable in shared `processMessageTemplate` ([26567](https://github.com/civicrm/civicrm-core/pull/26567))** +- **Installing a core extension results in an error + ([dev/core#4391](https://lab.civicrm.org/dev/core/-/issues/4391): + [26743](https://github.com/civicrm/civicrm-core/pull/26743))** -- **Add in paths and new menu routes to support converting ACL page scree… ([26617](https://github.com/civicrm/civicrm-core/pull/26617))** +- **AdminUI: Allow searching by "LastName, FirstName" in Find Contacts + ([dev/core#4396](https://lab.civicrm.org/dev/core/-/issues/4396): + [26682](https://github.com/civicrm/civicrm-core/pull/26682))** -- **Update Recurring end_date when setting status to completed ([26616](https://github.com/civicrm/civicrm-core/pull/26616))** +- **Translation for site default language not loaded + ([dev/core#4409](https://lab.civicrm.org/dev/core/-/issues/4409): + [26232](https://github.com/civicrm/civicrm-core/pull/26232))** -- **dev/core#4112 Move utilities for full text search to the legacycustomsearches extension ([26613](https://github.com/civicrm/civicrm-core/pull/26613))** +- **Disabling and re-enabling a core extension removes it from the navigation + menu and from SK + ([dev/core#4413](https://lab.civicrm.org/dev/core/-/issues/4413): + [26744](https://github.com/civicrm/civicrm-core/pull/26744))** -- **dev/core#4389 Help text update for contact import dedupe option ([26607](https://github.com/civicrm/civicrm-core/pull/26607))** +- **Membership tab on contribution page config broken + ([dev/core#4419](https://lab.civicrm.org/dev/core/-/issues/4419): + [26757](https://github.com/civicrm/civicrm-core/pull/26757))** -- **Remove obsolete 'Basic ACLs' ([26612](https://github.com/civicrm/civicrm-core/pull/26612))** + Crash on membership tab of contribution page config. -- **dev/core#4112 Move legacycustomsearch-only function to the extension-class `ContactIDSql` ([26614](https://github.com/civicrm/civicrm-core/pull/26614))** +- **Admin UI - be like regular civi and don't show reserved custom groups + ([26668](https://github.com/civicrm/civicrm-core/pull/26668))** -- **[AuthorizeNetIPN] Use API for failure updates ([26600](https://github.com/civicrm/civicrm-core/pull/26600))** +- **AdminUI - Alter core forms to redirect to the new AdminUI afform pages + ([26479](https://github.com/civicrm/civicrm-core/pull/26479))** -- **dev/core#4056 Move customSearch smart group sql generation to legacycustomsearches extension ([26611](https://github.com/civicrm/civicrm-core/pull/26611))** +- **SearchKit - Fix check for smarty syntax in rewrite output + ([26730](https://github.com/civicrm/civicrm-core/pull/26730))** -- **ACL - Ensure all priorities are unique ([26609](https://github.com/civicrm/civicrm-core/pull/26609))** +- **SearchKit - Tidy up admin buttons and table header sort icons + ([26483](https://github.com/civicrm/civicrm-core/pull/26483))** -- **Specify 'match' in mgd.php files ([26608](https://github.com/civicrm/civicrm-core/pull/26608))** +- **Update Api.php to correct external_identifier to type STRING + ([26726](https://github.com/civicrm/civicrm-core/pull/26726) and + [26728](https://github.com/civicrm/civicrm-core/pull/26728))** -- **Add "priority" column to ACLs and support ACL rule precedence ([26592](https://github.com/civicrm/civicrm-core/pull/26592))** +- **APIv4 - Fix passing '0' as a function argument + ([26553](https://github.com/civicrm/civicrm-core/pull/26553))** -- **[REF] CiviCase - Move more activity logic into case BAO via hook ([26591](https://github.com/civicrm/civicrm-core/pull/26591))** +- **Make implicit TRUE permissions check explicit in API 4 Explorer for PHP + ([26514](https://github.com/civicrm/civicrm-core/pull/26514))** -- **Switch to token for tax_exclusive_amount in offline receipt ([26602](https://github.com/civicrm/civicrm-core/pull/26602))** +- **Standalone - Fix some path calculations + ([26649](https://github.com/civicrm/civicrm-core/pull/26649))** -- **Fix e-notices in contribution_offline_receipt text by removing always-empty field ([26599](https://github.com/civicrm/civicrm-core/pull/26599))** +- **Standalone - Auto-enable user subsystem. Tweak default user. + ([26643](https://github.com/civicrm/civicrm-core/pull/26643))** -- **dev/core#4387 - CRM_Core_Form - Fix params passed to checkbox ([26598](https://github.com/civicrm/civicrm-core/pull/26598))** +- **Standalone - Track logged-in user object + ([26672](https://github.com/civicrm/civicrm-core/pull/26672))** -- **Remove unused functions from `AuthorizeNetIPN` ([26597](https://github.com/civicrm/civicrm-core/pull/26597))** +- **Standalone - Generate proper HTTP response code for permission-errors + ([26657](https://github.com/civicrm/civicrm-core/pull/26657))** -- **Simplify use of contribution - we are only looking at status ([26589](https://github.com/civicrm/civicrm-core/pull/26589))** +- **Standalone - Suppress debug output + ([26656](https://github.com/civicrm/civicrm-core/pull/26656))** -- **CiviImport - String fix ([26593](https://github.com/civicrm/civicrm-core/pull/26593))** +- **Remove obsolete 'Basic ACLs' + ([26612](https://github.com/civicrm/civicrm-core/pull/26612))** -- **CiviImport - Fix table description ([26590](https://github.com/civicrm/civicrm-core/pull/26590))** + Removes unused code for an old permissioning system that no longer + exists. -- **Move sending of email to recur function ([26587](https://github.com/civicrm/civicrm-core/pull/26587))** +- **Fix ACLs to use the correct name of the civicrm_group table + ([26615](https://github.com/civicrm/civicrm-core/pull/26615))** -- **Why? ([26588](https://github.com/civicrm/civicrm-core/pull/26588))** +- **Contribution WorkflowTrait updates to support event template changes + ([26633](https://github.com/civicrm/civicrm-core/pull/26633))** -- **Extract getContributionRecur, clean up input input... ([26586](https://github.com/civicrm/civicrm-core/pull/26586))** +- **Allows multiple Free Text fields to be added to form layout + ([25271](https://github.com/civicrm/civicrm-core/pull/25271))** -- **APIv4 - Improve UNION field handling & add test coverage ([26583](https://github.com/civicrm/civicrm-core/pull/26583))** +- **Converting CryptoException into status messages + ([dev/core#4308](https://lab.civicrm.org/dev/core/-/issues/4308): + [26444](https://github.com/civicrm/civicrm-core/pull/26444))** -- **Form Builder - Clarify "Security" options ([26581](https://github.com/civicrm/civicrm-core/pull/26581))** + Fixes a white screen of death if you change the CIVICRM_CRED_KEYS variable + (or clone the site) and go to `/civicrm/admin/setting/smtp?reset=1`. -- **Allows multiple Free Text fields to be added to form layout ([25271](https://github.com/civicrm/civicrm-core/pull/25271))** +- **Remove 'Payment Amount (most recent)' column from membership report + ([26566](https://github.com/civicrm/civicrm-core/pull/26566))** -- **Prevent erroneous GroupContact hooks for Contact already in group ([26523](https://github.com/civicrm/civicrm-core/pull/26523))** +- **Add additional message to invoice template if present + ([26534](https://github.com/civicrm/civicrm-core/pull/26534))** -- **Add self to contributors ([26584](https://github.com/civicrm/civicrm-core/pull/26584))** +- **Expire notifications for Shared Address Contact Delete & Financial Types + ([26503](https://github.com/civicrm/civicrm-core/pull/26503))** -- **Remove ids Variable that is dumb ([26582](https://github.com/civicrm/civicrm-core/pull/26582))** +- **Don't add Contact to Domain Group on edit + ([26520](https://github.com/civicrm/civicrm-core/pull/26520))** -- **Stop passing around object, just to get the id in Anet.ipn ([26562](https://github.com/civicrm/civicrm-core/pull/26562))** +- **Don't check for PHP 5 on Mapping Settings + ([26693](https://github.com/civicrm/civicrm-core/pull/26693))** -- **Call repeatTransation not completeOrder from repeatTransaction API ([26557](https://github.com/civicrm/civicrm-core/pull/26557))** +- **Ensure counties are properly imported even if ambiguous + ([25989](https://github.com/civicrm/civicrm-core/pull/25989))** -- **[PHP8] Fix warnings on activity and event management forms ([26432](https://github.com/civicrm/civicrm-core/pull/26432))** +- **Show manually added Smart Groups on Contact edit + ([26521](https://github.com/civicrm/civicrm-core/pull/26521))** -- **Duplicate the few lines of shared code between `completeOrder` into `repeatTransaction` ([26556](https://github.com/civicrm/civicrm-core/pull/26556))** +- **Fix some missing places where prioritisation is not incorporated + ([26610](https://github.com/civicrm/civicrm-core/pull/26610))** -- **Cleanup AdditionalPaymentTest to use event trait ([26570](https://github.com/civicrm/civicrm-core/pull/26570))** +- **Group BAO - Remove secret param that was breaking groupNesting + ([26623](https://github.com/civicrm/civicrm-core/pull/26623))** -- **Enhance examples to cover additional participants ([26573](https://github.com/civicrm/civicrm-core/pull/26573))** +- **wrong hook params + ([26500](https://github.com/civicrm/civicrm-core/pull/26500))** -- **Move code to complete `repeatTransation` into that function ([26555](https://github.com/civicrm/civicrm-core/pull/26555))** +- **clearTempTables: fix condition for user_job check + ([26696](https://github.com/civicrm/civicrm-core/pull/26696))** -- **APIv4 - Remove gatekeeper permission check for AJAX endpoint (with tests) ([26391](https://github.com/civicrm/civicrm-core/pull/26391))** +- **Report on the most recent membership contribution, not the oldest + ([26111](https://github.com/civicrm/civicrm-core/pull/26111))** -- **Show manually added Smart Groups on Contact edit ([26521](https://github.com/civicrm/civicrm-core/pull/26521))** +- **Don't show SQL text in SK if user does not have view debug permission + ([26711](https://github.com/civicrm/civicrm-core/pull/26711))** -- **Fix Invoice test to user EventTestTrait, require less in order API ([26543](https://github.com/civicrm/civicrm-core/pull/26543))** +- **Fix group count for delete confirmation + ([26625](https://github.com/civicrm/civicrm-core/pull/26625))** -- **Add LEFT, RIGHT and SUBSTRING SQL functions ([26549](https://github.com/civicrm/civicrm-core/pull/26549))** +- **Fix actions on Relationship search using Searchkit + ([26642](https://github.com/civicrm/civicrm-core/pull/26642))** -- **Misc ts fixes ([26565](https://github.com/civicrm/civicrm-core/pull/26565))** +- **Fix debug permissions for API 4 Explorer debug + ([26702](https://github.com/civicrm/civicrm-core/pull/26702))** -- **Remove unused line item variable from signature ([26571](https://github.com/civicrm/civicrm-core/pull/26571))** +- **[PHP8] Codegen - Don't generate invalid secondary emails + ([26680](https://github.com/civicrm/civicrm-core/pull/26680))** -- **Converts the CryptoExceptions into session messages. ([26444](https://github.com/civicrm/civicrm-core/pull/26444))** +- **Don't show filtered from NaN on Groups when 0 groups found + ([26629](https://github.com/civicrm/civicrm-core/pull/26629))** -- **Don't show pay_later processor on additional live Payment ([26578](https://github.com/civicrm/civicrm-core/pull/26578))** +- **SchemaHandler - Fix nonstandard index capitalization + code cleanup + ([26282](https://github.com/civicrm/civicrm-core/pull/26282))** -- **dev/core#4383 - Crash for lesser-permissioned users ([26577](https://github.com/civicrm/civicrm-core/pull/26577))** +- **[PHP8] Fix warnings on activity and event management forms + ([26432](https://github.com/civicrm/civicrm-core/pull/26432))** -- **Expose a few more event fields as tokens ([26575](https://github.com/civicrm/civicrm-core/pull/26575))** +- **APIv4 Explorer - Fix regression in php generation + ([26622](https://github.com/civicrm/civicrm-core/pull/26622))** -- **Superficial clean up in test class ([26559](https://github.com/civicrm/civicrm-core/pull/26559))** +- **Do not generate unshared variable in shared `processMessageTemplate` + ([26567](https://github.com/civicrm/civicrm-core/pull/26567))** -- **Fix lifetime membership with end date error message ([26558](https://github.com/civicrm/civicrm-core/pull/26558))** +- **Add deprecation notice to legacy exception class aliases + ([26542](https://github.com/civicrm/civicrm-core/pull/26542))** -- **dev/core#4048 Fatal error when changing membership type on membership with no contributions ([26554](https://github.com/civicrm/civicrm-core/pull/26554))** +- **Fix for domains that have the string .css in them + ([26530](https://github.com/civicrm/civicrm-core/pull/26530))** -- **APIv4 - Fix passing '0' as a function argument ([26553](https://github.com/civicrm/civicrm-core/pull/26553))** +- **Smarty - When temporarily setting variable, fix cleanup for + previously-undefined values. + ([26465](https://github.com/civicrm/civicrm-core/pull/26465))** -- **5.63 ([26572](https://github.com/civicrm/civicrm-core/pull/26572))** +- **Lower-case field name uf_group.post_URL, cancel_URL + ([26460](https://github.com/civicrm/civicrm-core/pull/26460))** -- **Remove duplicate test ([26568](https://github.com/civicrm/civicrm-core/pull/26568))** +- **crmAutocomplete - Fix endless loop (again) + ([26681](https://github.com/civicrm/civicrm-core/pull/26681))** -- **Permit ACL rules that negate (deny) access ([26041](https://github.com/civicrm/civicrm-core/pull/26041))** +- **Fix ommitted port when constructing redirect URL + ([26685](https://github.com/civicrm/civicrm-core/pull/26685))** -- **extensions/uplang#6 Fix menu description translations on the Administration Console ([26564](https://github.com/civicrm/civicrm-core/pull/26564))** +- **SearchKit - Fix saving created/modified fields + ([26484](https://github.com/civicrm/civicrm-core/pull/26484))** -- **Remove 'Payment Amount (most recent)' column from membership report ([26566](https://github.com/civicrm/civicrm-core/pull/26566))** +- **Add deprecation warning and fix deprecated constructor call (followup to + #26398) ([26495](https://github.com/civicrm/civicrm-core/pull/26495))** -- **Fix participantTest class to call createEventPaid ([26540](https://github.com/civicrm/civicrm-core/pull/26540))** +- **Remove unneeded and strange profile field save success alert + ([26751](https://github.com/civicrm/civicrm-core/pull/26751))** -- **5.63 ([26552](https://github.com/civicrm/civicrm-core/pull/26552))** +- **Attempt to fix some form notices on Contact Edit form new contact + ([26481](https://github.com/civicrm/civicrm-core/pull/26481))** -- **dev/core#4369 - fix upgrade for logging tables ([26548](https://github.com/civicrm/civicrm-core/pull/26548))** +- **Fix PHP errors on profiles and custom fields when using options per line + ([26763](https://github.com/civicrm/civicrm-core/pull/26763))** -- **Add deprecation notice to legacy exception class aliases ([26542](https://github.com/civicrm/civicrm-core/pull/26542))** +- **Fix another place weight is not passed + ([26736](https://github.com/civicrm/civicrm-core/pull/26736))** -- **Fix a couple more places to use the new event trait ([26486](https://github.com/civicrm/civicrm-core/pull/26486))** +- **Fix Translation to load related language more reliably + ([26190](https://github.com/civicrm/civicrm-core/pull/26190))** -- **dev/core#4319 SearchKit - Fix in-place editable in list/grid displays ([26473](https://github.com/civicrm/civicrm-core/pull/26473))** +- **Fix apiv4 bug on custom fields with spaces in name + ([26740](https://github.com/civicrm/civicrm-core/pull/26740))** -- **Improve select for Add Navigation Menu Item > Parent ([26550](https://github.com/civicrm/civicrm-core/pull/26550))** +- **Prevent API errors when CiviEvent is disabled + ([26497](https://github.com/civicrm/civicrm-core/pull/26497))** -- **Fix don't change membership status when saving a pending membership ([25385](https://github.com/civicrm/civicrm-core/pull/25385))** +- **Prevent erroneous GroupContact hooks for Contact already in group + ([26523](https://github.com/civicrm/civicrm-core/pull/26523))** -- **Php8-proof SMSCommonTest ([26545](https://github.com/civicrm/civicrm-core/pull/26545))** +- **Stop passing around object, just to get the id in Anet.ipn + ([26562](https://github.com/civicrm/civicrm-core/pull/26562))** -- **Add unit test cover + nl2br for location in event emails ([26296](https://github.com/civicrm/civicrm-core/pull/26296))** +- **Misc ts fixes + ([26565](https://github.com/civicrm/civicrm-core/pull/26565))** -- **Fix missing tag on repeat event change confirm tpl. ([26547](https://github.com/civicrm/civicrm-core/pull/26547))** +- **Remove unused line item variable from signature + ([26571](https://github.com/civicrm/civicrm-core/pull/26571))** -- **APIv4 - Add EntitySet api for set-ops such as UNION ([26536](https://github.com/civicrm/civicrm-core/pull/26536))** +- **CiviImport - String fix + ([26593](https://github.com/civicrm/civicrm-core/pull/26593))** -- **SchemaHandler - Fix nonstandard index capitalization + code cleanup ([26282](https://github.com/civicrm/civicrm-core/pull/26282))** +- **CiviImport - Fix table description + ([26590](https://github.com/civicrm/civicrm-core/pull/26590))** -- **APIv4 - Deprecate unused event ([26537](https://github.com/civicrm/civicrm-core/pull/26537))** +- **Move sending of email to recur function + ([26587](https://github.com/civicrm/civicrm-core/pull/26587))** -- **Report on the most recent membership contribution, not the oldest ([26111](https://github.com/civicrm/civicrm-core/pull/26111))** +### CiviCase -- **Fix for domains that have the string .css in them ([26530](https://github.com/civicrm/civicrm-core/pull/26530))** +- **crmCaseType: fix New Case Type link visibility in obscure circumstances + ([26749](https://github.com/civicrm/civicrm-core/pull/26749))** -- **Add additional message to invoice template if present ([26534](https://github.com/civicrm/civicrm-core/pull/26534))** +### CiviContribute -- **Fix dev/core#4359 doubled Afform fields ([26528](https://github.com/civicrm/civicrm-core/pull/26528))** +- **Accepted credit cards not saved when creating or editing a payment processor + ([dev/core#4418](https://lab.civicrm.org/dev/core/-/issues/4418): + [26760](https://github.com/civicrm/civicrm-core/pull/26760), + [26755](https://github.com/civicrm/civicrm-core/pull/26755) and + [26758](https://github.com/civicrm/civicrm-core/pull/26758))** -- **Cleanup Email Invoice form to remove longest ever field label ([26533](https://github.com/civicrm/civicrm-core/pull/26533))** +- **Call repeatTransation not completeOrder from repeatTransaction API + ([26557](https://github.com/civicrm/civicrm-core/pull/26557))** -- **Fix dev/core#4207 - Handle currency symbol in SK aggregates ([26498](https://github.com/civicrm/civicrm-core/pull/26498))** +- **Update Recurring end_date when setting status to completed + ([26616](https://github.com/civicrm/civicrm-core/pull/26616))** -- **dev/core#2184 - OAUTH - make google always return a refresh token ([26531](https://github.com/civicrm/civicrm-core/pull/26531))** +- **Switch to Payment.create & repeattransaction in Authorize.net + ([26620](https://github.com/civicrm/civicrm-core/pull/26620) and + [26659](https://github.com/civicrm/civicrm-core/pull/26659))** -- **FlexMailer\Listener\OpenTracker: remove deprecated isLegacy check ([26526](https://github.com/civicrm/civicrm-core/pull/26526))** +- **Don't show pay_later processor on additional live Payment + ([26578](https://github.com/civicrm/civicrm-core/pull/26578))** -- **[TEST] APIv4 - Include CiviGrant in conformance tests ([26511](https://github.com/civicrm/civicrm-core/pull/26511))** +- **Cleanup Email Invoice form to remove longest ever field label + ([26533](https://github.com/civicrm/civicrm-core/pull/26533))** -- **(dev/core#4358) Verbiage changes on Find Groups screen ([26525](https://github.com/civicrm/civicrm-core/pull/26525))** +- **Switch to token for tax_exclusive_amount in offline receipt + ([26602](https://github.com/civicrm/civicrm-core/pull/26602))** -- **Don't add Contact to Domain Group on edit ([26520](https://github.com/civicrm/civicrm-core/pull/26520))** +- **Fix e-notices in contribution_offline_receipt text by removing always-empty + field ([26599](https://github.com/civicrm/civicrm-core/pull/26599))** -- **[REF] Don't add Contacts to Groups they are already Added to on Edit ([26519](https://github.com/civicrm/civicrm-core/pull/26519))** +- **Update related contribution trxn_id before sending email + ([26737](https://github.com/civicrm/civicrm-core/pull/26737))** -- **Add select2s for Contribution, etc ([26502](https://github.com/civicrm/civicrm-core/pull/26502))** +- **Reduce PHP warnings on Contribution + ([26506](https://github.com/civicrm/civicrm-core/pull/26506))** -- **dev/core#4338 - Prevent people from sneakily adding fields to your extension's reserved custom groups by using the Move action ([26518](https://github.com/civicrm/civicrm-core/pull/26518))** +- **Reduce PHP warnings with paymentBlock + ([26505](https://github.com/civicrm/civicrm-core/pull/26505))** -- **dev/core#4355 - Fix crash for radio custom fields ([26517](https://github.com/civicrm/civicrm-core/pull/26517))** +### CiviEvent -- **Add All imports menu item for users with Administer Queues ([26516](https://github.com/civicrm/civicrm-core/pull/26516))** +- **Payment on Event Confirmation Page: Does not work when pay later is disabled + ([dev/core#4336](https://lab.civicrm.org/dev/core/-/issues/4336): + [26491](https://github.com/civicrm/civicrm-core/pull/26491))** -- **Make implicit TRUE permissions check explicit in API 4 Explorer for PHP ([26514](https://github.com/civicrm/civicrm-core/pull/26514))** +- **Fix missing tag on repeat event change confirm tpl. + ([26547](https://github.com/civicrm/civicrm-core/pull/26547))** -- **5.63 ([26515](https://github.com/civicrm/civicrm-core/pull/26515))** +- **Fix e-notices on New Participant form, strict smarty + ([26487](https://github.com/civicrm/civicrm-core/pull/26487))** -- **regen after 26499 and 26492 ([26512](https://github.com/civicrm/civicrm-core/pull/26512))** +- **Fix PHP warnings on front end Register + ([26476](https://github.com/civicrm/civicrm-core/pull/26476))** -- **Smarty - When temporarily setting variable, fix cleanup for previously-undefined values. ([26465](https://github.com/civicrm/civicrm-core/pull/26465))** +- **replace deprecated functions in event fee form + ([26691](https://github.com/civicrm/civicrm-core/pull/26691))** -- **Reduce PHP warnings on Contribution ([26506](https://github.com/civicrm/civicrm-core/pull/26506))** +### CiviGrant -- **Afform - Enable search operators to be exposed on the form ([26496](https://github.com/civicrm/civicrm-core/pull/26496))** +- **CiviGrant - Support APIv4 autocompletes + ([26687](https://github.com/civicrm/civicrm-core/pull/26687))** -- **Prevent API errors when CiviEvent is disabled ([26497](https://github.com/civicrm/civicrm-core/pull/26497))** +### CiviMail -- **[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters ([26508](https://github.com/civicrm/civicrm-core/pull/26508))** +- **Rebuild smart group cache for specific smart groups included in mailing at + scheduling time + ([dev/core#3890](https://lab.civicrm.org/dev/core/-/issues/3890): + [24681](https://github.com/civicrm/civicrm-core/pull/24681))** -- **Expire notifications for Shared Address Contact Delete & Financial Types ([26503](https://github.com/civicrm/civicrm-core/pull/26503))** +- **Update online event workflow template for more consistent participant amount + data and preview-ability + ([26574](https://github.com/civicrm/civicrm-core/pull/26574))** -- **[NFC] Change PHPDoc return type (findById) ([26504](https://github.com/civicrm/civicrm-core/pull/26504))** +- **CRM_Mailing_Form_Optout, CRM_Mailing_Form_Unsubscribe: change properties to + protected from private + ([26713](https://github.com/civicrm/civicrm-core/pull/26713))** -- **Add import listing for admins ([26316](https://github.com/civicrm/civicrm-core/pull/26316))** +- **Typo correct for MailingEventReply.php + ([26692](https://github.com/civicrm/civicrm-core/pull/26692))** -- **5.63 ([26501](https://github.com/civicrm/civicrm-core/pull/26501))** +### CiviMember -- **wrong hook params ([26500](https://github.com/civicrm/civicrm-core/pull/26500))** +- **Fatal error when changing membership type, on membership with 0 + contributions + ([dev/core#4048](https://lab.civicrm.org/dev/core/-/issues/4048): + [26554](https://github.com/civicrm/civicrm-core/pull/26554))** -- **Fix e-notices on New Participant form, strict smarty ([26487](https://github.com/civicrm/civicrm-core/pull/26487))** +- **Split MembershipBlock.tpl into 2 + ([26690](https://github.com/civicrm/civicrm-core/pull/26690))** -- **Add deprecation warning and fix deprecated constructor call (followup to #26398) ([26495](https://github.com/civicrm/civicrm-core/pull/26495))** +- **Fix don't change membership status when saving a pending membership + ([25385](https://github.com/civicrm/civicrm-core/pull/25385))** -- **[WIP] civicrm_admin_ui Find contacts replacement ([26381](https://github.com/civicrm/civicrm-core/pull/26381))** +- **Fix lifetime membership with end date error message + ([26558](https://github.com/civicrm/civicrm-core/pull/26558))** -- **dev/core#4336 Fix don't display payment fields on initial event registration form if payment on confirm is enabled ([26491](https://github.com/civicrm/civicrm-core/pull/26491))** +- **Fix recent breakage on membershipBlock.tpl + ([26777](https://github.com/civicrm/civicrm-core/pull/26777))** -- **5.63 ([26493](https://github.com/civicrm/civicrm-core/pull/26493))** +### Joomla Integration -- **Remove unreachable code in event registration templates for tax total ([26492](https://github.com/civicrm/civicrm-core/pull/26492))** +- **Undefined variable $store in Joomla.php on line 56 - + CRM_Core_Permission_Joomla error + ([dev/joomla#51](https://lab.civicrm.org/dev/joomla/-/issues/51): + [26699](https://github.com/civicrm/civicrm-core/pull/26699))** -- **UFGroup DAO is out of date ([26494](https://github.com/civicrm/civicrm-core/pull/26494))** +### WordPress Integration -- **Log server-side validation errors so it is easier to troubleshoot/debug afform issues ([25533](https://github.com/civicrm/civicrm-core/pull/25533))** +- **Fix UTC offsets when retrieving timezone string in WordPress + ([298](https://github.com/civicrm/civicrm-wordpress/pull/298) and + [26604](https://github.com/civicrm/civicrm-core/pull/26604))** -- **Remove stray semi-colon ([26490](https://github.com/civicrm/civicrm-core/pull/26490))** +## Miscellany -- **Remove obsolete comment ([26489](https://github.com/civicrm/civicrm-core/pull/26489))** +- **Move recurring handling to recur function in PaypalIPN + ([26560](https://github.com/civicrm/civicrm-core/pull/26560))** -- **AdminUI - Alter core forms to redirect to the new AdminUI afform pages ([26479](https://github.com/civicrm/civicrm-core/pull/26479))** +- **CiviMail - Sundry cleanups + ([26626](https://github.com/civicrm/civicrm-core/pull/26626))** -- **SearchKit - Expose expires_date field to UI ([26485](https://github.com/civicrm/civicrm-core/pull/26485))** +- **UFGroup DAO is out of date + ([26494](https://github.com/civicrm/civicrm-core/pull/26494))** -- **dev/core#4348 - Fix leaky variable in SearchKit traits ([26480](https://github.com/civicrm/civicrm-core/pull/26480))** +- **Remove unused functions from `AuthorizeNetIPN` + ([26597](https://github.com/civicrm/civicrm-core/pull/26597))** -- **SearchKit - Tidy up admin buttons and table header sort icons ([26483](https://github.com/civicrm/civicrm-core/pull/26483))** +- **Simplify use of contribution - we are only looking at status + ([26589](https://github.com/civicrm/civicrm-core/pull/26589))** -- **Lower-case field name uf_group.post_URL, cancel_URL ([26460](https://github.com/civicrm/civicrm-core/pull/26460))** +- **Extract getContributionRecur, clean up input input... + ([26586](https://github.com/civicrm/civicrm-core/pull/26586))** -- **SearchKit - Fix saving created/modified fields ([26484](https://github.com/civicrm/civicrm-core/pull/26484))** +- **Drop unused table civicrm_action_mapping + ([26646](https://github.com/civicrm/civicrm-core/pull/26646))** -- **Remove redundant variable declared in the parent class ([26482](https://github.com/civicrm/civicrm-core/pull/26482))** +- **Remove copy-and-paste comment + ([26652](https://github.com/civicrm/civicrm-core/pull/26652))** -- **Attempt to fix some form notices on Contact Edit form new contact ([26481](https://github.com/civicrm/civicrm-core/pull/26481))** +- **Why? + ([26588](https://github.com/civicrm/civicrm-core/pull/26588))** -- **dev/core#4254 - Add autoOpen feature to SearchKit 'addNew' button ([26470](https://github.com/civicrm/civicrm-core/pull/26470))** +- **Remove ids Variable that is dumb + ([26582](https://github.com/civicrm/civicrm-core/pull/26582))** -- **dev/core#3961 - Move component Api4 files to component extensions ([26208](https://github.com/civicrm/civicrm-core/pull/26208))** +- **Fix a couple more places to use the new event trait + ([26486](https://github.com/civicrm/civicrm-core/pull/26486))** -- **dev/core#4327 Possible fix for GroupTest occasional failures ([26478](https://github.com/civicrm/civicrm-core/pull/26478))** +- **Move code to complete `repeatTransation` into that function + ([26555](https://github.com/civicrm/civicrm-core/pull/26555))** -- **Use EventTest helpers (a few more places) ([26477](https://github.com/civicrm/civicrm-core/pull/26477))** +- **APIv4 - Deprecate unused event + ([26537](https://github.com/civicrm/civicrm-core/pull/26537))** -- **Fix PHP warnings on front end Register ([26476](https://github.com/civicrm/civicrm-core/pull/26476))** +- **SearchKit - Reuse helpers from CRM_Core_Action + ([26663](https://github.com/civicrm/civicrm-core/pull/26663))** -- **CiviEventDispatcher::dispatch() - add deprecation warning for deprecated event class ([26338](https://github.com/civicrm/civicrm-core/pull/26338))** +- **Delete unused tpl file + ([26671](https://github.com/civicrm/civicrm-core/pull/26671))** -- **Fix UTC offsets when retrieving timezone string in WordPress ([298](https://github.com/civicrm/civicrm-wordpress/pull/298))** +- **Add self to contributors + ([26584](https://github.com/civicrm/civicrm-core/pull/26584))** -- **Merge 5.63 to master ([297](https://github.com/civicrm/civicrm-wordpress/pull/297))** +- **Duplicate the few lines of shared code between `completeOrder` into + `repeatTransaction` + ([26556](https://github.com/civicrm/civicrm-core/pull/26556))** -- **[REF][PHP8.2] IDS fixes for dynamic property deprecation ([363](https://github.com/civicrm/civicrm-packages/pull/363))** +- **FlexMailer\Listener\OpenTracker: remove deprecated isLegacy check + ([26526](https://github.com/civicrm/civicrm-core/pull/26526))** -## Miscellany +- **Remove unused variables, fix a couple of == + ([26734](https://github.com/civicrm/civicrm-core/pull/26734))** + +- **Remove unreachable code in event registration templates for tax total + ([26492](https://github.com/civicrm/civicrm-core/pull/26492) and + [26512](https://github.com/civicrm/civicrm-core/pull/26512))** + +- **Remove stray semi-colon + ([26490](https://github.com/civicrm/civicrm-core/pull/26490))** + +- **Remove obsolete comment + ([26489](https://github.com/civicrm/civicrm-core/pull/26489))** + +- **Remove redundant variable declared in the parent class + ([26482](https://github.com/civicrm/civicrm-core/pull/26482))** + +- **CiviEventDispatcher::dispatch() - add deprecation warning for deprecated + event class ([26338](https://github.com/civicrm/civicrm-core/pull/26338))** + +- **REF - Auto-generate links for CRM_Core_Page_Basic + ([26644](https://github.com/civicrm/civicrm-core/pull/26644))** + +- **[REF] Don't add Contacts to Groups they are already Added to on Edit + ([26519](https://github.com/civicrm/civicrm-core/pull/26519))** + +- **[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters + ([26508](https://github.com/civicrm/civicrm-core/pull/26508))** + +- **[REF] Use writeRecord in the revert function of MessageTemplate to ensure + that pre and post hooks are called + ([26754](https://github.com/civicrm/civicrm-core/pull/26754))** + +- **REF - Replace CRM_Utils_Array::value with ?? + ([26731](https://github.com/civicrm/civicrm-core/pull/26731))** + +- **[REF] Autoformat php short array syntax + ([26724](https://github.com/civicrm/civicrm-core/pull/26724))** + +- **[REF] Remove unnecessary CRM_Utils_Array::value and use short array syntax + ([26723](https://github.com/civicrm/civicrm-core/pull/26723))** + +- **[REF] Code cleanup; remove unused vars and remove CRM_Utils_Array::value + ([26714](https://github.com/civicrm/civicrm-core/pull/26714))** + +- **(REF) Simplify some more installation data + ([26675](https://github.com/civicrm/civicrm-core/pull/26675))** + +- **[REF] Switch a bunch of core pages to use auto-links + ([26658](https://github.com/civicrm/civicrm-core/pull/26658))** + +- **REF - Code cleanup and notice fixes in scheduled reminders + ([26647](https://github.com/civicrm/civicrm-core/pull/26647))** + +- **(REF) Convert dynamic translations from `ts()` to `_ts()` + ([26595](https://github.com/civicrm/civicrm-core/pull/26595))** + +- **[REF] CiviCase - Move more activity logic into case BAO via hook + ([26591](https://github.com/civicrm/civicrm-core/pull/26591))** + +- **[REF][PHP8.2] IDS fixes for dynamic property deprecation + ([363](https://github.com/civicrm/civicrm-packages/pull/363))** + +- **[NFC] Update test that's no longer doing what it was doing + ([26725](https://github.com/civicrm/civicrm-core/pull/26725))** + +- **NFC: standardise ufId to ufID to avoid confusion + ([26679](https://github.com/civicrm/civicrm-core/pull/26679))** + +- **[NFC] Change PHPDoc return type (findById) + ([26504](https://github.com/civicrm/civicrm-core/pull/26504))** + +- **NFC: Add debug level log message when afform submissions catch exceptions + ([26741](https://github.com/civicrm/civicrm-core/pull/26741))** + +- **Use EventTest helpers (a few more places) + ([26477](https://github.com/civicrm/civicrm-core/pull/26477))** + +- **Remove now unsed createEvent test function from test baseClass + ([26717](https://github.com/civicrm/civicrm-core/pull/26717))** + +- **Remove some unused test functions + ([26720](https://github.com/civicrm/civicrm-core/pull/26720))** + +- **Fix ChangeFeeSelectionTest to use eventCreatePaid + ([26709](https://github.com/civicrm/civicrm-core/pull/26709))** + +- **Install SK as part of headless test baseline + ([26712](https://github.com/civicrm/civicrm-core/pull/26712))** + +- **Fix participantTest class to call createEventPaid + ([26540](https://github.com/civicrm/civicrm-core/pull/26540))** + +- **[Test] Clean up payment processors when cleaning up other related entities + ([26640](https://github.com/civicrm/civicrm-core/pull/26640))** + +- **Use eventCreateUnpaid in participantCreate + ([26708](https://github.com/civicrm/civicrm-core/pull/26708))** + +- **Fix test to not use brittle xml, remove redundant crud tests + ([26648](https://github.com/civicrm/civicrm-core/pull/26648))** + +- **Update UFJoin test to not use brittle xml set up + ([26645](https://github.com/civicrm/civicrm-core/pull/26645))** + +- **Fix some test cleanup routines + ([26634](https://github.com/civicrm/civicrm-core/pull/26634))** + +- **Fix ACLPermissionTrait to use EventTest create function + ([26707](https://github.com/civicrm/civicrm-core/pull/26707))** + +- **Fix test to use created workflow + ([26655](https://github.com/civicrm/civicrm-core/pull/26655))** + +- **Remove duplicate test + ([26568](https://github.com/civicrm/civicrm-core/pull/26568))** + +- **Superficial clean up in test class + ([26559](https://github.com/civicrm/civicrm-core/pull/26559))** + +- **Very minor test cleanup + ([26635](https://github.com/civicrm/civicrm-core/pull/26635))** + +- **Test cleanup in BAO_ParticipantTest + ([26704](https://github.com/civicrm/civicrm-core/pull/26704))** + +- **[Tests] Fix a few more places to use eventTrait & remove `legacyEventCreate` + ([26701](https://github.com/civicrm/civicrm-core/pull/26701))** + +- **Cleanup AdditionalPaymentTest to use event trait + ([26570](https://github.com/civicrm/civicrm-core/pull/26570))** + +- **Fix Invoice test to user EventTestTrait, require less in order API + ([26543](https://github.com/civicrm/civicrm-core/pull/26543))** + +- **[TEST] APIv4 - Include CiviGrant in conformance tests + ([26511](https://github.com/civicrm/civicrm-core/pull/26511))** + +- **Include `entityTrait` in `ContactTestTrait` + ([26715](https://github.com/civicrm/civicrm-core/pull/26715))** + +- **Cleanup Apiv3-UfField test + ([26638](https://github.com/civicrm/civicrm-core/pull/26638))** + +- **Php8-proof SMSCommonTest + ([26545](https://github.com/civicrm/civicrm-core/pull/26545))** ## Credits This release was developed by the following code authors: -AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra Purohit, Mike Beck; iXiam - Vangelis Pantazis; JMA Consulting - Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Reflexive Communications - Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; The University of the West Indies - Howard Shand; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green +AGH Strategies - Andie Hunt; Agileware - Justin Freeman; Artful Robot - Rich +Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; +Business & Code - Alain Benbassat; Christian Wach; Circle Interactive - Pradeep +Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop +SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Jitendra Purohit, +Mike Beck; iXiam - Vangelis Pantazis; JMA Consulting - Seamus Lee; Megaphone +Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; +Progressive Technology Project - Jamie McClelland; Reflexive Communications - +Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin +Cristiano; The University of the West Indies - Howard Shand; Wikimedia +Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -Agileware - Justin Freeman; ALL IN APPLI admin; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; BrightMinded Ltd - Bradley Taylor; Christian Wach; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Fuzion - Luke Stewart; iXiam - Vangelis Pantazis; JMA Consulting - Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Oxfam Germany - Thomas Schüttler; Progressive Technology Project - Jamie McClelland; Reflexive Communications - Sandor Semsey; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; TobiasVoigt; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green; ziljah +ALL IN APPLI admin; Fuzion - Luke Stewart; JMA Consulting - Monish Deb; Oxfam +Germany - Thomas Schüttler; Tobias Voigt; ziljah ## Feedback