From 62fc37532bd5a0f0a170a2cacd00d0d061951876 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Tue, 6 Apr 2021 12:20:56 -0400 Subject: [PATCH] 5.36.0 release notes: raw from script --- release-notes/5.36.0.md | 383 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 383 insertions(+) create mode 100644 release-notes/5.36.0.md diff --git a/release-notes/5.36.0.md b/release-notes/5.36.0.md new file mode 100644 index 0000000000..13f6a5d65c --- /dev/null +++ b/release-notes/5.36.0.md @@ -0,0 +1,383 @@ +# CiviCRM 5.36.0 + +Released April 7, 2021; + +- **[Features](#features)** +- **[Bugs resolved](#bugs)** +- **[Miscellany](#misc)** +- **[Credits](#credits)** + +## Features + +## Bugs resolved + +### Core CiviCRM + +- **dev/core#2498 Fix regression on saving dedupe rules ([19952](https://github.com/civicrm/civicrm-core/pull/19952))** + +- **Revert "dev/core#2028 Add in a status check for checking if the wkhtm… ([19942](https://github.com/civicrm/civicrm-core/pull/19942))** + +- **[WIP] dev/core#2473 - Don't crash when assignee left blank when creating followup on email activity ([19874](https://github.com/civicrm/civicrm-core/pull/19874))** + +- **(dev/core#2077) AuthX - Allow optional "guards" ([19728](https://github.com/civicrm/civicrm-core/pull/19728))** + +- **avoid error when reserving respondents in a survey. ([19811](https://github.com/civicrm/civicrm-core/pull/19811))** + +- **Fix rc regression - js error on autorenew checkbox ([19791](https://github.com/civicrm/civicrm-core/pull/19791))** + +- **SearchKit - Fix token menu positioning ([19780](https://github.com/civicrm/civicrm-core/pull/19780))** + +- **dev/core#2452 - Make upgrade to 5.36 more robust when creating foreign key ([19773](https://github.com/civicrm/civicrm-core/pull/19773))** + +- **Add is empty filter to search / api ([19736](https://github.com/civicrm/civicrm-core/pull/19736))** + +- **SearchKit - Fix broken update dialog and add input type float ([19758](https://github.com/civicrm/civicrm-core/pull/19758))** + +- **Afform - Show breadcrumbs appropriate to whether a form can be edited ([19739](https://github.com/civicrm/civicrm-core/pull/19739))** + +- **SearchKit - Fix removing all related fields from SELECT when removing a JOIN ([19747](https://github.com/civicrm/civicrm-core/pull/19747))** + +- **dev/translation#58 further regression fix: don't make group title NOT NULL even for a moment ([19740](https://github.com/civicrm/civicrm-core/pull/19740))** + +- **SearchKit - Take search filters from the url when viewing a standalone display ([19713](https://github.com/civicrm/civicrm-core/pull/19713))** + +- **core#1132 - don't fire hook_civicrm_fieldOptions before hook_civicrm_… ([19580](https://github.com/civicrm/civicrm-core/pull/19580))** + +- **Afform - Add link to edit form in breadcrumbs ([19691](https://github.com/civicrm/civicrm-core/pull/19691))** + +- **5.35 ([19726](https://github.com/civicrm/civicrm-core/pull/19726))** + +- **Improve search display filter validation ([19720](https://github.com/civicrm/civicrm-core/pull/19720))** + +- **dev/core#2434 Fix price set id widget ([19723](https://github.com/civicrm/civicrm-core/pull/19723))** + +- **dev/core#2422 Add created_id, modified_id, expires_date to saved search table ([19709](https://github.com/civicrm/civicrm-core/pull/19709))** + +- **5.35 ([19722](https://github.com/civicrm/civicrm-core/pull/19722))** + +- **Fix membership form to correctly calculate tax when a discount is applied ([19476](https://github.com/civicrm/civicrm-core/pull/19476))** + +- **NFC Update comments in token classes ([19715](https://github.com/civicrm/civicrm-core/pull/19715))** + +- **AuthX - Extended authentication support (portable and router-friendly) ([19590](https://github.com/civicrm/civicrm-core/pull/19590))** + +- **5.35 ([19714](https://github.com/civicrm/civicrm-core/pull/19714))** + +- **Afform - Remove ngRoute from afformStandalone page ([19703](https://github.com/civicrm/civicrm-core/pull/19703))** + +- **info.xml - Allow multiple ``s ([19684](https://github.com/civicrm/civicrm-core/pull/19684))** + +- **5.35 to master ([19712](https://github.com/civicrm/civicrm-core/pull/19712))** + +- **Search display fixes ([19683](https://github.com/civicrm/civicrm-core/pull/19683))** + +- **Fix migrateUtf8mb4 for special database names ([19708](https://github.com/civicrm/civicrm-core/pull/19708))** + +- **dev/core#1400 - Put dashlets back to only showing open cases by default ([19675](https://github.com/civicrm/civicrm-core/pull/19675))** + +- **[NFC] Add in unit test to prove that domain tokens are able to be inc… ([19702](https://github.com/civicrm/civicrm-core/pull/19702))** + +- **5.35 ([19706](https://github.com/civicrm/civicrm-core/pull/19706))** + +- **Angular - Remove deprecated js file ([19704](https://github.com/civicrm/civicrm-core/pull/19704))** + +- **5.35 ([19701](https://github.com/civicrm/civicrm-core/pull/19701))** + +- **APIv4 - Rename 'controlField' property to 'control_field' ([19699](https://github.com/civicrm/civicrm-core/pull/19699))** + +- **5.35 ([19695](https://github.com/civicrm/civicrm-core/pull/19695))** + +- **APIv3 - Improve array-based apis to support sorting and operators ([19690](https://github.com/civicrm/civicrm-core/pull/19690))** + +- **core#2386 - metadata-driven chain-select fields ([19629](https://github.com/civicrm/civicrm-core/pull/19629))** + +- **dev/core#2420 Add text to report template saying no results found if that is the case ([19668](https://github.com/civicrm/civicrm-core/pull/19668))** + +- **[REF] clean up if ([19693](https://github.com/civicrm/civicrm-core/pull/19693))** + +- **dev/core#1207 - My Cases dashlet shouldn't crash for users with only my cases access ([19689](https://github.com/civicrm/civicrm-core/pull/19689))** + +- **Fix for missing function CodeGen_Util::removeDir ([19688](https://github.com/civicrm/civicrm-core/pull/19688))** + +- **SearchKit - Fix clearing selection behavior ([19686](https://github.com/civicrm/civicrm-core/pull/19686))** + +- **dev/core#1400 - Failing test showing that My Cases users can't view their own closed cases ([19674](https://github.com/civicrm/civicrm-core/pull/19674))** + +- **Reduce wasted space in civicrm dashboard margins ([19682](https://github.com/civicrm/civicrm-core/pull/19682))** + +- **dev/core#1400 Users with 'view own cases' permission can't open resolved cases ([19666](https://github.com/civicrm/civicrm-core/pull/19666))** + +- **SearchKit - Add links/menus/buttons to search displays ([19673](https://github.com/civicrm/civicrm-core/pull/19673))** + +- **[REF] Load participant id within completeOrder rather than passing it in ([19641](https://github.com/civicrm/civicrm-core/pull/19641))** + +- **[REF] Move code that relates to receipts when paying by credit card out of the shared function ([19658](https://github.com/civicrm/civicrm-core/pull/19658))** + +- **Joomla::synchronizeUsers - Fix notice due to old style reference ([19677](https://github.com/civicrm/civicrm-core/pull/19677))** + +- **5.35 to master ([19679](https://github.com/civicrm/civicrm-core/pull/19679))** + +- **GuzzleMiddleware::url() - Distinguish frontend and backend routes ([19678](https://github.com/civicrm/civicrm-core/pull/19678))** + +- **Afform - move contentEditable directive into crmUI library for reusability ([19672](https://github.com/civicrm/civicrm-core/pull/19672))** + +- **SearchKit - cleanup display configuration and add "rewrite" feature ([19662](https://github.com/civicrm/civicrm-core/pull/19662))** + +- **Fixes dev/core#2424 navigation items order ([19671](https://github.com/civicrm/civicrm-core/pull/19671))** + +- **Metadata: Add html:label for Contribution Status ID ([19669](https://github.com/civicrm/civicrm-core/pull/19669))** + +- **Fix master-only regression ([19667](https://github.com/civicrm/civicrm-core/pull/19667))** + +- ** EntityRef - Search by id when an integer is entered ([19638](https://github.com/civicrm/civicrm-core/pull/19638))** + +- **[NFC] minor cleanup in testCaseCreateWithResolvedStatus ([19664](https://github.com/civicrm/civicrm-core/pull/19664))** + +- **Minor cleanup - ChangeCaseStatus ([19663](https://github.com/civicrm/civicrm-core/pull/19663))** + +- **Afform: Only permit Date fields to be made into a select list if it i… ([19665](https://github.com/civicrm/civicrm-core/pull/19665))** + +- **Afform - Support date range filters for search displays ([19632](https://github.com/civicrm/civicrm-core/pull/19632))** + +- **[REF] do not needlessly pass as reference, enforce valid param ([19478](https://github.com/civicrm/civicrm-core/pull/19478))** + +- **dev/core#2372 Enable submitOnce for some forms ([19610](https://github.com/civicrm/civicrm-core/pull/19610))** + +- **5.35 to master ([19661](https://github.com/civicrm/civicrm-core/pull/19661))** + +- **dev/translation#32 Contribution ThankYou: partial fix for recurring units ([19655](https://github.com/civicrm/civicrm-core/pull/19655))** + +- **SearchKit - Don't save on enter key ([19643](https://github.com/civicrm/civicrm-core/pull/19643))** + +- **Enable-"Do-no-trade"-filter ([19650](https://github.com/civicrm/civicrm-core/pull/19650))** + +- **Afform - Add 'View Page' link from afform edit screen ([19645](https://github.com/civicrm/civicrm-core/pull/19645))** + +- **dev/core#2404 - Afform - Resolve ambiguity of omitted permissions ([19657](https://github.com/civicrm/civicrm-core/pull/19657))** + +- **[REF] Simplfy parameter ([19654](https://github.com/civicrm/civicrm-core/pull/19654))** + +- **dev/core#778 Do not increment tax on validation error ([19648](https://github.com/civicrm/civicrm-core/pull/19648))** + +- **5.35 to master ([19656](https://github.com/civicrm/civicrm-core/pull/19656))** + +- **Use specific function when formatting money for a default ([19652](https://github.com/civicrm/civicrm-core/pull/19652))** + +- **Fix i18n issue with changeLog in data templates ([19651](https://github.com/civicrm/civicrm-core/pull/19651))** + +- **[REF] Use form property rather than formValues to pass generated invoice ID on membership forms ([19549](https://github.com/civicrm/civicrm-core/pull/19549))** + +- **Mark Old Cividiscount hook support deprecated ([19649](https://github.com/civicrm/civicrm-core/pull/19649))** + +- **Remove unreachable code & variable cleanup in membership back office form template ([19647](https://github.com/civicrm/civicrm-core/pull/19647))** + +- **[Regression] campaign name no longer accepted ([19633](https://github.com/civicrm/civicrm-core/pull/19633))** + +- **dev/translation#65 Further remove moneyValueFormat ([19605](https://github.com/civicrm/civicrm-core/pull/19605))** + +- **SearchKit - Add links to view multi-record custom data ([19626](https://github.com/civicrm/civicrm-core/pull/19626))** + +- **dev/core#2388 SearchKit - Fix display of pseudoconstant fields ([19618](https://github.com/civicrm/civicrm-core/pull/19618))** + +- **Remove single use of extraParams in CRM_Utils_Token::getTokenDetails() ([19640](https://github.com/civicrm/civicrm-core/pull/19640))** + +- **[NFC/Unit Test] dev/core#2385 - Add test for getCaseActivityQuery ([19609](https://github.com/civicrm/civicrm-core/pull/19609))** + +- **Show Contact age on deceased date ([19348](https://github.com/civicrm/civicrm-core/pull/19348))** + +- **dev/event#50 - Non static function called statically for event ical downloads ([19637](https://github.com/civicrm/civicrm-core/pull/19637))** + +- **SearchKit - Enable links for implicit joins ([19631](https://github.com/civicrm/civicrm-core/pull/19631))** + +- **dev/core#2398 - Fix save'n'test button on mail account form ([19636](https://github.com/civicrm/civicrm-core/pull/19636))** + +- **Search kit select current user ([19620](https://github.com/civicrm/civicrm-core/pull/19620))** + +- **[REF] simplify parameter, use preferred strict ([19597](https://github.com/civicrm/civicrm-core/pull/19597))** + +- **WordPress - If we hit a "permission denied" error, return HTTP 403 ([19608](https://github.com/civicrm/civicrm-core/pull/19608))** + +- **Fix incorrect use of ts when setting custom data form title ([19625](https://github.com/civicrm/civicrm-core/pull/19625))** + +- **dev/financial#166 Clean up money formatting in iif ([19634](https://github.com/civicrm/civicrm-core/pull/19634))** + +- **Metadata - Add 'readonly' to id fields, custom fields & contact fields ([19627](https://github.com/civicrm/civicrm-core/pull/19627))** + +- **Afform - Allow public submission (PUB-CONTACT). Expand E2E test coverage. ([19579](https://github.com/civicrm/civicrm-core/pull/19579))** + +- **Convert Smarty & domain token processing to use token processor ([19598](https://github.com/civicrm/civicrm-core/pull/19598))** + +- **Joomla - Implement getUfId(). Fix `@user:`. ([19615](https://github.com/civicrm/civicrm-core/pull/19615))** + +- **dev/core#2389 SearchKit - Show edit link to searchDisplay afforms ([19617](https://github.com/civicrm/civicrm-core/pull/19617))** + +- **dev/core#2392 - Deprecated url parameters in contribution dashboard detail links ([19621](https://github.com/civicrm/civicrm-core/pull/19621))** + +- **Ensure dispatcher has loaded listeners ([19614](https://github.com/civicrm/civicrm-core/pull/19614))** + +- **Remove empty {ts} ([19622](https://github.com/civicrm/civicrm-core/pull/19622))** + +- **dev/core#1750: Replace Tokens In Activity Content for Sent Emails ([18299](https://github.com/civicrm/civicrm-core/pull/18299))** + +- **Remove always-true-if ([19566](https://github.com/civicrm/civicrm-core/pull/19566))** + +- **Afform - SearchKit support for calculated fields ([19612](https://github.com/civicrm/civicrm-core/pull/19612))** + +- **Fix on recently merged asset builder catch patch ([19613](https://github.com/civicrm/civicrm-core/pull/19613))** + +- **Add contactlayouteditor to gitignore ([19611](https://github.com/civicrm/civicrm-core/pull/19611))** + +- **Search Kit - Use wrapper api to run searches ([19585](https://github.com/civicrm/civicrm-core/pull/19585))** + +- **Crypto - Add support for signing and verifying JSON Web Tokens ([19599](https://github.com/civicrm/civicrm-core/pull/19599))** + +- **[REF] Stop passing contribution into completeOrder, id is enough ([19571](https://github.com/civicrm/civicrm-core/pull/19571))** + +- **core#2309: Validate weight and weight threshold ([19604](https://github.com/civicrm/civicrm-core/pull/19604))** + +- **[NFC/Unit Test] Fix passing test that should pass but also should fail ([19607](https://github.com/civicrm/civicrm-core/pull/19607))** + +- **5.35 ([19606](https://github.com/civicrm/civicrm-core/pull/19606))** + +- **core#2379 - avoid validation error on saving geocodes ([19588](https://github.com/civicrm/civicrm-core/pull/19588))** + +- **[NFC] Code cleanup - use use statements, hints ([19595](https://github.com/civicrm/civicrm-core/pull/19595))** + +- **Use specific function when formatting money for a default ([19602](https://github.com/civicrm/civicrm-core/pull/19602))** + +- **5.35 ([19601](https://github.com/civicrm/civicrm-core/pull/19601))** + +- **HttpTestTrait - Define helper methods for E2E tests of Civi's HTTP routes ([19600](https://github.com/civicrm/civicrm-core/pull/19600))** + +- **event#48: Fix partially paid events in a modal dialog ([19572](https://github.com/civicrm/civicrm-core/pull/19572))** + +- **APIv4 - Add option lists to getFields html_type and data_type ([19596](https://github.com/civicrm/civicrm-core/pull/19596))** + +- **Cleanup - Remove old unused schema/xml files. ([19570](https://github.com/civicrm/civicrm-core/pull/19570))** + +- **dev/core#2365 - Delayed drawing of contribution charts seems unnecessary ([19544](https://github.com/civicrm/civicrm-core/pull/19544))** + +- **[REF] replace deprecated calls with buildOptions ([19578](https://github.com/civicrm/civicrm-core/pull/19578))** + +- **5.35 to master ([19592](https://github.com/civicrm/civicrm-core/pull/19592))** + +- **Remove check for safe_mode/open_basedir on extension downloader because it triggers false positives ([19582](https://github.com/civicrm/civicrm-core/pull/19582))** + +- **APIv4 - Improve handling of joins & custom fields ([19562](https://github.com/civicrm/civicrm-core/pull/19562))** + +- **dev/drupal#156 - system_get_info() is gone in drupal 9 ([19583](https://github.com/civicrm/civicrm-core/pull/19583))** + +- **REF Regenerate DAOs and I18n Schema Structure following merge of #19565 ([19581](https://github.com/civicrm/civicrm-core/pull/19581))** + +- **Apply bootstrap theme to searchKit dashlets ([19577](https://github.com/civicrm/civicrm-core/pull/19577))** + +- **Delete repeated title and fix some labels ([19565](https://github.com/civicrm/civicrm-core/pull/19565))** + +- **serialize as boolean setting value for checkbox in CRM_Admin_Form_Gen… ([19576](https://github.com/civicrm/civicrm-core/pull/19576))** + +- **Fix angular error when user is not logged in. ([19575](https://github.com/civicrm/civicrm-core/pull/19575))** + +- **5.35 to master ([19574](https://github.com/civicrm/civicrm-core/pull/19574))** + +- **dev/core#2370 - Installer - Bump up entropy for autogenerated cred keys ([19568](https://github.com/civicrm/civicrm-core/pull/19568))** + +- **Remove unused code ([19567](https://github.com/civicrm/civicrm-core/pull/19567))** + +- **5.35 ([19564](https://github.com/civicrm/civicrm-core/pull/19564))** + +- **Fix 'Unsupported html-element' error on forms using EntityFormTrait ([19560](https://github.com/civicrm/civicrm-core/pull/19560))** + +- **dev/core#2137 - Enhance log message to include the actual error ([19559](https://github.com/civicrm/civicrm-core/pull/19559))** + +- **Cleanup towards dev/core#2308 ([19421](https://github.com/civicrm/civicrm-core/pull/19421))** + +- **[REF] Fully remove contribution object from repeattransaction function ([19547](https://github.com/civicrm/civicrm-core/pull/19547))** + +- **[REF] Remove unused pcp & soft credit handling from previously shared code ([19525](https://github.com/civicrm/civicrm-core/pull/19525))** + +- **Afform (et al) - Fetch more complete list of permissions via APIv4 ([19536](https://github.com/civicrm/civicrm-core/pull/19536))** + +- **SearchKit - Add implicit joins for displaying labels of related entities ([19554](https://github.com/civicrm/civicrm-core/pull/19554))** + +- **[NFC/Unit Test] dev/core#2308 - Tests for activity import ([19555](https://github.com/civicrm/civicrm-core/pull/19555))** + +- **[REF] Rename variable to clarify it's usage ([19556](https://github.com/civicrm/civicrm-core/pull/19556))** + +- **Add unit test cover for the MessageTemplate::renderMessageTemplate function ([19551](https://github.com/civicrm/civicrm-core/pull/19551))** + +- **Correct sms numbers ([19509](https://github.com/civicrm/civicrm-core/pull/19509))** + +- **dev/core#2308 - Fix Activity Import Parser test and convert to civi statics ([19553](https://github.com/civicrm/civicrm-core/pull/19553))** + +- **php 7.4 E_NOTICE in Contact/BAO/Query ([19552](https://github.com/civicrm/civicrm-core/pull/19552))** + +- **Improve consistency of field titles, labels, types across the schema ([19531](https://github.com/civicrm/civicrm-core/pull/19531))** + +- **[REF] Simplify is_email_receipt handling ([19524](https://github.com/civicrm/civicrm-core/pull/19524))** + +- **php 7.4 - E_NOTICE on membership dashboard ([19545](https://github.com/civicrm/civicrm-core/pull/19545))** + +- **5.35 to master ([19548](https://github.com/civicrm/civicrm-core/pull/19548))** + +- **put asset rendering call into a try/catch - dev/core #2137 ([18830](https://github.com/civicrm/civicrm-core/pull/18830))** + +- **[REF] [Repeattransaction] Stop setting contribution->id ([19538](https://github.com/civicrm/civicrm-core/pull/19538))** + +- **[REF] [Repeattransaction] use financial_type_id from getTemplateContribution (which already has handling) ([19539](https://github.com/civicrm/civicrm-core/pull/19539))** + +- **[REF] [Repeattransaction] Remove loading contribution page id from passed in object ([19540](https://github.com/civicrm/civicrm-core/pull/19540))** + +- **Afform Gui - Block editing enhancements ([19530](https://github.com/civicrm/civicrm-core/pull/19530))** + +- **[REF] Fix array access on NULL error when running afform unit tests o… ([19542](https://github.com/civicrm/civicrm-core/pull/19542))** + +- **afform_mock - Hide extension. Clearly indicate as development-only ([19541](https://github.com/civicrm/civicrm-core/pull/19541))** + +- **APIv4 - Increase alias max length to 256 ([19537](https://github.com/civicrm/civicrm-core/pull/19537))** + +- **dev/core#2360 - Escape the word `rows` in sql query ([19535](https://github.com/civicrm/civicrm-core/pull/19535))** + +- **Fix display of membership dates on receipts when lineitems do not have a price_set_id ([19508](https://github.com/civicrm/civicrm-core/pull/19508))** + +- **5.35 ([19534](https://github.com/civicrm/civicrm-core/pull/19534))** + +- **APIv4 - Fix HTTP status code selection ([19533](https://github.com/civicrm/civicrm-core/pull/19533))** + +- **Remove campaign_id pseudoconstants ([19463](https://github.com/civicrm/civicrm-core/pull/19463))** + +- **[REF] Complete order Unset contribution once we have finished with it. ([19527](https://github.com/civicrm/civicrm-core/pull/19527))** + +- **[REF] Further extract the portion of sendTemplate that relates to rendering ([19522](https://github.com/civicrm/civicrm-core/pull/19522))** + +- **(REF) APIv4 - Add hook for whitelisting select AJAX API's for anonymous invocation ([19494](https://github.com/civicrm/civicrm-core/pull/19494))** + +- **APIv4 - AJAX errors should say *something* useful ([19526](https://github.com/civicrm/civicrm-core/pull/19526))** + +- **7.x 5.35 ([642](https://github.com/civicrm/civicrm-drupal/pull/642))** + +- **7.x 5.35 ([639](https://github.com/civicrm/civicrm-drupal/pull/639))** + +- **dev/core#2387 - Method of preventing cache for blocks doesn't work ([62](https://github.com/civicrm/civicrm-drupal-8/pull/62))** + +- **drush install - Bump up entropy for autogenerated creds. Add signing key. #640 ([58](https://github.com/civicrm/civicrm-drupal-8/pull/58))** + +- **5.35 ([243](https://github.com/civicrm/civicrm-wordpress/pull/243))** + +- **5.35 ([61](https://github.com/civicrm/civicrm-joomla/pull/61))** + +- **Use Joomla style language strings to allow translations ([56](https://github.com/civicrm/civicrm-joomla/pull/56))** + +- **php 7.4 deprecated squiggly brackets - html/quickform date ([316](https://github.com/civicrm/civicrm-packages/pull/316))** + +## Miscellany + +## Credits + +This release was developed by the following code authors: + +AGH Strategies - Alice Frumin, Andrew Hunt; Blackfly Solutions - Alan Dixon; CiviCoop - Jaap Jansma, Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy; Dave D; elinw; iXiam - Luciano Spiegel; J0WI; JMA Consulting - Monish Deb, Seamus Lee; lunar-debian; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton + +Most authors also reviewed code for this release; in addition, the following +reviewers contributed their comments: + +a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman; Artful Robot - Rich Lott; Blackfly Solutions - Alan Dixon; Christian Wach; civibot[bot]; CiviCoop - Klaas Eikelboom; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Ahed Eid; Coop SymbioTIC - Mathieu Lutfy; Dave D; dptarrant; Fuzion - Peter Davis; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Nicol Wistreich; Semper IT - Karin Gerritsen; Skvare - Sunil Pawar; Tadpole Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton \ No newline at end of file -- 2.25.1