# CiviCRM 5.41.0 Released September 1, 2021 - **[Synopsis](#synopsis)** - **[Features](#features)** - **[Bugs resolved](#bugs)** - **[Miscellany](#misc)** - **[Credits](#credits)** - **[Feedback](#feedback)** ## Synopsis | *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? | | ## Features ## Bugs resolved ### Core CiviCRM - **dev/core#2743 fix api v3 to not unnecessarily load options ([21099](https://github.com/civicrm/civicrm-core/pull/21099))** - **dev/user-interface#37 Reinstate jQueryUI visible focus effect in quicksearch ([21102](https://github.com/civicrm/civicrm-core/pull/21102))** - **fix crmValidate() not loading on event registration pages ([21124](https://github.com/civicrm/civicrm-core/pull/21124))** - **delocalize total amount before passing to setOverrideTotal ([21107](https://github.com/civicrm/civicrm-core/pull/21107))** - **[REF] Upgrade CKEditor to 4.16.2 ([21108](https://github.com/civicrm/civicrm-core/pull/21108))** - **(NFC) release-notes - Fix typo ([21104](https://github.com/civicrm/civicrm-core/pull/21104))** - **dev/core#2749 remove exception when no payment processor configured when no payment processor configured ([21100](https://github.com/civicrm/civicrm-core/pull/21100))** - **[REF] Fix utf8mb4 test in APIv4 and re-enable the altering of databas… ([21001](https://github.com/civicrm/civicrm-core/pull/21001))** - **dev/core#2742 fix group type on group create from form ([21053](https://github.com/civicrm/civicrm-core/pull/21053))** - **dev/core#2740 fix dashboard regression on links ([21051](https://github.com/civicrm/civicrm-core/pull/21051))** - **Tpl notice fixes ([21050](https://github.com/civicrm/civicrm-core/pull/21050))** - **SearchKit - Fix permission to access task list ([21045](https://github.com/civicrm/civicrm-core/pull/21045))** - **contributor-key.yml: updates for Symbiotic ([21044](https://github.com/civicrm/civicrm-core/pull/21044))** - **Reconcile tokens misnamed or missing on legacy class ([21039](https://github.com/civicrm/civicrm-core/pull/21039))** - **Switch to using apiv4 for metadata ([21038](https://github.com/civicrm/civicrm-core/pull/21038))** - **Enotice fix ([21041](https://github.com/civicrm/civicrm-core/pull/21041))** - **Enotice fix ([21040](https://github.com/civicrm/civicrm-core/pull/21040))** - **Make report subtotals work for custom fields ([20752](https://github.com/civicrm/civicrm-core/pull/20752))** - **Fix mailing task when there are no tasks ([20989](https://github.com/civicrm/civicrm-core/pull/20989))** - **Reconcile contribution amount tokens ([21036](https://github.com/civicrm/civicrm-core/pull/21036))** - **Fix advertised token for source ([21037](https://github.com/civicrm/civicrm-core/pull/21037))** - **Update contribution_page_id token in sched reminders ([21035](https://github.com/civicrm/civicrm-core/pull/21035))** - ** Reconcile and upgrade tokens for payment instrument, financial type ([21000](https://github.com/civicrm/civicrm-core/pull/21000))** - **Switch contribution action schedule tokens to use advertised tokens for cancel_date & source ([20999](https://github.com/civicrm/civicrm-core/pull/20999))** - **Fix bulk adding custom fields with logging on ([21019](https://github.com/civicrm/civicrm-core/pull/21019))** - **Update contributor-key.yml ([21033](https://github.com/civicrm/civicrm-core/pull/21033))** - **5.40 up merge ([21032](https://github.com/civicrm/civicrm-core/pull/21032))** - **Afform - support default values for fields ([21005](https://github.com/civicrm/civicrm-core/pull/21005))** - **5.40 ([21015](https://github.com/civicrm/civicrm-core/pull/21015))** - **[NFC] Fix APIv4 Utf8mb4 test to ensure no mixed collation errors ([21013](https://github.com/civicrm/civicrm-core/pull/21013))** - **enable paging if contact has more then 50 grants. ([21008](https://github.com/civicrm/civicrm-core/pull/21008))** - **5.40 ([21011](https://github.com/civicrm/civicrm-core/pull/21011))** - **Use template variable to add or remove swap button. ([21003](https://github.com/civicrm/civicrm-core/pull/21003))** - **[Ref] [Test] Move custom search tests to extension ([20990](https://github.com/civicrm/civicrm-core/pull/20990))** - **Afform - Use correct contact type when loading field options ([20996](https://github.com/civicrm/civicrm-core/pull/20996))** - **[NFC] Do a proper tear down of fts in QueryFormatterTest ([21004](https://github.com/civicrm/civicrm-core/pull/21004))** - **Smarty warnings on Manage Case ([21002](https://github.com/civicrm/civicrm-core/pull/21002))** - **Rename legacy token for contribution id to match sched reminder tokens ([20998](https://github.com/civicrm/civicrm-core/pull/20998))** - **Fix upgrade message when nothing was changed ([20994](https://github.com/civicrm/civicrm-core/pull/20994))** - **Do not generate a notice when a vcard is downloaded with a non-primary email or non-primary phone number ([20993](https://github.com/civicrm/civicrm-core/pull/20993))** - **Case Dashboard: fix labels on my/all radio buttons, and simplify label text ([20958](https://github.com/civicrm/civicrm-core/pull/20958))** - **Fix for failure (fatal error and silent failure) to clean up full text indices ([20921](https://github.com/civicrm/civicrm-core/pull/20921))** - **Add upgrade routine to remove old action schedule token ([20978](https://github.com/civicrm/civicrm-core/pull/20978))** - **dev/core#2704 SearchKit - Add support for SQL functions ([20947](https://github.com/civicrm/civicrm-core/pull/20947))** - **Upgrade message is scrunched up next to the previous sentence ([20986](https://github.com/civicrm/civicrm-core/pull/20986))** - **Move/rename case export files for consistency ([20988](https://github.com/civicrm/civicrm-core/pull/20988))** - **Test, enotice fixes, handling for permissions key for Member_Tasks ([20944](https://github.com/civicrm/civicrm-core/pull/20944))** - **Improve cleanup on indexer test ([20909](https://github.com/civicrm/civicrm-core/pull/20909))** - **[REF] minor fix - move last of processing before receipting ([20969](https://github.com/civicrm/civicrm-core/pull/20969))** - **dev/core#2719 [REF] Remove legacy reference to contribution_invoice_settings ([20971](https://github.com/civicrm/civicrm-core/pull/20971))** - **Update label on payment instrument ([20977](https://github.com/civicrm/civicrm-core/pull/20977))** - **New membership: fix tax amount translation ([20979](https://github.com/civicrm/civicrm-core/pull/20979))** - **Activity tasks - don't add invalid tasks ([20951](https://github.com/civicrm/civicrm-core/pull/20951))** - **dev/core#2715 [REF] Start the process of moving financial processing to own class ([20872](https://github.com/civicrm/civicrm-core/pull/20872))** - **Fix databaseSupportsUTF8MB4 ([20905](https://github.com/civicrm/civicrm-core/pull/20905))** - **PHP E_NOTICE during upgrade ([20980](https://github.com/civicrm/civicrm-core/pull/20980))** - **Make final mailing from A/B test same template type and options as A/B so it can be copied ([20096](https://github.com/civicrm/civicrm-core/pull/20096))** - **dev/core#2721 Move custom search framework to a core extension ([20952](https://github.com/civicrm/civicrm-core/pull/20952))** - **dev/core#2726 - Set ssl option when using DSN with SSL ([20974](https://github.com/civicrm/civicrm-core/pull/20974))** - **dev/core#2650 Add support for names & labels for token pseudoconstants ([20961](https://github.com/civicrm/civicrm-core/pull/20961))** - **Unit test for invalidateChecksum hook ([20973](https://github.com/civicrm/civicrm-core/pull/20973))** - **Add hook for validating checksum ([20858](https://github.com/civicrm/civicrm-core/pull/20858))** - **dev/core#2719 [REF] Remove some legacy references to contribution_invoice_settings ([20862](https://github.com/civicrm/civicrm-core/pull/20862))** - **NFC - Reformat JSON file whitespace in Afform mock ext ([20967](https://github.com/civicrm/civicrm-core/pull/20967))** - **SearchKit - fix deprecated join ([20968](https://github.com/civicrm/civicrm-core/pull/20968))** - **Cast to float when setting overrideTotalAmount - regression in master ([20962](https://github.com/civicrm/civicrm-core/pull/20962))** - **Invoice template: Add function to update message tokens during upgrade ([20885](https://github.com/civicrm/civicrm-core/pull/20885))** - **Improve accessibility for price fields of the type select by adding the price field label to the placeholder. ([20927](https://github.com/civicrm/civicrm-core/pull/20927))** - ** Distinguish custom field VIEW from EDIT permissions ([20837](https://github.com/civicrm/civicrm-core/pull/20837))** - **Fix Payment.create to update financial_item.status_id ([20941](https://github.com/civicrm/civicrm-core/pull/20941))** - **dev/core#2710 Cannot disable contact type/sub-type ([20919](https://github.com/civicrm/civicrm-core/pull/20919))** - **[REF] [Super trivial] -tighten up some casting ([20964](https://github.com/civicrm/civicrm-core/pull/20964))** - **Fix unit translation for recurring contributions ([20308](https://github.com/civicrm/civicrm-core/pull/20308))** - **fix missing 'on behalf of' and honoree labels in multilingual ([20482](https://github.com/civicrm/civicrm-core/pull/20482))** - **Smarty notices for New Activity / New Case for tags for attachments ([20957](https://github.com/civicrm/civicrm-core/pull/20957))** - **dev/core#2721 [Ref] simplify passed parameters ([20955](https://github.com/civicrm/civicrm-core/pull/20955))** - **Fix test to use valid financials ([20956](https://github.com/civicrm/civicrm-core/pull/20956))** - **dev/core#2721 [REF] Further divide savedSearchParam loading into the sql functions ([20954](https://github.com/civicrm/civicrm-core/pull/20954))** - **5.40 ([20960](https://github.com/civicrm/civicrm-core/pull/20960))** - ** dev/financial#6: Button for create/view template contribution on contact summary ([20685](https://github.com/civicrm/civicrm-core/pull/20685))** - **dev/core#2709 Enable logging for custom data tables with non-standard names ([20918](https://github.com/civicrm/civicrm-core/pull/20918))** - **Swap {$displayName} smarty for {contact.display_name} token ([20867](https://github.com/civicrm/civicrm-core/pull/20867))** - **[Test] Add cover for setting num_terms to 2 ([20939](https://github.com/civicrm/civicrm-core/pull/20939))** - **Smarty notices on logging detail report ([20948](https://github.com/civicrm/civicrm-core/pull/20948))** - **CRM_Utils_Type::validatePhpType - Helper to validate PHP type expressions ([20923](https://github.com/civicrm/civicrm-core/pull/20923))** - **Smarty warning about pager location on all CiviReports ([20949](https://github.com/civicrm/civicrm-core/pull/20949))** - **Fix error message when unable to delete ManagedEntity ([20946](https://github.com/civicrm/civicrm-core/pull/20946))** - **Add ts() function within CRM_Core_Error::statusBounce() method ([20857](https://github.com/civicrm/civicrm-core/pull/20857))** - **[NFC] Remove exceptions from comments ([20943](https://github.com/civicrm/civicrm-core/pull/20943))** - **add support for profile map view ([20877](https://github.com/civicrm/civicrm-core/pull/20877))** - **Extract getCurrentMembership ([20882](https://github.com/civicrm/civicrm-core/pull/20882))** - **5.40 ([20937](https://github.com/civicrm/civicrm-core/pull/20937))** - **Reduce deadlock while inserting custom data for Address ([20924](https://github.com/civicrm/civicrm-core/pull/20924))** - **Add v4 managed api entity ([20932](https://github.com/civicrm/civicrm-core/pull/20932))** - **[NFC] Typo in parameter for lybunt test ([20934](https://github.com/civicrm/civicrm-core/pull/20934))** - **Fix 'includes tax' translation for PriceSet Checkbox fields ([20926](https://github.com/civicrm/civicrm-core/pull/20926))** - **Add filter by custom fields in Accounting Batch. https://lab.civicrm.… ([20556](https://github.com/civicrm/civicrm-core/pull/20556))** - **[REF] SearchKit - Refactor pick-lists to use onCrmUiSelect directive ([20910](https://github.com/civicrm/civicrm-core/pull/20910))** - **Enable range search for money fields in search kit + afform ([20930](https://github.com/civicrm/civicrm-core/pull/20930))** - **5.40 ([20931](https://github.com/civicrm/civicrm-core/pull/20931))** - **Display configured currency on PCPPage instead of default ([20904](https://github.com/civicrm/civicrm-core/pull/20904))** - **Add check to see if these indices are actually removed + call the function which should ([20920](https://github.com/civicrm/civicrm-core/pull/20920))** - **[REF] Extract the function to load from the acl table ([20868](https://github.com/civicrm/civicrm-core/pull/20868))** - **Remove obsolete code ([20854](https://github.com/civicrm/civicrm-core/pull/20854))** - **Greenwich - fix select2 font size ([20911](https://github.com/civicrm/civicrm-core/pull/20911))** - **Capitalization Fix ([20913](https://github.com/civicrm/civicrm-core/pull/20913))** - **APIv4 - Fix calculated fields in bridge entities ([20908](https://github.com/civicrm/civicrm-core/pull/20908))** - **SearchKit - Add links to view/edit/delete relationships ([20886](https://github.com/civicrm/civicrm-core/pull/20886))** - **CRM_Utils_Array::pathMove - Add helper to move an item within array tree ([20866](https://github.com/civicrm/civicrm-core/pull/20866))** - **Add test & fix for failing OR clause in apv4 ([20906](https://github.com/civicrm/civicrm-core/pull/20906))** - **[REF] Refactor SearchKit displays to inherit traits from a common base ([20900](https://github.com/civicrm/civicrm-core/pull/20900))** - **(REF) Extract TokenSmarty::render() from MessageTemplate::renderMessageTemplate() ([20870](https://github.com/civicrm/civicrm-core/pull/20870))** - **[NFC/Unit test] - Test for #20892 - New smarty plugin crmUpper ([20895](https://github.com/civicrm/civicrm-core/pull/20895))** - **[NFC/Unit test] ReportTemplateTest - fix tests that assume setup from a separate test ([20887](https://github.com/civicrm/civicrm-core/pull/20887))** - **[REF] Add in smarty modifier to replcae the upper smarty modifier to … ([20892](https://github.com/civicrm/civicrm-core/pull/20892))** - **APIv4 - Add test to ensure superfluous option groups are not created ([20902](https://github.com/civicrm/civicrm-core/pull/20902))** - **[NFC/Unit test] dev/core#2699 - Fix intermittent api4 test (part 1) ([20901](https://github.com/civicrm/civicrm-core/pull/20901))** - **Fix PHP notice in recaptcha lib ([20899](https://github.com/civicrm/civicrm-core/pull/20899))** - **some typo fixes ([20897](https://github.com/civicrm/civicrm-core/pull/20897))** - **(REF) APIv4 FieldSpec - Extract various traits (Civi\Schema\Traits\*) ([20875](https://github.com/civicrm/civicrm-core/pull/20875))** - **Added setup pcp page wordpress shortcode ([20601](https://github.com/civicrm/civicrm-core/pull/20601))** - **[REF] Fix functions to be protected ([20869](https://github.com/civicrm/civicrm-core/pull/20869))** - **SearchKit - Support all fields as tokens ([20880](https://github.com/civicrm/civicrm-core/pull/20880))** - **APIv4 - Fix and add tests for comparison SQL functions ([20893](https://github.com/civicrm/civicrm-core/pull/20893))** - **APIv4 - Better handling of output value using GROUP_CONCAT ([20896](https://github.com/civicrm/civicrm-core/pull/20896))** - **5.40 ([20894](https://github.com/civicrm/civicrm-core/pull/20894))** - **[NFC/Unit test] - Failing test demonstrating blank timestamp updates ([20891](https://github.com/civicrm/civicrm-core/pull/20891))** - **(REF) Civi/Schema - Extract MagicGetterSetterTrait. Add test coverage. ([20865](https://github.com/civicrm/civicrm-core/pull/20865))** - **Use type hinting for id ([20850](https://github.com/civicrm/civicrm-core/pull/20850))** - **Remove deprecated code ([20848](https://github.com/civicrm/civicrm-core/pull/20848))** - **Remove never-true-if ([20853](https://github.com/civicrm/civicrm-core/pull/20853))** - **Remove non-variable variables ([20881](https://github.com/civicrm/civicrm-core/pull/20881))** - **Fix onCrmUiSelect to use current scope and apply to the digest cycle ([20879](https://github.com/civicrm/civicrm-core/pull/20879))** - **SearchKit - Fix pager count return value ([20878](https://github.com/civicrm/civicrm-core/pull/20878))** - **[Ref] Remove never-passed parameter ([20871](https://github.com/civicrm/civicrm-core/pull/20871))** - **[REF] Remove some non-variable variables ([20874](https://github.com/civicrm/civicrm-core/pull/20874))** - **dev/core#2650 Add support for contribution_status_id to the token processor ([20864](https://github.com/civicrm/civicrm-core/pull/20864))** - **Enotice fix on extensions page ([20801](https://github.com/civicrm/civicrm-core/pull/20801))** - **Remove deprecated lines of code ([20873](https://github.com/civicrm/civicrm-core/pull/20873))** - **Api test cleanup fixes ([20876](https://github.com/civicrm/civicrm-core/pull/20876))** - **[REF] Simplify isRenew handling on batch for membership ([20791](https://github.com/civicrm/civicrm-core/pull/20791))** - **dev/core#2684 Fix filters tpl in civi reports to permit more than one table in a grouping ([20820](https://github.com/civicrm/civicrm-core/pull/20820))** - **[REF] Further order api cleanup ([20829](https://github.com/civicrm/civicrm-core/pull/20829))** - **Fix v4 api to do custom field delete in tearDown ([20863](https://github.com/civicrm/civicrm-core/pull/20863))** - **Give administer CiviCRM data access to administer custom groups ([20578](https://github.com/civicrm/civicrm-core/pull/20578))** - **5.40 to master ([20860](https://github.com/civicrm/civicrm-core/pull/20860))** - **APIv4 - Fix output of membershipType auto_renew field ([20840](https://github.com/civicrm/civicrm-core/pull/20840))** - **[REF] [towards dev/core#2693] Use getter rather than passing variable ([20852](https://github.com/civicrm/civicrm-core/pull/20852))** - **5.40 ([20849](https://github.com/civicrm/civicrm-core/pull/20849))** - **Minor simplification - use casting ([20847](https://github.com/civicrm/civicrm-core/pull/20847))** - **[REF] Minor auth.net ipn simplification ([20718](https://github.com/civicrm/civicrm-core/pull/20718))** - **dev/core#2691 - On logging detail civireport show words instead of numbers ([20844](https://github.com/civicrm/civicrm-core/pull/20844))** - **Smarty notices - Missing type on logging civireport ([20843](https://github.com/civicrm/civicrm-core/pull/20843))** - **dev/core#2115 Switch membership type browse page to use v4api for get, thus using acls properly ([20768](https://github.com/civicrm/civicrm-core/pull/20768))** - **Add to contributors file ([20842](https://github.com/civicrm/civicrm-core/pull/20842))** - **Mark afform extensions as beta ([20821](https://github.com/civicrm/civicrm-core/pull/20821))** - **Fix a typo in social networking buttons ([20839](https://github.com/civicrm/civicrm-core/pull/20839))** - **CustomGroup - change admin permission to 'administer CiviCRM data' ([20833](https://github.com/civicrm/civicrm-core/pull/20833))** - **[REF] Remove unused variables ([20834](https://github.com/civicrm/civicrm-core/pull/20834))** - **Remove a couple of instances of 'contribution_mode' from tests ([20831](https://github.com/civicrm/civicrm-core/pull/20831))** - **Deprecate guess work in line item handling ([20775](https://github.com/civicrm/civicrm-core/pull/20775))** - **Fixes getTemplateContribution to use a more reliable way to load line items ([20784](https://github.com/civicrm/civicrm-core/pull/20784))** - **5.40 ([20838](https://github.com/civicrm/civicrm-core/pull/20838))** - **dev/core#2648 update redis class off deprecated functions ([20587](https://github.com/civicrm/civicrm-core/pull/20587))** - **E-notice fix ([20830](https://github.com/civicrm/civicrm-core/pull/20830))** - **Enable check on created participant payment rows ([20650](https://github.com/civicrm/civicrm-core/pull/20650))** - **APIv4 - Fix pseudoconstant matching reliability across joins ([20799](https://github.com/civicrm/civicrm-core/pull/20799))** - **Fix undefined tpl vars ([20828](https://github.com/civicrm/civicrm-core/pull/20828))** - **Fix transfer registration to transfer participant_payment row ([20670](https://github.com/civicrm/civicrm-core/pull/20670))** - **Merge 5.40 to master ([20826](https://github.com/civicrm/civicrm-core/pull/20826))** - **tpl enotice fix ([20827](https://github.com/civicrm/civicrm-core/pull/20827))** - **(REF) dev/core#2571 - Add helper functions for reCAPTCHA extension ([20315](https://github.com/civicrm/civicrm-core/pull/20315))** - **APIv4 - Fix dumb typo breaking color lookup ([20817](https://github.com/civicrm/civicrm-core/pull/20817))** - **PHP notice fixes on options page ([20816](https://github.com/civicrm/civicrm-core/pull/20816))** - **dev/core#2624 display line items from the template contribution at the view recurring contribution screen. ([20399](https://github.com/civicrm/civicrm-core/pull/20399))** - **[REF] Add in APIv4 Product Entity and Fix APIv4 Syntax Conformance te… ([20819](https://github.com/civicrm/civicrm-core/pull/20819))** - **5.40 to master ([20815](https://github.com/civicrm/civicrm-core/pull/20815))** - **Fix undefined tpl variables ([20813](https://github.com/civicrm/civicrm-core/pull/20813))** - **Add ContributionProduct and EntityBatch APIv4 Entity ([20505](https://github.com/civicrm/civicrm-core/pull/20505))** - **Forward Mailing: remove duplicate buttons, cancel button ([20782](https://github.com/civicrm/civicrm-core/pull/20782))** - **Update contributor-key.yml ([20812](https://github.com/civicrm/civicrm-core/pull/20812))** - **Add deprecation warning for modifiedDates ([20805](https://github.com/civicrm/civicrm-core/pull/20805))** - **dev/core#2652 - Civi\Report - Add is null / is not null to OP_MULTISE… ([20794](https://github.com/civicrm/civicrm-core/pull/20794))** - **SearchKit - Auto-apply filters passed in from Afform markup ([20758](https://github.com/civicrm/civicrm-core/pull/20758))** - **crmMonaco - Multiple updates. Toward message-template editing. ([20786](https://github.com/civicrm/civicrm-core/pull/20786))** - **Fix test to use order api & setup valid financials ([20806](https://github.com/civicrm/civicrm-core/pull/20806))** - **dev/drupal#54 Remove hook_user_login, fixes the masquerade module ([31](https://github.com/civicrm/civicrm-drupal-8/pull/31))** - **revert #240 Remove Base Page content filter once it has been used ([255](https://github.com/civicrm/civicrm-wordpress/pull/255))** - **add profile map view shortcode support ([252](https://github.com/civicrm/civicrm-wordpress/pull/252))** - **Add setup pcp page shortcode ([253](https://github.com/civicrm/civicrm-wordpress/pull/253))** - **Also check timestamp types for update() when trying to update a timestamp field with a blank value ([326](https://github.com/civicrm/civicrm-packages/pull/326))** ## Miscellany ## Credits This release was developed by the following code authors: AGH Strategies - Alice Frumin, Andie Hunt; Caltha - Tomasz Pietrzkowski; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Diego Muñio; erawat; Gokhalemethod - Sadashiv; Greenpeace Central and Eastern Europe - Patrick Figel; invalid-email-address; JMA Consulting - Monish Deb, Seamus Lee; Kartik Kathuria; Lighthouse Consulting and Design - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; Miguel Almeida; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Progressive Technology Project - Jamie McClelland; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston; Wildsight - Lars Sanders-Green Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andie Hunt; allinappli; Anatoleallain; Artful Robot - Rich Lott; CEPR - Josh Brown; Christian Wach; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Jamie Novick; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove, Shane Bill; Dave D; Diego Muñio; encircle; erawat; Fuzion - Jitendra Purohit, Luke Stewart; GValFr35; in2part; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; jptillman; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; PERORA SRL - Samuele Masetto; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton; Wildsight - Lars Sanders-Green; wyde22 ## 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`.