From 8dec31659de2c41fde4f6d50ddf3c0ff6f960d8e Mon Sep 17 00:00:00 2001 From: Alice Frumin Date: Tue, 12 Oct 2021 13:32:59 -0400 Subject: [PATCH] [NFC] first pass at 5.43 release notes --- contributor-key.yml | 7 + release-notes/5.43.0.md | 1216 ++++++++++++++++++++++++++------------- 2 files changed, 832 insertions(+), 391 deletions(-) diff --git a/contributor-key.yml b/contributor-key.yml index d331b17bbf..cb5a8441d8 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -150,6 +150,10 @@ name : Andrew Wasson organization: Luna Design +- github : awestuk + organization: Humanists UK + name : Andrew West; + - github : awzilkie name : Adam Zilkie @@ -1155,6 +1159,9 @@ - github : ray-wright name : Ray Wright +- github : rbaugh + name : Richard Baugh + - github : reecebenson name : Reece Benson organization: Circle Interactive diff --git a/release-notes/5.43.0.md b/release-notes/5.43.0.md index 26fb7fa8ed..582b85f49e 100644 --- a/release-notes/5.43.0.md +++ b/release-notes/5.43.0.md @@ -13,760 +13,1194 @@ Released November 3, 2021 | *Does this version...?* | | |:--------------------------------------------------------------- |:-------:| -| Fix security vulnerabilities? | | -| Change the database schema? | | -| Alter the API? | | -| Require attention to configuration options? | | -| Fix problems installing or upgrading to a previous version? | | -| Introduce features? | | -| Fix bugs? | | +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| **Require attention to configuration options?** | **yes** | +| **Fix problems installing or upgrading to a previous version?** | **yes** | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | ## Features ### Core CiviCRM -- **crm- Missing Summary ([21443](https://github.com/civicrm/civicrm-core/pull/21443))** +- **Add sort functionality to event summary report + ([21501](https://github.com/civicrm/civicrm-core/pull/21501))** -- **CRM-19236 Missing Summary ([21597](https://github.com/civicrm/civicrm-core/pull/21597))** + Improves Event Summary Report by making it possible to sort columns. -## Bugs resolved - -### Core CiviCRM - -- **Afform - fix loading custom fields for search displays ([21792](https://github.com/civicrm/civicrm-core/pull/21792))** - -- **Remove case token listing from contact email task ([21787](https://github.com/civicrm/civicrm-core/pull/21787))** - -- **Fix another instance of double token rendering ([21788](https://github.com/civicrm/civicrm-core/pull/21788))** - -- **Remove call to legacy getTokenDetails ([21786](https://github.com/civicrm/civicrm-core/pull/21786))** - -- **Remove extraneous call to legacy token processing in sms task ([21785](https://github.com/civicrm/civicrm-core/pull/21785))** - -- **Contact tokens - use metadata & standardised rendering ([21761](https://github.com/civicrm/civicrm-core/pull/21761))** - -- **dev/core#2901 Fix send email regression ([21781](https://github.com/civicrm/civicrm-core/pull/21781))** - -- **Enotice fix ([21782](https://github.com/civicrm/civicrm-core/pull/21782))** - -- **Fix contact tokens class to load using apiv4 ([21780](https://github.com/civicrm/civicrm-core/pull/21780))** +- **Add REGEXP/NOT REGEXP operators to API4 + ([dev/core#2793](https://lab.civicrm.org/dev/core/-/issues/2793): + [21288](https://github.com/civicrm/civicrm-core/pull/21288))** -- **[REF] Extract function for re-use ([21778](https://github.com/civicrm/civicrm-core/pull/21778))** + Makes it so users can use regular expressions operators in APIv4. -- **(dev/mail#83) message_admin - Cleanup "Preview" dialogs (properly) ([21772](https://github.com/civicrm/civicrm-core/pull/21772))** +- **APIv4 - Add Contact.age_years extra field to make age calculations easy + ([21718](https://github.com/civicrm/civicrm-core/pull/21718))** -- **APIv4 - Minor code cleanup to improve efficiency in CreateApi4RequestSubscriber ([21775](https://github.com/civicrm/civicrm-core/pull/21775))** + Adds a calculated field to APIv4 which makes it simple to return or filter on + a contact's age. -- **(dev/mail#83) message_admin - When using "Preview", use the 'locale' from the editing UI ([21773](https://github.com/civicrm/civicrm-core/pull/21773))** +- **APIv4 - Add support for sql equations + ([21551](https://github.com/civicrm/civicrm-core/pull/21551))** -- **(dev/mail#83) message_admin - Save automatically when adding/removing drafts ([21774](https://github.com/civicrm/civicrm-core/pull/21774))** + Allows equations e.g. (1 + 1) as sql expressions in APIv4 queries. -- **Afform Admin add link icon & template cleanup ([21764](https://github.com/civicrm/civicrm-core/pull/21764))** +- **Apiv4 entity parity (Work Towards + [dev/core#2486](https://lab.civicrm.org/dev/core/-/issues/2486): + [21355](https://github.com/civicrm/civicrm-core/pull/21355) and + [21500](https://github.com/civicrm/civicrm-core/pull/21500))** -- **Remove stray token code ([21763](https://github.com/civicrm/civicrm-core/pull/21763))** + Adds APIv4 entity support for the PrintLabel and Survey entities. -- **[REF] APIv4 - Use event instead of hardcoded list to resolve entityName to className ([21771](https://github.com/civicrm/civicrm-core/pull/21771))** +- **activity import: prepend custom group title to custom fields + ([21318](https://github.com/civicrm/civicrm-core/pull/21318))** -- **Fix token regression - re-add support for empty tokens ([21756](https://github.com/civicrm/civicrm-core/pull/21756))** + Makes it possible to distinguish between core and custom fields on the + Activity Import screen. -- **[NFC/Unit Test] Remove wombats and bananas from sites/default/files/civicrm/custom ([21768](https://github.com/civicrm/civicrm-core/pull/21768))** +- **No way to distinguish the core and custom fields on Find and Merge Duplicate + Contacts page + ([dev/core#2766](https://lab.civicrm.org/dev/core/-/issues/2766): + [21728](https://github.com/civicrm/civicrm-core/pull/21728))** -- **dev/core#2836 install flexmailer by default on new installs [token] ([21522](https://github.com/civicrm/civicrm-core/pull/21522))** + Makes it possible to distinguish between core and custom fields on the Find + and Merge Duplicate Contacts page. -- **Reference token metadata internally fix custom tokens label bug ([21767](https://github.com/civicrm/civicrm-core/pull/21767))** +- **Support participant & membership tokens in send-email tasks + ([21745](https://github.com/civicrm/civicrm-core/pull/21745))** -- **[NFC] Add test for new case email url ([21766](https://github.com/civicrm/civicrm-core/pull/21766))** + Makes it so users can use participant & membership tokens in send-email tasks. -- **ensure blank note date in UI defaults to current date. ([21717](https://github.com/civicrm/civicrm-core/pull/21717))** +- **Add participant tokens to pdf task + ([21695](https://github.com/civicrm/civicrm-core/pull/21695))** -- **[REF] Move getCustomFieldTokens to the tokens class, annotate more deprecations ([21660](https://github.com/civicrm/civicrm-core/pull/21660))** + Makes it so users can use participant tokens in PDF tasks. -- **fixes event#64: Send event confirmation to submitted email address ([21669](https://github.com/civicrm/civicrm-core/pull/21669))** +- **Meta - token usage 5.43 standardisation effort + ([dev/core#2864](https://lab.civicrm.org/dev/core/-/issues/2864): + [21428](https://github.com/civicrm/civicrm-core/pull/21428), + [21605](https://github.com/civicrm/civicrm-core/pull/21605), + [21713](https://github.com/civicrm/civicrm-core/pull/21713), + [21584](https://github.com/civicrm/civicrm-core/pull/21584), + [21523](https://github.com/civicrm/civicrm-core/pull/21523), + [21706](https://github.com/civicrm/civicrm-core/pull/21706), + [21530](https://github.com/civicrm/civicrm-core/pull/21530) and + [21537](https://github.com/civicrm/civicrm-core/pull/21537))** -- **Master only regression - fix empty token date ([21704](https://github.com/civicrm/civicrm-core/pull/21704))** + Standardizes Token usage. -- **[NFC] Afform - Add array shape annotations to FormDataModel ([21765](https://github.com/civicrm/civicrm-core/pull/21765))** +- **Add {domain.now}, supporting |crmDate + ([21531](https://github.com/civicrm/civicrm-core/pull/21531))** -- **Afform - Fix chainSelect to work with anonymous users ([21759](https://github.com/civicrm/civicrm-core/pull/21759))** + Adds new token {domain.now} that provides the current date. -- **dev/core#2650 switch contact.individual_prefix tokens to contact.prefix_id:label (former still works) ([21705](https://github.com/civicrm/civicrm-core/pull/21705))** +- **Afform - Use search display name as field prefix for url-based field + defaults ([21645](https://github.com/civicrm/civicrm-core/pull/21645))** -- **Support participant & membership tokens in send-email tasks ([21745](https://github.com/civicrm/civicrm-core/pull/21745))** + Makes field prefix optional for Afform url-based defaults, and uses search + display name as prefix for search forms. -- **Remove function duplicated in error ([21758](https://github.com/civicrm/civicrm-core/pull/21758))** +- **Afform - Accept default field values from the url + ([21606](https://github.com/civicrm/civicrm-core/pull/21606))** -- **Remove now-obsolete getPseudoTokens ([21760](https://github.com/civicrm/civicrm-core/pull/21760))** + Allows default Afform field values to be set from the url. -- **fixes core#2874 - Search Builder on State/Province with Primary and IN ([21646](https://github.com/civicrm/civicrm-core/pull/21646))** +- **Afform Admin add link icon & template cleanup + ([21764](https://github.com/civicrm/civicrm-core/pull/21764))** -- **Tokens - Hide more sophisticated tokens. Refactor to use "$this->tokenMetadata". ([21706](https://github.com/civicrm/civicrm-core/pull/21706))** + Minor cleanup to improve template efficiency, style afform page link, and add + a page title. -- **5.42 ([21755](https://github.com/civicrm/civicrm-core/pull/21755))** +- **Search kit - default filter - primary + ([dev/core#2852](https://lab.civicrm.org/dev/core/-/issues/2852): + [21574](https://github.com/civicrm/civicrm-core/pull/21574))** -- **Merge 5.42 to master ([21753](https://github.com/civicrm/civicrm-core/pull/21753))** + Adds is_primary as a default SearchKit filter. -- **Flush metadata cache on event edit ([21740](https://github.com/civicrm/civicrm-core/pull/21740))** +- **SearchKit - Add UI for arithmetic equations + ([21600](https://github.com/civicrm/civicrm-core/pull/21600))** -- **Fix regression from enotice fixes ([21743](https://github.com/civicrm/civicrm-core/pull/21743))** + Allows adding, subtracting, dividing and multiplying any number of values in + SearchKit. -- **(dev/mail#83) message_admin - Multiple improvements to the "Preview" dialog ([21747](https://github.com/civicrm/civicrm-core/pull/21747))** +- **SearchKit - Support multiple arguments to field transformations aka SQL + functions ([21528](https://github.com/civicrm/civicrm-core/pull/21528) and + [21535](https://github.com/civicrm/civicrm-core/pull/21535))** -- **Fix for dev/core#2885 ([21716](https://github.com/civicrm/civicrm-core/pull/21716))** + Enhances the SearchKit UI to allow multiple fields to be acted upon at once in + a function. -- **System status checks only shows 25 messages ([21748](https://github.com/civicrm/civicrm-core/pull/21748))** +- **SearchKit - Add pseudo-fields for row number and current user + ([21435](https://github.com/civicrm/civicrm-core/pull/21435))** -- **dev/core#2866 Ignore preferred mail format - send to both ([21676](https://github.com/civicrm/civicrm-core/pull/21676))** + Makes a couple calculated fields available for use as columns or tokens in + SearchKit. -- **Afform - Fix chain-select of contry and address to work on SearchKit forms ([21749](https://github.com/civicrm/civicrm-core/pull/21749))** +- **SearchKit - Support custom fields in bridge join entities + ([21424](https://github.com/civicrm/civicrm-core/pull/21424))** -- **(dev/core#2638) Civi::format() - Add helper for formatting ([21599](https://github.com/civicrm/civicrm-core/pull/21599))** + Makes it possible to use relationship custom data throughout Search Kit. -- **5.42 to master ([21744](https://github.com/civicrm/civicrm-core/pull/21744))** +- **SearchKit & Afform - Use Bootstrap table styles on admin screens + ([21405](https://github.com/civicrm/civicrm-core/pull/21405) and + [21397](https://github.com/civicrm/civicrm-core/pull/21397))** -- **Fix possibly unefined $form variables in smarty templates ([21735](https://github.com/civicrm/civicrm-core/pull/21735))** + applies Bootstrap table styles to admin tables in SearchKit and Afform. -- **#2892 Replace event type token in action schedule changes event.event_type_id to participant.event_type_id:label. But should be event.event_type_id to event.event_type_id:label ([21738](https://github.com/civicrm/civicrm-core/pull/21738))** +- **SearchKit - Filter search listing by creator + ([21388](https://github.com/civicrm/civicrm-core/pull/21388))** -- **For latest iteration of case email form, don't fail when there's no To contact ([21737](https://github.com/civicrm/civicrm-core/pull/21737))** + Makes it so users can filter the search listing by creator. -- **Removes duplicate replace on event fee amount. ([21739](https://github.com/civicrm/civicrm-core/pull/21739))** +- **SearchKit - enable tags for Saved Searches + ([21376](https://github.com/civicrm/civicrm-core/pull/21376))** -- **5.42 to master ([21736](https://github.com/civicrm/civicrm-core/pull/21736))** + Enables tags for saved searches in searchkit. -- **Use Case form for case email action ([21688](https://github.com/civicrm/civicrm-core/pull/21688))** +- **SearchKit - Add 'array' option to download API and add test + ([21363](https://github.com/civicrm/civicrm-core/pull/21363))** -- **Enotice fix ([21732](https://github.com/civicrm/civicrm-core/pull/21732))** + Adds a new option to the SearchKit "Download" api to return a normal array + result, which makes testing easier. -- **Fixes dev/core#2888 SearchKit download CSV broken ([21724](https://github.com/civicrm/civicrm-core/pull/21724))** +- **SearchKit - Sortable column fixes/improvements + ([21720](https://github.com/civicrm/civicrm-core/pull/21720))** -- **[NFC] Unit test fixes for the problem of quickform rules going missing ([21725](https://github.com/civicrm/civicrm-core/pull/21725))** + Fixes sortable column headers on SearchKit admin tables and makes + click-sortable column headers configurable. -- **Enotice fixes ([21723](https://github.com/civicrm/civicrm-core/pull/21723))** +- **Add message admin to dist + ([21670](https://github.com/civicrm/civicrm-core/pull/21670))** -- **fixes financial#181 - don't crash when displaying recurring contributions whose 'template' has no line items ([21729](https://github.com/civicrm/civicrm-core/pull/21729))** + Adds Message admin extension. -- **SearchKit - tweak button styles for shorditch ([21726](https://github.com/civicrm/civicrm-core/pull/21726))** +- **message_admin - Add titles/hints to hyperlinks + ([21698](https://github.com/civicrm/civicrm-core/pull/21698))** -- **(dev/core#2766) provide way to distinguish the core and custom fields… ([21728](https://github.com/civicrm/civicrm-core/pull/21728))** + Adds help text to links on Message Admin Screen. -- **REF - Remove non-functional code from APIv3 ([21727](https://github.com/civicrm/civicrm-core/pull/21727))** +- **Replace expensive query with cheaper one + ([21426](https://github.com/civicrm/civicrm-core/pull/21426))** -- **Add participant tokens to pdf task ([21695](https://github.com/civicrm/civicrm-core/pull/21695))** + Improves performance. -- **Afform - Use search display name as field prefix for url-based field defaults ([21645](https://github.com/civicrm/civicrm-core/pull/21645))** +- **Add support for CiviCRM date formats in crmDate + ([21508](https://github.com/civicrm/civicrm-core/pull/21508))** -- **Towards full metadata - fully declare 'bespoke' tokens ([21713](https://github.com/civicrm/civicrm-core/pull/21713))** + Adds support for CiviCRM date formats in crmDate. -- **SearchKit - Sortable column fixes/improvements ([21720](https://github.com/civicrm/civicrm-core/pull/21720))** +- **Mailing Unsubscribe Form: Show if email is already unsubscribed + ([21174](https://github.com/civicrm/civicrm-core/pull/21174))** -- **Error about count() on New Email ([21714](https://github.com/civicrm/civicrm-core/pull/21714))** + Improves languaging on the Mailing Unsubscribe form regarding if the email is + already unsubscribed. -- **APIv4 - Add Contact.age_years extra field to make age calculations easy ([21718](https://github.com/civicrm/civicrm-core/pull/21718))** +- **Change Do Not SMS privacy icon + ([dev/core#2754](https://lab.civicrm.org/dev/core/-/issues/2754): + [21354](https://github.com/civicrm/civicrm-core/pull/21354))** -- **flexmailer - Update `[CiviMail Draft]` prefix to match BAO behavior ([21715](https://github.com/civicrm/civicrm-core/pull/21715))** + Improves usability by improving the Do Not SMS icon. -- **message_admin Style fixes ([21712](https://github.com/civicrm/civicrm-core/pull/21712))** +### CiviContribute -- **Add missing ts ([21711](https://github.com/civicrm/civicrm-core/pull/21711))** +- **Add workflow template for 'recurring edit' workflow + ([21356](https://github.com/civicrm/civicrm-core/pull/21356))** -- **Improve test readability, use schema labels for membership tokens ([21708](https://github.com/civicrm/civicrm-core/pull/21708))** + Adds workflow template for 'recurring edit' workflow -- **message_admin - Fix quirk when using "Create Draft" ([21700](https://github.com/civicrm/civicrm-core/pull/21700))** +- **Can we re-order the 'recur links' + ([dev/core#2843](https://lab.civicrm.org/dev/core/-/issues/2843): + [21529](https://github.com/civicrm/civicrm-core/pull/21529))** -- **NFC - Update code comments ([21675](https://github.com/civicrm/civicrm-core/pull/21675))** + Improves user experience by reordering the contribution recur links. -- **Enotice tpl fix ([21689](https://github.com/civicrm/civicrm-core/pull/21689))** +- **View Contribution page, move the Done button to the last button, currently + shown in the middle + ([21547](https://github.com/civicrm/civicrm-core/pull/21547))** -- **fixes core#2881 - APIv3 replace only replaces the first 25 records ([21681](https://github.com/civicrm/civicrm-core/pull/21681))** + Reorders buttons on the Contribution page to improve user experience. -- **Function cleanup following move to non-static function ([21693](https://github.com/civicrm/civicrm-core/pull/21693))** +- **Replace "Print Invoice" and "Print Invoice and Credit Note" buttons with + label "Download Invoice" and "Download Invoice and Credit Note" + ([21546](https://github.com/civicrm/civicrm-core/pull/21546))** -- **enotice fix ([21702](https://github.com/civicrm/civicrm-core/pull/21702))** + Improves labels for Invoice buttons. -- **APIv4 - Give every SQL expression a title ([21691](https://github.com/civicrm/civicrm-core/pull/21691))** +### CiviEvent -- **message_admin - Add titles/hints to hyperlinks ([21698](https://github.com/civicrm/civicrm-core/pull/21698))** +- **Custom Participant tokens not working in scheduled reminders + ([dev/core#348](https://lab.civicrm.org/dev/core/-/issues/348): + [21666](https://github.com/civicrm/civicrm-core/pull/21666))** -- ** dev/core#348 Participant tokens on scheduled reminders ([21666](https://github.com/civicrm/civicrm-core/pull/21666))** + Adds support for participant tokens in scheduled reminders. -- **MessageTemplate API - Fix saving of templates with workflow_name sans workflow_id ([21694](https://github.com/civicrm/civicrm-core/pull/21694))** +### CiviMail -- **[REF] Use getSubmittedValue rather than passed values ([21668](https://github.com/civicrm/civicrm-core/pull/21668))** +- **CRM-19236 - Fix Flexmailer extension to support unicode urls + ([21597](https://github.com/civicrm/civicrm-core/pull/21597))** -- **Another enotice fix ([21682](https://github.com/civicrm/civicrm-core/pull/21682))** + Updates flexmailer click tracking to support unicode urls. -- **And another one ([21683](https://github.com/civicrm/civicrm-core/pull/21683))** +- **Install flexmailer by default on new installs + ([dev/core#2836](https://lab.civicrm.org/dev/core/-/issues/2836): + [21522](https://github.com/civicrm/civicrm-core/pull/21522))** -- **Another one bites the dust ([21684](https://github.com/civicrm/civicrm-core/pull/21684))** + Installs flexmailer on new installs by default. -- **Rename test clas to reflect tested class name ([21686](https://github.com/civicrm/civicrm-core/pull/21686))** +### CiviMember -- **[REF] Extract getRedirectUrl method ([21687](https://github.com/civicrm/civicrm-core/pull/21687))** +- **Fix code to use Order api to create Memberships in core forms (Work Towards + [dev/core#2717](https://lab.civicrm.org/dev/core/-/issues/2717): + [21152](https://github.com/civicrm/civicrm-core/pull/21152))** -- **Remove unused paramter ([21685](https://github.com/civicrm/civicrm-core/pull/21685))** + Use order api for new membership create in batch. -- **Remove workflow_id reference ([21671](https://github.com/civicrm/civicrm-core/pull/21671))** +### WordPress integration -- **[NFC] Unit test for file-on-case ([21678](https://github.com/civicrm/civicrm-core/pull/21678))** +- **Add deduping to Quick Add Dashboard Widget + ([256](https://github.com/civicrm/civicrm-wordpress/pull/256))** -- **Remove now-silly function ([21680](https://github.com/civicrm/civicrm-core/pull/21680))** + Adds a simple deduplication check when submitting details via the "Quick Add + Contact to CiviCRM" Dashboard Widget. -- **Update SelfSvcUpdate.php ([21679](https://github.com/civicrm/civicrm-core/pull/21679))** - -- **Return another function to the email trait ([21677](https://github.com/civicrm/civicrm-core/pull/21677))** - -- **[REF] Copy another email trait function back to the trait ([21648](https://github.com/civicrm/civicrm-core/pull/21648))** - -- **ContributionRecur modified_date should update to current_timestamp on update ([21472](https://github.com/civicrm/civicrm-core/pull/21472))** - -- **(dev/drupal#163) Session erroneously getting set to NULL on change ([21403](https://github.com/civicrm/civicrm-core/pull/21403))** - -- **Add message admin to dist ([21670](https://github.com/civicrm/civicrm-core/pull/21670))** - -- **Fix header e-notices ([21633](https://github.com/civicrm/civicrm-core/pull/21633))** - -- **dev/mail#83 - Import current revision of "Message Admin" ([21590](https://github.com/civicrm/civicrm-core/pull/21590))** +## Bugs resolved -- **Tests - update to use postProcess ([21637](https://github.com/civicrm/civicrm-core/pull/21637))** +### Core CiviCRM -- **Fixed issue with sending from do-not-reply@domain address ([21455](https://github.com/civicrm/civicrm-core/pull/21455))** +- **Full Month Names: avoid relying on the operating system's locale for + translation + ([dev/translation#71](https://lab.civicrm.org/dev/translation/-/issues/71): + [21157](https://github.com/civicrm/civicrm-core/pull/21157))** -- **Basic IDE cleanup on test class ([21661](https://github.com/civicrm/civicrm-core/pull/21661))** +- **CRM_Utils_Date - Month and day names should match active locale + ([21569](https://github.com/civicrm/civicrm-core/pull/21569))** -- **Simplify getRecurFromAddress ([21613](https://github.com/civicrm/civicrm-core/pull/21613))** +- **System Workflow Messages - Improve localization experience (Work Towards + [dev/mail#83](https://lab.civicrm.org/dev/mail/-/issues/83): + [21773](https://github.com/civicrm/civicrm-core/pull/21773), + [21747](https://github.com/civicrm/civicrm-core/pull/21747), + [21774](https://github.com/civicrm/civicrm-core/pull/21774), + [21772](https://github.com/civicrm/civicrm-core/pull/21772), + [21590](https://github.com/civicrm/civicrm-core/pull/21590), + [21338](https://github.com/civicrm/civicrm-core/pull/21338), + [21480](https://github.com/civicrm/civicrm-core/pull/21480) and + [21486](https://github.com/civicrm/civicrm-core/pull/21486))** -- **5.42 to master ([21665](https://github.com/civicrm/civicrm-core/pull/21665))** +- **When extensions do upgrades and add fields to tables, trigger-based logging + tables require the extension to do the right thing + ([dev/core#1618](https://lab.civicrm.org/dev/core/-/issues/1618): + [21135](https://github.com/civicrm/civicrm-core/pull/21135))** -- **Test fix ([21662](https://github.com/civicrm/civicrm-core/pull/21662))** +- **Special characters become "?" On PDF report + ([dev/core#2126](https://lab.civicrm.org/dev/core/-/issues/2126): + [21423](https://github.com/civicrm/civicrm-core/pull/21423))** -- **Remove call to the dreaded replaceMultipleContributionTokens ([21652](https://github.com/civicrm/civicrm-core/pull/21652))** +- **Send an Email / Cancel button does not work + ([dev/core#2318](https://lab.civicrm.org/dev/core/-/issues/2318): + [21474](https://github.com/civicrm/civicrm-core/pull/21474))** -- **dev/core#2832 Switch membership pdf to use token processor ([21521](https://github.com/civicrm/civicrm-core/pull/21521))** +- **hook_civicrm_tokenValues inconsistent data + ([dev/core#2554](https://lab.civicrm.org/dev/core/-/issues/2554): + [21490](https://github.com/civicrm/civicrm-core/pull/21490))** -- **Enotice fix ([21658](https://github.com/civicrm/civicrm-core/pull/21658))** + Remove code to assign contact to the template in sendEmail. -- **Enotice fixes ([21659](https://github.com/civicrm/civicrm-core/pull/21659))** +- **Use consistent token syntax for pseudoconstants + ([dev/core#2650](https://lab.civicrm.org/dev/core/-/issues/2650): + [21477](https://github.com/civicrm/civicrm-core/pull/21477), + [21464](https://github.com/civicrm/civicrm-core/pull/21464), + [21570](https://github.com/civicrm/civicrm-core/pull/21570) and + [21705](https://github.com/civicrm/civicrm-core/pull/21705))** -- **Find Activities Search, the default search option of "With" criteria excludes Activities by default. Confuses End Users when 0 results are returned when criteria appears to be correct. ([21595](https://github.com/civicrm/civicrm-core/pull/21595))** +- **Remove unused token assigns (Work Towards + [dev/core#2748](https://lab.civicrm.org/dev/core/-/issues/2748): + [21059](https://github.com/civicrm/civicrm-core/pull/21059))** -- **Do not send email notification to the user if `notify` is not set in the params ([21562](https://github.com/civicrm/civicrm-core/pull/21562))** + Removes some no-longer-used token assigns & adds an upgrade message in case + people have templates still referring to them. -- **MessageTemplate - Deprecate `valueName`. Emphasize `workflow`. Consolidate converters. ([21657](https://github.com/civicrm/civicrm-core/pull/21657))** +- **Something something tokens something tokens + ([dev/core#2856](https://lab.civicrm.org/dev/core/-/issues/2856): + [21580](https://github.com/civicrm/civicrm-core/pull/21580))** -- **Fix label for participant role ([21656](https://github.com/civicrm/civicrm-core/pull/21656))** + Token "filter" can be null so filter[0] doesn't exist. -- **dev/core#2834 Use event tokens for participant badges ([21587](https://github.com/civicrm/civicrm-core/pull/21587))** +- **Fix contact tokens class to load using apiv4 + ([21780](https://github.com/civicrm/civicrm-core/pull/21780))** -- **(REF) MessageTemplate - Reverse renderTemplate()<=>sendTemplate() call ([21610](https://github.com/civicrm/civicrm-core/pull/21610))** +- **Remove case token listing from contact email task + ([21787](https://github.com/civicrm/civicrm-core/pull/21787))** -- **dev/core#2126 - Allow setting dompdf options, e.g. an external font folder ([21423](https://github.com/civicrm/civicrm-core/pull/21423))** +- **Fix another instance of double token rendering + ([21788](https://github.com/civicrm/civicrm-core/pull/21788))** -- **typo fixes ([21655](https://github.com/civicrm/civicrm-core/pull/21655))** +- **Fix token regression - re-add support for empty tokens + ([21756](https://github.com/civicrm/civicrm-core/pull/21756))** -- **[REF] stop passing form into createActivities ([21653](https://github.com/civicrm/civicrm-core/pull/21653))** +- **Fix event custom field tokens in scheduled reminders + ([21374](https://github.com/civicrm/civicrm-core/pull/21374))** -- **tests/events/*.php - Enforce general compliance with hook/event signatures ([21615](https://github.com/civicrm/civicrm-core/pull/21615))** +- **Reference token metadata internally fix custom tokens label bug + ([21767](https://github.com/civicrm/civicrm-core/pull/21767))** -- **Set default for civicrm_message_template.is_reserved ([21651](https://github.com/civicrm/civicrm-core/pull/21651))** +- **Participant tokens - remove / replace unsupportable from badges (conversion + preparation) ([21520](https://github.com/civicrm/civicrm-core/pull/21520))** -- **dev/core#2870 Fix upgrade error with rpow installed ([21640](https://github.com/civicrm/civicrm-core/pull/21640))** +- **Fix activity tokens + ([21489](https://github.com/civicrm/civicrm-core/pull/21489))** -- **APIv4 - Automatically coalesce potentially null field values in equations ([21647](https://github.com/civicrm/civicrm-core/pull/21647))** +- **Ensure TokenSmary::render returns an array + ([21461](https://github.com/civicrm/civicrm-core/pull/21461))** -- **Extend token date handling to 'most' date fields ([21584](https://github.com/civicrm/civicrm-core/pull/21584))** +- **Replace event type token in action schedule changes event.event_type_id to + participant.event_type_id:label + ([dev/core#2892](https://lab.civicrm.org/dev/core/-/issues/2892): + [21738](https://github.com/civicrm/civicrm-core/pull/21738))** -- **HttpTestTrait - Allow one to easily authenticate subrequests ([21261](https://github.com/civicrm/civicrm-core/pull/21261))** +- **Custom field multiselect of type int crashes when saving + ([dev/core#2772](https://lab.civicrm.org/dev/core/-/issues/2772): + [21186](https://github.com/civicrm/civicrm-core/pull/21186))** -- **Fix extra apostrophe added in 21636 ([21650](https://github.com/civicrm/civicrm-core/pull/21650))** +- **Deduping produces bad results after a rule change + ([dev/core#2820](https://lab.civicrm.org/dev/core/-/issues/2820): + [21509](https://github.com/civicrm/civicrm-core/pull/21509))** -- **Test regression fix ([21649](https://github.com/civicrm/civicrm-core/pull/21649))** +- **[REF] Extend 'managed' api to provide information about 'status' (Clean up + towards [dev/core#2823](https://lab.civicrm.org/dev/core/-/issues/2823): + [21399](https://github.com/civicrm/civicrm-core/pull/21399), + [21440](https://github.com/civicrm/civicrm-core/pull/21440), + [21400](https://github.com/civicrm/civicrm-core/pull/21400), + [21401](https://github.com/civicrm/civicrm-core/pull/21401), + [21412](https://github.com/civicrm/civicrm-core/pull/21412) and + [21395](https://github.com/civicrm/civicrm-core/pull/21395))** -- **avoid back trace when importing preferred communication method ([21433](https://github.com/civicrm/civicrm-core/pull/21433))** +- **Dashboard error `Trying to access array offset on value of type null` + ([dev/core#2829](https://lab.civicrm.org/dev/core/-/issues/2829): + [21441](https://github.com/civicrm/civicrm-core/pull/21441) and + [21437](https://github.com/civicrm/civicrm-core/pull/21437))** -- **Afform - ensure default value data type matches input type ([21643](https://github.com/civicrm/civicrm-core/pull/21643))** +- **Upgrade error - upgrading to 5.43 + ([dev/core#2870](https://lab.civicrm.org/dev/core/-/issues/2870): + [21640](https://github.com/civicrm/civicrm-core/pull/21640))** -- **Enotice fix ([21636](https://github.com/civicrm/civicrm-core/pull/21636))** + Fix upgrade error with rpow installed. -- **Enotice fixes ([21632](https://github.com/civicrm/civicrm-core/pull/21632))** +- **Search Builder: Fails validation when state_province location type is + "primary" and operator is "IN" + ([dev/core#2874](https://lab.civicrm.org/dev/core/-/issues/2874): + [21646](https://github.com/civicrm/civicrm-core/pull/21646))** -- **enotice fixes in fatal error template ([21639](https://github.com/civicrm/civicrm-core/pull/21639))** +- **APIv3 "replace" action is broken when there is > 25 records to replace. + ([dev/core#2881](https://lab.civicrm.org/dev/core/-/issues/2881): + [21681](https://github.com/civicrm/civicrm-core/pull/21681))** -- **Remove handling for empty required field ([21623](https://github.com/civicrm/civicrm-core/pull/21623))** +- **Add contacts to Group action missing custom fields + ([dev/core#2885](https://lab.civicrm.org/dev/core/-/issues/2885): + [21716](https://github.com/civicrm/civicrm-core/pull/21716))** -- **dev/core#2629 show only contribution statuses on contribution form ([21624](https://github.com/civicrm/civicrm-core/pull/21624))** +- **Find Activities + Send Email task always says the contact is on hold or + deceased etc ([dev/core#2901](https://lab.civicrm.org/dev/core/-/issues/2901): + [21781](https://github.com/civicrm/civicrm-core/pull/21781))** -- **Remove over-copied function ([21641](https://github.com/civicrm/civicrm-core/pull/21641))** +- **Afform - fix loading custom fields for search displays + ([21792](https://github.com/civicrm/civicrm-core/pull/21792))** -- **[REF] Separate contact tokens from 'tokenCompatSubscriber' ([21626](https://github.com/civicrm/civicrm-core/pull/21626))** +- **Afform - Fix chainSelect to work with anonymous users + ([21759](https://github.com/civicrm/civicrm-core/pull/21759))** -- **Afform - Accept default field values from the url ([21606](https://github.com/civicrm/civicrm-core/pull/21606))** +- **Afform - Fix chain-select of country and address to work on SearchKit forms + ([21749](https://github.com/civicrm/civicrm-core/pull/21749))** -- **[REF] Update Frequenecy template assignments in UpdateBilling to be c… ([21635](https://github.com/civicrm/civicrm-core/pull/21635))** +- **Afform - gracefully handle missing html files + ([21436](https://github.com/civicrm/civicrm-core/pull/21436))** -- **Fix dev/core#2867 - APIv4 Entity.get to return class name by default ([21634](https://github.com/civicrm/civicrm-core/pull/21634))** +- **Afform - fix loading embedded blocks + ([21609](https://github.com/civicrm/civicrm-core/pull/21609))** -- **enotice fix ([21631](https://github.com/civicrm/civicrm-core/pull/21631))** +- **Afform - ensure default value data type matches input type + ([21643](https://github.com/civicrm/civicrm-core/pull/21643))** -- **Convert more tests to call postProcess ([21628](https://github.com/civicrm/civicrm-core/pull/21628))** +- **api4 explorer - entity displays as `\undefined` in the generated code sample + ([dev/core#2867](https://lab.civicrm.org/dev/core/-/issues/2867): + [21634](https://github.com/civicrm/civicrm-core/pull/21634))** -- **SearchKit - Style buttons for compatability with Shoreditch theme ([21627](https://github.com/civicrm/civicrm-core/pull/21627))** +- **APIv4 - Default select clause to exclude "Extra" fields + ([21438](https://github.com/civicrm/civicrm-core/pull/21438))** -- **Fix test to use postProcess ([21630](https://github.com/civicrm/civicrm-core/pull/21630))** +- **APIv4 - Give every SQL expression a title + ([21691](https://github.com/civicrm/civicrm-core/pull/21691))** -- **Afform - fix loading embedded blocks ([21609](https://github.com/civicrm/civicrm-core/pull/21609))** +- **APIv4 - Automatically coalesce potentially null field values in equations + ([21647](https://github.com/civicrm/civicrm-core/pull/21647))** -- **Test cleanup -convert to use postProcess ([21629](https://github.com/civicrm/civicrm-core/pull/21629))** +- **UX: Deleting a saved Search Kit search should warn/delete associated afforms + ([dev/core#2824](https://lab.civicrm.org/dev/core/-/issues/2824): + [21457](https://github.com/civicrm/civicrm-core/pull/21457))** -- **Setting::getItem - use deprecatedWarning instead of just logging ([21625](https://github.com/civicrm/civicrm-core/pull/21625))** +- **search kit: deleting a search has weird confirmation dialog box + ([dev/core#2826](https://lab.civicrm.org/dev/core/-/issues/2826): + [21404](https://github.com/civicrm/civicrm-core/pull/21404))** -- **Test cleanup ([21622](https://github.com/civicrm/civicrm-core/pull/21622))** +- **New download spreadsheet search kit feature broken + ([dev/core#2888](https://lab.civicrm.org/dev/core/-/issues/2888): + [21724](https://github.com/civicrm/civicrm-core/pull/21724))** -- **dev/core#2650 dev/core#2814 Add support for preferred syntax for contact tokens ([21570](https://github.com/civicrm/civicrm-core/pull/21570))** +- **SearchKit - Style buttons for compatability with Shoreditch theme + ([21627](https://github.com/civicrm/civicrm-core/pull/21627))** -- **SearchKit - Add UI for arithmetic equations ([21600](https://github.com/civicrm/civicrm-core/pull/21600))** +- **SearchKit - tweak button styles for shorditch + ([21726](https://github.com/civicrm/civicrm-core/pull/21726))** -- ** Add upgrade to replace legacy contribution tokens from message templates ([21605](https://github.com/civicrm/civicrm-core/pull/21605))** + Tweaks the "Tags" and "Add" buttons in SearchKit to look better in Shoreditch, + and tidies up some ts() calls. -- **SearchKit - A random stable genius ([21586](https://github.com/civicrm/civicrm-core/pull/21586))** +- **SearchKit - A random stable genius + ([21586](https://github.com/civicrm/civicrm-core/pull/21586))** -- **Remove unused function - convertDateFieldsToMySQL ([21617](https://github.com/civicrm/civicrm-core/pull/21617))** + Allows the pager, edit-in-place, and bulk updates to work properly with random + sorting. -- **[Ref] Function signature cleanup ([21618](https://github.com/civicrm/civicrm-core/pull/21618))** +- **SearchKit - Fix in-place edit of relationships and dates + ([21533](https://github.com/civicrm/civicrm-core/pull/21533))** -- **5.42 ([21612](https://github.com/civicrm/civicrm-core/pull/21612))** +- **SearchKit - Exclude custom fields from ON clause selector + ([21495](https://github.com/civicrm/civicrm-core/pull/21495))** -- **[REF] Return the sendEmail function to it's owner ([21608](https://github.com/civicrm/civicrm-core/pull/21608))** + Custom fields cannot as-yet be added to an ON clause in APIv4 because they do + not belong to the tables being joined. This removes the tripping hazard from + the UI, by making custom fields unavailable to select in an ON clause. -- **Fix display of subscription frequency on 'Update Subscription' form ([21469](https://github.com/civicrm/civicrm-core/pull/21469))** +- **SearchKit - Fix links to non-aggregage join fields + ([21482](https://github.com/civicrm/civicrm-core/pull/21482))** -- **Remove all references to safe_mode, DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0 ([21594](https://github.com/civicrm/civicrm-core/pull/21594))** +- **SearchKit - Fix display of links in aggregated columns + ([21420](https://github.com/civicrm/civicrm-core/pull/21420))** -- **Remove broken code ([21602](https://github.com/civicrm/civicrm-core/pull/21602))** +- **SearchKit - Fix alignment in table headers + ([21431](https://github.com/civicrm/civicrm-core/pull/21431))** -- **dev/core#2851 Fix send email task contribution tokens to the processor ([21565](https://github.com/civicrm/civicrm-core/pull/21565))** +- **SearchKit - Correctly process filters passed through Afform from js + ([21485](https://github.com/civicrm/civicrm-core/pull/21485))** -- **Find Activities Search, default search option for Activity Text is set to "both" in the code, but should actually be set to 6 which is the value for "both" ([21598](https://github.com/civicrm/civicrm-core/pull/21598))** +- **SearchKit - Prevent race conditions in search display loading + ([21394](https://github.com/civicrm/civicrm-core/pull/21394))** -- **Add test to cancel subscription form ([21588](https://github.com/civicrm/civicrm-core/pull/21588))** +- **[search kit] Semicolon vs comma + ([21406](https://github.com/civicrm/civicrm-core/pull/21406))** -- **Fix test ([21585](https://github.com/civicrm/civicrm-core/pull/21585))** +- **message_admin Style fixes + ([21712](https://github.com/civicrm/civicrm-core/pull/21712))** -- **Clean up UpdateBilling/UpdateSubscription/ContributionRecur to use getters ([21538](https://github.com/civicrm/civicrm-core/pull/21538))** +- **message_admin - Fix quirk when using "Create Draft" + ([21700](https://github.com/civicrm/civicrm-core/pull/21700))** -- **Fixes dev/core#2824 - Handle related Afforms when deleting Search Displays ([21457](https://github.com/civicrm/civicrm-core/pull/21457))** +- **MessageTemplate API - Fix saving of templates with workflow_name sans + workflow_id ([21694](https://github.com/civicrm/civicrm-core/pull/21694))** -- **ensure recur options are present on backend cc contribution form. ([21577](https://github.com/civicrm/civicrm-core/pull/21577))** +- **Find Activities Search, default search option for Activity Text is set to + "both" in the code, but should actually be set to 6 which is the value for + "both" ([21598](https://github.com/civicrm/civicrm-core/pull/21598))** -- **Add unique class to price field template ([21484](https://github.com/civicrm/civicrm-core/pull/21484))** +- **UFMatch - E_NOTICE when nonexistent uf_id + ([21576](https://github.com/civicrm/civicrm-core/pull/21576))** -- **dev/core#2851 Block use of legacy style contribution tokens ([21525](https://github.com/civicrm/civicrm-core/pull/21525))** +- **flushCaches should respect permitCacheFlushMode. Also flush caches which + have a NULL cache_date + ([21430](https://github.com/civicrm/civicrm-core/pull/21430))** -- **dev/core#2856 - Token "filter" can be null so filter[0] doesn't exist ([21580](https://github.com/civicrm/civicrm-core/pull/21580))** +- **Setting::getItem - use deprecatedWarning instead of just logging + ([21625](https://github.com/civicrm/civicrm-core/pull/21625))** -- **dev/core#2814 fix tokenCompat to be consistent with unresolved tokens ([21568](https://github.com/civicrm/civicrm-core/pull/21568))** +- **Fix display of subscription frequency on 'Update Subscription' form + ([21469](https://github.com/civicrm/civicrm-core/pull/21469))** -- **Enotice fix ([21579](https://github.com/civicrm/civicrm-core/pull/21579))** +- **Fix bug where log hook is ignored on custom field create + ([21557](https://github.com/civicrm/civicrm-core/pull/21557))** -- **Fixes dev/core#2852 - Add is_primary as a default SearchKit filter ([21574](https://github.com/civicrm/civicrm-core/pull/21574))** +- **Set default for civicrm_message_template.is_reserved + ([21651](https://github.com/civicrm/civicrm-core/pull/21651))** -- **dev/core#2850 update_email_resetdate consider opt out on hold ([21564](https://github.com/civicrm/civicrm-core/pull/21564))** +- **CiviReport - avoid error in test environments when using built-in php web + server ([21560](https://github.com/civicrm/civicrm-core/pull/21560))** -- **Afform - Add getters/setters to the AfformSubmitEvent class ([21572](https://github.com/civicrm/civicrm-core/pull/21572))** +- **Update SelfSvcUpdate.php + ([21679](https://github.com/civicrm/civicrm-core/pull/21679))** -- **APIv4 - Add support for sql equations ([21551](https://github.com/civicrm/civicrm-core/pull/21551))** + Changes "cancel" text to read "cancel registration". -- **CRM_Utils_Date - Month and day names should match active locale ([21569](https://github.com/civicrm/civicrm-core/pull/21569))** +- **Import csv-Fix not importing extension in phones + ([20995](https://github.com/civicrm/civicrm-core/pull/20995))** -- **Fix bug where log hook is ignored on custom field create ([21557](https://github.com/civicrm/civicrm-core/pull/21557))** +- **Missed message template updates from 5.39/5.40 + ([21550](https://github.com/civicrm/civicrm-core/pull/21550))** -- **Add {domain.now}, supporting |crmDate ([21531](https://github.com/civicrm/civicrm-core/pull/21531))** +- **Don't clear the GroupContactCache until we're ready to insert the new + version ([21384](https://github.com/civicrm/civicrm-core/pull/21384))** -- **UFMatch - E_NOTICE when nonexistent uf_id ([21576](https://github.com/civicrm/civicrm-core/pull/21576))** +- **Fix syntax error on a ts() function call + ([21518](https://github.com/civicrm/civicrm-core/pull/21518))** -- **5.42 to master ([21578](https://github.com/civicrm/civicrm-core/pull/21578))** +- **flushCaches should respect permitCacheFlushMode + ([21468](https://github.com/civicrm/civicrm-core/pull/21468))** -- **[REF] Remove illusion of looping ([21554](https://github.com/civicrm/civicrm-core/pull/21554))** +- **Smarty warning about missing contact subtype on New Individual + ([21410](https://github.com/civicrm/civicrm-core/pull/21410))** -- **Initial test on event tokens ([21563](https://github.com/civicrm/civicrm-core/pull/21563))** +- **Fix Upgrade step to ensure all fields are converted correctly as well + ([21396](https://github.com/civicrm/civicrm-core/pull/21396))** -- **Remove deprecated code lines ([21566](https://github.com/civicrm/civicrm-core/pull/21566))** +- **Don't specify character set for civicrm_relationship_cache table + ([21382](https://github.com/civicrm/civicrm-core/pull/21382))** -- **dev/core#2493 Add support for money laundry in `getSubmittedValue` ([21555](https://github.com/civicrm/civicrm-core/pull/21555))** +- **Error about count() on New Email + ([21714](https://github.com/civicrm/civicrm-core/pull/21714))** -- **flushCaches should respect permitCacheFlushMode. Also flush caches which have a NULL cache_date ([21430](https://github.com/civicrm/civicrm-core/pull/21430))** +- **Fix generating civicrm.settings.php by ensuring that CMSdbSSL and dbSSL + variables are properly removed from the DSNs + ([63](https://github.com/civicrm/civicrm-joomla/pull/63))** -- **[Ref] Extend email trait test, process more sanely ([21553](https://github.com/civicrm/civicrm-core/pull/21553))** +- **Smarty notices on Find Activities results page + ([21422](https://github.com/civicrm/civicrm-core/pull/21422))** -- **dev/core#2814 TokenCompatSubscriber - evaluate contact tokens during civi.token.eval phase ([21494](https://github.com/civicrm/civicrm-core/pull/21494))** +- **Smarty notice on Find Activities / Find Cases + ([21421](https://github.com/civicrm/civicrm-core/pull/21421))** -- **Fix event custom field tokens in scheduled reminders ([21374](https://github.com/civicrm/civicrm-core/pull/21374))** +- **Tpl notice fixes + ([21503](https://github.com/civicrm/civicrm-core/pull/21503))** -- **CiviReport - avoid error in test environments when using built-in php web server ([21560](https://github.com/civicrm/civicrm-core/pull/21560))** +- **Fix extra apostrophe added in 21636 + ([21650](https://github.com/civicrm/civicrm-core/pull/21650))** -- **5.42 to master ([21561](https://github.com/civicrm/civicrm-core/pull/21561))** +- **avoid back trace when importing preferred communication method + ([21433](https://github.com/civicrm/civicrm-core/pull/21433))** -- **Stop testing for gender_id output that was described as 'legacy' years ago ([21558](https://github.com/civicrm/civicrm-core/pull/21558))** +- **Fixed issue with sending from do-not-reply@domain address + ([21455](https://github.com/civicrm/civicrm-core/pull/21455))** -- **Convert event badges to use token processor ([21530](https://github.com/civicrm/civicrm-core/pull/21530))** +- **Find Activities Search, the default search option of "With" criteria + excludes Activities by default. Confuses End Users when 0 results are returned + when criteria appears to be correct. + ([21595](https://github.com/civicrm/civicrm-core/pull/21595))** -- **Participant tokens - remove / replace unsupportable from badges (conversion preparation) ([21520](https://github.com/civicrm/civicrm-core/pull/21520))** +- **Do not send email notification to the user if `notify` is not set in the + params ([21562](https://github.com/civicrm/civicrm-core/pull/21562))** -- **Use the processor function to get event tokens ([21537](https://github.com/civicrm/civicrm-core/pull/21537))** +- **ensure blank note date in UI defaults to current date. + ([21717](https://github.com/civicrm/civicrm-core/pull/21717))** -- **Cleanup on test tear downs ([21552](https://github.com/civicrm/civicrm-core/pull/21552))** +- **System status checks only shows 25 messages + ([21748](https://github.com/civicrm/civicrm-core/pull/21748))** -- **Missed message template updates from 5.39/5.40 ([21550](https://github.com/civicrm/civicrm-core/pull/21550))** +- **Enotice fixes + ([21723](https://github.com/civicrm/civicrm-core/pull/21723))** -- **dev/core#2554 Remove code to assign contact to the template in sendEmail ([21490](https://github.com/civicrm/civicrm-core/pull/21490))** +- **Enotice tpl fix + ([21689](https://github.com/civicrm/civicrm-core/pull/21689))** -- **dev/core#2820: Deduping produces bad results after a rule change ([21509](https://github.com/civicrm/civicrm-core/pull/21509))** +- **Enotice fix + ([21782](https://github.com/civicrm/civicrm-core/pull/21782))** -- **Add support for CiviCRM date formats in crmDate ([21508](https://github.com/civicrm/civicrm-core/pull/21508))** +- **Enotice fix + ([21732](https://github.com/civicrm/civicrm-core/pull/21732))** -- **dev/core#2839 Fix addition of _preview to filename ([21493](https://github.com/civicrm/civicrm-core/pull/21493))** +- **enotice fix + ([21702](https://github.com/civicrm/civicrm-core/pull/21702))** -- **View Contribution page, move the Done button to the last button, currently shown in the middle ([21547](https://github.com/civicrm/civicrm-core/pull/21547))** +- **typo fixes + ([21655](https://github.com/civicrm/civicrm-core/pull/21655))** -- **Add test and fix for API4 failing to decode strings stored as HTML ([21549](https://github.com/civicrm/civicrm-core/pull/21549))** +- **Enotice fix + ([21636](https://github.com/civicrm/civicrm-core/pull/21636))** -- **Replace "Print Invoice" and "Print Invoice and Credit Note" buttons with label "Download Invoice" and "Download Invoice and Credit Note" ([21546](https://github.com/civicrm/civicrm-core/pull/21546))** +- **enotice fix + ([21631](https://github.com/civicrm/civicrm-core/pull/21631))** -- **SearchKit - Fix in-place edit of relationships and dates ([21533](https://github.com/civicrm/civicrm-core/pull/21533))** +- **Enotice fix + ([21579](https://github.com/civicrm/civicrm-core/pull/21579))** -- **Test tearDown fixes ([21548](https://github.com/civicrm/civicrm-core/pull/21548))** +- **Fix header e-notices + ([21633](https://github.com/civicrm/civicrm-core/pull/21633))** -- **Tpl notice fix ([21543](https://github.com/civicrm/civicrm-core/pull/21543))** +- **Enotice fix + ([21658](https://github.com/civicrm/civicrm-core/pull/21658))** -- **tpl enotice fixes on extensions page ([21545](https://github.com/civicrm/civicrm-core/pull/21545))** +- **Enotice fixes + ([21659](https://github.com/civicrm/civicrm-core/pull/21659))** -- **Tpl notice fixes ([21544](https://github.com/civicrm/civicrm-core/pull/21544))** +- **Enotice fixes + ([21632](https://github.com/civicrm/civicrm-core/pull/21632))** -- **Tpl enotice fixes ([21542](https://github.com/civicrm/civicrm-core/pull/21542))** +- **enotice fixes in fatal error template + ([21639](https://github.com/civicrm/civicrm-core/pull/21639))** -- **Enotice fixes in tpls ([21541](https://github.com/civicrm/civicrm-core/pull/21541))** +- **Tpl notice fix + ([21543](https://github.com/civicrm/civicrm-core/pull/21543))** -- **dev/core#2717 Use order api for new membership create in batch ([21152](https://github.com/civicrm/civicrm-core/pull/21152))** +- **tpl enotice fixes on extensions page + ([21545](https://github.com/civicrm/civicrm-core/pull/21545))** -- **Fix PHP notices in contributionrecur tpl ([21526](https://github.com/civicrm/civicrm-core/pull/21526))** +- **Tpl notice fixes + ([21544](https://github.com/civicrm/civicrm-core/pull/21544))** -- **dev/core#2843 push new link to the end ([21529](https://github.com/civicrm/civicrm-core/pull/21529))** +- **Tpl enotice fixes + ([21542](https://github.com/civicrm/civicrm-core/pull/21542))** -- **SearchKit - Exclude custom fields from ON clause selector ([21495](https://github.com/civicrm/civicrm-core/pull/21495))** +- **Enotice fixes in tpls + ([21541](https://github.com/civicrm/civicrm-core/pull/21541))** -- **Add CONCAT_WS fn to APIv4 and UI support in SearchKit ([21535](https://github.com/civicrm/civicrm-core/pull/21535))** +- **Add missing ts + ([21711](https://github.com/civicrm/civicrm-core/pull/21711))** -- **[REF] Extract domain tokens to their own class ([21510](https://github.com/civicrm/civicrm-core/pull/21510))** +- **Another enotice fix + ([21682](https://github.com/civicrm/civicrm-core/pull/21682))** -- **SearchKit - Support multiple arguments to field transformations aka SQL functions ([21528](https://github.com/civicrm/civicrm-core/pull/21528))** +- **And another one + ([21683](https://github.com/civicrm/civicrm-core/pull/21683))** -- **Annotate deprecated token functions ([21523](https://github.com/civicrm/civicrm-core/pull/21523))** +- **Another one bites the dust + ([21684](https://github.com/civicrm/civicrm-core/pull/21684))** -- **Update contributors for Third Sector Design ([21516](https://github.com/civicrm/civicrm-core/pull/21516))** +- **Fix possibly undefined $form variables in smarty templates + ([21735](https://github.com/civicrm/civicrm-core/pull/21735))** -- **Don't clear the GroupContactCache until we're ready to insert the new version ([21384](https://github.com/civicrm/civicrm-core/pull/21384))** +- **Fix regression from enotice fixes + ([21743](https://github.com/civicrm/civicrm-core/pull/21743))** -- **dev/core#2832 Extend Membership tokens to 'listen' and add test cover ([21506](https://github.com/civicrm/civicrm-core/pull/21506))** +### CiviCase -- **Fix syntax error on a ts() function call ([21518](https://github.com/civicrm/civicrm-core/pull/21518))** +- **For latest iteration of case email form, don't fail when there's no To + contact ([21737](https://github.com/civicrm/civicrm-core/pull/21737))** -- **5.42 to master ([21515](https://github.com/civicrm/civicrm-core/pull/21515))** +### CiviContribute -- **Fix activity tokens ([21489](https://github.com/civicrm/civicrm-core/pull/21489))** +- **Fix PHP notices in contributionrecur tpl + ([21526](https://github.com/civicrm/civicrm-core/pull/21526))** -- **dev/core#2790 Move rest of pdfCommon functionality to the trait ([21479](https://github.com/civicrm/civicrm-core/pull/21479))** +- **Follow up on removing contributeMode from templates + ([21417](https://github.com/civicrm/civicrm-core/pull/21417))** -- **[REF] add test & static array to participant values tokens ([21476](https://github.com/civicrm/civicrm-core/pull/21476))** +- **Getting system status message about contributeMode after upgrade to 5.43 + when it seems like it shouldn't + ([dev/core#2828](https://lab.civicrm.org/dev/core/-/issues/2828): + [21434](https://github.com/civicrm/civicrm-core/pull/21434))** -- **Add workflow template for 'recurring edit' workflow ([21356](https://github.com/civicrm/civicrm-core/pull/21356))** +- **Participant Status: pending refund can have two conflicting meanings (Work + Towards [dev/core#2629](https://lab.civicrm.org/dev/core/-/issues/2629): + [21624](https://github.com/civicrm/civicrm-core/pull/21624))** -- **5.42 to master ([21505](https://github.com/civicrm/civicrm-core/pull/21505))** + Only show contribution statuses on contribution form. -- **Attempt to fix test site 500 errors on activity pdf ([21504](https://github.com/civicrm/civicrm-core/pull/21504))** +- **Money - create new Civi:: facade - now format helper (Work Towards: + [dev/core#2638](https://lab.civicrm.org/dev/core/-/issues/2638): + [21599](https://github.com/civicrm/civicrm-core/pull/21599))** -- **Tpl notice fixes ([21503](https://github.com/civicrm/civicrm-core/pull/21503))** + Adds a helper function for formatting. -- **Add sort functionality to event summary report ([21501](https://github.com/civicrm/civicrm-core/pull/21501))** +- **CiviCRM 5.35.1, truncation of money values where $1,000 donation is recorded + as $1 which appears to be truncating at the thousand separator when using the + Australian (AU) and US Locale (Work Towards + [dev/core#2493](https://lab.civicrm.org/dev/core/-/issues/2493): + [21555](https://github.com/civicrm/civicrm-core/pull/21555))** -- **dev/core#2486 Add printLabel v4 api ([21500](https://github.com/civicrm/civicrm-core/pull/21500))** + Ensures that any money fields retrieved by getSubmittedValue are in a machine + usable format. -- **[NFC] [test] minor cleanup in test ([21498](https://github.com/civicrm/civicrm-core/pull/21498))** +- **[regression-ish] When a recurring contribution template has no line items, + the contact contribution tab crashes + ([dev/financial#187](https://lab.civicrm.org/dev/financial/-/issues/187): + [21729](https://github.com/civicrm/civicrm-core/pull/21729))** -- **Revert "dev/core#2812 Fix issue where having a processor configured w… ([21499](https://github.com/civicrm/civicrm-core/pull/21499))** +- **ContributionRecur modified_date should update to current_timestamp on update + ([21472](https://github.com/civicrm/civicrm-core/pull/21472))** -- **Remove fugly bit ([21497](https://github.com/civicrm/civicrm-core/pull/21497))** +- **ensure recur options are present on backend cc contribution form. + ([21577](https://github.com/civicrm/civicrm-core/pull/21577))** -- **5.42 to master ([21496](https://github.com/civicrm/civicrm-core/pull/21496))** +### CiviEvent -- **dev/core#2814 TokenCompatSubscriber - Evaluate tokens during "civi.token.eval" phase ([21449](https://github.com/civicrm/civicrm-core/pull/21449))** +- **Flush metadata cache on event edit + ([21740](https://github.com/civicrm/civicrm-core/pull/21740))** -- **SearchKit - Correctly process filters passed through Afform from js ([21485](https://github.com/civicrm/civicrm-core/pull/21485))** +- **Fix Badge to use token processor + ([dev/core#2834](https://lab.civicrm.org/dev/core/-/issues/2834): + [21458](https://github.com/civicrm/civicrm-core/pull/21458) and + [21587](https://github.com/civicrm/civicrm-core/pull/21587))** -- **SearchKit - Add pseudo-fields for row number and current user ([21435](https://github.com/civicrm/civicrm-core/pull/21435))** +- **Event confirmation emails should go to the email submitted, not primary + email ([dev/event#64](https://lab.civicrm.org/dev/event/-/issues/64): + [21669](https://github.com/civicrm/civicrm-core/pull/21669))** -- **5.42 to master ([21491](https://github.com/civicrm/civicrm-core/pull/21491))** +- **Fix label for participant role + ([21656](https://github.com/civicrm/civicrm-core/pull/21656))** -- **[NFC] Fix Fatal error on php 8 due to mis matched function declaration ([21487](https://github.com/civicrm/civicrm-core/pull/21487))** +### CiviMail -- **dev/core#2790 Move pdf postProcess function to the trait ([21478](https://github.com/civicrm/civicrm-core/pull/21478))** +- **flexmailer - Update `[CiviMail Draft]` prefix to match BAO behavior + ([21715](https://github.com/civicrm/civicrm-core/pull/21715))** -- **dev/core#2817 Remove last core calls to `replaceCaseTokens` ([21447](https://github.com/civicrm/civicrm-core/pull/21447))** +- **update_email_resetdate job does not consider opt out on hold + ([dev/core#2850](https://lab.civicrm.org/dev/core/-/issues/2850): + [21564](https://github.com/civicrm/civicrm-core/pull/21564))** -- **(dev/mail#83) EntityTokens - Allow using mocked data ([21486](https://github.com/civicrm/civicrm-core/pull/21486))** +- **Start phasing out 'preferred_mail_format' (Work Towards + [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866): + [21676](https://github.com/civicrm/civicrm-core/pull/21676))** -- **SearchKit - Fix links to non-aggregage join fields ([21482](https://github.com/civicrm/civicrm-core/pull/21482))** +### Drupal Integration -- **SearchKit - Fix display of links in aggregated columns ([21420](https://github.com/civicrm/civicrm-core/pull/21420))** +- **Contact Image uploaded from Drupal Webform doesn't render on Drupal View as + a thumbnail. ([dev/drupal#13](https://lab.civicrm.org/dev/drupal/issues/13): + [524](https://github.com/civicrm/civicrm-drupal/pull/524))** -- **[REF] simplify member_tokens ([21481](https://github.com/civicrm/civicrm-core/pull/21481))** +- **Session erroneously getting set to NULL on Drupal user login + ([dev/drupal#163](https://lab.civicrm.org/dev/drupal/-/issues/163): + [21403](https://github.com/civicrm/civicrm-core/pull/21403))** -- **(dev/mail#83) ExampleDataLoader - Multiple fixes for quirky examples ([21480](https://github.com/civicrm/civicrm-core/pull/21480))** +### WordPress integration -- **dev/core#2650 upgrade membership tokens to the new format ([21477](https://github.com/civicrm/civicrm-core/pull/21477))** +- **Wordpress Profile User Creation Sign On (v2) + ([20807](https://github.com/civicrm/civicrm-core/pull/20807))** -- **dev/core#2817 remove call to getTokenDetails ([21475](https://github.com/civicrm/civicrm-core/pull/21475))** + Ensures user is logged in on profile submission. -- **fixes core#2318: fix cancel button when sending an individual email ([21474](https://github.com/civicrm/civicrm-core/pull/21474))** +## Miscellany -- **dev/core#2650 dev/core#2832 add support & testing for preferred token format ([21464](https://github.com/civicrm/civicrm-core/pull/21464))** +- **MessageTemplate - Deprecate `valueName`. Emphasize `workflow`. Consolidate + converters. ([21657](https://github.com/civicrm/civicrm-core/pull/21657))** + +- **Bump minimum upgradable version to 4.5.9 + ([21408](https://github.com/civicrm/civicrm-core/pull/21408))** + +- **Use Case form for case email action + ([21688](https://github.com/civicrm/civicrm-core/pull/21688))** + +- **Contact tokens - use metadata & standardised rendering + ([21761](https://github.com/civicrm/civicrm-core/pull/21761))** + +- **Remove call to legacy getTokenDetails + ([21786](https://github.com/civicrm/civicrm-core/pull/21786))** + +- **Remove extraneous call to legacy token processing in sms task + ([21785](https://github.com/civicrm/civicrm-core/pull/21785))** + +- **Remove stray token code + ([21763](https://github.com/civicrm/civicrm-core/pull/21763))** + +- **Consolidate building of contact token list + ([21429](https://github.com/civicrm/civicrm-core/pull/21429))** + +- **Stop using `replaceContributionTokens` in core + ([dev/core#2851](https://lab.civicrm.org/dev/core/-/issues/2851): + [21525](https://github.com/civicrm/civicrm-core/pull/21525) and + [21565](https://github.com/civicrm/civicrm-core/pull/21565))** -- **flushCaches should respect permitCacheFlushMode ([21468](https://github.com/civicrm/civicrm-core/pull/21468))** +- **Add SqlFunction support in addWhere + ([21301](https://github.com/civicrm/civicrm-core/pull/21301))** -- **dev/core#2817 Use token processor to resolve caseTokens for pdfs ([21445](https://github.com/civicrm/civicrm-core/pull/21445))** +- **Deprecate `replaceEntityTokens`, stop using in core + ([dev/core#2832](https://lab.civicrm.org/dev/core/-/issues/2832): + [21506](https://github.com/civicrm/civicrm-core/pull/21506), + [21521](https://github.com/civicrm/civicrm-core/pull/21521), + [21452](https://github.com/civicrm/civicrm-core/pull/21452) and + [21453](https://github.com/civicrm/civicrm-core/pull/21453))** -- **[Ref] Cleanup on SelectValues::contributeTokens ([21465](https://github.com/civicrm/civicrm-core/pull/21465))** +- **Deprecate `replaceCaseTokens` in core + ([dev/core#2817](https://lab.civicrm.org/dev/core/-/issues/2817): + [21380](https://github.com/civicrm/civicrm-core/pull/21380), + [21445](https://github.com/civicrm/civicrm-core/pull/21445), + [21383](https://github.com/civicrm/civicrm-core/pull/21383), + [21381](https://github.com/civicrm/civicrm-core/pull/21381), + [21447](https://github.com/civicrm/civicrm-core/pull/21447) and + [21475](https://github.com/civicrm/civicrm-core/pull/21475))** -- **[Ref] Remove pass-by-reference ([21466](https://github.com/civicrm/civicrm-core/pull/21466))** +- **Stop using replaceContactTokens in core (Work Towards + [dev/core#2814](https://lab.civicrm.org/dev/core/-/issues/2814): + [21365](https://github.com/civicrm/civicrm-core/pull/21365), + [21414](https://github.com/civicrm/civicrm-core/pull/21414), + [21364](https://github.com/civicrm/civicrm-core/pull/21364), + [21379](https://github.com/civicrm/civicrm-core/pull/21379), + [21377](https://github.com/civicrm/civicrm-core/pull/21377), + [21378](https://github.com/civicrm/civicrm-core/pull/21378), + [21568](https://github.com/civicrm/civicrm-core/pull/21568), + [21494](https://github.com/civicrm/civicrm-core/pull/21494), + [21367](https://github.com/civicrm/civicrm-core/pull/21367) and + [21449](https://github.com/civicrm/civicrm-core/pull/21449))** -- **(dev/mail#83) Introduce WorkflowMessage APIs with CaseActivity example ([21338](https://github.com/civicrm/civicrm-core/pull/21338))** +- **[REF] Cleanup pdf classes to use a trait like we do for email classes + ([dev/core#2790](https://lab.civicrm.org/dev/core/-/issues/2790): + [21478](https://github.com/civicrm/civicrm-core/pull/21478), + [21479](https://github.com/civicrm/civicrm-core/pull/21479), + [21366](https://github.com/civicrm/civicrm-core/pull/21366), + [21359](https://github.com/civicrm/civicrm-core/pull/21359) and + [21335](https://github.com/civicrm/civicrm-core/pull/21335))** -- **[Ref] Remove unnecessary pass-by-reference ([21463](https://github.com/civicrm/civicrm-core/pull/21463))** +- **Afform - Add getters/setters to the AfformSubmitEvent class + ([21572](https://github.com/civicrm/civicrm-core/pull/21572))** -- **dev/core#2834 Preliminary test on badge ([21458](https://github.com/civicrm/civicrm-core/pull/21458))** +- **Api v4 contact delete bug (Cleanup Towards + [dev/core#2757](https://lab.civicrm.org/dev/core/-/issues/2757): + [21210](https://github.com/civicrm/civicrm-core/pull/21210), + [21198](https://github.com/civicrm/civicrm-core/pull/21198), + [21211](https://github.com/civicrm/civicrm-core/pull/21211) and + [21199](https://github.com/civicrm/civicrm-core/pull/21199))** -- **[REF] Use OO when determining what to suggest for settings.php prefixes for drupal/backdrop views, instead of scattered "if cms ==" ([21042](https://github.com/civicrm/civicrm-core/pull/21042))** +- **[REF] Separate repeattransaction from completeorder function - only call the + latter from payment.create + (Cleanup Towards [dev/core#2716](https://lab.civicrm.org/dev/core/-/issues/2716): + [20856](https://github.com/civicrm/civicrm-core/pull/20856))** -- **[Ref] Remove no-longer-used variables ([21459](https://github.com/civicrm/civicrm-core/pull/21459))** +- **Financial record processing - extract to new class to faciliate cleanup + (Work Towards [dev/core#2715](https://lab.civicrm.org/dev/core/-/issues/2715): + [20985](https://github.com/civicrm/civicrm-core/pull/20985) and + [21370](https://github.com/civicrm/civicrm-core/pull/21370))** -- **Ensure TokenSmary::render returns an array ([21461](https://github.com/civicrm/civicrm-core/pull/21461))** +- **Add unique class to price field template + ([21484](https://github.com/civicrm/civicrm-core/pull/21484))** -- **Afform - gracefully handle missing html files ([21436](https://github.com/civicrm/civicrm-core/pull/21436))** +- **Clean up UpdateBilling/UpdateSubscription/ContributionRecur to use getters + ([21538](https://github.com/civicrm/civicrm-core/pull/21538))** -- **dev/core#2832 Improvements to test on membership letter task ([21452](https://github.com/civicrm/civicrm-core/pull/21452))** +- **[REF] Fix form to call this->setTitle() + ([21362](https://github.com/civicrm/civicrm-core/pull/21362))** -- **5.42 to master ([21460](https://github.com/civicrm/civicrm-core/pull/21460))** +- **Update use of CRM_Utils_System::setTitle() for legacycustomsearches + ([21375](https://github.com/civicrm/civicrm-core/pull/21375))** -- **APIv4 - Default select clause to exclude "Extra" fields ([21438](https://github.com/civicrm/civicrm-core/pull/21438))** +- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() + part 2 ([21202](https://github.com/civicrm/civicrm-core/pull/21202))** -- **[REF] Remove unused parameter ([21448](https://github.com/civicrm/civicrm-core/pull/21448))** +- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() + part 3 ([21352](https://github.com/civicrm/civicrm-core/pull/21352))** -- **[REF] Remove unused variable ([21451](https://github.com/civicrm/civicrm-core/pull/21451))** +- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() + part 4 ([21368](https://github.com/civicrm/civicrm-core/pull/21368))** -- **[REF] Extract code to load the contact in tokenCompat ([21450](https://github.com/civicrm/civicrm-core/pull/21450))** +- **Simplify getRecurFromAddress + ([21613](https://github.com/civicrm/civicrm-core/pull/21613))** -- **Authx: README: add note about CMS permissions ([21439](https://github.com/civicrm/civicrm-core/pull/21439))** +- **Return another function to the email trait + ([21677](https://github.com/civicrm/civicrm-core/pull/21677))** -- **dev/core#2832 Add test for legacy membership tokens, add support for preferred tokens ([21453](https://github.com/civicrm/civicrm-core/pull/21453))** +- **Rename test clas to reflect tested class name + ([21686](https://github.com/civicrm/civicrm-core/pull/21686))** -- **dev/core#2823 Restructure determination of required actions. ([21401](https://github.com/civicrm/civicrm-core/pull/21401))** +- **Remove unused function - convertDateFieldsToMySQL + ([21617](https://github.com/civicrm/civicrm-core/pull/21617))** -- **Wordpress Profile User Creation Sign On (v2) ([20807](https://github.com/civicrm/civicrm-core/pull/20807))** +- **Remove all references to safe_mode, DEPRECATED as of PHP 5.3.0 and REMOVED + as of PHP 5.4.0 + ([21594](https://github.com/civicrm/civicrm-core/pull/21594))** -- **Consolidate building of contact token list ([21429](https://github.com/civicrm/civicrm-core/pull/21429))** +- **Remove duplicate global declaration in civicrm.settings.php template + ([21409](https://github.com/civicrm/civicrm-core/pull/21409))** -- **dev/core#2817 Add CaseToken processor ([21383](https://github.com/civicrm/civicrm-core/pull/21383))** +- **Remove broken code + ([21602](https://github.com/civicrm/civicrm-core/pull/21602))** -- **dev/core#2829 - "Trying to access array offset on value of type null" on dashboard ([21441](https://github.com/civicrm/civicrm-core/pull/21441))** +- **Remove call to the dreaded replaceMultipleContributionTokens + ([21652](https://github.com/civicrm/civicrm-core/pull/21652))** -- **TokenProcessor - Allow basic filter/modifier expressions ([21428](https://github.com/civicrm/civicrm-core/pull/21428))** +- **Remove handling for empty required field + ([21623](https://github.com/civicrm/civicrm-core/pull/21623))** -- **dev/core#2823 fix test to be more like real function usage ([21440](https://github.com/civicrm/civicrm-core/pull/21440))** +- **Remove error handling for core error being returned + ([21425](https://github.com/civicrm/civicrm-core/pull/21425))** -- **dev/core#2829 - unit test for nonempty dashboard ([21437](https://github.com/civicrm/civicrm-core/pull/21437))** +- **Remove over-copied function + ([21641](https://github.com/civicrm/civicrm-core/pull/21641))** -- **dev/core#2823 Extract code to load the declarations and call from the constructor ([21399](https://github.com/civicrm/civicrm-core/pull/21399))** +- **Remove unused paramter + ([21685](https://github.com/civicrm/civicrm-core/pull/21685))** -- **dev/core#2823 Move validation into validation function ([21400](https://github.com/civicrm/civicrm-core/pull/21400))** +- **Remove deprecated code lines + ([21566](https://github.com/civicrm/civicrm-core/pull/21566))** -- **dev/core#2828 - Make up for message template text version update from 5.20 that never happened ([21434](https://github.com/civicrm/civicrm-core/pull/21434))** +- **Remove workflow_id reference + ([21671](https://github.com/civicrm/civicrm-core/pull/21671))** -- **[REF] Move Email, Address, etc. is_primary handling on delete to a hook (dev/core#2757) ([21211](https://github.com/civicrm/civicrm-core/pull/21211))** +- **Remove now-silly function + ([21680](https://github.com/civicrm/civicrm-core/pull/21680))** -- **SearchKit - Support custom fields in bridge join entities ([21424](https://github.com/civicrm/civicrm-core/pull/21424))** +- **Remove fugly bit + ([21497](https://github.com/civicrm/civicrm-core/pull/21497))** -- **SearchKit - Fix alignment in table headers ([21431](https://github.com/civicrm/civicrm-core/pull/21431))** +- **Remove requirement to enter email address on Opt Out + ([21350](https://github.com/civicrm/civicrm-core/pull/21350))** -- **[REF] Mapping - Check FK on delete with SQL instead of PHP (dev/core#2757) ([21198](https://github.com/civicrm/civicrm-core/pull/21198))** +- **Remove requirement to enter email address on unsubscribe + ([21175](https://github.com/civicrm/civicrm-core/pull/21175))** -- **Replace expensive query with cheaper one ([21426](https://github.com/civicrm/civicrm-core/pull/21426))** +- **Remove deprecated input variable + ([21372](https://github.com/civicrm/civicrm-core/pull/21372))** -- **[REF] Extract function to getDomainTokens ([21416](https://github.com/civicrm/civicrm-core/pull/21416))** +- **Remove unused private function + ([21371](https://github.com/civicrm/civicrm-core/pull/21371))** -- **Bump minimum upgradable version to 4.5.9 ([21408](https://github.com/civicrm/civicrm-core/pull/21408))** +- **Remove deprecated function + ([21361](https://github.com/civicrm/civicrm-core/pull/21361))** -- **Remove error handling for core error being returned ([21425](https://github.com/civicrm/civicrm-core/pull/21425))** +- **Remove testing hack + ([21360](https://github.com/civicrm/civicrm-core/pull/21360))** -- **dev/core#2814 Remove redundant call to `replaceContactTokens` ([21414](https://github.com/civicrm/civicrm-core/pull/21414))** +- **Remove deprecated function + ([21358](https://github.com/civicrm/civicrm-core/pull/21358))** -- **Smarty notices on Find Activities results page ([21422](https://github.com/civicrm/civicrm-core/pull/21422))** +- **Removes duplicate replace on event fee amount. + ([21739](https://github.com/civicrm/civicrm-core/pull/21739))** -- **[REF] Remove cruft ([21418](https://github.com/civicrm/civicrm-core/pull/21418))** +- **Remove function duplicated in error + ([21758](https://github.com/civicrm/civicrm-core/pull/21758))** -- **Smarty notice on Find Activities / Find Cases ([21421](https://github.com/civicrm/civicrm-core/pull/21421))** +- **Remove now-obsolete getPseudoTokens + ([21760](https://github.com/civicrm/civicrm-core/pull/21760))** -- **Follow up on removing contributeMode from templates ([21417](https://github.com/civicrm/civicrm-core/pull/21417))** +- **APIv4 - Minor code cleanup to improve efficiency in + CreateApi4RequestSubscriber + ([21775](https://github.com/civicrm/civicrm-core/pull/21775))** -- **Merge 5.42 to master ([21419](https://github.com/civicrm/civicrm-core/pull/21419))** +- **Function cleanup following move to non-static function + ([21693](https://github.com/civicrm/civicrm-core/pull/21693))** -- **dev/core#2748 Remove unused token assigns ([21059](https://github.com/civicrm/civicrm-core/pull/21059))** +- **[REF] Extract getRedirectUrl method + ([21687](https://github.com/civicrm/civicrm-core/pull/21687))** -- **dev/core#2823 update function visibility to protected ([21412](https://github.com/civicrm/civicrm-core/pull/21412))** +- **[REF] Copy another email trait function back to the trait + ([21648](https://github.com/civicrm/civicrm-core/pull/21648))** -- **Mailing Unsubscribe Form: Show if email is already unsubscribed ([21174](https://github.com/civicrm/civicrm-core/pull/21174))** +- **REF - Remove non-functional code from APIv3 + ([21727](https://github.com/civicrm/civicrm-core/pull/21727))** -- **Smarty warning about missing contact subtype on New Individual ([21410](https://github.com/civicrm/civicrm-core/pull/21410))** +- **[REF] Do not set input['line_item'] pointlessly + ([21311](https://github.com/civicrm/civicrm-core/pull/21311))** -- **Remove duplicate global declaration in civicrm.settings.php template ([21409](https://github.com/civicrm/civicrm-core/pull/21409))** +- **[REF] Use getSubmittedValue rather than passed values + ([21668](https://github.com/civicrm/civicrm-core/pull/21668))** -- **SearchKit & Afform - Use Bootstrap table styles on admin screens ([21405](https://github.com/civicrm/civicrm-core/pull/21405))** +- **(REF) MessageTemplate - Reverse renderTemplate()<=>sendTemplate() call + ([21610](https://github.com/civicrm/civicrm-core/pull/21610))** -- **[search kit] Semicolon vs comma ([21406](https://github.com/civicrm/civicrm-core/pull/21406))** +- **[REF] Separate contact tokens from 'tokenCompatSubscriber' + ([21626](https://github.com/civicrm/civicrm-core/pull/21626))** -- **Fixes dev/core#2826 SearchKit - Fix delete search confirm dialog ([21404](https://github.com/civicrm/civicrm-core/pull/21404))** +- **[Ref] Function signature cleanup + ([21618](https://github.com/civicrm/civicrm-core/pull/21618))** -- **SearchKit - Support bootstrap styles in search display tables ([21397](https://github.com/civicrm/civicrm-core/pull/21397))** +- **[REF] Return the sendEmail function to it's owner + ([21608](https://github.com/civicrm/civicrm-core/pull/21608))** -- **dev/core#2817 Block submission of pdf with text including token format that is ambiguous with the processor ([21381](https://github.com/civicrm/civicrm-core/pull/21381))** +- **[REF] Remove illusion of looping + ([21554](https://github.com/civicrm/civicrm-core/pull/21554))** -- **SearchKit - Prevent race conditions in search display loading ([21394](https://github.com/civicrm/civicrm-core/pull/21394))** +- **[Ref] Extend email trait test, process more sanely + ([21553](https://github.com/civicrm/civicrm-core/pull/21553))** -- **SearchKit - Filter search listing by creator ([21388](https://github.com/civicrm/civicrm-core/pull/21388))** +- **[REF] Extract domain tokens to their own class + ([21510](https://github.com/civicrm/civicrm-core/pull/21510))** -- **[NFC] Put back email test without tokens and enhance a little ([21398](https://github.com/civicrm/civicrm-core/pull/21398))** +- **[REF] add test & static array to participant values tokens + ([21476](https://github.com/civicrm/civicrm-core/pull/21476))** -- **Fix Upgrade step to ensure all fields are converted correctly as well ([21396](https://github.com/civicrm/civicrm-core/pull/21396))** +- **[REF] simplify member_tokens + ([21481](https://github.com/civicrm/civicrm-core/pull/21481))** -- **dev/core#2823 Make protected functions non-static ([21395](https://github.com/civicrm/civicrm-core/pull/21395))** +- **[Ref] Cleanup on SelectValues::contributeTokens + ([21465](https://github.com/civicrm/civicrm-core/pull/21465))** -- **Import csv-Fix not importing extension in phones ([20995](https://github.com/civicrm/civicrm-core/pull/20995))** +- **[Ref] Remove pass-by-reference + ([21466](https://github.com/civicrm/civicrm-core/pull/21466))** -- **dev/core#2772 - Don't crash for custom fields of type int that are multi-select ([21186](https://github.com/civicrm/civicrm-core/pull/21186))** +- **[Ref] Remove unnecessary pass-by-reference + ([21463](https://github.com/civicrm/civicrm-core/pull/21463))** -- **[REF] Update Product Create to use hooks and also switch the manage p… ([20822](https://github.com/civicrm/civicrm-core/pull/20822))** +- **[REF] Use OO when determining what to suggest for settings.php prefixes for + drupal/backdrop views, instead of scattered "if cms ==" + ([21042](https://github.com/civicrm/civicrm-core/pull/21042))** -- **[REF] Add in upgrade step to align the relationship cache table colla… ([21389](https://github.com/civicrm/civicrm-core/pull/21389))** +- **[REF] Remove unused parameter + ([21448](https://github.com/civicrm/civicrm-core/pull/21448))** -- **dev/core#2817 towards deprecating legacy `replaceCaseTokens` ([21380](https://github.com/civicrm/civicrm-core/pull/21380))** +- **[REF] Remove unused variable + ([21451](https://github.com/civicrm/civicrm-core/pull/21451))** -- **[NFC] Extend send email test to cover for contact tokens being replaced ([21386](https://github.com/civicrm/civicrm-core/pull/21386))** +- **[REF] Extract code to load the contact in tokenCompat + ([21450](https://github.com/civicrm/civicrm-core/pull/21450))** -- **[NFC] Add in type hints to template upgrade functions ([21390](https://github.com/civicrm/civicrm-core/pull/21390))** +- **[REF] Extract function to getDomainTokens + ([21416](https://github.com/civicrm/civicrm-core/pull/21416))** -- **Don't specify character set for civicrm_relationship_cache table ([21382](https://github.com/civicrm/civicrm-core/pull/21382))** +- **[REF] Remove cruft + ([21418](https://github.com/civicrm/civicrm-core/pull/21418))** -- **dev/core#2814 Fix activity:sendEmail follow up ([21385](https://github.com/civicrm/civicrm-core/pull/21385))** +- **[REF] Extract code to get the from address for a recurring contribution. + ([21357](https://github.com/civicrm/civicrm-core/pull/21357))** -- **Change Do Not SMS privacy icon ([21354](https://github.com/civicrm/civicrm-core/pull/21354))** +- **[Ref] Remove no-longer-used variables + ([21459](https://github.com/civicrm/civicrm-core/pull/21459))** -- **dev/core#2814 Fix membership pdf to use renderTemplate ([21379](https://github.com/civicrm/civicrm-core/pull/21379))** +- **[REF] Update Frequenecy template assignments in UpdateBilling to be + consistent with #21469 + ([21635](https://github.com/civicrm/civicrm-core/pull/21635))** -- **dev/core#2793 - Add REGEXP/NOT REGEXP SQL operators ([21288](https://github.com/civicrm/civicrm-core/pull/21288))** +- **[REF] Update Product Create to use hooks and also switch the manage + product/premium page to use APIv4 Product Entity + ([20822](https://github.com/civicrm/civicrm-core/pull/20822))** -- **Remove requirement to enter email address on Opt Out ([21350](https://github.com/civicrm/civicrm-core/pull/21350))** +- **[REF] Add in upgrade step to align the relationship cache table collation + and charset with the other tables + ([21389](https://github.com/civicrm/civicrm-core/pull/21389))** -- **Remove requirement to enter email address on unsubscribe ([21175](https://github.com/civicrm/civicrm-core/pull/21175))** +- **[REF] stop passing form into createActivities + ([21653](https://github.com/civicrm/civicrm-core/pull/21653))** -- **dev/core#2715 Move 2 more functions to financial processor class ([21370](https://github.com/civicrm/civicrm-core/pull/21370))** +- **[REF] Extract function for re-use + ([21778](https://github.com/civicrm/civicrm-core/pull/21778))** -- **[REF] Cleanup BAO::del() functions with unnecessary FK checks (dev/core#2757) ([21199](https://github.com/civicrm/civicrm-core/pull/21199))** +- **[REF] Move getCustomFieldTokens to the tokens class, annotate more + deprecations ([21660](https://github.com/civicrm/civicrm-core/pull/21660))** -- **dev/core#2814 Fix activity:sendSMS to use renderTemplate ([21377](https://github.com/civicrm/civicrm-core/pull/21377))** +- **[REF] APIv4 - Use event instead of hardcoded list to resolve entityName to + className ([21771](https://github.com/civicrm/civicrm-core/pull/21771))** -- **dev/core#2814 Fix test to use renderTemplate ([21378](https://github.com/civicrm/civicrm-core/pull/21378))** +- **Update contributors for Third Sector Design + ([21516](https://github.com/civicrm/civicrm-core/pull/21516))** -- **SearchKit - enable tags for Saved Searches ([21376](https://github.com/civicrm/civicrm-core/pull/21376))** +- **[NFC/Unit test] - Fix test fail on php 7.4 + CRM_Core_BAO_MessageTemplateTest::testCaseActivityCopyTemplate + ([21443](https://github.com/civicrm/civicrm-core/pull/21443))** -- **[REF] Extract code to get the from address for a recurring contribution. ([21357](https://github.com/civicrm/civicrm-core/pull/21357))** +- **[NFC/Unit Test] Remove wombats and bananas from + sites/default/files/civicrm/custom + ([21768](https://github.com/civicrm/civicrm-core/pull/21768))** -- **[REF] dev/core#2790 Move pdf getFileName functionality to the trait ([21366](https://github.com/civicrm/civicrm-core/pull/21366))** +- **[NFC/Unit test] - Fix secondary issue with case token consistency test + ([21369](https://github.com/civicrm/civicrm-core/pull/21369))** -- **dev/core#2814 Fix activity:sendEmail to use renderTemplate ([21365](https://github.com/civicrm/civicrm-core/pull/21365))** +- **Authx: README: add note about CMS permissions + ([21439](https://github.com/civicrm/civicrm-core/pull/21439))** -- **dev/core#2814 migrate export processor to use MessageRender ([21367](https://github.com/civicrm/civicrm-core/pull/21367))** +- **[NFC] Add test for new case email url + ([21766](https://github.com/civicrm/civicrm-core/pull/21766))** -- **dev/core#2814 Fix profile edit to use messagetemplate:render ([21364](https://github.com/civicrm/civicrm-core/pull/21364))** +- **[NFC] Afform - Add array shape annotations to FormDataModel + ([21765](https://github.com/civicrm/civicrm-core/pull/21765))** -- **[REF] dev/core#2790 dev/core#2814 Start migration to MessageTemplate::render ([21335](https://github.com/civicrm/civicrm-core/pull/21335))** +- **[NFC] Unit test fixes for the problem of quickform rules going missing + ([21725](https://github.com/civicrm/civicrm-core/pull/21725))** -- **Fix test to test trait not deprecated function ([21373](https://github.com/civicrm/civicrm-core/pull/21373))** +- **NFC - Update code comments + ([21675](https://github.com/civicrm/civicrm-core/pull/21675))** -- **Update use of CRM_Utils_System::setTitle() for legacycustomsearches ([21375](https://github.com/civicrm/civicrm-core/pull/21375))** +- **[NFC] Unit test for file-on-case + ([21678](https://github.com/civicrm/civicrm-core/pull/21678))** -- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() part 4 ([21368](https://github.com/civicrm/civicrm-core/pull/21368))** +- **[NFC] [test] minor cleanup in test + ([21498](https://github.com/civicrm/civicrm-core/pull/21498))** -- **Remove deprecated input variable ([21372](https://github.com/civicrm/civicrm-core/pull/21372))** +- **[NFC] Fix Fatal error on php 8 due to mis matched function declaration + ([21487](https://github.com/civicrm/civicrm-core/pull/21487))** -- **Remove unused private function ([21371](https://github.com/civicrm/civicrm-core/pull/21371))** +- **[NFC] Put back email test without tokens and enhance a little + ([21398](https://github.com/civicrm/civicrm-core/pull/21398))** -- **dev/translation#71 getFullMonthNames: do not rely on the OS for translation ([21157](https://github.com/civicrm/civicrm-core/pull/21157))** +- **[NFC] Extend send email test to cover for contact tokens being replaced + ([21386](https://github.com/civicrm/civicrm-core/pull/21386))** -- **[NFC/Unit test] - Fix secondary issue with case token consistency test ([21369](https://github.com/civicrm/civicrm-core/pull/21369))** +- **[NFC] Add in type hints to template upgrade functions + ([21390](https://github.com/civicrm/civicrm-core/pull/21390))** -- **Add SqlFunction support in addWhere ([21301](https://github.com/civicrm/civicrm-core/pull/21301))** +- **NFC Clarify description for ckeditor4 plugin + ([21349](https://github.com/civicrm/civicrm-core/pull/21349))** -- **SearchKit - Add 'array' option to download API and add test ([21363](https://github.com/civicrm/civicrm-core/pull/21363))** +- **Improve test readability, use schema labels for membership tokens + ([21708](https://github.com/civicrm/civicrm-core/pull/21708))** -- **dev/core#2715 [REF] Move another 2 functions to the financial processor class ([20985](https://github.com/civicrm/civicrm-core/pull/20985))** +- **Add test to cancel subscription form + ([21588](https://github.com/civicrm/civicrm-core/pull/21588))** -- **Remove deprecated function ([21361](https://github.com/civicrm/civicrm-core/pull/21361))** +- **Fix test to test trait not deprecated function + ([21373](https://github.com/civicrm/civicrm-core/pull/21373))** -- **[REF] dev/core#2790 Follow on on code move, make not static ([21359](https://github.com/civicrm/civicrm-core/pull/21359))** +- **Fix test + ([21585](https://github.com/civicrm/civicrm-core/pull/21585))** -- **dev/core#2486 Add survey v4 api ([21355](https://github.com/civicrm/civicrm-core/pull/21355))** +- **Tests - update to use postProcess + ([21637](https://github.com/civicrm/civicrm-core/pull/21637))** -- **Remove testing hack ([21360](https://github.com/civicrm/civicrm-core/pull/21360))** +- **Basic IDE cleanup on test class + ([21661](https://github.com/civicrm/civicrm-core/pull/21661))** -- **Remove deprecated function ([21358](https://github.com/civicrm/civicrm-core/pull/21358))** +- **Test fix + ([21662](https://github.com/civicrm/civicrm-core/pull/21662))** -- **[REF] Fix form to call this->setTitle() ([21362](https://github.com/civicrm/civicrm-core/pull/21362))** +- **tests/events/*.php - Enforce general compliance with hook/event signatures + ([21615](https://github.com/civicrm/civicrm-core/pull/21615))** -- **activity import: prepend custom group title to custom fields ([21318](https://github.com/civicrm/civicrm-core/pull/21318))** +- **HttpTestTrait - Allow one to easily authenticate subrequests + ([21261](https://github.com/civicrm/civicrm-core/pull/21261))** -- **[REF] Deprecate 2 del() functions in favor of generics and hooks (dev/core#2757) ([21210](https://github.com/civicrm/civicrm-core/pull/21210))** +- **Test regression fix + ([21649](https://github.com/civicrm/civicrm-core/pull/21649))** -- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() part 3 ([21352](https://github.com/civicrm/civicrm-core/pull/21352))** +- **Test tearDown fixes + ([21548](https://github.com/civicrm/civicrm-core/pull/21548))** -- **Switch to CRM_Core_Form::setTitle() instead of CRM_Utils_System::setTitle() part 2 ([21202](https://github.com/civicrm/civicrm-core/pull/21202))** +- **Convert more tests to call postProcess + ([21628](https://github.com/civicrm/civicrm-core/pull/21628))** -- **NFC Clarify description for ckeditor4 plugin ([21349](https://github.com/civicrm/civicrm-core/pull/21349))** +- **Stop testing for gender_id output that was described as 'legacy' years ago + ([21558](https://github.com/civicrm/civicrm-core/pull/21558))** -- **dev/core#2716 [REF] Stop 'distributing' the main flow ([20856](https://github.com/civicrm/civicrm-core/pull/20856))** +- **Test cleanup + ([21622](https://github.com/civicrm/civicrm-core/pull/21622))** -- **[REF] Do not set input['line_item'] pointlessly ([21311](https://github.com/civicrm/civicrm-core/pull/21311))** +- **Fix test to use postProcess + ([21630](https://github.com/civicrm/civicrm-core/pull/21630))** -- **dev/core#1618 Trigger a reconciliation of logging tables after Extens… ([21135](https://github.com/civicrm/civicrm-core/pull/21135))** +- **Test cleanup -convert to use postProcess + ([21629](https://github.com/civicrm/civicrm-core/pull/21629))** -- **#13 - Contact Image uploaded from Drupal Webform don't render on Drup… ([524](https://github.com/civicrm/civicrm-drupal/pull/524))** +- **Add test and fix for API4 failing to decode strings stored as HTML + ([21549](https://github.com/civicrm/civicrm-core/pull/21549))** -- **Add deduping to Quick Add Dashboard Widget ([256](https://github.com/civicrm/civicrm-wordpress/pull/256))** +- **Initial test on event tokens + ([21563](https://github.com/civicrm/civicrm-core/pull/21563))** -- **Fix generating civicrm.settings.php by ensuring that CMSdbSSL and dbS… ([63](https://github.com/civicrm/civicrm-joomla/pull/63))** +- **Cleanup on test tear downs + ([21552](https://github.com/civicrm/civicrm-core/pull/21552))** -## Miscellany +- **Attempt to fix test site 500 errors on activity pdf + ([21504](https://github.com/civicrm/civicrm-core/pull/21504))** ## Credits This release was developed by the following code authors: -AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Andy Burns; Benjamin W; Christian Wach; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Digitalcourage - Detlev Sieber; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Rubén Pineda; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Third Sector Design - Kurund Jalmi, Michael McAndrew, William Mortada; Valéry Gouleau; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Alice Frumin, Andie Hunt; Agileware - Justin Freeman; Andy +Burns; Benjamin W; Christian Wach; CiviCoop - Jaap Jansma; CiviCRM - Coleman +Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; +Dave D; Digitalcourage - Detlev Sieber; Francesc Bassas i Bullich; Fuzion - +Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - +Rubén Pineda; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; +Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology +Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology +Project - Jamie McClelland; Third Sector Design - Kurund Jalmi, Michael +McAndrew, William Mortada; Valéry Gouleau; Wikimedia Foundation - Eileen +McNaughton Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -AGH Strategies - Andie Hunt, Eli Lisseck; Agileware - Justin Freeman; Artful Robot - Rich Lott; awestuk; Black Brick Software - David Hayes; Christian Wach; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Josh Gowans, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Dave D; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Monish Deb, Seamus Lee; John Kingsnorth; Lemniscus - Noah Miller; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; OPEN - dewy; Progressive Technology Project - Jamie McClelland; rbaugh; Richard van Oosterhout; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi, William Mortada; Wikimedia Foundation - Eileen McNaughton +AGH Strategies - Eli Lisseck; Artful Robot - Rich Lott; Black Brick Software - +David Hayes; CiviCRM - Josh Gowans; CiviDesk - Yashodha Chaku; CompuCorp - Omar +Abu Hussein; Freeform Solutions - Herb van den Dool; Humanists UK - Andrew West; +Lemniscus - Noah Miller; OPEN - dewy; Richard Baugh; Richard van Oosterhout; +Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Squiffle Consulting - Aidan +Saunders; Tadpole Collective - Kevin Cristiano ## Feedback These release notes are edited by Alice Frumin and Andie Hunt. If you'd like to provide feedback on them, please log in to https://chat.civicrm.org/civicrm and contact `@agh1`. - -- 2.25.1