From b2046742244e94ef38de513f2e1c796be79b704e Mon Sep 17 00:00:00 2001 From: Alice Frumin Date: Tue, 19 Sep 2023 11:26:57 -0400 Subject: [PATCH] [NFC] 5.66 release notes --- contributor-key.yml | 4 + release-notes/5.66.0.md | 959 +++++++++++++++++++++++++++------------- 2 files changed, 664 insertions(+), 299 deletions(-) diff --git a/contributor-key.yml b/contributor-key.yml index 48138fbb5f..44515bcf07 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -255,6 +255,8 @@ name : Joan Cervan Andreu organization: calbasi.net +- github : cdhassell + - name : Cath O'Connell - github : chagrawil @@ -1702,6 +1704,8 @@ - github : YesusHDS +- github : yurg + - github : Toby-fz name : Toby Messerli organization: Fuzion diff --git a/release-notes/5.66.0.md b/release-notes/5.66.0.md index 21ef2e0b4f..8875ed8327 100644 --- a/release-notes/5.66.0.md +++ b/release-notes/5.66.0.md @@ -14,606 +14,967 @@ Released October 4, 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 -- **Upgrade - don't crash on earlier versions of mariadb ([27464](https://github.com/civicrm/civicrm-core/pull/27464))** +- **Add "phpstorm" extension + ([27178](https://github.com/civicrm/civicrm-core/pull/27178), + [27175](https://github.com/civicrm/civicrm-core/pull/27175), + [27179](https://github.com/civicrm/civicrm-core/pull/27179), + [27168](https://github.com/civicrm/civicrm-core/pull/27168) and + [27239](https://github.com/civicrm/civicrm-core/pull/27239))** -- **Add system check for missing component extensions ([27453](https://github.com/civicrm/civicrm-core/pull/27453))** + Adds a "phpstorm" extension which implements a process for integrating some + dynamic data into PhpStorm. -- **Add weights on profile fields page (notices ([27452](https://github.com/civicrm/civicrm-core/pull/27452))** +- **Improve FormBuilder handling of non logged in flows + (Work Towards [dev/core#4232](https://lab.civicrm.org/dev/core/-/issues/4232): + [27041](https://github.com/civicrm/civicrm-core/pull/27041))** -- **Add code comments re the cleanup I didn't do ([27451](https://github.com/civicrm/civicrm-core/pull/27451))** + Improves FormBuilder schema to better handle form flows for anonymous users. -- **backport of 27448 ([27450](https://github.com/civicrm/civicrm-core/pull/27450))** +- **New core extension for scheduled reminders using criteria from + search-kit + ([dev/core#2644](https://lab.civicrm.org/dev/core/-/issues/2644): + [27081](https://github.com/civicrm/civicrm-core/pull/27081))** -- **Fix variable leakage in online event receipt ([27443](https://github.com/civicrm/civicrm-core/pull/27443))** + Adds the Scheduled Communications extension which makes it so one can set up + scheduled reminders using criteria from search-kit. -- **Fix missing weights on Custom data screen (notices) ([27428](https://github.com/civicrm/civicrm-core/pull/27428))** +- **User experience improvement, hide by default the Latitude and Longitude + fields, users can enable display if needed + ([dev/core#2640](https://lab.civicrm.org/dev/core/-/issues/2640): + [27100](https://github.com/civicrm/civicrm-core/pull/27100))** -- **Add weights on profile links (remove notices) ([27432](https://github.com/civicrm/civicrm-core/pull/27432))** + Hides the Latitude and Longitude fields by default. -- **Fix mistake in just-merged email processor code ([27408](https://github.com/civicrm/civicrm-core/pull/27408))** +- **Pass html text through a formatter when translating it to tokens + ([27204](https://github.com/civicrm/civicrm-core/pull/27204) and + [27203](https://github.com/civicrm/civicrm-core/pull/27203))** -- **Upgrader - Skip snapshots on some MariaDB env's (roughly: 10.6.0-10.6.5) ([27404](https://github.com/civicrm/civicrm-core/pull/27404))** + Converts new lines to page breaks when rendering text tokens to html. -- **APIv4: Implicit joins for email_primary, etc cause error ([27399](https://github.com/civicrm/civicrm-core/pull/27399))** +- **Add custom data when creating smart group + ([23312](https://github.com/civicrm/civicrm-core/pull/23312))** -- **Fix weight notices on ActivityType (option values) pages ([27395](https://github.com/civicrm/civicrm-core/pull/27395))** + Adds group custom fields when creating a new smart group from search action + Group -> Create Smart Group. -- **Revert "[REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation handling" ([27394](https://github.com/civicrm/civicrm-core/pull/27394))** +- **Add sort for country/state fields in reports + ([dev/core#4532](https://lab.civicrm.org/dev/core/-/issues/4532): + [27135](https://github.com/civicrm/civicrm-core/pull/27135))** -- **dev/core#2800 Fix bounce processing to handle verp emails ([27356](https://github.com/civicrm/civicrm-core/pull/27356))** + Adds sort for country/state fields in reports. -- **Add email helper to new form test helper ([27384](https://github.com/civicrm/civicrm-core/pull/27384))** +- **Add system check for missing component extensions + ([27453](https://github.com/civicrm/civicrm-core/pull/27453))** -- **dev/core#4559 Don't include test, template, deleted entities in SearchDisplay totals ([27383](https://github.com/civicrm/civicrm-core/pull/27383))** + Expands the system check for required extensions to also cover component + extensions. -- **dev/core#4542 Fix priority handling in ACLs when dealing with objects… ([27381](https://github.com/civicrm/civicrm-core/pull/27381))** +- **Bump search_autocomplete_count default from 10 to 15 + ([27116](https://github.com/civicrm/civicrm-core/pull/27116))** -- **Expose fee_label for event tokens ([27372](https://github.com/civicrm/civicrm-core/pull/27372))** + Improves the overall responsiveness of Autocompletes by fetching more results + at a time. -- **Fix notice on unpaid event ([27367](https://github.com/civicrm/civicrm-core/pull/27367))** +- **Schema - Improve pseudoconstant metadata for `prefetch` and `controlField` + ([27054](https://github.com/civicrm/civicrm-core/pull/27054))** -- **[REF] Ensure that any NULL values in the title field are fixed prior … ([27368](https://github.com/civicrm/civicrm-core/pull/27368))** + Improves schema metadata with an eye toward optimizing APIv4 pseudoconstant + lookups. -- **Support retention of locale on links ([27128](https://github.com/civicrm/civicrm-core/pull/27128))** +- **Afform - Support multiple permissions in the GUI + ([27272](https://github.com/civicrm/civicrm-core/pull/27272))** -- **FiveSixtyFour: disable i18n rewrite on cancel_URL ([27364](https://github.com/civicrm/civicrm-core/pull/27364))** + Allows multiple permissions to be set for an Afform. -- **Ensure event ID is an integer ([27363](https://github.com/civicrm/civicrm-core/pull/27363))** +- **Afform - Allow submissions to be disabled and limited + ([27211](https://github.com/civicrm/civicrm-core/pull/27211))** -- **PseudoConstant - Prevent fatal when entity not available ([27358](https://github.com/civicrm/civicrm-core/pull/27358))** + Adds FormBuilder settings to disable submissions or limit the number of + submissions. -- **Remove unused variable ([27350](https://github.com/civicrm/civicrm-core/pull/27350))** +- **SearchKit - Improve handling of money currency + ([27202](https://github.com/civicrm/civicrm-core/pull/27202))** -- **dev/core#4555 When using a Contribution Page with a Membership Price Set, the contribution amount information never shows on the thank you page ([27330](https://github.com/civicrm/civicrm-core/pull/27330))** + Improves SearchKit support for different types of monetary entities (e.g. the + Expenses extension). -- **Fold deprecated function back into the caller ([27345](https://github.com/civicrm/civicrm-core/pull/27345))** +- **SearchKit - Expose sql functions provided by extensions + ([27197](https://github.com/civicrm/civicrm-core/pull/27197))** -- **[REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation … ([27344](https://github.com/civicrm/civicrm-core/pull/27344))** + Allows extensions to contribute SqlFunctions to SearchKit. -- **5.65 ([27348](https://github.com/civicrm/civicrm-core/pull/27348))** +- **SearchKit - In-place edit without refreshing results + ([27105](https://github.com/civicrm/civicrm-core/pull/27105))** -- **5.65 ([27343](https://github.com/civicrm/civicrm-core/pull/27343))** + Speeds up the process of in-place-editing on a SearchKit display. -- **(dev/core#4433) - Implement Civi::url() with prefixes and OOP enhancements ([26861](https://github.com/civicrm/civicrm-core/pull/26861))** +- **add Note as an afformEntity + ([27110](https://github.com/civicrm/civicrm-core/pull/27110))** -- **Move regex processing in EmailProcessor to handling class ([27337](https://github.com/civicrm/civicrm-core/pull/27337))** + Adds the Note entity to Form Builder. -- **5.65 ([27342](https://github.com/civicrm/civicrm-core/pull/27342))** +- **APIv4 Explorer - Keep list of suffixes in-sync + ([27109](https://github.com/civicrm/civicrm-core/pull/27109))** -- **SearchKit - Fix default search columns ([27331](https://github.com/civicrm/civicrm-core/pull/27331))** + Keeps the list of available pseudoconstant suffixes in APIv4 Explorer + consistent with the master list. -- **5.65 ([27341](https://github.com/civicrm/civicrm-core/pull/27341))** +- **API - Switched to cached function for looking up pemissioned groups + ([27140](https://github.com/civicrm/civicrm-core/pull/27140))** -- **Improve error handling by using civicrm_api3 not civicrm_api ([27321](https://github.com/civicrm/civicrm-core/pull/27321))** + Performance improvement for looking up acl groups. -- **Revert "Update CRM.status for compatability with native js promises" ([27338](https://github.com/civicrm/civicrm-core/pull/27338))** +- **Afform - Enhance returned values from AfformSubmission.afform_name options + ([27108](https://github.com/civicrm/civicrm-core/pull/27108))** -- **5.65 to master ([27336](https://github.com/civicrm/civicrm-core/pull/27336))** + Improves the psueudoconstant options list returned from + AfformSubmission.afform_name so that more attributes of the afform can be + accessed. -- **Event Dashboard: show events that have not ended yet ([27329](https://github.com/civicrm/civicrm-core/pull/27329))** +- **Allow for configuration of activity contacts, type and campaign for + email-to-activity + ([26905](https://github.com/civicrm/civicrm-core/pull/26905))** -- **Remove unreachable page ([27305](https://github.com/civicrm/civicrm-core/pull/27305))** + Adds more options when setting up email-to-activity. -- **Set link weight on manage case ([27327](https://github.com/civicrm/civicrm-core/pull/27327))** +- **APIv4 - Proper ACLs for relationship entity + ([27183](https://github.com/civicrm/civicrm-core/pull/27183))** -- **Remove unused parameter, pass by reference in private function with one caller ([27320](https://github.com/civicrm/civicrm-core/pull/27320))** + Improves v4 Relationship api to use fine-grained ACLs instead of + coarse-grained permission check which was too restrictive. -- **Define weight for links on extensions page, financial types, financial accounts ([27323](https://github.com/civicrm/civicrm-core/pull/27323))** +- **APIv4 - Add missing input type options + ([27236](https://github.com/civicrm/civicrm-core/pull/27236))** -- **5.65 to master ([27326](https://github.com/civicrm/civicrm-core/pull/27326))** + Makes APIv4 aware of a couple more input types (both core and custom fields + can have these types). -- **Remove long-broken function ([27317](https://github.com/civicrm/civicrm-core/pull/27317))** +- **Add API-based EntityLookupTrait + ([27257](https://github.com/civicrm/civicrm-core/pull/27257))** -- **Finish CiviCRM 2.1 deprecation - old style verp ([27318](https://github.com/civicrm/civicrm-core/pull/27318))** + Adds a helper class to make it easy to lookup entity values. -- **Use new lookup trait to eliminate use of undefined properties `userDisplayName` ([27259](https://github.com/civicrm/civicrm-core/pull/27259))** +- **Distmaker: add CiviCRM Standalone support + ([27104](https://github.com/civicrm/civicrm-core/pull/27104))** -- **Fix dev/core#4550 - Crash when saving repeating event ([27315](https://github.com/civicrm/civicrm-core/pull/27315))** + Adds support for building CiviCRM Standalone tar.gz archives for + nightly/rc/stable releases. -- **dev/3410#3410 Show 0 rather than nothing when paid amount is zero ([27288](https://github.com/civicrm/civicrm-core/pull/27288))** +- **standalone: add error handler + ([26965](https://github.com/civicrm/civicrm-core/pull/26965))** -- **Fix financial transfer test to use form flow, allow all pending to transfer ([27281](https://github.com/civicrm/civicrm-core/pull/27281))** + Adds error handling for standalone implementations. -- **Show Contribution Page receipt text in offline contribution receipt ([27173](https://github.com/civicrm/civicrm-core/pull/27173))** +- **Update a couple more tpl variables to tokens + ([27372](https://github.com/civicrm/civicrm-core/pull/27372), + [27004](https://github.com/civicrm/civicrm-core/pull/27004) and + [27017](https://github.com/civicrm/civicrm-core/pull/27017))** -- **Let unset weights give an e-notice ([26243](https://github.com/civicrm/civicrm-core/pull/26243))** + Updates a couple smarty template variables to use tokens instead. -- **Make splitjob function static & private, Remove a couple of unused variables ([27304](https://github.com/civicrm/civicrm-core/pull/27304))** +- **SearchKit - Use Contact.sort_name instead of display_name for searches and + Autocompletes ([27112](https://github.com/civicrm/civicrm-core/pull/27112))** -- **5.65 ([27312](https://github.com/civicrm/civicrm-core/pull/27312))** + Improves searchkit user experience by using contact sort name instead of + display name for searches and autocompletes. -- **Remove some unused undefined properties from participant export ([27298](https://github.com/civicrm/civicrm-core/pull/27298))** +### CiviCase -- **[REF] Convert from session status to deprecation warning ([27255](https://github.com/civicrm/civicrm-core/pull/27255))** +- **Be able to remove clients from a case from the manage case view + ([27200](https://github.com/civicrm/civicrm-core/pull/27200))** -- **Fix token consistency test with new lines and
s ([27314](https://github.com/civicrm/civicrm-core/pull/27314))** + Makes it so users can remove clients from a case from the manage case view. -- **Switch to using token for trxn_id, online contribution receipt ([27295](https://github.com/civicrm/civicrm-core/pull/27295))** +### CiviContribute -- **dev/core#2644 Add Scheduled Communications extension ([27081](https://github.com/civicrm/civicrm-core/pull/27081))** +- **Add api-v4 discount api + ([27122](https://github.com/civicrm/civicrm-core/pull/27122))** -- **[NFC] Be more confident and informative in the comment for CRM_Core_Session::set() ([27313](https://github.com/civicrm/civicrm-core/pull/27313))** + Adds APIv4 Discount entity. -- **Convert new lines to page breaks when rendering text tokens to html ([27203](https://github.com/civicrm/civicrm-core/pull/27203))** +### CiviEvent -- **Unconditionally assign smarty-var, remove unused variables ([26051](https://github.com/civicrm/civicrm-core/pull/26051))** +- **Afform - Enable creating event from a template + ([27058](https://github.com/civicrm/civicrm-core/pull/27058))** -- **Trivial cleanup in EmailProcessorTest ([27307](https://github.com/civicrm/civicrm-core/pull/27307))** + Enables selecting an event template when using Afform to create a new event. -- **Make function private, after universe search in EmailProcessor ([27309](https://github.com/civicrm/civicrm-core/pull/27309))** +### CiviMail -- **Make function private to reflect usage ([27308](https://github.com/civicrm/civicrm-core/pull/27308))** +- **Update SMS cannot send message to specify that a mobile phone number is + required ([27194](https://github.com/civicrm/civicrm-core/pull/27194))** -- **Declare CRM_Core_Exception in cleanDir, add type hints ([27306](https://github.com/civicrm/civicrm-core/pull/27306))** + Improves the error message when SMS cannot be sent to phone number because it + is not a mobile phone. -- **Add contribution page tokens to contribution tokens ([27201](https://github.com/civicrm/civicrm-core/pull/27201))** +### CiviMember -- **Move function to only form that calls it ([27299](https://github.com/civicrm/civicrm-core/pull/27299))** +- **Membership Detail improvements (Work towards + [dev/core#4522](https://lab.civicrm.org/dev/core/-/issues/4522): + [27118](https://github.com/civicrm/civicrm-core/pull/27118) and + [27249](https://github.com/civicrm/civicrm-core/pull/27249))** -- **Unconditionally assign smarty variable ([27300](https://github.com/civicrm/civicrm-core/pull/27300))** + Improves the Membership detail report by adding: Membership Status, + Auto-Renew, Auto-Renew Subscription Status, Start Date and End Date to the + sorting tab. -- **APIv4 - Fix setting nullable/required/default_value field metadata ([27302](https://github.com/civicrm/civicrm-core/pull/27302))** +## Bugs resolved -- **Pass html text through a formatter when translating it to tokens ([27204](https://github.com/civicrm/civicrm-core/pull/27204))** +### Core CiviCRM -- **CiviCampaign - Refactor civicrm_survey.recontact_interval ([27268](https://github.com/civicrm/civicrm-core/pull/27268))** +- **Admin UI: Attempting to delete custom field group with custom fields opens + the listing page in modal window + ([dev/core#4094](https://lab.civicrm.org/dev/core/-/issues/4094): + [27056](https://github.com/civicrm/civicrm-core/pull/27056))** -- **SearchKit - In-place edit without refreshing results ([27105](https://github.com/civicrm/civicrm-core/pull/27105))** + Use statusBounce instead of redirect when a custom group cannot be deleted. -- **Remove unused CONST ([27301](https://github.com/civicrm/civicrm-core/pull/27301))** +- **Standalone: language change does not stick (Work towards + [dev/core#4425](https://lab.civicrm.org/dev/core/-/issues/4425): + [27040](https://github.com/civicrm/civicrm-core/pull/27040))** -- **Remove, extraneous: punctuation? ([27297](https://github.com/civicrm/civicrm-core/pull/27297))** + Ensures currentPath for Standalone implementations does not return empty so + that language-switcher extension can work. -- **[REF] - Cleanup managed entities to all go through `hook_civicrm_managed` and deprecate unnamed entities ([27254](https://github.com/civicrm/civicrm-core/pull/27254))** +- **Import caching issue (Work towards + [dev/core#4467](https://lab.civicrm.org/dev/core/-/issues/4467): + [27076](https://github.com/civicrm/civicrm-core/pull/27076))** -- **Merge 5.65 to master ([27291](https://github.com/civicrm/civicrm-core/pull/27291))** + Ensure saving and updating an import field mapping saves correctly. -- **Afform - Allow submissions to be disabled and limited ([27211](https://github.com/civicrm/civicrm-core/pull/27211))** +- **Redis performance issue on delete contact + ([dev/core#4501](https://lab.civicrm.org/dev/core/-/issues/4501): + [27115](https://github.com/civicrm/civicrm-core/pull/27115))** -- **Add weights to scheduled jobs ([27283](https://github.com/civicrm/civicrm-core/pull/27283))** +- **Search Kit - Links conditional doesn't work with domain_id or domain = + current domain + ([dev/core#4509](https://lab.civicrm.org/dev/core/-/issues/4509): + [27093](https://github.com/civicrm/civicrm-core/pull/27093))** -- **Afform - Support multiple permissions in the GUI ([27272](https://github.com/civicrm/civicrm-core/pull/27272))** +- **ACLs' priority sometimes does the opposite of what it says it does + ([dev/core#4542](https://lab.civicrm.org/dev/core/-/issues/4542): + [27381](https://github.com/civicrm/civicrm-core/pull/27381))** -- **Fix incorrect event receipt regression ([27159](https://github.com/civicrm/civicrm-core/pull/27159))** +- **When using a Contribution Page with a Membership Price Set, the contribution + amount information never shows on the thank you page + ([dev/core#4555](https://lab.civicrm.org/dev/core/-/issues/4555): + [27330](https://github.com/civicrm/civicrm-core/pull/27330))** -- **Remove unused profiles from offline event receipts ([27150](https://github.com/civicrm/civicrm-core/pull/27150))** +- **SearchKit: Totals include test, template and deleted entities, while rows do + not, leading to mismatch + ([dev/core#4559](https://lab.civicrm.org/dev/core/-/issues/4559): + [27383](https://github.com/civicrm/civicrm-core/pull/27383))** -- **Pass specific ids rather than ids array ([27274](https://github.com/civicrm/civicrm-core/pull/27274))** +- **Auto-complete option values aren't available to anonymous users + ([dev/core#3049](https://lab.civicrm.org/dev/core/-/issues/3049): + [26841](https://github.com/civicrm/civicrm-core/pull/26841))** -- **Add weights to links on multipleRecordFieldsListing ([27284](https://github.com/civicrm/civicrm-core/pull/27284))** +- **Add weights on profile fields page to fix notices + ([27452](https://github.com/civicrm/civicrm-core/pull/27452))** -- **[test] [cleanup] Move _REQUEST cleanup to tearDown ([27285](https://github.com/civicrm/civicrm-core/pull/27285))** +- **Upgrader - Skip snapshots on some MariaDB env's (roughly: 10.6.0-10.6.5) + ([27404](https://github.com/civicrm/civicrm-core/pull/27404))** -- **Update further tests to additional form flow, lock in bug fix ([27279](https://github.com/civicrm/civicrm-core/pull/27279))** +- **APIv4: Implicit joins for email_primary, etc cause error + ([dev/core#4562](https://lab.civicrm.org/dev/core/-/issues/4562): + [27399](https://github.com/civicrm/civicrm-core/pull/27399))** -- **5.65 ([27286](https://github.com/civicrm/civicrm-core/pull/27286))** +- **APIv4 - Fix setting nullable/required/default_value field metadata + ([27302](https://github.com/civicrm/civicrm-core/pull/27302))** -- **Minor cleanup in test ([27282](https://github.com/civicrm/civicrm-core/pull/27282))** +- **Let unset weights give an e-notice + ([26243](https://github.com/civicrm/civicrm-core/pull/26243))** -- **Update one of our complex confirm tests to use full form flow, fix discovered failure to send to additional participants ([27277](https://github.com/civicrm/civicrm-core/pull/27277))** +- **Add weight to a few more links + ([27216](https://github.com/civicrm/civicrm-core/pull/27216), + [27323](https://github.com/civicrm/civicrm-core/pull/27323), + [27229](https://github.com/civicrm/civicrm-core/pull/27229), + [27283](https://github.com/civicrm/civicrm-core/pull/27283), + [27284](https://github.com/civicrm/civicrm-core/pull/27284) and + [27230](https://github.com/civicrm/civicrm-core/pull/27230))** -- **API - Switched to cached function for looking up pemissioned groups ([27140](https://github.com/civicrm/civicrm-core/pull/27140))** +- **Standalone: Fix ACL help/links, tweak Users and Permissions menu + ([27119](https://github.com/civicrm/civicrm-core/pull/27119))** -- **Add pre-upgrade message about the removed TrackingFields.tpl ([27276](https://github.com/civicrm/civicrm-core/pull/27276))** +- **Improve error handling by using civicrm_api3 not civicrm_api + ([27321](https://github.com/civicrm/civicrm-core/pull/27321))** -- **Fix Financial Items incorrectly recorded when using Payment API ([26987](https://github.com/civicrm/civicrm-core/pull/26987))** +- **Switch to using token for trxn_id, online contribution receipt + ([27295](https://github.com/civicrm/civicrm-core/pull/27295))** -- **Remove some unnecessary variables & pass by ref ([27273](https://github.com/civicrm/civicrm-core/pull/27273))** +- **Delete probably-unused TrackingFields.tpl and adds a pre-upgrade message to + warn people ([27233](https://github.com/civicrm/civicrm-core/pull/27233) and + [27276](https://github.com/civicrm/civicrm-core/pull/27276))** -- **SearchKit - Expose sql functions provided by extensions ([27197](https://github.com/civicrm/civicrm-core/pull/27197))** +- **Re-enable any queues that were disabled for background processing, on end + ([27023](https://github.com/civicrm/civicrm-core/pull/27023))** -- **Delete probably-unused TrackingFields.tpl ([27233](https://github.com/civicrm/civicrm-core/pull/27233))** +- **Update one of our complex confirm tests to use full form flow, fix + discovered failure to send to additional participants + ([27277](https://github.com/civicrm/civicrm-core/pull/27277))** -- **EntityLookupTrait - Add isDefined and getDefinition methods ([27275](https://github.com/civicrm/civicrm-core/pull/27275))** +- **Replace deprecated RegExp PHPUnit functions for v9 + ([27139](https://github.com/civicrm/civicrm-core/pull/27139))** -- **SearchKit - Improve handling of money currency ([27202](https://github.com/civicrm/civicrm-core/pull/27202))** +- **Switch menubar search to use APIv4 & delete deprecated v3 'getquick' action + ([26676](https://github.com/civicrm/civicrm-core/pull/26676) and + [27263](https://github.com/civicrm/civicrm-core/pull/27263))** -- **ajax.js - Fix undeclared variable ([27269](https://github.com/civicrm/civicrm-core/pull/27269))** +- **EntityLookupTrait - Skip queries when looking up id + ([27261](https://github.com/civicrm/civicrm-core/pull/27261))** -- **Add form helper for tests ([27267](https://github.com/civicrm/civicrm-core/pull/27267))** +- **PHP8 date range not rendered correctly + ([27228](https://github.com/civicrm/civicrm-core/pull/27228))** -- **[NFC] PhpStorm - Add more APIv4 function argument hints ([27262](https://github.com/civicrm/civicrm-core/pull/27262))** +- **standaloneusers: logout function must be static + ([27265](https://github.com/civicrm/civicrm-core/pull/27265))**s -- **EntityLookupTrait - Skip queries when looking up id ([27261](https://github.com/civicrm/civicrm-core/pull/27261))** +- **Afform - make summary tab names less weird + ([27196](https://github.com/civicrm/civicrm-core/pull/27196))** -- **Fix fatal on Manage Extensions caused by financialacls links ([27264](https://github.com/civicrm/civicrm-core/pull/27264))** +- **Improve initialization crash message + ([27138](https://github.com/civicrm/civicrm-core/pull/27138))** -- **Menubar Quicksearch - Followup fixes ([27263](https://github.com/civicrm/civicrm-core/pull/27263))** +- **Set weight on Note Form + ([27106](https://github.com/civicrm/civicrm-core/pull/27106))** -- **standaloneusers: logout function must be static ([27265](https://github.com/civicrm/civicrm-core/pull/27265))** +- **Make import parser external ID error message more helpful + ([27103](https://github.com/civicrm/civicrm-core/pull/27103))** -- **avoid double clicks on petition page ([27251](https://github.com/civicrm/civicrm-core/pull/27251))** +- **Show which extension has a parse error in info.xml + ([27028](https://github.com/civicrm/civicrm-core/pull/27028))** -- **Fix participantTest to not use transactions ([27260](https://github.com/civicrm/civicrm-core/pull/27260))** +- **E:: to make it look after the extension's translation + ([27027](https://github.com/civicrm/civicrm-core/pull/27027))** -- **Switch menubar search to use APIv4 & delete deprecated v3 'getquick' action ([26676](https://github.com/civicrm/civicrm-core/pull/26676))** +- **Use phpunit when running on php 7.3+ + ([27036](https://github.com/civicrm/civicrm-core/pull/27036))** -- **Add API-based EntityLookupTrait ([27257](https://github.com/civicrm/civicrm-core/pull/27257))** +- **ScheduledJob - Clean up form code & improve validation + ([26879](https://github.com/civicrm/civicrm-core/pull/26879))** -- **Further fix forms to full form flow ([27256](https://github.com/civicrm/civicrm-core/pull/27256))** +- **Fix Domain Organization form for notices & php8 compliance + ([27190](https://github.com/civicrm/civicrm-core/pull/27190))** -- **Add weights to membership type links ([27231](https://github.com/civicrm/civicrm-core/pull/27231))** +- **Flush Redis `prevnext` cache when clearing `civicrm_cache` + ([27113](https://github.com/civicrm/civicrm-core/pull/27113))** -- **dev/core#3049 - Update autocomplete custom fields to use APIv4 ([26841](https://github.com/civicrm/civicrm-core/pull/26841))** +- **Pass specific ids rather than ids array + ([27274](https://github.com/civicrm/civicrm-core/pull/27274))** -- **SearchKit - Fix autocomplete filters on in-place-edit fields ([27253](https://github.com/civicrm/civicrm-core/pull/27253))** +- **Fix fatal on Manage Extensions caused by financialacls links + ([27264](https://github.com/civicrm/civicrm-core/pull/27264))** -- **Ensure tax_amount is not null ([26993](https://github.com/civicrm/civicrm-core/pull/26993))** +- **Fix weight notices on ActivityType (option values) pages + ([27395](https://github.com/civicrm/civicrm-core/pull/27395))** -- **Add sorting options on Membership Details report ([27249](https://github.com/civicrm/civicrm-core/pull/27249))** +- **PseudoConstant - Prevent fatal when entity not available + ([27358](https://github.com/civicrm/civicrm-core/pull/27358))** -- **Fix forms to call full form flow ([27250](https://github.com/civicrm/civicrm-core/pull/27250))** +- **SearchKit - Fix autocomplete filters on in-place-edit fields + ([27253](https://github.com/civicrm/civicrm-core/pull/27253))** -- **dev/core#444 Default to blank for required multi-lingual fields ([27226](https://github.com/civicrm/civicrm-core/pull/27226))** +- **fix sort groups on PHP8 + ([27210](https://github.com/civicrm/civicrm-core/pull/27210))** -- **5.65 ([27248](https://github.com/civicrm/civicrm-core/pull/27248))** +- **ContactSummary - Fix smarty notices in communication preferences section + ([27209](https://github.com/civicrm/civicrm-core/pull/27209))** -- **Participant Form Test fixes ([27245](https://github.com/civicrm/civicrm-core/pull/27245))** +- **Afform - Fix broken prefill functionality + ([27121](https://github.com/civicrm/civicrm-core/pull/27121))** -- **Superficial clean up in test class ([27238](https://github.com/civicrm/civicrm-core/pull/27238))** +- **Upgrade - don't crash on earlier versions of mariadb + ([27464](https://github.com/civicrm/civicrm-core/pull/27464))** -- **APIv4 - Add missing input type options ([27236](https://github.com/civicrm/civicrm-core/pull/27236))** +- **E-notice fix - switch order of and params check around + ([27188](https://github.com/civicrm/civicrm-core/pull/27188))** -- **PHP8 date range not rendered correctly ([27228](https://github.com/civicrm/civicrm-core/pull/27228))** +- **Fix deprecation notice on ExecuteJob screen + ([27157](https://github.com/civicrm/civicrm-core/pull/27157))** -- **phpstorm - Prefer to store generated hints in source-tree ([27239](https://github.com/civicrm/civicrm-core/pull/27239))** +- **Fix PHP8.1 repeated notice errors in Table.tpl + ([27137](https://github.com/civicrm/civicrm-core/pull/27137))** -- **Remove isset from Arb.xml ([27224](https://github.com/civicrm/civicrm-core/pull/27224))** +- **Fix notices, php errors on event location tab + ([27212](https://github.com/civicrm/civicrm-core/pull/27212))** -- **Add weights to MemberSelectorSearch ([27230](https://github.com/civicrm/civicrm-core/pull/27230))** +- **Fix notices on domain.tpl by just adding what we need + ([27189](https://github.com/civicrm/civicrm-core/pull/27189))** -- **Cleanup signature for test function `getFormObject` ([27225](https://github.com/civicrm/civicrm-core/pull/27225))** +- **Notice fix - schedule reminders + ([27154](https://github.com/civicrm/civicrm-core/pull/27154))** -- **Add weights to MessageTemplate links ([27229](https://github.com/civicrm/civicrm-core/pull/27229))** +- **Undefined property fix + ([27148](https://github.com/civicrm/civicrm-core/pull/27148))** -- **(dev/core#4522) Membership Detail improvements - add sorting for Memb… ([27118](https://github.com/civicrm/civicrm-core/pull/27118))** +- **Notice fix on contact types browse + ([27153](https://github.com/civicrm/civicrm-core/pull/27153))** -- **Fix Contribution_Tab links to have weight, improve test ([27227](https://github.com/civicrm/civicrm-core/pull/27227))** +- **Fix e-notice by removing conditionality + ([27152](https://github.com/civicrm/civicrm-core/pull/27152))** -- **Switch tests to use createTestEntity for payment processor ([27217](https://github.com/civicrm/civicrm-core/pull/27217))** +- **windows fix for CRM_Utils_File::isChildPath + ([27102](https://github.com/civicrm/civicrm-core/pull/27102))** -- **5.65 to master ([27222](https://github.com/civicrm/civicrm-core/pull/27222))** +- **Fix Standalone error handler: remove 5th argument + ([27099](https://github.com/civicrm/civicrm-core/pull/27099))** -- **Fix undeclared properties in crufty old report ([27220](https://github.com/civicrm/civicrm-core/pull/27220))** +- **fatal error fixes in PHP 8.1 + ([27077](https://github.com/civicrm/civicrm-core/pull/27077))** -- **Remove decade-only typo ([27219](https://github.com/civicrm/civicrm-core/pull/27219))** +- **Path fixes + ([27026](https://github.com/civicrm/civicrm-core/pull/27026))** -- **Add weight to a few more links ([27216](https://github.com/civicrm/civicrm-core/pull/27216))** +- **Fix warning caused by passing null to strpos + ([300](https://github.com/civicrm/civicrm-wordpress/pull/300))** -- **Remove some copy & paste code ([27214](https://github.com/civicrm/civicrm-core/pull/27214))** +- **kcfinder - Fix PHP 8.1 warnings from fastImage + ([368](https://github.com/civicrm/civicrm-packages/pull/368))** -- **Remove Html2text security check, package deleted ([27218](https://github.com/civicrm/civicrm-core/pull/27218))** +- **kcfinder - Fix cookies when running on alt HTTP port + ([367](https://github.com/civicrm/civicrm-packages/pull/367))** -- **Be able to remove clients from a case from the manage case view ([27200](https://github.com/civicrm/civicrm-core/pull/27200))** +- **Smarty - Fix e-notice in modifier.escape.php + ([366](https://github.com/civicrm/civicrm-packages/pull/366))** -- **Replace another badly named undeclared property ([27215](https://github.com/civicrm/civicrm-core/pull/27215))** +- **Enotice fix ([27002](https://github.com/civicrm/civicrm-core/pull/27002))** -- **Afform - make summary tab names less weird ([27196](https://github.com/civicrm/civicrm-core/pull/27196))** +- **E-notice fix ([27001](https://github.com/civicrm/civicrm-core/pull/27001))** -- **Move no-longer-shared function back to it's form ([27213](https://github.com/civicrm/civicrm-core/pull/27213))** +- **E-notice fix, don't skip loading NULL fields + ([27048](https://github.com/civicrm/civicrm-core/pull/27048))** -- **Fix notices, php errors on event location tab ([27212](https://github.com/civicrm/civicrm-core/pull/27212))** +- **Fix missing weights on Custom data screen (notices) + ([27428](https://github.com/civicrm/civicrm-core/pull/27428))** -- **fix sort groups on PHP8 ([27210](https://github.com/civicrm/civicrm-core/pull/27210))** +- **Add weights on profile links (remove notices) + ([27432](https://github.com/civicrm/civicrm-core/pull/27432))** -- **ContactSummary - Fix smarty notices in communication preferences section ([27209](https://github.com/civicrm/civicrm-core/pull/27209))** +- **Fix mistake in just-merged email processor code + ([27408](https://github.com/civicrm/civicrm-core/pull/27408))** -- **Remove old tests that only test test functions ([27208](https://github.com/civicrm/civicrm-core/pull/27208))** +- **Fix undeclared properties in crufty old report + ([27220](https://github.com/civicrm/civicrm-core/pull/27220))** -- **Update SMS cannot send message to specify that a mobile phone number is required ([27194](https://github.com/civicrm/civicrm-core/pull/27194))** +- **ajax.js - Fix undeclared variable + ([27269](https://github.com/civicrm/civicrm-core/pull/27269))** -- **Simplify test ([27205](https://github.com/civicrm/civicrm-core/pull/27205))** +- **Move smarty assign to be always assigned (notices) + ([27207](https://github.com/civicrm/civicrm-core/pull/27207))** -- **Move smarty assign to be always assigned (notices) ([27207](https://github.com/civicrm/civicrm-core/pull/27207))** +- **Fix undeclared property - use locally scoped variable + ([27090](https://github.com/civicrm/civicrm-core/pull/27090))** -- **Remove never called testCleanUp function ([27206](https://github.com/civicrm/civicrm-core/pull/27206))** +- **Smarty-notice fix - use array_key_exists + ([27117](https://github.com/civicrm/civicrm-core/pull/27117))** -- **Improve initialization crash message ([27138](https://github.com/civicrm/civicrm-core/pull/27138))** +- **php8.x fatal fix + bonus smarty consistency + ([27091](https://github.com/civicrm/civicrm-core/pull/27091))** -- **dev/core#4541 Fix membership leap year bug that causes test failure ([27198](https://github.com/civicrm/civicrm-core/pull/27198))** +### CiviCampaign -- **[REF] Remove unreachable handling ([27192](https://github.com/civicrm/civicrm-core/pull/27192))** +- **avoid double clicks on petition page + ([27251](https://github.com/civicrm/civicrm-core/pull/27251))** -- **Remove always-true empty check ([27193](https://github.com/civicrm/civicrm-core/pull/27193))** +### CiviCase -- **APIv4 - Proper ACLs for relationship entity ([27183](https://github.com/civicrm/civicrm-core/pull/27183))** +- **Set link weight on manage case + ([27327](https://github.com/civicrm/civicrm-core/pull/27327))** -- **CRM_Core_Form - Remove unused protected properties ([27191](https://github.com/civicrm/civicrm-core/pull/27191))** +- **Cannot add case type in multilingual installation with MariaDB 10.2 strict + mode ([dev/core#2581](https://lab.civicrm.org/dev/core/-/issues/2581): + [27226](https://github.com/civicrm/civicrm-core/pull/27226))** -- **Flush Redis `prevnext` cache when clearing `civicrm_cache` ([27113](https://github.com/civicrm/civicrm-core/pull/27113))** +### CiviContribute -- **[REF] Add pseudoconstant suffixes to xml/dao ([27172](https://github.com/civicrm/civicrm-core/pull/27172))** +- **Add contribution page tokens to contribution tokens + ([27201](https://github.com/civicrm/civicrm-core/pull/27201))** -- **[REF] 🏌️ CRM_Utils_Array cleanup ([27187](https://github.com/civicrm/civicrm-core/pull/27187))** + Adds contribution page tokens to contribution tokens. -- **[NFC] Test - Add return type hints to test functions ([27186](https://github.com/civicrm/civicrm-core/pull/27186))** +- **Fix Financial Items incorrectly recorded when using Payment API + ([26987](https://github.com/civicrm/civicrm-core/pull/26987))** -- **Fix Domain Organization form for notices & php8 compliance ([27190](https://github.com/civicrm/civicrm-core/pull/27190))** +- **Contribution pages with extra URL parameters lead to incorrect AJAX URL + constructed in buildPaymentBlock – users cannot proceed to pay + ([dev/core#4487](https://lab.civicrm.org/dev/core/-/issues/4487): + [27037](https://github.com/civicrm/civicrm-core/pull/27037))** -- **Fix notices on domain.tpl by just adding what we need ([27189](https://github.com/civicrm/civicrm-core/pull/27189))** +- **Ensure tax_amount is not null + ([26993](https://github.com/civicrm/civicrm-core/pull/26993))** -- **Distmaker: add CiviCRM Standalone support ([27104](https://github.com/civicrm/civicrm-core/pull/27104))** +- **Fix permission check on Contribution form, clarify underlying functions + ([27013](https://github.com/civicrm/civicrm-core/pull/27013))** -- **APIv3 Explorer - Delete unused code ([27181](https://github.com/civicrm/civicrm-core/pull/27181))** +- **Fix PHP 8.0 implode on ContributionBase + ([27053](https://github.com/civicrm/civicrm-core/pull/27053))** -- **API - Soft-deprecate civicrm_api() wrapper ([27180](https://github.com/civicrm/civicrm-core/pull/27180))** +- **Show Contribution Page receipt text in offline contribution receipt + ([27173](https://github.com/civicrm/civicrm-core/pull/27173))** -- **E-notice fix - switch order of and params check around ([27188](https://github.com/civicrm/civicrm-core/pull/27188))** +- **Fix Contribution_Tab links to have weight, improve test + ([27227](https://github.com/civicrm/civicrm-core/pull/27227))** -- **[REF] Improve cron job handling when there is an invalid report insta… ([27185](https://github.com/civicrm/civicrm-core/pull/27185))** +### CiviEvent -- **[REF] Fix infinite loop when trying to load a report instance with an… ([27184](https://github.com/civicrm/civicrm-core/pull/27184))** +- **Registering a participant with Pending event payment gives misleading + information. ([dev/core#3410](https://lab.civicrm.org/dev/core/-/issues/3410): + [27288](https://github.com/civicrm/civicrm-core/pull/27288))** -- **5.65 ([27182](https://github.com/civicrm/civicrm-core/pull/27182))** + Show 0 rather than nothing when paid amount is zero -- **PhpStorm - Add a corybantic avalanche of type-hints ([27179](https://github.com/civicrm/civicrm-core/pull/27179))** +- **Event Dashboard: show events that have not ended yet + ([27329](https://github.com/civicrm/civicrm-core/pull/27329))** -- **Add test & fix for getOptions on options with a domain id ([27161](https://github.com/civicrm/civicrm-core/pull/27161))** + Ensure events that span more than 7 days don't disappear from the Event + Dashboard before the event ends. -- **SearchKit - Use Contact.sort_name instead of display_name for searches and Autocompletes ([27112](https://github.com/civicrm/civicrm-core/pull/27112))** +- **Crash when saving repeating event + ([dev/core#4550](https://lab.civicrm.org/dev/core/-/issues/4550): + [27315](https://github.com/civicrm/civicrm-core/pull/27315))** -- **phpstorm - Multiple updates ([27175](https://github.com/civicrm/civicrm-core/pull/27175))** +- **Replace Event Total with Total Amount on confirm/thankyou pages + ([dev/core#4485](https://lab.civicrm.org/dev/core/-/issues/4485): + [27024](https://github.com/civicrm/civicrm-core/pull/27024))** -- **[REF] APIv4 - Simplify entity name gathering ([27177](https://github.com/civicrm/civicrm-core/pull/27177))** +- **View and Edit links for event participants are inconsistent and in some + cases do not allow editing + ([dev/core/#3361](https://lab.civicrm.org/dev/core/-/issues/3361): + [24657](https://github.com/civicrm/civicrm-core/pull/24657))** -- **PHPStorm - Add static metadata file ([27178](https://github.com/civicrm/civicrm-core/pull/27178))** +- **Fix variable leakage in online event receipt + ([27443](https://github.com/civicrm/civicrm-core/pull/27443))** -- **Test Cleanup - Refactor out uses of deprecated `callAPIAndDocument()` ([27176](https://github.com/civicrm/civicrm-core/pull/27176))** +- **Fix notice on unpaid event + ([27367](https://github.com/civicrm/civicrm-core/pull/27367))** -- **Remove some unused parameters in test class ([27166](https://github.com/civicrm/civicrm-core/pull/27166))** +- **Fix incorrect event receipt regression + ([27159](https://github.com/civicrm/civicrm-core/pull/27159))** -- **APIv3 - Delete api examples ([27174](https://github.com/civicrm/civicrm-core/pull/27174))** +- **Fix Manage Events breadcrumb regression + ([27095](https://github.com/civicrm/civicrm-core/pull/27095))** -- **(dev/core#4536) Fix 'Primary Membership' filter options in Membership… ([27169](https://github.com/civicrm/civicrm-core/pull/27169))** +- **Manage event - fix too many brackets + ([27061](https://github.com/civicrm/civicrm-core/pull/27061))** -- **Add "phpstorm" extension ([27168](https://github.com/civicrm/civicrm-core/pull/27168))** +- **Fix event templates to use end_date token + ([27005](https://github.com/civicrm/civicrm-core/pull/27005))** -- **Fix deprecation notice on ExecuteJob screen ([27157](https://github.com/civicrm/civicrm-core/pull/27157))** +- **Ensure event ID is an integer + ([27363](https://github.com/civicrm/civicrm-core/pull/27363))** -- **Notice fix - schedule reminders ([27154](https://github.com/civicrm/civicrm-core/pull/27154))** +- **Also add event confirm text as default receipt_text for edit Participant + ([27160](https://github.com/civicrm/civicrm-core/pull/27160))** -- **Remove broken deprecated function ([27163](https://github.com/civicrm/civicrm-core/pull/27163))** +### CiviMail -- **Also add event confirm text as default receipt_text for edit Participant ([27160](https://github.com/civicrm/civicrm-core/pull/27160))** +- **Scheduled Job, fetch_bounces with is_create_activities=1 parameter creates + a new Contact using the Return-path email address which is incorrect + (Work towards [dev/core#2800](https://lab.civicrm.org/dev/core/-/issues/2800): + [27356](https://github.com/civicrm/civicrm-core/pull/27356))** -- **Fix PHP8.1 repeated notice errors in Table.tpl ([27137](https://github.com/civicrm/civicrm-core/pull/27137))** + Fixes bounce processing to handle verp emails. -- **[REF] Fix Notice Errors on ACL listing page by assigning fields consi… ([27164](https://github.com/civicrm/civicrm-core/pull/27164))** +- **Wording changes in the Unsubscribe form + ([27022](https://github.com/civicrm/civicrm-core/pull/27022))** -- **Undefined property fix ([27148](https://github.com/civicrm/civicrm-core/pull/27148))** +### CiviMember -- **Add api-v4 discount api ([27122](https://github.com/civicrm/civicrm-core/pull/27122))** +- **Report improvements (Work towards + [dev/core#4536](https://lab.civicrm.org/dev/core/-/issues/4536): + [27169](https://github.com/civicrm/civicrm-core/pull/27169))** -- **Notice fix on contact types browse ([27153](https://github.com/civicrm/civicrm-core/pull/27153))** + Fixes the 'Primary Membership' filter options in the Membership Details report + template. -- **Fix e-notice by removing conditionality ([27152](https://github.com/civicrm/civicrm-core/pull/27152))** +- **Membership renewal on Feb 29 of a leap year is calculated incorrectly + ([dev/core#4541](https://lab.civicrm.org/dev/core/-/issues/4541): + [27198](https://github.com/civicrm/civicrm-core/pull/27198))** -- **Fold private function back into calling function ([27145](https://github.com/civicrm/civicrm-core/pull/27145))** +- **Add weights to membership type links + ([27231](https://github.com/civicrm/civicrm-core/pull/27231))** -- **5.65 ([27142](https://github.com/civicrm/civicrm-core/pull/27142))** +### Backdrop Integration -- **Standalone: Fix ACL help/links, tweak Users and Permissions menu ([27119](https://github.com/civicrm/civicrm-core/pull/27119))** +- **global $language should be an object, not a string + ([dev/backdrop#80](https://lab.civicrm.org/dev/backdrop/-/issues/80): + [27038](https://github.com/civicrm/civicrm-core/pull/27038))** -- **phpunit.xml.dist - Update extensions to use phpunit9 format ([27133](https://github.com/civicrm/civicrm-core/pull/27133))** +### Drupal Integration -- **Replace deprecated RegExp PHPUnit functions for v9 ([27139](https://github.com/civicrm/civicrm-core/pull/27139))** +- **phpunit.xml.dist - Fix compatibility with phpunit9 + ([670](https://github.com/civicrm/civicrm-drupal/pull/670))** -- **REF - Simplify inline conditionals with Elvis ([27141](https://github.com/civicrm/civicrm-core/pull/27141))** +### WordPress Integration -- **ScheduledJob - Clean up form code & improve validation ([26879](https://github.com/civicrm/civicrm-core/pull/26879))** +- **E2E_Core_PathUrlTest::testGetUrl_WpAdmin() fails because CiviCRM routing is + confusing (Work towards + [dev/core#4433](https://lab.civicrm.org/dev/core/-/issues/4433): + [26861](https://github.com/civicrm/civicrm-core/pull/26861))** -- **(dev/core#4532) Add sort for country/state fields in reports ([27135](https://github.com/civicrm/civicrm-core/pull/27135))** +- **Plugin compatibility architecture and loss of locale on "Secondary URLs" + when using Polylang + ([dev/wordpress#143](https://lab.civicrm.org/dev/wordpress/-/issues/143): + [27128](https://github.com/civicrm/civicrm-core/pull/27128) and + [301](https://github.com/civicrm/civicrm-wordpress/pull/301))** -- **5.65 ([27131](https://github.com/civicrm/civicrm-core/pull/27131))** +## Miscellany -- **dev/core#4501 Redis - fix ttl on prev-next cache ([27115](https://github.com/civicrm/civicrm-core/pull/27115))** +- **phpunit.xml.dist - Update extensions to use phpunit9 format + ([27133](https://github.com/civicrm/civicrm-core/pull/27133))** -- **Afform - Fix broken prefill functionality ([27121](https://github.com/civicrm/civicrm-core/pull/27121))** +- **APIv3 - Delete api examples + ([27174](https://github.com/civicrm/civicrm-core/pull/27174))** -- **[REF] PCP - Update BAO to use writeRecord/deleteRecord ([27127](https://github.com/civicrm/civicrm-core/pull/27127))** +- **EntityLookupTrait - Add isDefined and getDefinition methods + ([27275](https://github.com/civicrm/civicrm-core/pull/27275))** -- **Builds on #27049 to extract getPriceSetID() ([27050](https://github.com/civicrm/civicrm-core/pull/27050))** +- **API - Soft-deprecate civicrm_api() wrapper + ([27180](https://github.com/civicrm/civicrm-core/pull/27180))** -- **5.65 ([27124](https://github.com/civicrm/civicrm-core/pull/27124))** +- **APIv3 Explorer - Delete unused code + ([27181](https://github.com/civicrm/civicrm-core/pull/27181))** -- **dev/core#2640 - hide latitude and longitude in address display by default ([27100](https://github.com/civicrm/civicrm-core/pull/27100))** +- **Pass in function values, rather than handling by form-name + ([27092](https://github.com/civicrm/civicrm-core/pull/27092))** -- **Schema - Improve pseudoconstant metadata for `prefetch` and `controlField` ([27054](https://github.com/civicrm/civicrm-core/pull/27054))** +- **Use new lookup trait to eliminate use of undefined properties + `userDisplayName` + ([27259](https://github.com/civicrm/civicrm-core/pull/27259))** -- **Smarty-notice fix - use array_key_exists ([27117](https://github.com/civicrm/civicrm-core/pull/27117))** +- **Finish CiviCRM 2.1 deprecation - old style verp + ([27318](https://github.com/civicrm/civicrm-core/pull/27318))** -- **php8.x fatal fix + bonus smarty consistency ([27091](https://github.com/civicrm/civicrm-core/pull/27091))** +- **CiviCampaign - Refactor civicrm_survey.recontact_interval + ([27268](https://github.com/civicrm/civicrm-core/pull/27268))** -- **Bump search_autocomplete_count default from 10 to 15 ([27116](https://github.com/civicrm/civicrm-core/pull/27116))** +- **Move regex processing in EmailProcessor to handling class + ([27337](https://github.com/civicrm/civicrm-core/pull/27337))** -- **Use tokens for participant.register_date ([27017](https://github.com/civicrm/civicrm-core/pull/27017))** +- **Bump recommended PHP version to 8.1, min recommendation to 8.0 + ([26985](https://github.com/civicrm/civicrm-core/pull/26985))** -- **add Note as an afformEntity ([27110](https://github.com/civicrm/civicrm-core/pull/27110))** +- **Add code comments re the cleanup I didn't do + ([27451](https://github.com/civicrm/civicrm-core/pull/27451))** -- **APIv4 Explorer - Keep list of suffixes in-sync ([27109](https://github.com/civicrm/civicrm-core/pull/27109))** +- **Fold deprecated function back into the caller + ([27345](https://github.com/civicrm/civicrm-core/pull/27345))** -- **Afform - Enhance returned values from AfformSubmission.afform_name options ([27108](https://github.com/civicrm/civicrm-core/pull/27108))** +- **Replace another badly named undeclared property + ([27215](https://github.com/civicrm/civicrm-core/pull/27215))** -- **Set weight on Note Form ([27106](https://github.com/civicrm/civicrm-core/pull/27106))** +- **Move no-longer-shared function back to it's form + ([27213](https://github.com/civicrm/civicrm-core/pull/27213))** -- **Make import parser external ID error message more helpful ([27103](https://github.com/civicrm/civicrm-core/pull/27103))** +- **Fold private function back into calling function + ([27145](https://github.com/civicrm/civicrm-core/pull/27145))** -- **windows fix for CRM_Utils_File::isChildPath ([27102](https://github.com/civicrm/civicrm-core/pull/27102))** +- **Further fix forms to full form flow + ([27256](https://github.com/civicrm/civicrm-core/pull/27256))** -- **dev/core#4509 Fix link conditionals when using current_domain for dom… ([27093](https://github.com/civicrm/civicrm-core/pull/27093))** +- **Move form specific code to relevant form (rather than access + mostly-undeclared property) + ([27069](https://github.com/civicrm/civicrm-core/pull/27069))** -- **ActionScheduleTest - Update for compatibility with PHPUnit 9 ([27101](https://github.com/civicrm/civicrm-core/pull/27101))** +- **Extract `getDiscountID()` + ([27049](https://github.com/civicrm/civicrm-core/pull/27049) and + [27050](https://github.com/civicrm/civicrm-core/pull/27050))** -- **Fix Standalone error handler: remove 5th argument ([27099](https://github.com/civicrm/civicrm-core/pull/27099))** +- **ScheduledReminders - Rewrite entire form using metadata + ([27003](https://github.com/civicrm/civicrm-core/pull/27003))** -- **[NFC] Add some email processor hooks tests ([27097](https://github.com/civicrm/civicrm-core/pull/27097))** +- **Move form-specific check to form + ([27068](https://github.com/civicrm/civicrm-core/pull/27068))** -- **Allow for configuration of activity contacts, type and campaign for email-to-activity ([26905](https://github.com/civicrm/civicrm-core/pull/26905))** +- **Simplify queries of NOT NULL fields + ([27008](https://github.com/civicrm/civicrm-core/pull/27008))** -- **Remove unusable assigns (copy & paste I believe) ([26952](https://github.com/civicrm/civicrm-core/pull/26952))** +- **Clarify doc-block for form variable + ([27051](https://github.com/civicrm/civicrm-core/pull/27051))** -- **Fix Manage Events breadcrumb regression ([27095](https://github.com/civicrm/civicrm-core/pull/27095))** +- **Separate getStatusMessage function + ([27015](https://github.com/civicrm/civicrm-core/pull/27015))** -- **Add custom data when creating smart group ([23312](https://github.com/civicrm/civicrm-core/pull/23312))** +- **added details for sebalis in contributor-key.xml + ([27039](https://github.com/civicrm/civicrm-core/pull/27039))** -- **dev/core#4425 Override currentPath for Standalone ([27040](https://github.com/civicrm/civicrm-core/pull/27040))** +- **Move function to only form that calls it + ([27299](https://github.com/civicrm/civicrm-core/pull/27299))** -- **Afform - Enable creating event from a template ([27058](https://github.com/civicrm/civicrm-core/pull/27058))** +- **Unconditionally assign smarty variable + ([27300](https://github.com/civicrm/civicrm-core/pull/27300))** -- **standalone: add error handler ([26965](https://github.com/civicrm/civicrm-core/pull/26965))** +- **Unconditionally assign smarty-var, remove unused variables + ([26051](https://github.com/civicrm/civicrm-core/pull/26051))** -- **Fix #4467 - Import caching issue ([27076](https://github.com/civicrm/civicrm-core/pull/27076))** +- **Make function private, after universe search in EmailProcessor + ([27309](https://github.com/civicrm/civicrm-core/pull/27309))** -- **Pass in function values, rather than handling by form-name ([27092](https://github.com/civicrm/civicrm-core/pull/27092))** +- **Make function private to reflect usage + ([27308](https://github.com/civicrm/civicrm-core/pull/27308))** -- **Move form specific code to relevant form (rather than access mostly-undeclared property) ([27069](https://github.com/civicrm/civicrm-core/pull/27069))** +- **Declare CRM_Core_Exception in cleanDir, add type hints + ([27306](https://github.com/civicrm/civicrm-core/pull/27306))** -- **fatal error fixes in PHP 8.1 ([27077](https://github.com/civicrm/civicrm-core/pull/27077))** +- **Make splitjob function static & private, Remove a couple of unused variables + ([27304](https://github.com/civicrm/civicrm-core/pull/27304))** -- **5.65 ([27082](https://github.com/civicrm/civicrm-core/pull/27082))** +- **Do the todo (move the function to the trait as suggested + ([27063](https://github.com/civicrm/civicrm-core/pull/27063))** -- **Fix undeclared property - use locally scoped variable ([27090](https://github.com/civicrm/civicrm-core/pull/27090))** +- **Api4 - Remove unused key from getFields + ([27060](https://github.com/civicrm/civicrm-core/pull/27060))** -- **Remove use of sometimes-php8-warning causing `_quickConfig` property…(use `isQuickConfig()` function) ([27070](https://github.com/civicrm/civicrm-core/pull/27070))** +- **CRM_Core_Form - Remove unused protected properties + ([27191](https://github.com/civicrm/civicrm-core/pull/27191))** -- **Extract `getDiscountID()` ([27049](https://github.com/civicrm/civicrm-core/pull/27049))** +- **Remove isset from Arb.xml + ([27224](https://github.com/civicrm/civicrm-core/pull/27224))** -- **ScheduledReminders - Rewrite entire form using metadata ([27003](https://github.com/civicrm/civicrm-core/pull/27003))** +- **Remove some copy & paste code + ([27214](https://github.com/civicrm/civicrm-core/pull/27214))** -- **Concurrency Tests - Update ExternalBatch for symfony/proces v4.1+ (esp Drupal 10) ([27072](https://github.com/civicrm/civicrm-core/pull/27072))** +- **Remove Html2text security check, package deleted + ([27218](https://github.com/civicrm/civicrm-core/pull/27218))** -- **5.65 ([27074](https://github.com/civicrm/civicrm-core/pull/27074))** +- **Remove decade-only typo + ([27219](https://github.com/civicrm/civicrm-core/pull/27219))** -- **Fix permission check on Contribution form, clarify underlying functions ([27013](https://github.com/civicrm/civicrm-core/pull/27013))** +- **Remove some unnecessary variables & pass by ref + ([27273](https://github.com/civicrm/civicrm-core/pull/27273))** -- **Move form-specific check to form ([27068](https://github.com/civicrm/civicrm-core/pull/27068))** +- **Remove unused profiles from offline event receipts + ([27150](https://github.com/civicrm/civicrm-core/pull/27150))** -- **Test fix, towards full form flow ([27067](https://github.com/civicrm/civicrm-core/pull/27067))** +- **Remove unused CONST + ([27301](https://github.com/civicrm/civicrm-core/pull/27301))** -- **Api4 - Remove unused key from getFields ([27060](https://github.com/civicrm/civicrm-core/pull/27060))** +- **Remove always-true empty check + ([27193](https://github.com/civicrm/civicrm-core/pull/27193))** -- **Do the todo (move the function to the trait as suggested ([27063](https://github.com/civicrm/civicrm-core/pull/27063))** +- **Remove unusable assigns (copy & paste I believe) + ([26952](https://github.com/civicrm/civicrm-core/pull/26952))** -- **[REF] SearchKit - Cleanup upgrade code ([27042](https://github.com/civicrm/civicrm-core/pull/27042))** +- **Remove broken deprecated function + ([27163](https://github.com/civicrm/civicrm-core/pull/27163))** -- **Remove line that gives error & does nothing ([27064](https://github.com/civicrm/civicrm-core/pull/27064))** +- **Remove use of sometimes-php8-warning causing `_quickConfig` property… (use + `isQuickConfig()` function) + ([27070](https://github.com/civicrm/civicrm-core/pull/27070))** -- **Simplify queries of NOT NULL fields ([27008](https://github.com/civicrm/civicrm-core/pull/27008))** +- **Remove line that gives error & does nothing + ([27064](https://github.com/civicrm/civicrm-core/pull/27064))** -- **Manage event - fix too many brackets ([27061](https://github.com/civicrm/civicrm-core/pull/27061))** +- **Remove long-broken function + ([27317](https://github.com/civicrm/civicrm-core/pull/27317))** -- **5.65 ([27062](https://github.com/civicrm/civicrm-core/pull/27062))** +- **Remove unused variable + ([27350](https://github.com/civicrm/civicrm-core/pull/27350))** -- **Fix event templates to use end_date token ([27005](https://github.com/civicrm/civicrm-core/pull/27005))** +- **Remove unused parameter, pass by reference in private function with one + caller ([27320](https://github.com/civicrm/civicrm-core/pull/27320))** -- **dev/core#4094 Use statusBounce instead of redirect when cannot delete custom group ([27056](https://github.com/civicrm/civicrm-core/pull/27056))** +- **Remove some unused undefined properties from participant export + ([27298](https://github.com/civicrm/civicrm-core/pull/27298))** -- **(REF) civicrm_data.tpl - Stop using Smarty's {php} ([27052](https://github.com/civicrm/civicrm-core/pull/27052))** +- **Remove unneeded descriptions and clean up on search forms + ([26292](https://github.com/civicrm/civicrm-core/pull/26292))** -- **(NFC) Test class - Fix inconsistent namespace ([27055](https://github.com/civicrm/civicrm-core/pull/27055))** +- **Remove do-nothing code. + ([27047](https://github.com/civicrm/civicrm-core/pull/27047))** -- **Unit tests - replace deprecated function with newer one ([27032](https://github.com/civicrm/civicrm-core/pull/27032))** +- **Remove excessive data handling & some unused variables + ([27019](https://github.com/civicrm/civicrm-core/pull/27019))** -- **Fix PHP 8.0 implode on ContributionBase ([27053](https://github.com/civicrm/civicrm-core/pull/27053))** +- **Remove unused parse function for Incoming Mail + ([27011](https://github.com/civicrm/civicrm-core/pull/27011))** -- **(dev/core#4232) Afform submission schema changes ([27041](https://github.com/civicrm/civicrm-core/pull/27041))** +- **Remove unreachable page + ([27305](https://github.com/civicrm/civicrm-core/pull/27305))** -- **Clarify doc-block for form variable ([27051](https://github.com/civicrm/civicrm-core/pull/27051))** +- **Remove, extraneous: punctuation? + ([27297](https://github.com/civicrm/civicrm-core/pull/27297))** -- **Remove do-nothing code. ([27047](https://github.com/civicrm/civicrm-core/pull/27047))** +- **Delete html2text, not in use + ([370](https://github.com/civicrm/civicrm-packages/pull/370))** -- **Show which extension has a parse error in info.xml ([27028](https://github.com/civicrm/civicrm-core/pull/27028))** +- **[REF] SearchKit - Cleanup upgrade code + ([27042](https://github.com/civicrm/civicrm-core/pull/27042))** -- **Issue dev/backdrop#80: global $language should be an object. ([27038](https://github.com/civicrm/civicrm-core/pull/27038))** +- **(REF) civicrm_data.tpl - Stop using Smarty's {php} + ([27052](https://github.com/civicrm/civicrm-core/pull/27052))** -- **E-notice fix, don't skip loading NULL fields ([27048](https://github.com/civicrm/civicrm-core/pull/27048))** +- **[REF] APIv4 - Simplify entity name gathering + ([27177](https://github.com/civicrm/civicrm-core/pull/27177))** -- **5.65 ([27045](https://github.com/civicrm/civicrm-core/pull/27045))** +- **[REF] Remove unreachable handling + ([27192](https://github.com/civicrm/civicrm-core/pull/27192))** -- **added details for sebalis in contributor-key.xml ([27039](https://github.com/civicrm/civicrm-core/pull/27039))** +- **[REF] - Cleanup managed entities to all go through `hook_civicrm_managed` + and deprecate unnamed entities + ([27254](https://github.com/civicrm/civicrm-core/pull/27254))** -- **dev/core#4487 Alternative option: Fix paymentBlock url concat ([27037](https://github.com/civicrm/civicrm-core/pull/27037))** +- **[REF] Convert from session status to deprecation warning + ([27255](https://github.com/civicrm/civicrm-core/pull/27255))** -- **(dev/core#4485) Replace Event Total by Total Amount ([27024](https://github.com/civicrm/civicrm-core/pull/27024))** +- **[REF] Fix Notice Errors on ACL listing page by assigning fields consistently + ([27164](https://github.com/civicrm/civicrm-core/pull/27164))** -- **Use phpunit when running on php 7.3+ ([27036](https://github.com/civicrm/civicrm-core/pull/27036))** +- **[REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation + handling ([27344](https://github.com/civicrm/civicrm-core/pull/27344))** -- **E:: to make it look after the extension's translation ([27027](https://github.com/civicrm/civicrm-core/pull/27027))** +- **Revert "[REF] Update Zetacomponents/mail to be 1.9.5 to fix email validation + handling" ([27394](https://github.com/civicrm/civicrm-core/pull/27394))** -- **Path fixes ([27026](https://github.com/civicrm/civicrm-core/pull/27026))** +- **REF - Simplify inline conditionals with Elvis + ([27141](https://github.com/civicrm/civicrm-core/pull/27141))** -- **Re-enable any queues that were disabled for background processing, on end ([27023](https://github.com/civicrm/civicrm-core/pull/27023))** +- **[REF] Ensure that any NULL values in the title field are fixed prior to + changing the column + ([27368](https://github.com/civicrm/civicrm-core/pull/27368))** -- **Remove unneeded descriptions and clean up on search forms ([26292](https://github.com/civicrm/civicrm-core/pull/26292))** +- **[REF] Improve cron job handling when there is an invalid report instance id + passed to mail_report job + ([27185](https://github.com/civicrm/civicrm-core/pull/27185))** -- **Wording changes in the Unsubscribe form ([27022](https://github.com/civicrm/civicrm-core/pull/27022))** +- **[REF] Fix infinite loop when trying to load a report instance with an id + that does not exist + ([27184](https://github.com/civicrm/civicrm-core/pull/27184))** -- **Separate getStatusMessage function ([27015](https://github.com/civicrm/civicrm-core/pull/27015))** +- **[REF] PCP - Update BAO to use writeRecord/deleteRecord + ([27127](https://github.com/civicrm/civicrm-core/pull/27127))** -- **5.65 to master ([27021](https://github.com/civicrm/civicrm-core/pull/27021))** +- **[REF] Add pseudoconstant suffixes to xml/dao + ([27172](https://github.com/civicrm/civicrm-core/pull/27172))** -- **Remove excessive data handling & some unused variables ([27019](https://github.com/civicrm/civicrm-core/pull/27019))** +- **[REF] 🏌️ CRM_Utils_Array cleanup + ([27187](https://github.com/civicrm/civicrm-core/pull/27187))** -- **5.65 ([27020](https://github.com/civicrm/civicrm-core/pull/27020))** +- **[NFC] Be more confident and informative in the comment for + CRM_Core_Session::set() + ([27313](https://github.com/civicrm/civicrm-core/pull/27313))** -- **Update a couple more tpl variables to tokens ([27004](https://github.com/civicrm/civicrm-core/pull/27004))** +- **[NFC] PhpStorm - Add more APIv4 function argument hints + ([27262](https://github.com/civicrm/civicrm-core/pull/27262))** -- **5.65 to master ([27014](https://github.com/civicrm/civicrm-core/pull/27014))** +- **[NFC] Test - Add return type hints to test functions + ([27186](https://github.com/civicrm/civicrm-core/pull/27186))** -- **Remove unused parse function for Incoming Mail ([27011](https://github.com/civicrm/civicrm-core/pull/27011))** +- **(NFC) Test class - Fix inconsistent namespace + ([27055](https://github.com/civicrm/civicrm-core/pull/27055))** -- **5.65 ([27009](https://github.com/civicrm/civicrm-core/pull/27009))** +- **[NFC] Add some email processor hooks tests + ([27097](https://github.com/civicrm/civicrm-core/pull/27097))** -- **Enotice fix ([27002](https://github.com/civicrm/civicrm-core/pull/27002))** +- **Remove old tests that only test test functions + ([27208](https://github.com/civicrm/civicrm-core/pull/27208))** -- **E-notice fix ([27001](https://github.com/civicrm/civicrm-core/pull/27001))** +- **Concurrency Tests - Update ExternalBatch for symfony/proces v4.1+ (esp + Drupal 10) ([27072](https://github.com/civicrm/civicrm-core/pull/27072))** -- **Bump recommended PHP version to 8.1, min recommendation to 8.0 ([26985](https://github.com/civicrm/civicrm-core/pull/26985))** +- **Simplify test + ([27205](https://github.com/civicrm/civicrm-core/pull/27205))** -- **dev/core/#3361 Add Change Selections button when viewing price set registrations with no contribution associated ([24657](https://github.com/civicrm/civicrm-core/pull/24657))** +- **Test fix, towards full form flow + ([27067](https://github.com/civicrm/civicrm-core/pull/27067))** -- **phpunit.xml.dist - Fix compatibility with phpunit9 ([670](https://github.com/civicrm/civicrm-drupal/pull/670))** +- **Remove never called testCleanUp function + ([27206](https://github.com/civicrm/civicrm-core/pull/27206))** -- **Compatibility framework including URL support for Polylang ([301](https://github.com/civicrm/civicrm-wordpress/pull/301))** +- **Add test & fix for getOptions on options with a domain id + ([27161](https://github.com/civicrm/civicrm-core/pull/27161))** -- **Fix warning caused by passing null to strpos ([300](https://github.com/civicrm/civicrm-wordpress/pull/300))** +- **Test Cleanup - Refactor out uses of deprecated `callAPIAndDocument()` + ([27176](https://github.com/civicrm/civicrm-core/pull/27176))** -- **5.65 ([371](https://github.com/civicrm/civicrm-packages/pull/371))** +- **Remove some unused parameters in test class + ([27166](https://github.com/civicrm/civicrm-core/pull/27166))** -- **Delete html2text, not in use ([370](https://github.com/civicrm/civicrm-packages/pull/370))** +- **ActionScheduleTest - Update for compatibility with PHPUnit 9 + ([27101](https://github.com/civicrm/civicrm-core/pull/27101))** -- **kcfinder - Fix PHP 8.1 warnings from fastImage ([368](https://github.com/civicrm/civicrm-packages/pull/368))** +- **Unit tests - replace deprecated function with newer one + ([27032](https://github.com/civicrm/civicrm-core/pull/27032))** -- **kcfinder - Fix cookies when running on alt HTTP port ([367](https://github.com/civicrm/civicrm-packages/pull/367))** +- **Fix forms to call full form flow + ([27250](https://github.com/civicrm/civicrm-core/pull/27250))** -- **Smarty - Fix e-notice in modifier.escape.php ([366](https://github.com/civicrm/civicrm-packages/pull/366))** +- **Add form helper for tests + ([27267](https://github.com/civicrm/civicrm-core/pull/27267))** -## Miscellany +- **Fix participantTest to not use transactions + ([27260](https://github.com/civicrm/civicrm-core/pull/27260))** + +- **Participant Form Test fixes + ([27245](https://github.com/civicrm/civicrm-core/pull/27245))** + +- **Superficial clean up in test class + ([27238](https://github.com/civicrm/civicrm-core/pull/27238))** + +- **Cleanup signature for test function `getFormObject` + ([27225](https://github.com/civicrm/civicrm-core/pull/27225))** + +- **Switch tests to use createTestEntity for payment processor + ([27217](https://github.com/civicrm/civicrm-core/pull/27217))** + +- **Add email helper to new form test helper + ([27384](https://github.com/civicrm/civicrm-core/pull/27384))** + +- **Fix financial transfer test to use form flow, allow all pending to transfer + ([27281](https://github.com/civicrm/civicrm-core/pull/27281))** + +- **Fix token consistency test with new lines and
s + ([27314](https://github.com/civicrm/civicrm-core/pull/27314))** + +- **Trivial cleanup in EmailProcessorTest + ([27307](https://github.com/civicrm/civicrm-core/pull/27307))** + +- **[test] [cleanup] Move _REQUEST cleanup to tearDown + ([27285](https://github.com/civicrm/civicrm-core/pull/27285))** + +- **Update further tests to additional form flow, lock in bug fix + ([27279](https://github.com/civicrm/civicrm-core/pull/27279))** + +- **Minor cleanup in test + ([27282](https://github.com/civicrm/civicrm-core/pull/27282))** ## Credits This release was developed by the following code authors: -AGH Strategies - Alice Frumin, Andie Hunt; ALL IN APPLI admin; Artful Robot - Rich Lott; cdhassell; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; civiservice.de - Sebastian Lisken; Coop SymbioTIC - Mathieu Lutfy; Dave D; Humanists UK - Andrew West;; JMA Consulting - Seamus Lee; Just Hope - Phil Morice Brubaker; Lemniscus - Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Robert J. Lang; SebastianLisken; Squiffle Consulting - Aidan Saunders; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Damilare Adedoyin, Eileen McNaughton, Wenjun Fan; Wildsight - Lars Sander-Green +AGH Strategies - Alice Frumin, Andie Hunt; ALL IN APPLI admin; Artful Robot - +Rich Lott; cdhassell; Christian Wach; Circle Interactive - Pradeep Nayak; +CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; civiservice.de - +Sebastian Lisken; Coop SymbioTIC - Mathieu Lutfy; Dave D; Humanists UK - Andrew +West; JMA Consulting - Seamus Lee; Just Hope - Phil Morice Brubaker; Lemniscus - +Noah Miller; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - +Matthew Wire; Progressive Technology Project - Jamie McClelland; Robert J. Lang; +SebastianLisken; Squiffle Consulting - Aidan Saunders; Third Sector Design - +Kurund Jalmi; Wikimedia Foundation - Damilare Adedoyin, Eileen McNaughton, +Wenjun Fan; Wildsight - Lars Sander-Green Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -AGH Strategies - Alice Frumin; Agileware - Justin Freeman; ALL IN APPLI admin; Andy Clark; Artful Robot - Rich Lott; ASMAC (American Society of Music Arrangers and Composers) - Jeff Kellem; Australian Greens - Andrew Cormick-Dockery, John Twyman; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; civiservice.de - Sebastian Lisken; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; GitHub-user-29; Guydn; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Korlon - Stuart Gaston; Lemniscus - Noah Miller; Megaphone Technology Consulting - Brienne Kordis, Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, William Mortada; Tobias Voigt; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sander-Green; yurg +Agileware - Justin Freeman; Andy Clark; ASMAC (American Society of Music +Arrangers and Composers) - Jeff Kellem; Australian Greens - Andrew +Cormick-Dockery, John Twyman; Francesc Bassas i Bullich; Freeform Solutions - +Herb van den Dool; Guydn; JMA Consulting - Joe Murray, Monish Deb; Korlon - +Stuart Gaston; Megaphone Technology Consulting - Brienne Kordis; Tadpole +Collective - Kevin Cristiano; Third Sector Design - William Mortada; Tobias +Voigt; yurg ## Feedback -- 2.25.1