From 523d947a1bcbc990e8e12fdcc1eacd3c70bb7ab1 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Mon, 9 Mar 2020 13:54:49 -0400 Subject: [PATCH] 5.24.0 release notes: raw from script --- release-notes/5.24.0.md | 359 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 359 insertions(+) create mode 100644 release-notes/5.24.0.md diff --git a/release-notes/5.24.0.md b/release-notes/5.24.0.md new file mode 100644 index 0000000000..f6cf52f0b6 --- /dev/null +++ b/release-notes/5.24.0.md @@ -0,0 +1,359 @@ +# CiviCRM 5.24.0 + +Released April 8, 2020; + +- **[Features](#features)** +- **[Bugs resolved](#bugs)** +- **[Miscellany](#misc)** +- **[Credits](#credits)** + +## Features + +### Core CiviCRM + +- **CRM-607 Missing Summary ([16627](https://github.com/civicrm/civicrm-core/pull/16627))** + +- **crm- Missing Summary ([16618](https://github.com/civicrm/civicrm-core/pull/16618))** + +- **CRM-984 Missing Summary ([549](https://github.com/civicrm/civicrm-drupal/pull/549))** + +## Bugs resolved + +### Core CiviCRM + +- **dev/core#1636 - In system status check avoid E_NOTICEs for smart groups that don't have form_values[0] ([16707](https://github.com/civicrm/civicrm-core/pull/16707))** + +- **[REF] Change function signature to support moving this off the form layer ([16677](https://github.com/civicrm/civicrm-core/pull/16677))** + +- **APIv4-based smart groups ([16666](https://github.com/civicrm/civicrm-core/pull/16666))** + +- **dev/core#1605 State/province not copied on shared address ([16649](https://github.com/civicrm/civicrm-core/pull/16649))** + +- **5.23 ([16684](https://github.com/civicrm/civicrm-core/pull/16684))** + +- **Fix parameter format for upgrade call to install/enable sequentialcreditnotes ([16686](https://github.com/civicrm/civicrm-core/pull/16686))** + +- **[NFC] Add missing letter "h" in upgrade script for task description ([16687](https://github.com/civicrm/civicrm-core/pull/16687))** + +- **Fix SettingTrait YesNo translation ([16685](https://github.com/civicrm/civicrm-core/pull/16685))** + +- **Style & layout clean up ([16680](https://github.com/civicrm/civicrm-core/pull/16680))** + +- **Add setEntityId() to entityForm ([16020](https://github.com/civicrm/civicrm-core/pull/16020))** + +- **Remove deprecated function CRM_Contact_BAO_GroupContactCache::remove ([16682](https://github.com/civicrm/civicrm-core/pull/16682))** + +- **Fix display of administrator permissions in WordPress Multisite ([16675](https://github.com/civicrm/civicrm-core/pull/16675))** + +- **Fix synchronisation of Users to Contacts in WordPress Multisite ([16676](https://github.com/civicrm/civicrm-core/pull/16676))** + +- **added sudo constant for sms api type ([16679](https://github.com/civicrm/civicrm-core/pull/16679))** + +- **Activity Details report: fix filtering by is null/is not null ([16672](https://github.com/civicrm/civicrm-core/pull/16672))** + +- **[REF] Only call getACLs when contact_id is present, remove handling ([16667](https://github.com/civicrm/civicrm-core/pull/16667))** + +- **Remove helper function now that contribution settings is not weirdly stored ([16566](https://github.com/civicrm/civicrm-core/pull/16566))** + +- **core#1623: My Case dashlet doesn't sort by name but contact_id instead ([16647](https://github.com/civicrm/civicrm-core/pull/16647))** + +- **dev/core#1366 - CRM_Case_XMLProcessor_Report::run() is never called anymore ([16669](https://github.com/civicrm/civicrm-core/pull/16669))** + +- **Increase php min recommended version ([16668](https://github.com/civicrm/civicrm-core/pull/16668))** + +- **Add pseudoconstant for priceset ([16665](https://github.com/civicrm/civicrm-core/pull/16665))** + +- **Extensions - Change new tag "hidden" to "mgmt:hidden" ([16664](https://github.com/civicrm/civicrm-core/pull/16664))** + +- **TokenProcessor - fix greetings tokens ([16624](https://github.com/civicrm/civicrm-core/pull/16624))** + +- **[REF] Deprecate _html2pdf_tcpdf function in favour of _html2pdf_dompdf ([16662](https://github.com/civicrm/civicrm-core/pull/16662))** + +- **[REF] Removed unused function ([16663](https://github.com/civicrm/civicrm-core/pull/16663))** + +- **[Feature] Add in new hook alterUFFields to allow extensions to modify… ([16655](https://github.com/civicrm/civicrm-core/pull/16655))** + +- **dev/core#1366 - Case Audit.tpl file no longer used ([16660](https://github.com/civicrm/civicrm-core/pull/16660))** + +- **dev/financial#109 Fix country/province assignation in the contribution invoice ([15964](https://github.com/civicrm/civicrm-core/pull/15964))** + +- **Add pseudoconstant for priceset ([16648](https://github.com/civicrm/civicrm-core/pull/16648))** + +- **Fix unreleaesd typo error ([16661](https://github.com/civicrm/civicrm-core/pull/16661))** + +- **Fix typo (unrelease regression) ([16658](https://github.com/civicrm/civicrm-core/pull/16658))** + +- **Fix mistake in comment ([16657](https://github.com/civicrm/civicrm-core/pull/16657))** + +- **Update contributor-key.yml ([16652](https://github.com/civicrm/civicrm-core/pull/16652))** + +- **[REF] Add in pre and post hooks to UFField Entity ([16653](https://github.com/civicrm/civicrm-core/pull/16653))** + +- **[NFC] Use insert ignore for inserts into civicrm_extension to stop warnings on duplicate entry for sequential credit notes extension ([16644](https://github.com/civicrm/civicrm-core/pull/16644))** + +- **News dashboard - Code cleanup to update js & css ([16632](https://github.com/civicrm/civicrm-core/pull/16632))** + +- **APIv4 - Correctly return null values from DAO save actions ([16645](https://github.com/civicrm/civicrm-core/pull/16645))** + +- **[REF] Extract self-service eligibility code into its own function ([16615](https://github.com/civicrm/civicrm-core/pull/16615))** + +- **Contact Type Values with Cap in order to be well translated with ts() ([16638](https://github.com/civicrm/civicrm-core/pull/16638))** + +- **dev/core#1619 - Fatal error when grouping Activity Summary report by activity date ([16643](https://github.com/civicrm/civicrm-core/pull/16643))** + +- **[REF] simple function extraction ([16642](https://github.com/civicrm/civicrm-core/pull/16642))** + +- **[REF] Refactor adding payment processor radio section onto register a… ([16595](https://github.com/civicrm/civicrm-core/pull/16595))** + +- **Remove unused columns from civicrm_saved_search ([16637](https://github.com/civicrm/civicrm-core/pull/16637))** + +- **[NFC] dev/core#1621 Extend unit tests to ensure that entity financial account is co… ([16639](https://github.com/civicrm/civicrm-core/pull/16639))** + +- **core#1158: Unit Test to ensure primary addresses are printed on mailing label if searchPrimaryDetailsOnly is disabled ([16640](https://github.com/civicrm/civicrm-core/pull/16640))** + +- **Api4 - Display sql errors in explorer ([16641](https://github.com/civicrm/civicrm-core/pull/16641))** + +- **dev/core#1622 Fix unsubscribe when loading the unsubscribe form on a … ([16634](https://github.com/civicrm/civicrm-core/pull/16634))** + +- **civicrm.settings.php.template - Simplify examples of `$civicrm_setting` ([16636](https://github.com/civicrm/civicrm-core/pull/16636))** + +- **Menubar - Add "find menu item" search feature ([16597](https://github.com/civicrm/civicrm-core/pull/16597))** + +- **Removed Invalid Paramter from function doc ([16631](https://github.com/civicrm/civicrm-core/pull/16631))** + +- **Add ts() for a sentence 'Add to case as role' ([16630](https://github.com/civicrm/civicrm-core/pull/16630))** + +- **CommunicationPreferences 'loclize' -> 'localize' ([16633](https://github.com/civicrm/civicrm-core/pull/16633))** + +- **dev/drupal#4 - Add Civi\Setup::getPendingAction() helper ([16628](https://github.com/civicrm/civicrm-core/pull/16628))** + +- **dev/core#1596 fix (unreleased) regression on contribution summary ([16560](https://github.com/civicrm/civicrm-core/pull/16560))** + +- **dev/core#1584 Add function to specify whether payment processor requires email address ([16503](https://github.com/civicrm/civicrm-core/pull/16503))** + +- **Convert civicrm_note.modified_date to timestamp ([16338](https://github.com/civicrm/civicrm-core/pull/16338))** + +- **Enable the "sequentialcreditnotes" extension on new installations ([16598](https://github.com/civicrm/civicrm-core/pull/16598))** + +- **dev/core#1386 Add in unit test for #15834 ([16622](https://github.com/civicrm/civicrm-core/pull/16622))** + +- **dev/translation#37 - Remove hardcoded translations from 13 years ago that no longer do anything ([16619](https://github.com/civicrm/civicrm-core/pull/16619))** + +- **Move sequentialcreditnotes under `ext/` folder ([16616](https://github.com/civicrm/civicrm-core/pull/16616))** + +- **[NFC] Convert Custom Field BAO file to use short array syntax ([16613](https://github.com/civicrm/civicrm-core/pull/16613))** + +- **dev/core#1386 Allow advanced search for contributions without a soft credit related ([15834](https://github.com/civicrm/civicrm-core/pull/15834))** + +- **5.23 ([16608](https://github.com/civicrm/civicrm-core/pull/16608))** + +- **[REF] Extract function to getTransactionInfo ([16545](https://github.com/civicrm/civicrm-core/pull/16545))** + +- **Fix two more php-finding regexes ([16606](https://github.com/civicrm/civicrm-core/pull/16606))** + +- **[REF] Update civicrm_generated following merge of #16362 ([16605](https://github.com/civicrm/civicrm-core/pull/16605))** + +- **5.23 ([16604](https://github.com/civicrm/civicrm-core/pull/16604))** + +- **Add description to params for api3 Payment.get ([16602](https://github.com/civicrm/civicrm-core/pull/16602))** + +- **Remove hardcoded settings from form and use SettingForm.tpl for Case settings ([16600](https://github.com/civicrm/civicrm-core/pull/16600))** + +- **Do not enable core payment processor types that we believe likely don't work on new installs ([16362](https://github.com/civicrm/civicrm-core/pull/16362))** + +- **Move determination of year & month to formatCreditCardDetails ([16562](https://github.com/civicrm/civicrm-core/pull/16562))** + +- **5.23 ([16596](https://github.com/civicrm/civicrm-core/pull/16596))** + +- **Pass template_type through to alterMailing hook ([16529](https://github.com/civicrm/civicrm-core/pull/16529))** + +- **[NFC] dev/core#1466 Update Documentation URLS to be the correct links… ([16085](https://github.com/civicrm/civicrm-core/pull/16085))** + +- **dev/financial#105 Add CSS class onto the radio button payment processor options ([15940](https://github.com/civicrm/civicrm-core/pull/15940))** + +- **Secondarily order campaign dashboard by id ([15316](https://github.com/civicrm/civicrm-core/pull/15316))** + +- **Related / Inherited Memberships: Custom fields not filled with data ([15884](https://github.com/civicrm/civicrm-core/pull/15884))** + +- **dev/core#1547 Add DT_RowClass CSS classes to nested group markup ([16359](https://github.com/civicrm/civicrm-core/pull/16359))** + +- **dev/core#1436 Do not CC or BCC Contribution invoice ([16005](https://github.com/civicrm/civicrm-core/pull/16005))** + +- **5.23 ([16580](https://github.com/civicrm/civicrm-core/pull/16580))** + +- **Cleanup copyValues DAO function ([16589](https://github.com/civicrm/civicrm-core/pull/16589))** + +- **Add deprecation notice ([16585](https://github.com/civicrm/civicrm-core/pull/16585))** + +- **[NFC] Test cleanup. ([16581](https://github.com/civicrm/civicrm-core/pull/16581))** + +- **Make savedSearch bao sane ([16575](https://github.com/civicrm/civicrm-core/pull/16575))** + +- **(NFC) Remove `$Id$` from header ([16582](https://github.com/civicrm/civicrm-core/pull/16582))** + +- **dev/financial#84 Move sequential credit notes from 'deeply embeded functions to separate structure ([16531](https://github.com/civicrm/civicrm-core/pull/16531))** + +- **Remove old defines for flexmailer that haven't been required since CiviCRM 5.x ([16528](https://github.com/civicrm/civicrm-core/pull/16528))** + +- **[NFC] Minor code cleanup ([16563](https://github.com/civicrm/civicrm-core/pull/16563))** + +- **5.23 to master ([16577](https://github.com/civicrm/civicrm-core/pull/16577))** + +- **dev/financial#102 Extend test to check status ([16564](https://github.com/civicrm/civicrm-core/pull/16564))** + +- **(NFC) Fix typo - no hyphen in 'override' ([16571](https://github.com/civicrm/civicrm-core/pull/16571))** + +- **dev/core#1450 Try reducing the size of the temporary table so it only… ([16095](https://github.com/civicrm/civicrm-core/pull/16095))** + +- **5.23 ([16574](https://github.com/civicrm/civicrm-core/pull/16574))** + +- **5.23 ([16572](https://github.com/civicrm/civicrm-core/pull/16572))** + +- **Count refunds when calculating amount due for an invoice ([16506](https://github.com/civicrm/civicrm-core/pull/16506))** + +- **dev/core#1438 Enable matching on contact phone when importing contributions ([16009](https://github.com/civicrm/civicrm-core/pull/16009))** + +- **dev/core#1451 Incorrect dropdown action choices on case type listing screen ([16035](https://github.com/civicrm/civicrm-core/pull/16035))** + +- **dev/financial#118 Move source & receive date to the top on contribution view page ([16565](https://github.com/civicrm/civicrm-core/pull/16565))** + +- **Resolve notices if first donation amount and date columns were disabled ([16491](https://github.com/civicrm/civicrm-core/pull/16491))** + +- **core#1568: Show recipientListing to non-admins ([16455](https://github.com/civicrm/civicrm-core/pull/16455))** + +- **dev/core#1158 mailing labels: explicitly set primary flag ([14928](https://github.com/civicrm/civicrm-core/pull/14928))** + +- **dev/financial#104 Use rounding and integers to compare monetary values… ([15856](https://github.com/civicrm/civicrm-core/pull/15856))** + +- **[NFC] Preliminary cleanup ([16557](https://github.com/civicrm/civicrm-core/pull/16557))** + +- **Upgrade Net_SMTP Package and remove now unneded patches and mov… ([16498](https://github.com/civicrm/civicrm-core/pull/16498))** + +- **[REF] Fix static call to non-static function. ([16552](https://github.com/civicrm/civicrm-core/pull/16552))** + +- **info.xml - Allow extensions to define a list of tags ([16551](https://github.com/civicrm/civicrm-core/pull/16551))** + +- **dev/core#1593 and dev/core#1536 - Remove unused code causing E_WARNING ([16554](https://github.com/civicrm/civicrm-core/pull/16554))** + +- **Allow any casting done in Type::validate to bubble up to Request::retrieveValue ([16525](https://github.com/civicrm/civicrm-core/pull/16525))** + +- **REF Refactor ActivityTokens to use a trait that can be shared with other entities ([16468](https://github.com/civicrm/civicrm-core/pull/16468))** + +- **Fix a PHP notice for users with limited permissions when loading cont… ([16515](https://github.com/civicrm/civicrm-core/pull/16515))** + +- **Do not fatally fail on angular pages if an extension is missing ([16533](https://github.com/civicrm/civicrm-core/pull/16533))** + +- **5.23 ([16548](https://github.com/civicrm/civicrm-core/pull/16548))** + +- **dev/core#1594 [TEST] Fix running of unit tests within an extension ([16544](https://github.com/civicrm/civicrm-core/pull/16544))** + +- **dev/core#1589 avoid error when merging record with null create date ([16543](https://github.com/civicrm/civicrm-core/pull/16543))** + +- **dev/core#1366 Bypass nonfunctioning case audit interactive screen and go straight to report ([15998](https://github.com/civicrm/civicrm-core/pull/15998))** + +- **Remove reference to mysql 5.0 & 5.1 ([16539](https://github.com/civicrm/civicrm-core/pull/16539))** + +- **[REF] Remove never used property ([16540](https://github.com/civicrm/civicrm-core/pull/16540))** + +- **Change "Added By" to "Added by" ([16527](https://github.com/civicrm/civicrm-core/pull/16527))** + +- **Check email when creating a user in drupal 8 ([15390](https://github.com/civicrm/civicrm-core/pull/15390))** + +- **APIv4 - merge ActionUtil with Request::create ([16516](https://github.com/civicrm/civicrm-core/pull/16516))** + +- **add column for report ([16523](https://github.com/civicrm/civicrm-core/pull/16523))** + +- **5.23 ([16537](https://github.com/civicrm/civicrm-core/pull/16537))** + +- **Speed boost for civicrm/ajax/checkemail ([15824](https://github.com/civicrm/civicrm-core/pull/15824))** + +- **fix contribution summary report's statistics when grouping and having ([16467](https://github.com/civicrm/civicrm-core/pull/16467))** + +- **Settings Fix setting readonly attribute ([16451](https://github.com/civicrm/civicrm-core/pull/16451))** + +- **Fix issues with retrieving supportsTestMode/supportsLiveMode for payment processors ([15330](https://github.com/civicrm/civicrm-core/pull/15330))** + +- **Fix calls to Request::retrieve ([16526](https://github.com/civicrm/civicrm-core/pull/16526))** + +- **5.23 ([16530](https://github.com/civicrm/civicrm-core/pull/16530))** + +- **[TEST] dev/core#1572 Unit test environment not working on windows after recent CodeGen updates ([16477](https://github.com/civicrm/civicrm-core/pull/16477))** + +- **dev/core#1562 - composer.json - Fix E2E tests run on D8 build (via "patches") #16427 ([16522](https://github.com/civicrm/civicrm-core/pull/16522))** + +- **Relationship report - add sort order for end date ([16512](https://github.com/civicrm/civicrm-core/pull/16512))** + +- **5.23 ([16519](https://github.com/civicrm/civicrm-core/pull/16519))** + +- **5.23.0 release notes: initial run ([16517](https://github.com/civicrm/civicrm-core/pull/16517))** + +- **Move settings definition on contribution settings form to metadata. ([16513](https://github.com/civicrm/civicrm-core/pull/16513))** + +- **API Kernel - cleanup deprecated fn & unused param ([16511](https://github.com/civicrm/civicrm-core/pull/16511))** + +- **dev/mem#17 - Deleting memberships does not delete its related line item ([15859](https://github.com/civicrm/civicrm-core/pull/15859))** + +- **crmSelect2 - fix whitespace in tooltip ([16510](https://github.com/civicrm/civicrm-core/pull/16510))** + +- **Common.js - remove duplicate function ([16508](https://github.com/civicrm/civicrm-core/pull/16508))** + +- **dev/core#1587 Select2 - Use description as title for each option ([16507](https://github.com/civicrm/civicrm-core/pull/16507))** + +- **dev/financial#117 - Add link metadata for payment edit link ([16504](https://github.com/civicrm/civicrm-core/pull/16504))** + +- **Added conditional check so that it can be altered by hook ([16499](https://github.com/civicrm/civicrm-core/pull/16499))** + +- **Add deprecation notices on PartialAmount params ([16505](https://github.com/civicrm/civicrm-core/pull/16505))** + +- **(REF) Move CIVICRM_MAIL_LOG logic from patch-files to wrapper-class ([16497](https://github.com/civicrm/civicrm-core/pull/16497))** + +- **Add CiviCase option for showing case activities in normal views ([16360](https://github.com/civicrm/civicrm-core/pull/16360))** + +- **dev/cloud-native#21 Don't cache the full path of extensions so they don't break with dynamic paths ([15410](https://github.com/civicrm/civicrm-core/pull/15410))** + +- **remove unnecessary file ([16502](https://github.com/civicrm/civicrm-core/pull/16502))** + +- **dev/core#1019 Calculate.tpl: fix the Total Amount currency formatting. ([16487](https://github.com/civicrm/civicrm-core/pull/16487))** + +- **Fix backoffice participant partial payments to be stdised & not miscalculate net_amount ([16442](https://github.com/civicrm/civicrm-core/pull/16442))** + +- **Remove fatal from form ([16500](https://github.com/civicrm/civicrm-core/pull/16500))** + +- **dev/core#1577 : Custom Group Types not filterable ([16475](https://github.com/civicrm/civicrm-core/pull/16475))** + +- **Throwing API_Exception is file fails to copy when creating attachment… ([16465](https://github.com/civicrm/civicrm-core/pull/16465))** + +- **Enable jQuery validate on register/contribution forms ([16494](https://github.com/civicrm/civicrm-core/pull/16494))** + +- **Remove unused code ([16493](https://github.com/civicrm/civicrm-core/pull/16493))** + +- **fix headers ([16492](https://github.com/civicrm/civicrm-core/pull/16492))** + +- **[REF] Remove patch from dompdf cleanup script that is no longer needed ([16490](https://github.com/civicrm/civicrm-core/pull/16490))** + +- **5.23 ([16489](https://github.com/civicrm/civicrm-core/pull/16489))** + +- **Improve activity query performance in Constituent Detail Report ([13078](https://github.com/civicrm/civicrm-core/pull/13078))** + +- **Make php 7.3 the recommended php version ([16459](https://github.com/civicrm/civicrm-core/pull/16459))** + +- **Fix year typo. ([16486](https://github.com/civicrm/civicrm-core/pull/16486))** + +- **5.23 ([183](https://github.com/civicrm/civicrm-wordpress/pull/183))** + +- **[REF] Remove FPDI library from packages as it is deployed by composer ([287](https://github.com/civicrm/civicrm-packages/pull/287))** + +- **[REF] Use relative path for finding the advmultiseletct javascript ([286](https://github.com/civicrm/civicrm-packages/pull/286))** + +## Miscellany + +## Credits + +This release was developed by the following code authors: + +a-n The Artists Information Company - William Mortada; acrollet; AGH Strategies - Andrew Hunt; Agileware - Agileware Team, Francis Whittle; albionbrown; Alexy Mikhailichenko; breheret; Calibrate - Wouter Hechtermans; Chris Burgess; Christian Wach; Circle Interactive - Pradeep Nayak; CiviCoop - Klaas Eikelboom; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; iXiam - Luciano Spiegel; Jade Gaunt; Jens Schuppe; JMA Consulting - Monish Deb, Seamus Lee; kartik1000; Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston, Maggie Epps + +Most authors also reviewed code for this release; in addition, the following +reviewers contributed their comments: + +a-n The Artists Information Company - William Mortada; acrollet; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Francis Whittle, Justin Freeman; albionbrown; Andrew Cormick-Dockery; Artful Robot - Rich Lott; BettyDolfing; British Humanist Association - Andrew West; Calibrate - Wouter Hechtermans; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; irritatie; iXiam - Luciano Spiegel; JMA Consulting - Monish Deb, Seamus Lee; Joinery - Allen Shaw; Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Progressive Technology Project - Jamie McClelland; Richard van Oosterhout; simonjohnparker; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Wikimedia Foundation - Eileen McNaughton, Maggie Epps -- 2.25.1