From ab85ad05856b2b6567807c5c2cfadace25576d54 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Wed, 2 Aug 2017 00:43:57 -0400 Subject: [PATCH] 4.7.23 release notes: features --- release-notes/4.7.23.md | 255 ++++++++++++++++++++++++++++++---------- 1 file changed, 195 insertions(+), 60 deletions(-) diff --git a/release-notes/4.7.23.md b/release-notes/4.7.23.md index 041cd764d7..c7e09b352d 100644 --- a/release-notes/4.7.23.md +++ b/release-notes/4.7.23.md @@ -9,115 +9,181 @@ Released August 2, 2017; ## Features -### Import - -- **[CRM-20759](https://issues.civicrm.org/jira/browse/CRM-20759) Import, add 'Primary' as an address location ([10738](https://github.com/civicrm/civicrm-core/pull/10738), [10565](https://github.com/civicrm/civicrm-core/pull/10565), [10594](https://github.com/civicrm/civicrm-core/pull/10594), [10554](https://github.com/civicrm/civicrm-core/pull/10554), and [10547](https://github.com/civicrm/civicrm-core/pull/10547))** - ### Core CiviCRM -- **[CRM-20837](https://issues.civicrm.org/jira/browse/CRM-20837) Make setting bug more explicit ([10627](https://github.com/civicrm/civicrm-core/pull/10627))** - -- **[CRM-20847](https://issues.civicrm.org/jira/browse/CRM-20847) Support custom api with composite primary keys ([10599](https://github.com/civicrm/civicrm-core/pull/10599))** - -- **[CRM-20677](https://issues.civicrm.org/jira/browse/CRM-20677) Use generalised function to retrieve financial account ([10463](https://github.com/civicrm/civicrm-core/pull/10463))** +- **[CRM-20830](https://issues.civicrm.org/jira/browse/CRM-20830) Improve + handling of overdue activities + ([10618](https://github.com/civicrm/civicrm-core/pull/10618))** -- **[CRM-20830](https://issues.civicrm.org/jira/browse/CRM-20830) Improve handling of overdue activities ([10618](https://github.com/civicrm/civicrm-core/pull/10618))** + Activity statuses can now be edited to denote whether activities with a given + status should be considered "complete" or not. This attribute is now the + basis for determining whether an activity is overdue. In addition to UI + indications of being overdue, the API can return this value for each activity. -- **[CRM-20794](https://issues.civicrm.org/jira/browse/CRM-20794) Colors for case status ([10586](https://github.com/civicrm/civicrm-core/pull/10586))** +- **[CRM-20803](https://issues.civicrm.org/jira/browse/CRM-20803) Enable Farsi + (fa_IR), Serbian (sr_RS), Ukrainian (uk_UA) in the languages option group so + that we can install in those languages + ([10667](https://github.com/civicrm/civicrm-core/pull/10667))** -- **[CRM-20849](https://issues.civicrm.org/jira/browse/CRM-20849) Multiple extensions using the same autoloader prefix will overwrite previous ([10637](https://github.com/civicrm/civicrm-core/pull/10637))** + These languages can now be used for installation of CiviCRM. -- **[CRM-20321](https://issues.civicrm.org/jira/browse/CRM-20321) Changing membership type should change related contribution ([10642](https://github.com/civicrm/civicrm-core/pull/10642) and [10370](https://github.com/civicrm/civicrm-core/pull/10370))** +- **[CRM-20759](https://issues.civicrm.org/jira/browse/CRM-20759) Import, add + 'Primary' as an address location + ([10738](https://github.com/civicrm/civicrm-core/pull/10738), + [10565](https://github.com/civicrm/civicrm-core/pull/10565), + [10594](https://github.com/civicrm/civicrm-core/pull/10594), + [10554](https://github.com/civicrm/civicrm-core/pull/10554), and + [10547](https://github.com/civicrm/civicrm-core/pull/10547))** -- **[CRM-20842](https://issues.civicrm.org/jira/browse/CRM-20842) Change api explorer page title ([10633](https://github.com/civicrm/civicrm-core/pull/10633))** + Columns in imports can now import to fields in the matching contact's primary + address, regardless of location type. -- **[CRM-20786](https://issues.civicrm.org/jira/browse/CRM-20786) Move deprecated utils functions to the import classes ([10578](https://github.com/civicrm/civicrm-core/pull/10578), [10580](https://github.com/civicrm/civicrm-core/pull/10580), [10579](https://github.com/civicrm/civicrm-core/pull/10579), and [10581](https://github.com/civicrm/civicrm-core/pull/10581))** +- **[CRM-20793](https://issues.civicrm.org/jira/browse/CRM-20793) Add filter - + activity date and status on search criteria of activity listing + ([10588](https://github.com/civicrm/civicrm-core/pull/10588))** -- **[CRM-20780](https://issues.civicrm.org/jira/browse/CRM-20780) Add drupal option to define CMS_ROOT ([10574](https://github.com/civicrm/civicrm-core/pull/10574))** + The activity tab on a contact record now allows filtering by date and status + besides just activity type. In addition, a site-wide option toggles whether a + user's filters on one contact's activities persist as they visit other + contacts. -- **[CRM-20778](https://issues.civicrm.org/jira/browse/CRM-20778) Use civicontribute permission for contribution recur.cancel ([10569](https://github.com/civicrm/civicrm-core/pull/10569))** +- **[CRM-20847](https://issues.civicrm.org/jira/browse/CRM-20847) Support custom + api with composite primary keys + ([10599](https://github.com/civicrm/civicrm-core/pull/10599))** -- **[CRM-20169](https://issues.civicrm.org/jira/browse/CRM-20169) Add support for alterReportVar hook in Activity Report ([9886](https://github.com/civicrm/civicrm-core/pull/9886))** + This change adds testing for custom APIs using the basic get function and + avoids automatically selecting the `id` field if there is no such field in the + spec. -- **[CRM-20721](https://issues.civicrm.org/jira/browse/CRM-20721) Add parameter to dateQueryBuilder fn to change date value to desired format ([10497](https://github.com/civicrm/civicrm-core/pull/10497))** +- **[CRM-20842](https://issues.civicrm.org/jira/browse/CRM-20842) Change api + explorer page title + ([10633](https://github.com/civicrm/civicrm-core/pull/10633))** -- **[CRM-20739](https://issues.civicrm.org/jira/browse/CRM-20739) contact import doesn't add to group on fill if matching without ID ([10507](https://github.com/civicrm/civicrm-core/pull/10507))** + The API Explorer now explicitly states it is demonstrating API v3. -- **[CRM-20771](https://issues.civicrm.org/jira/browse/CRM-20771) Ensure that AddColumn in CRM_Upgrade_Incremental_Base can support translatable columns ([10561](https://github.com/civicrm/civicrm-core/pull/10561))** +- **[CRM-20780](https://issues.civicrm.org/jira/browse/CRM-20780) Add settings + file option to define CMS_ROOT + ([10574](https://github.com/civicrm/civicrm-core/pull/10574))** -- **[CRM-20756](https://issues.civicrm.org/jira/browse/CRM-20756) Multi tab structure ([10545](https://github.com/civicrm/civicrm-core/pull/10545))** + The CiviCRM settings file can now explicitly set the path to the CMS root. -- **[CRM-20666](https://issues.civicrm.org/jira/browse/CRM-20666) enable uploading of files to activities that are up to 255 characters in length ([10449](https://github.com/civicrm/civicrm-core/pull/10449))** +- **[CRM-20169](https://issues.civicrm.org/jira/browse/CRM-20169) Add support + for alterReportVar hook in Activity Report + ([9886](https://github.com/civicrm/civicrm-core/pull/9886))** -- **[CRM-20682](https://issues.civicrm.org/jira/browse/CRM-20682) Include human readable contribution's custom field label in token widget for Thankyou letter ([10467](https://github.com/civicrm/civicrm-core/pull/10467))** + Extensions can now modify the SQL of the Activity Report. -### Internationalisation +- **[CRM-20721](https://issues.civicrm.org/jira/browse/CRM-20721) Add parameter + to dateQueryBuilder fn to change date value to desired format + ([10497](https://github.com/civicrm/civicrm-core/pull/10497))** -- **[CRM-20803](https://issues.civicrm.org/jira/browse/CRM-20803) Enable Farsi (fa_IR), Serbian (sr_RS), Ukrainian (uk_UA) in the languages option group so that we can install in those languages ([10667](https://github.com/civicrm/civicrm-core/pull/10667))** + Queries on fields formatted in ways other than the typical MySQL date format + can now use the standard date query builder method in the contact BAO. -### CiviMail, Core CiviCRM +- **[CRM-20600](https://issues.civicrm.org/jira/browse/CRM-20600) Expose + AngularJS screens to hooks + ([10644](https://github.com/civicrm/civicrm-core/pull/10644)) (follow-up + work)** -- **[CRM-20600](https://issues.civicrm.org/jira/browse/CRM-20600) Expose AngularJS screens to hooks ([10644](https://github.com/civicrm/civicrm-core/pull/10644))** + A message now displays both before and after upgrade if a site's configuration + is likely to prevent successful asset-caching. -### Core CiviCRM, NYSS - -- **[CRM-20673](https://issues.civicrm.org/jira/browse/CRM-20673) Tag and group edit form: implement Select2 for tags ([10634](https://github.com/civicrm/civicrm-core/pull/10634))** +- **[CRM-20673](https://issues.civicrm.org/jira/browse/CRM-20673) Tag and group + edit form: implement Select2 for tags + ([10634](https://github.com/civicrm/civicrm-core/pull/10634)) (completes + previous work)** -- **[CRM-20622](https://issues.civicrm.org/jira/browse/CRM-20622) contact edit: tags and groups panel layout/styling ([10429](https://github.com/civicrm/civicrm-core/pull/10429))** + Tags are now listed in the widget in the same order as they are displayed for + management. -### CiviCRM API +- **[CRM-20622](https://issues.civicrm.org/jira/browse/CRM-20622) contact edit: + tags and groups panel layout/styling + ([10429](https://github.com/civicrm/civicrm-core/pull/10429))** -- **[CRM-20833](https://issues.civicrm.org/jira/browse/CRM-20833) Change namespace for APIv4 entities ([10632](https://github.com/civicrm/civicrm-core/pull/10632) and [10625](https://github.com/civicrm/civicrm-core/pull/10625))** + The tag and group editing interface now uses standard markup rather than + unique, outdated approaches. -### CiviCRM Search, NYSS +### CiviCase -- **[CRM-20793](https://issues.civicrm.org/jira/browse/CRM-20793) Add filter - activity date and status on search criteria of activity listing ([10588](https://github.com/civicrm/civicrm-core/pull/10588))** +- **[CRM-20794](https://issues.civicrm.org/jira/browse/CRM-20794) Colors for + case status ([10586](https://github.com/civicrm/civicrm-core/pull/10586)) + (preliminary work)** -### CiviCase + When editing case statuses, you may now select a color. However, case display + does not yet show the status colors. -- **[CRM-20816](https://issues.civicrm.org/jira/browse/CRM-20816) Case multi/single client settings ([10609](https://github.com/civicrm/civicrm-core/pull/10609))** +- **[CRM-20756](https://issues.civicrm.org/jira/browse/CRM-20756) Multi tab + structure ([10545](https://github.com/civicrm/civicrm-core/pull/10545)) + (preliminary work)** -- **[CRM-20776](https://issues.civicrm.org/jira/browse/CRM-20776) Menu structure ([10573](https://github.com/civicrm/civicrm-core/pull/10573))** + The AngularJS `ui.bootstrap` library is now included in CiviCRM. -### CiviReport +- **[CRM-20816](https://issues.civicrm.org/jira/browse/CRM-20816) Case + multi/single client settings + ([10609](https://github.com/civicrm/civicrm-core/pull/10609))** -- **[CRM-20640](https://issues.civicrm.org/jira/browse/CRM-20640) contribution summary report: duplicates values with group filter ([10603](https://github.com/civicrm/civicrm-core/pull/10603) and [10596](https://github.com/civicrm/civicrm-core/pull/10596))** + Settings for redacting activity emails, allowing multiple clients per case, + and the sort order of activity types can now be modified in an administrative + form rather than exclusively in XML files defining case types. -### CiviCase, CiviCRM API +### CiviContribute -- **[CRM-20802](https://issues.civicrm.org/jira/browse/CRM-20802) CaseType.create - Stale definition retained in memory ([10591](https://github.com/civicrm/civicrm-core/pull/10591))** +- **[CRM-20778](https://issues.civicrm.org/jira/browse/CRM-20778) Use + civicontribute permission for contribution recur.cancel + ([10569](https://github.com/civicrm/civicrm-core/pull/10569))** -### CiviMail, NYSS + The permissions to view, modify, cancel, and delete recurring contributions + now mirror the corresponding permissions needed for working with payments. -- **[CRM-20781](https://issues.civicrm.org/jira/browse/CRM-20781) Truncate long text in mail listing ([10576](https://github.com/civicrm/civicrm-core/pull/10576))** +- **[CRM-20682](https://issues.civicrm.org/jira/browse/CRM-20682) Include human + readable contribution's custom field label in token widget for Thankyou letter + ([10467](https://github.com/civicrm/civicrm-core/pull/10467))** -### CiviMember + Contribution custom field tokens are now listed among the available tokens in + the Thank-you Letter form. They had been processed, but there was no + indication that they were available. -- **[CRM-20716](https://issues.civicrm.org/jira/browse/CRM-20716) Array to string issue on php7 when creating membership activity ([10492](https://github.com/civicrm/civicrm-core/pull/10492))** +### Drupal Integration -- **[CRM-20650](https://issues.civicrm.org/jira/browse/CRM-20650) Translate strings (ts) in CiviMember dashboard and Contribute manage ([10432](https://github.com/civicrm/civicrm-core/pull/10432))** +- **[CRM-20751](https://issues.civicrm.org/jira/browse/CRM-20751) Support Drupal + aliases for event links in Views + ([456](https://github.com/civicrm/civicrm-drupal/pull/456) and + [455](https://github.com/civicrm/civicrm-drupal/pull/455))** -### CiviContribute + If a CiviCRM event has a Drupal alias set for it, views linking to the event + will now link to the alias rather than the CiviCRM URL. -- **[CRM-20765](https://issues.civicrm.org/jira/browse/CRM-20765) Missing id for 'onBehalfOfOrg' section ([10550](https://github.com/civicrm/civicrm-core/pull/10550))** +## Bugs resolved -- **[CRM-20753](https://issues.civicrm.org/jira/browse/CRM-20753) Net amount doesn't respect localization ([10536](https://github.com/civicrm/civicrm-core/pull/10536))** +### Core CiviCRM -### CiviEvent +- **[CRM-20849](https://issues.civicrm.org/jira/browse/CRM-20849) Multiple + extensions using the same autoloader prefix will overwrite previous + ([10637](https://github.com/civicrm/civicrm-core/pull/10637))** -- **[CRM-20741](https://issues.civicrm.org/jira/browse/CRM-20741) Cancellation message shown as error ([10515](https://github.com/civicrm/civicrm-core/pull/10515))** +- **[CRM-20739](https://issues.civicrm.org/jira/browse/CRM-20739) contact import + doesn't add to group on fill if matching without ID + ([10507](https://github.com/civicrm/civicrm-core/pull/10507))** -### Drupal Integration Modules +- **[CRM-20666](https://issues.civicrm.org/jira/browse/CRM-20666) enable + uploading of files to activities that are up to 255 characters in length + ([10449](https://github.com/civicrm/civicrm-core/pull/10449))** -- **[CRM-20751](https://issues.civicrm.org/jira/browse/CRM-20751) Support Drupal aliases for event links in Views ([456](https://github.com/civicrm/civicrm-drupal/pull/456) and [455](https://github.com/civicrm/civicrm-drupal/pull/455))** + File names of activity uploads had previously been capped at 60 characters. -## Bugs resolved +- **[CRM-20776](https://issues.civicrm.org/jira/browse/CRM-20776) Menu structure + ([10573](https://github.com/civicrm/civicrm-core/pull/10573))** -### CiviContribute, CiviMember + This fixes incorrect handling of URL paths, queries and fragments in the + navigation menu. This was a particular problem for AngularJS pages. -- **[CRM-18177](https://issues.civicrm.org/jira/browse/CRM-18177) When Renewing an existing membership, if CC details are incorrect, Membership is set to Cancelled preventing contact from trying again ([10770](https://github.com/civicrm/civicrm-core/pull/10770))** +- **[CRM-20640](https://issues.civicrm.org/jira/browse/CRM-20640) contribution + summary report: duplicates values with group filter + ([10603](https://github.com/civicrm/civicrm-core/pull/10603) and + [10596](https://github.com/civicrm/civicrm-core/pull/10596))** -### Core CiviCRM + Reports with group filters would display rows twice if multiple groups were + selected in the filter and contacts were in more than one of those groups. - **[CRM-20953](https://issues.civicrm.org/jira/browse/CRM-20953) Importing contacts with deceased_date not setting is_deceased ([10742](https://github.com/civicrm/civicrm-core/pull/10742))** @@ -247,8 +313,27 @@ Released August 2, 2017; - **[CRM-19702](https://issues.civicrm.org/jira/browse/CRM-19702) Fatal error when merging contact records with custom file fields ([9784](https://github.com/civicrm/civicrm-core/pull/9784))** +### CiviCase + +- **[CRM-20802](https://issues.civicrm.org/jira/browse/CRM-20802) + CaseType.create - Stale definition retained in memory + ([10591](https://github.com/civicrm/civicrm-core/pull/10591))** + + Cached case type information was retained even after modifying the case type. + ### CiviContribute +- **[CRM-20765](https://issues.civicrm.org/jira/browse/CRM-20765) Missing id for + 'onBehalfOfOrg' section + ([10550](https://github.com/civicrm/civicrm-core/pull/10550))** + + The `
` containing on-behalf section on contribution pages lacks the + `onBehalfOfOrg` ID attribute that it had in 4.6. + +- **[CRM-20753](https://issues.civicrm.org/jira/browse/CRM-20753) Net amount + doesn't respect localization + ([10536](https://github.com/civicrm/civicrm-core/pull/10536))** + - **[CRM-20773](https://issues.civicrm.org/jira/browse/CRM-20773) Contribution tab shows Receive Date twice instead of Thank You date ([10607](https://github.com/civicrm/civicrm-core/pull/10607))** - **[CRM-20387](https://issues.civicrm.org/jira/browse/CRM-20387) Sales Tax and Invoicing code overwrites existing CiviCRM invoice ID ([10298](https://github.com/civicrm/civicrm-core/pull/10298))** @@ -275,6 +360,19 @@ Released August 2, 2017; ### CiviMember +- **[CRM-20716](https://issues.civicrm.org/jira/browse/CRM-20716) Array to + string issue on php7 when creating membership activity + ([10492](https://github.com/civicrm/civicrm-core/pull/10492))** + +- **[CRM-20650](https://issues.civicrm.org/jira/browse/CRM-20650) Translate + strings (ts) in CiviMember dashboard and Contribute manage + ([10432](https://github.com/civicrm/civicrm-core/pull/10432))** + +- **[CRM-18177](https://issues.civicrm.org/jira/browse/CRM-18177) When Renewing + an existing membership, if CC details are incorrect, Membership is set to + Cancelled preventing contact from trying again + ([10770](https://github.com/civicrm/civicrm-core/pull/10770)) (fix to problem introduced in original bug fix)** + - **[CRM-20567](https://issues.civicrm.org/jira/browse/CRM-20567) backoffice membership via price set errors with non-aggregated column ([10346](https://github.com/civicrm/civicrm-core/pull/10346))** - **[CRM-20720](https://issues.civicrm.org/jira/browse/CRM-20720) CIVICRM-128 Unable to sort Price Options for Price Fieldset. Weight values are not being set at all in database. ([10542](https://github.com/civicrm/civicrm-core/pull/10542))** @@ -295,10 +393,21 @@ Released August 2, 2017; ### CiviEvent +- **[CRM-20741](https://issues.civicrm.org/jira/browse/CRM-20741) Cancellation + message shown as error + ([10515](https://github.com/civicrm/civicrm-core/pull/10515))** + - **[CRM-19745](https://issues.civicrm.org/jira/browse/CRM-19745) Image URL field doesn't show up on CiviEvent Additional Participants Profile ([9777](https://github.com/civicrm/civicrm-core/pull/9777))** ### CiviMail +- **[CRM-20781](https://issues.civicrm.org/jira/browse/CRM-20781) Truncate long + text in mail listing + ([10576](https://github.com/civicrm/civicrm-core/pull/10576))** + + Long values in columns would crowd other columns off the screen or into + illegibility. + - **[CRM-20713](https://issues.civicrm.org/jira/browse/CRM-20713) db error when populating mailing recipients because sms_provider_id is 'null' ([10487](https://github.com/civicrm/civicrm-core/pull/10487))** ### Core CiviCRM, NYSS @@ -313,6 +422,32 @@ Released August 2, 2017; ## Miscellany +- **[CRM-20837](https://issues.civicrm.org/jira/browse/CRM-20837) Make setting + bug more explicit + ([10627](https://github.com/civicrm/civicrm-core/pull/10627))** + +- **[CRM-20677](https://issues.civicrm.org/jira/browse/CRM-20677) Use + generalised function to retrieve financial account + ([10463](https://github.com/civicrm/civicrm-core/pull/10463))** + +- **[CRM-20786](https://issues.civicrm.org/jira/browse/CRM-20786) Move + deprecated utils functions to the import classes + ([10578](https://github.com/civicrm/civicrm-core/pull/10578), + [10580](https://github.com/civicrm/civicrm-core/pull/10580), + [10579](https://github.com/civicrm/civicrm-core/pull/10579), and + [10581](https://github.com/civicrm/civicrm-core/pull/10581))** + +- **[CRM-20771](https://issues.civicrm.org/jira/browse/CRM-20771) Ensure that + AddColumn in CRM_Upgrade_Incremental_Base can support translatable columns + ([10561](https://github.com/civicrm/civicrm-core/pull/10561))** + +- **[CRM-20833](https://issues.civicrm.org/jira/browse/CRM-20833) Change + namespace for APIv4 entities + ([10632](https://github.com/civicrm/civicrm-core/pull/10632) and + [10625](https://github.com/civicrm/civicrm-core/pull/10625))** + + The namespace is now `Civi\Api4\Entity` rather than `Civi\Api4`. + ## Credits This release was developed by the following code authors: @@ -322,4 +457,4 @@ AGH Strategies - Andrew Hunt; AronNovakInovae; Arun Singh; Australian Greens - S Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: -AGH Strategies - Andrew Hunt; Agileware - Agileware Team; andrimont; Arkadiusz Rzadkowolski; Australian Greens - Seamus Lee; Blackfly Solutions - Alan Dixon; Circle Interactive - Dave Jenkins; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Guanhuan Chen, Jamie Novick, Michael Devery, Mirela Stanila; Coop SymbioTIC - Mathieu Lutfy; Davi Alexandre; DevMate - Adam Kwiatkowski; diegov; dinalondon; Donald Hirst; ejegg; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Chris Burgess, Eileen McNaughton, Jitendra Purohit, Peter Davis; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak; JO0st; Johan Vervloet; John Kingsnorth; Joinery - Allen Shaw; Jon Goldberg; Klaas Eikelboom; Korlon - Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; lpkb; MC3 - Graham Mitchell; mdlueck; MegaphoneJon; mepps; MJW Consulting - Matthew Wire; Nathan Brettell; Oxfam Germany - Thomas Schüttler; peter39; philmck; Progressive Technology Project - Jamie McClelland; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; torrance123; Upleaf - Osvaldo Gomez; Wikimedia Foundation - Eileen McNaughton \ No newline at end of file +AGH Strategies - Andrew Hunt; Agileware - Agileware Team; andrimont; Arkadiusz Rzadkowolski; Australian Greens - Seamus Lee; Blackfly Solutions - Alan Dixon; Circle Interactive - Dave Jenkins; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Guanhuan Chen, Jamie Novick, Michael Devery, Mirela Stanila; Coop SymbioTIC - Mathieu Lutfy; Davi Alexandre; DevMate - Adam Kwiatkowski; diegov; dinalondon; Donald Hirst; ejegg; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Chris Burgess, Eileen McNaughton, Jitendra Purohit, Peter Davis; JMA Consulting - Edsel Lopez, Joe Murray, Monish Deb, Pradeep Nayak; JO0st; Johan Vervloet; John Kingsnorth; Joinery - Allen Shaw; Jon Goldberg; Klaas Eikelboom; Korlon - Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; lpkb; MC3 - Graham Mitchell; mdlueck; MegaphoneJon; mepps; MJW Consulting - Matthew Wire; Nathan Brettell; Oxfam Germany - Thomas Schüttler; peter39; philmck; Progressive Technology Project - Jamie McClelland; Semper IT - Karin Gerritsen; Skvare - Mark Hanna; Squiffle Consulting - Aidan Saunders; Stephen Palmstrom; Tadpole Collective - Kevin Cristiano; torrance123; Upleaf - Osvaldo Gomez; Wikimedia Foundation - Eileen McNaughton -- 2.25.1