X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=release-notes%2F4.7.31.md;h=1cb83a7a4cf3eb94c67c53d572f6673fd744b5d7;hb=8d5c32fd983e164b5f18fd50886d5dc81cbdc7d6;hp=e5a62bc2bf71dbea3235a73c05409cbc590195e9;hpb=58022a760ca155a32ef9adecf30edda79aa37e15;p=civicrm-core.git diff --git a/release-notes/4.7.31.md b/release-notes/4.7.31.md index e5a62bc2bf..1cb83a7a4c 100644 --- a/release-notes/4.7.31.md +++ b/release-notes/4.7.31.md @@ -13,11 +13,11 @@ Released March 7, 2018 | *Does this version...?* | | |:--------------------------------------------------------------- |:-------:| -| Fix security vulnerabilities? | | +| Fix security vulnerabilities? | no | | **Change the database schema?** | **yes** | | **Alter the API?** | **yes** | | **Require attention to configuration options?** | **yes** | -| Fix problems installing or upgrading to a previous version? | | +| **Fix problems installing or upgrading to a previous version?** | **yes** | | **Introduce features?** | **yes** | | **Fix bugs?** | **yes** | @@ -59,9 +59,9 @@ Released March 7, 2018 The Multibyte String PHP function support is now a requirement for installing CiviCRM. -- **[CRM-21225](https://issues.civicrm.org/jira/browse/CRM-21225) Add a new field, Profile - Title so that the Profile Name does not serve a dual purpose of labelling the - Profile and displaying the Title for the Profile fields publicly +- **[CRM-21225](https://issues.civicrm.org/jira/browse/CRM-21225) Add a new + field, Profile Title so that the Profile Name does not serve a dual purpose of + labelling the Profile and displaying the Title for the Profile fields publicly ([11508](https://github.com/civicrm/civicrm-core/pull/11508) and [11503](https://github.com/civicrm/civicrm-core/pull/11503))** @@ -154,6 +154,19 @@ Released March 7, 2018 When a message is sent via a template, additional details about the template are provided to functions invoking `hook_civicrm_alterMailContent`. +- **Add API parameter for fix_address + ([11372](https://github.com/civicrm/civicrm-core/pull/11372))** + + When saving an address using the API, you can now bypass a handful of fixes + that normally get applied. + +- **[CRM-21741](https://issues.civicrm.org/jira/browse/CRM-21741) For in-place + editing, allow data-params to be passed to CRM.api3 + ([11639](https://github.com/civicrm/civicrm-core/pull/11639))** + + Fields enabled for in-place editing can now specify additional API parameters + to be sent when saving updates. + ### CiviCampaign - **[CRM-21593](https://issues.civicrm.org/jira/browse/CRM-21593) New order by @@ -163,32 +176,37 @@ Released March 7, 2018 The Walk / Phone List Report now can be sorted by street name, street number, and whether the street number is odd or even. -### CiviMail +### CiviCase -- **[CRM-21546](https://issues.civicrm.org/jira/browse/CRM-21546) Implement - unique opens filter for mailing opened report - ([11401](https://github.com/civicrm/civicrm-core/pull/11401))** +- **[CRM-21461](https://issues.civicrm.org/jira/browse/CRM-21461) Case Dashlet + enhancement ([11304](https://github.com/civicrm/civicrm-core/pull/11304))** - A new option on the Mailing Opened Report toggles displaying all open events - and all recipients who have opened the message. + The Case Dashboard, My Cases dashlet, and All Cases dashlet now use DataTables + to display results. This allows easy sorting and filtering of results among + other improvements. -### WordPress Integration +- **[CRM-21498](https://issues.civicrm.org/jira/browse/CRM-21498) Option to + Change Status of Linked Cases + ([11350](https://github.com/civicrm/civicrm-core/pull/11350))** -- **[CRM-16421](https://issues.civicrm.org/jira/browse/CRM-16421) Work to get - CiviCRM for WordPress in WordPress' official Repository - ([11576](https://github.com/civicrm/civicrm-core/pull/11576) and - [122](https://github.com/civicrm/civicrm-wordpress/pull/122)) (continues - previous work)** + When changing the status of a case, you now have the option to update the + status of all linked cases. - Sites about to install CiviCRM can now indicate whether to use the new - installer library by the presence of a file named `.use-civicrm-setup`. A new - tarball will be generated for each version of CiviCRM named - `civicrm-*-wporg.zip`. This new tarball will be equivalent to the - `civicrm-*-wordpress.zip` files except that it uses the new installer and - displays a series of opt-ins in order to satisfy WordPress.org requirements. +- **[CRM-21520](https://issues.civicrm.org/jira/browse/CRM-21520) Add Action on + Contact Search to Add Contacts to a Case + ([11371](https://github.com/civicrm/civicrm-core/pull/11371))** + + Contacts selected from search results can now be added in bulk with a selected + case role to a selected case. ### CiviContribute +- **[EXT-56](https://issues.civicrm.org/jira/browse/EXT-56) - Add + com.iatspayments.civicrm to tarballs + ([11052](https://github.com/civicrm/civicrm-core/pull/11052))** + + The iATS payment processor is now included in core CiviCRM. + - **[CRM-21722](https://issues.civicrm.org/jira/browse/CRM-21722) Payment processor check configuration - improved message in UI ([11604](https://github.com/civicrm/civicrm-core/pull/11604))** @@ -232,6 +250,22 @@ Released March 7, 2018 The Contribution Summary Report can now use contact custom fields as filters or displayed in columns. +- **[CRM-20614](https://issues.civicrm.org/jira/browse/CRM-20614) Do not + Download Export file for Financial Batch + ([10393](https://github.com/civicrm/civicrm-core/pull/10393))** + + A financial batch export can be set using the API or custom extension to not + automatically download the file. + +### CiviMail + +- **[CRM-21546](https://issues.civicrm.org/jira/browse/CRM-21546) Implement + unique opens filter for mailing opened report + ([11401](https://github.com/civicrm/civicrm-core/pull/11401))** + + A new option on the Mailing Opened Report toggles displaying all open events + and all recipients who have opened the message. + ### CiviMember - **[CRM-21512](https://issues.civicrm.org/jira/browse/CRM-21512) Remove @@ -273,52 +307,24 @@ Released March 7, 2018 Views can now display, filter, and sort by the contact who created an event. Relationships can be added to the contact. -### CiviCase - -- **[CRM-21461](https://issues.civicrm.org/jira/browse/CRM-21461) Case Dashlet - enhancement ([11304](https://github.com/civicrm/civicrm-core/pull/11304))** - - The Case Dashboard, My Cases dashlet, and All Cases dashlet now use DataTables - to display results. This allows easy sorting and filtering of results among - other improvements. - -- **[CRM-21498](https://issues.civicrm.org/jira/browse/CRM-21498) Option to - Change Status of Linked Cases - ([11350](https://github.com/civicrm/civicrm-core/pull/11350))** - - When changing the status of a case, you now have the option to update the - status of all linked cases. +### WordPress Integration -- **[CRM-21520](https://issues.civicrm.org/jira/browse/CRM-21520) Add Action on - Contact Search to Add Contacts to a Case - ([11371](https://github.com/civicrm/civicrm-core/pull/11371))** +- **[CRM-16421](https://issues.civicrm.org/jira/browse/CRM-16421) Work to get + CiviCRM for WordPress in WordPress' official Repository + ([11576](https://github.com/civicrm/civicrm-core/pull/11576), + [121](https://github.com/civicrm/civicrm-wordpress/pull/121), and + [122](https://github.com/civicrm/civicrm-wordpress/pull/122)) (continues + previous work)** - Contacts selected from search results can now be added in bulk with a selected - case role to a selected case. + Sites about to install CiviCRM can now indicate whether to use the new + installer library by the presence of a file named `.use-civicrm-setup`. A new + tarball will be generated for each version of CiviCRM named + `civicrm-*-wporg.zip`. This new tarball will be equivalent to the + `civicrm-*-wordpress.zip` files except that it uses the new installer and + displays a series of opt-ins in order to satisfy WordPress.org requirements. ## Bugs resolved -### CiviMail - -- **[CRM-21759](https://issues.civicrm.org/jira/browse/CRM-21759) mailing template selector missing ([11676](https://github.com/civicrm/civicrm-core/pull/11676))** - -- **[CRM-21683](https://issues.civicrm.org/jira/browse/CRM-21683) Mailing summary breaks on mailing names with apostrophes ([11557](https://github.com/civicrm/civicrm-core/pull/11557))** - -- **[CRM-21260](https://issues.civicrm.org/jira/browse/CRM-21260) and - [CRM-21316](https://issues.civicrm.org/jira/browse/CRM-21316) CiviMail compose - UI very slow to initialize when many mailing groups, past mailings and - templates ([11142](https://github.com/civicrm/civicrm-core/pull/11142) and - [11558](https://github.com/civicrm/civicrm-core/pull/11558))** - - The process of building recipient lists for CiviMail has been refactored to be - simpler and faster. - -- **[CRM-21521](https://issues.civicrm.org/jira/browse/CRM-21521) Bounce processing exception: no such property 'text' ([11390](https://github.com/civicrm/civicrm-core/pull/11390))** - -### NYSS - -- **[CRM-21760](https://issues.civicrm.org/jira/browse/CRM-21760) Manager Name is missing in 'Find Cases' search list ([11665](https://github.com/civicrm/civicrm-core/pull/11665))** - ### Core CiviCRM - **[CRM-21715](https://issues.civicrm.org/jira/browse/CRM-21715) Activity @@ -380,119 +386,143 @@ Released March 7, 2018 active period. The filter had been removed accidentally in a past improvement. -- **Change geocoder message check. ([11664](https://github.com/civicrm/civicrm-core/pull/11664))** - -- **[CRM-20996](https://issues.civicrm.org/jira/browse/CRM-20996) Copy profile from wizard duplicates 'name' in database ([11597](https://github.com/civicrm/civicrm-core/pull/11597))** - -- **dev/core#2 Display Inbound Email: linefeed fixed ([11661](https://github.com/civicrm/civicrm-core/pull/11661))** - -- **Unit test fixes ([11659](https://github.com/civicrm/civicrm-core/pull/11659))** - -- **[CRM-21738](https://issues.civicrm.org/jira/browse/CRM-21738) Merges not copying viewOnly data (regression but not recent) ([11636](https://github.com/civicrm/civicrm-core/pull/11636))** - -- **Fix unit test to not rely on hacking the DB to have ids for price set… ([11652](https://github.com/civicrm/civicrm-core/pull/11652))** - -- **fix dev/core#1: allow to search contributions that are in progress ([11640](https://github.com/civicrm/civicrm-core/pull/11640))** - -- **Added trait to support Codeception tests ([11115](https://github.com/civicrm/civicrm-core/pull/11115))** - -- **Allow data-params to be specified as an item property and passed to CRM.api3 call ([11639](https://github.com/civicrm/civicrm-core/pull/11639))** - -- **[CRM-21742](https://issues.civicrm.org/jira/browse/CRM-21742) Use form validation rather than Exception handling for proximity seach ([11643](https://github.com/civicrm/civicrm-core/pull/11643))** - -- **[CRM-19784](https://issues.civicrm.org/jira/browse/CRM-19784) Yahoo Placefinder service appears to have EOL'ed ([11540](https://github.com/civicrm/civicrm-core/pull/11540))** - -- **[CRM-21737](https://issues.civicrm.org/jira/browse/CRM-21737) New option value validation is too tight for languages ([11633](https://github.com/civicrm/civicrm-core/pull/11633))** - -- **Amount and source could exceed max length of subject column ([11593](https://github.com/civicrm/civicrm-core/pull/11593))** - -- **[CRM-21721](https://issues.civicrm.org/jira/browse/CRM-21721) Notice : Division by zero ([11623](https://github.com/civicrm/civicrm-core/pull/11623) and [11601](https://github.com/civicrm/civicrm-core/pull/11601))** - -- **Website api - fix nonstandard BAO delete method ([11625](https://github.com/civicrm/civicrm-core/pull/11625))** - -- **(NFC) Fix logging test for multilingual on MySQL5.7 ([11626](https://github.com/civicrm/civicrm-core/pull/11626))** - -- **[CRM-21730](https://issues.civicrm.org/jira/browse/CRM-21730) postProcess() hook don't receive case id after submitting "New Case" form ([11618](https://github.com/civicrm/civicrm-core/pull/11618))** - -- **[nfc] Fix intermittantly failing test. ([11617](https://github.com/civicrm/civicrm-core/pull/11617))** - -- **[CRM-21729](https://issues.civicrm.org/jira/browse/CRM-21729) Exclude (non-lintable) vendor test cases from deply ([11613](https://github.com/civicrm/civicrm-core/pull/11613))** - -- **Use mb_strlen() in ellipsify() to avoid excessive multibyte truncation ([11594](https://github.com/civicrm/civicrm-core/pull/11594))** - -- **[CRM-21524](https://issues.civicrm.org/jira/browse/CRM-21524) CiviCRM exports (postal) mailing lists including Contacts clearly marked is_deceased in the database ([11527](https://github.com/civicrm/civicrm-core/pull/11527))** +- **[CRM-20996](https://issues.civicrm.org/jira/browse/CRM-20996) Copy profile + from wizard duplicates 'name' in database + ([11597](https://github.com/civicrm/civicrm-core/pull/11597))** -- **Minor api clean up. ([11569](https://github.com/civicrm/civicrm-core/pull/11569))** + This ensures that the profile machine name is unique when copying profiles. A + database error would result when copying profiles while editing events or + contribution pages. -- **[CRM-21687](https://issues.civicrm.org/jira/browse/CRM-21687) MariaDB 10.2 and logging: log_civicrm_activity schema syntax error ([11580](https://github.com/civicrm/civicrm-core/pull/11580))** +- **[dev/core#2](https://lab.civicrm.org/dev/core/issues/2) Display Inbound + Email: linefeed suppressed + ([11661](https://github.com/civicrm/civicrm-core/pull/11661))** -- **Api4 - Update entity directory ([11582](https://github.com/civicrm/civicrm-core/pull/11582))** + When viewing an activity, the Details field now displays line breaks that are + in the original. This is important in viewing the text of inbound email + activities. -- **Fix typo (very recent) ([11566](https://github.com/civicrm/civicrm-core/pull/11566))** +- **[CRM-21738](https://issues.civicrm.org/jira/browse/CRM-21738) Merges not + copying viewOnly data (regression but not recent) + ([11636](https://github.com/civicrm/civicrm-core/pull/11636))** -- **[CRM-21623](https://issues.civicrm.org/jira/browse/CRM-21623) Smart Group Relative Date not saving for some fields in Advance Search. ([11486](https://github.com/civicrm/civicrm-core/pull/11486))** + View-only custom data was not copying to the merged contact when merging two + contacts. -- **EXT-56 - Add com.iatspayments.civicrm to tarballs ([11052](https://github.com/civicrm/civicrm-core/pull/11052))** +- **[CRM-21742](https://issues.civicrm.org/jira/browse/CRM-21742) Use form + validation rather than Exception handling for proximity seach + ([11643](https://github.com/civicrm/civicrm-core/pull/11643))** -- **Add API parameter for fix_address ([11372](https://github.com/civicrm/civicrm-core/pull/11372))** + Custom searches now support validation, the proximity search is now configured + to display validation errors rather than a cause a full-blown exception when + geocoding fails. -- **[CRM-21684](https://issues.civicrm.org/jira/browse/CRM-21684) contact subtype fields prevent inclusion in profile/receipt email ([11559](https://github.com/civicrm/civicrm-core/pull/11559))** +- **[CRM-19784](https://issues.civicrm.org/jira/browse/CRM-19784) Yahoo + Placefinder service appears to have EOL'ed + ([11540](https://github.com/civicrm/civicrm-core/pull/11540))** -- **Minor api tidy up. ([11543](https://github.com/civicrm/civicrm-core/pull/11543))** + Support is removed for the now-defunct Yahoo geocoding service. -- **Fix mock test data for PaymentProcessor object. ([11545](https://github.com/civicrm/civicrm-core/pull/11545))** +- **[CRM-21737](https://issues.civicrm.org/jira/browse/CRM-21737) New option + value validation is too tight for languages + ([11633](https://github.com/civicrm/civicrm-core/pull/11633))** -- **[CRM-21667](https://issues.civicrm.org/jira/browse/CRM-21667) Bad timezone hand-off from CMS to CRM ([11534](https://github.com/civicrm/civicrm-core/pull/11534))** + Option values for language now only need to have a unique name rather than a + unique value. -- **[CRM-21651](https://issues.civicrm.org/jira/browse/CRM-21651) Contact :: New Email/SMS : loading failed when no contact is found ([11506](https://github.com/civicrm/civicrm-core/pull/11506))** +- **Website api - fix nonstandard BAO delete method + ([11625](https://github.com/civicrm/civicrm-core/pull/11625))** -- **[CRM-21669](https://issues.civicrm.org/jira/browse/CRM-21669) Consistent wording for "Email - Send now" task ([11535](https://github.com/civicrm/civicrm-core/pull/11535))** + Deleting a website now uses a standard method that invokes all the usual hooks. -- **[CRM-21613](https://issues.civicrm.org/jira/browse/CRM-21613) Search issues on 'Manage Tag' page ([11510](https://github.com/civicrm/civicrm-core/pull/11510) and [11467](https://github.com/civicrm/civicrm-core/pull/11467))** +- **Use mb_strlen() in ellipsify() to avoid excessive multibyte truncation + ([11594](https://github.com/civicrm/civicrm-core/pull/11594))** -- **[CRM-21663](https://issues.civicrm.org/jira/browse/CRM-21663) Fix Campaign Search and result structure ([11528](https://github.com/civicrm/civicrm-core/pull/11528))** + This resolves problems truncating text with multibyte characters to a shorter + length than intended. -- **[CRM-21444](https://issues.civicrm.org/jira/browse/CRM-21444) Empty field at form "Add rule for..." merge duplicate contacts ([11523](https://github.com/civicrm/civicrm-core/pull/11523))** +- **[CRM-21524](https://issues.civicrm.org/jira/browse/CRM-21524) CiviCRM + exports (postal) mailing lists including Contacts clearly marked is_deceased + in the database + ([11527](https://github.com/civicrm/civicrm-core/pull/11527))** -- **[CRM-20904](https://issues.civicrm.org/jira/browse/CRM-20904) Joomla - Fatal Error when schedule job is executed from cron.php ([10692](https://github.com/civicrm/civicrm-core/pull/10692))** + This ensures that exports suppress deceased and "do not mail" contacts prior + to merging rows with the same address. Previously, contacts sharing an + address with a deceased contact in the same search result would be merged with + them in the results. -- **[CRM-21485](https://issues.civicrm.org/jira/browse/CRM-21485) Tax not added when renewing membership in backend ([11459](https://github.com/civicrm/civicrm-core/pull/11459))** +- **[CRM-21687](https://issues.civicrm.org/jira/browse/CRM-21687) MariaDB 10.2 + and logging: log_civicrm_activity schema syntax error + ([11580](https://github.com/civicrm/civicrm-core/pull/11580))** -- **[CRM-21533](https://issues.civicrm.org/jira/browse/CRM-21533) Outbound setting reverts in non-production sites on executing sched job ([11393](https://github.com/civicrm/civicrm-core/pull/11393))** +- **[CRM-21651](https://issues.civicrm.org/jira/browse/CRM-21651) Contact :: New + Email/SMS : loading failed when no contact is found + ([11506](https://github.com/civicrm/civicrm-core/pull/11506))** -- **[CRM-17352](https://issues.civicrm.org/jira/browse/CRM-17352) Backbone no-conflict ([11504](https://github.com/civicrm/civicrm-core/pull/11504) and [198](https://github.com/civicrm/civicrm-packages/pull/198))** +- **[CRM-21669](https://issues.civicrm.org/jira/browse/CRM-21669) Consistent + wording for "Email - Send now" task + ([11535](https://github.com/civicrm/civicrm-core/pull/11535))** -- **Edit to contributor listing: Standalone code contributor from now. ([11512](https://github.com/civicrm/civicrm-core/pull/11512))** +- **[CRM-21613](https://issues.civicrm.org/jira/browse/CRM-21613) Search issues + on 'Manage Tag' page + ([11510](https://github.com/civicrm/civicrm-core/pull/11510) and + [11467](https://github.com/civicrm/civicrm-core/pull/11467))** -- **[CRM-21647](https://issues.civicrm.org/jira/browse/CRM-21647) Fatal error on deleting any contribution record ([11500](https://github.com/civicrm/civicrm-core/pull/11500))** +- **[CRM-21444](https://issues.civicrm.org/jira/browse/CRM-21444) Empty field at + form "Add rule for..." merge duplicate contacts + ([11523](https://github.com/civicrm/civicrm-core/pull/11523))** -- **[CRM-21644](https://issues.civicrm.org/jira/browse/CRM-21644) Preferred Communication Method is not set to default for contact ([11499](https://github.com/civicrm/civicrm-core/pull/11499))** + The contact type options when creating a dedupe rule would not appear when in + a language other than English. -- **Fix unit test failure ([11479](https://github.com/civicrm/civicrm-core/pull/11479))** +- **[CRM-21533](https://issues.civicrm.org/jira/browse/CRM-21533) Outbound + setting reverts in non-production sites on executing sched job + ([11393](https://github.com/civicrm/civicrm-core/pull/11393))** -- **[CRM-21612](https://issues.civicrm.org/jira/browse/CRM-21612) Membership Payment not recorded for recurring contribution when status label is changed. ([11465](https://github.com/civicrm/civicrm-core/pull/11465))** + This resolves a bug where running a scheduled job on a site in development + mode would re-enable outbound mail. -- **[CRM-18300](https://issues.civicrm.org/jira/browse/CRM-18300) "Permission denied" message re contact on CiviCRM dashboard ([11470](https://github.com/civicrm/civicrm-core/pull/11470))** +- **[CRM-17352](https://issues.civicrm.org/jira/browse/CRM-17352) Backbone + no-conflict ([11504](https://github.com/civicrm/civicrm-core/pull/11504) and + [198](https://github.com/civicrm/civicrm-packages/pull/198))** -- **[CRM-21614](https://issues.civicrm.org/jira/browse/CRM-21614) Tag UI doesn't appear to respect reserved tags permission ([11469](https://github.com/civicrm/civicrm-core/pull/11469))** + CiviCRM now uses Backbone.js in `noConflict` mode to prevent conflicts if the + CMS has its own copy of the library. -- **[CRM-21580](https://issues.civicrm.org/jira/browse/CRM-21580) exporting financial batch fails when label of batch statuses changed ([11434](https://github.com/civicrm/civicrm-core/pull/11434))** +- **[CRM-21644](https://issues.civicrm.org/jira/browse/CRM-21644) Preferred + Communication Method is not set to default for contact + ([11499](https://github.com/civicrm/civicrm-core/pull/11499))** -- **Reformat DAO files to pass linting and use short array syntax ([11418](https://github.com/civicrm/civicrm-core/pull/11418))** + A contact's Preferred Communication Method field now defaults to its current + value when included in a profile. -- **[CRM-21589](https://issues.civicrm.org/jira/browse/CRM-21589) "Repeat Contributions" report ignores sort ([11446](https://github.com/civicrm/civicrm-core/pull/11446))** +- **[CRM-18300](https://issues.civicrm.org/jira/browse/CRM-18300) "Permission + denied" message re contact on CiviCRM dashboard + ([11470](https://github.com/civicrm/civicrm-core/pull/11470))** -- **Params to assertGreaterThanOrEqual in api_v3_CaseTest were in wrong order ([11451](https://github.com/civicrm/civicrm-core/pull/11451))** +- **[CRM-21614](https://issues.civicrm.org/jira/browse/CRM-21614) Tag UI doesn't + appear to respect reserved tags permission + ([11469](https://github.com/civicrm/civicrm-core/pull/11469))** -- **[CRM-20614](https://issues.civicrm.org/jira/browse/CRM-20614) Do not Download Export file for Financial Batch ([10393](https://github.com/civicrm/civicrm-core/pull/10393))** + This resolves a problem where a non-privileged user editing a reserved tag + would appear to be able to make edits, but the edits would not take effect. -- **Backport fix from D7 module. ([514](https://github.com/civicrm/civicrm-drupal/pull/514))** +- **[CRM-21744](https://issues.civicrm.org/jira/browse/CRM-21744) Fix proximity + custom search to work with smart groups + ([11645](https://github.com/civicrm/civicrm-core/pull/11645))** -- **Update civicrm_handler_field_contact_image.inc ([516](https://github.com/civicrm/civicrm-drupal/pull/516))** +- **[CRM-21159](https://issues.civicrm.org/jira/browse/CRM-21159) Address fields + cause DB errors when adding contacts to group from Search Builder + ([11524](https://github.com/civicrm/civicrm-core/pull/11524) and + [11422](https://github.com/civicrm/civicrm-core/pull/11422))** -- **Installation - If available, use the new installer package ([121](https://github.com/civicrm/civicrm-wordpress/pull/121))** +- **[CRM-14834](https://issues.civicrm.org/jira/browse/CRM-14834) Activity + Export with Relationships incurs fatal error + ([11526](https://github.com/civicrm/civicrm-core/pull/11526))** -- **[CRM-17652](https://issues.civicrm.org/jira/browse/CRM-17652) Symfony conflict between Civi and Drupal 8 ([193](https://github.com/civicrm/civicrm-packages/pull/193))** +- **[CRM-18048](https://issues.civicrm.org/jira/browse/CRM-18048) Activity + Report fatal error when including custom field set with long name + ([11183](https://github.com/civicrm/civicrm-core/pull/11183))** ### CiviCampaign @@ -503,18 +533,38 @@ Released March 7, 2018 The loading icon would not stop when working with the listings of campaigns, surveys, and petitions. -### CiviEvent +- **[CRM-21663](https://issues.civicrm.org/jira/browse/CRM-21663) Fix Campaign + Search and result structure + ([11528](https://github.com/civicrm/civicrm-core/pull/11528))** -- **[CRM-21743](https://issues.civicrm.org/jira/browse/CRM-21743) Creating an event template from existing one does not work ([11644](https://github.com/civicrm/civicrm-core/pull/11644))** +### CiviCase -- **[CRM-21071](https://issues.civicrm.org/jira/browse/CRM-21071) Event Location Tab: Second Email and Phone fields broken ([11568](https://github.com/civicrm/civicrm-core/pull/11568))** +- **[CRM-21760](https://issues.civicrm.org/jira/browse/CRM-21760) Manager Name + is missing in 'Find Cases' search list + ([11665](https://github.com/civicrm/civicrm-core/pull/11665))** -### CiviContribute, CiviEvent, Internationalisation +- **[CRM-21730](https://issues.civicrm.org/jira/browse/CRM-21730) postProcess() + hook don't receive case id after submitting "New Case" form + ([11618](https://github.com/civicrm/civicrm-core/pull/11618))** -- **[CRM-17647](https://issues.civicrm.org/jira/browse/CRM-17647) Recording payment truncates the amount after the comma (whether thousands or decimal separator) ([11539](https://github.com/civicrm/civicrm-core/pull/11539), [11646](https://github.com/civicrm/civicrm-core/pull/11646), [11575](https://github.com/civicrm/civicrm-core/pull/11575), [11574](https://github.com/civicrm/civicrm-core/pull/11574), [11554](https://github.com/civicrm/civicrm-core/pull/11554), [11547](https://github.com/civicrm/civicrm-core/pull/11547), and [11541](https://github.com/civicrm/civicrm-core/pull/11541))** +- **[CRM-21704](https://issues.civicrm.org/jira/browse/CRM-21704) Do Not allow a + case type that is reserved to be deleted or disabled. + ([11581](https://github.com/civicrm/civicrm-core/pull/11581))** ### CiviContribute +- **[CRM-17647](https://issues.civicrm.org/jira/browse/CRM-17647) Recording + payment truncates the amount after the comma (whether thousands or decimal + separator) ([11539](https://github.com/civicrm/civicrm-core/pull/11539), + [11646](https://github.com/civicrm/civicrm-core/pull/11646), + [11575](https://github.com/civicrm/civicrm-core/pull/11575), + [11574](https://github.com/civicrm/civicrm-core/pull/11574), + [11554](https://github.com/civicrm/civicrm-core/pull/11554), + [11547](https://github.com/civicrm/civicrm-core/pull/11547), and + [11541](https://github.com/civicrm/civicrm-core/pull/11541))** + + Monetary amounts are now more consistently cleaned in the form layer. + - **[CRM-21323](https://issues.civicrm.org/jira/browse/CRM-21323) Fix backend credit card payment processor selection ([11530](https://github.com/civicrm/civicrm-core/pull/11530))** @@ -534,37 +584,154 @@ Released March 7, 2018 systems recording a negative contribution results in a $0 contribution ([11577](https://github.com/civicrm/civicrm-core/pull/11577))** -- **[CRM-20676](https://issues.civicrm.org/jira/browse/CRM-20676) Tax applied repeatedly on edits of price set events ([11655](https://github.com/civicrm/civicrm-core/pull/11655) and [11461](https://github.com/civicrm/civicrm-core/pull/11461))** +- **[dev/core#1](https://lab.civicrm.org/dev/core/issues/1) Allow to search for + "in progress" contributions + ([11640](https://github.com/civicrm/civicrm-core/pull/11640))** -- **[CRM-19752](https://issues.civicrm.org/jira/browse/CRM-19752) Slow query created by financial type acls ([11621](https://github.com/civicrm/civicrm-core/pull/11621) and [9746](https://github.com/civicrm/civicrm-core/pull/9746))** + The "in progress" and "overdue" statuses are now available for searching + contributions. -- **[CRM-21665](https://issues.civicrm.org/jira/browse/CRM-21665) Check Number show hide not working ([11611](https://github.com/civicrm/civicrm-core/pull/11611))** +- **Amount and source could exceed max length of subject column + ([11593](https://github.com/civicrm/civicrm-core/pull/11593))** -- **[CRM-21724](https://issues.civicrm.org/jira/browse/CRM-21724) Receipt for membership contribution sending custom fields for wrong membership type ([11605](https://github.com/civicrm/civicrm-core/pull/11605))** + The activity corresponding to a contribution is given a subject based upon the + contribution source and amount. Since the combined string could be longer + than the activity subject field's maximum length, this truncates it with an + ellipsis. -- **[CRM-21656](https://issues.civicrm.org/jira/browse/CRM-21656) Backend Membership with Priceset applies taxes twice to line_item ([11521](https://github.com/civicrm/civicrm-core/pull/11521))** +- **[CRM-21721](https://issues.civicrm.org/jira/browse/CRM-21721) Notice : + Division by zero ([11623](https://github.com/civicrm/civicrm-core/pull/11623) + and [11601](https://github.com/civicrm/civicrm-core/pull/11601))** -- **[CRM-21155](https://issues.civicrm.org/jira/browse/CRM-21155) Hook batchItems does not change the csv export ([10951](https://github.com/civicrm/civicrm-core/pull/10951))** + This resolves a PHP notice that would appear when submitting a $0.00 + contribution using a price set. -- **[CRM-19107](https://issues.civicrm.org/jira/browse/CRM-19107) PayPal Button Error ([11474](https://github.com/civicrm/civicrm-core/pull/11474))** +- **[CRM-21684](https://issues.civicrm.org/jira/browse/CRM-21684) contact + subtype fields prevent inclusion in profile/receipt email + ([11559](https://github.com/civicrm/civicrm-core/pull/11559))** -- **[CRM-21609](https://issues.civicrm.org/jira/browse/CRM-21609) PayPal Pro IPN code no longer respects changed recurring amount ([11463](https://github.com/civicrm/civicrm-core/pull/11463))** + This resolves a problem where adding a subtype-specific custom field to a + profile prevents any fields from the profile being included in receipts. -### CiviCRM API +- **[CRM-21647](https://issues.civicrm.org/jira/browse/CRM-21647) Fatal error on + deleting any contribution record + ([11500](https://github.com/civicrm/civicrm-core/pull/11500))** -- **[CRM-21749](https://issues.civicrm.org/jira/browse/CRM-21749) [obscure intra-rc regression] Mailing api no longer respecting '_skip_evil_bao_auto_schedule_' ([11653](https://github.com/civicrm/civicrm-core/pull/11653))** +- **[CRM-21580](https://issues.civicrm.org/jira/browse/CRM-21580) exporting + financial batch fails when label of batch statuses changed + ([11434](https://github.com/civicrm/civicrm-core/pull/11434))** -- **[CRM-21728](https://issues.civicrm.org/jira/browse/CRM-21728) Intermittant fatal on pcp.create api ([11606](https://github.com/civicrm/civicrm-core/pull/11606))** +- **[CRM-21589](https://issues.civicrm.org/jira/browse/CRM-21589) "Repeat + Contributions" report ignores sort + ([11446](https://github.com/civicrm/civicrm-core/pull/11446))** -### CiviCRM Search +- **[CRM-20676](https://issues.civicrm.org/jira/browse/CRM-20676) Tax applied + repeatedly on edits of price set events + ([11655](https://github.com/civicrm/civicrm-core/pull/11655) and + [11461](https://github.com/civicrm/civicrm-core/pull/11461)) (completes + previous work)** -- **[CRM-21744](https://issues.civicrm.org/jira/browse/CRM-21744) Fix proximity custom search to work with smart groups ([11645](https://github.com/civicrm/civicrm-core/pull/11645))** +- **[CRM-19752](https://issues.civicrm.org/jira/browse/CRM-19752) Slow query + created by financial type acls + ([11621](https://github.com/civicrm/civicrm-core/pull/11621) and + [9746](https://github.com/civicrm/civicrm-core/pull/9746))** -- **[CRM-21159](https://issues.civicrm.org/jira/browse/CRM-21159) Address fields cause DB errors when adding contacts to group from Search Builder ([11524](https://github.com/civicrm/civicrm-core/pull/11524) and [11422](https://github.com/civicrm/civicrm-core/pull/11422))** +- **[CRM-21665](https://issues.civicrm.org/jira/browse/CRM-21665) Check Number + show hide not working + ([11611](https://github.com/civicrm/civicrm-core/pull/11611))** -### CiviCase +- **[CRM-21155](https://issues.civicrm.org/jira/browse/CRM-21155) Hook + batchItems does not change the csv export + ([10951](https://github.com/civicrm/civicrm-core/pull/10951))** + +- **[CRM-19107](https://issues.civicrm.org/jira/browse/CRM-19107) PayPal Button + Error ([11474](https://github.com/civicrm/civicrm-core/pull/11474))** + + The PayPal Express button now reliably sends the donor to PayPal rather than + submitting the contribution form. + +- **[CRM-21609](https://issues.civicrm.org/jira/browse/CRM-21609) PayPal Pro IPN + code no longer respects changed recurring amount + ([11463](https://github.com/civicrm/civicrm-core/pull/11463))** + +- **[CRM-21728](https://issues.civicrm.org/jira/browse/CRM-21728) Intermittant + fatal on pcp.create api + ([11606](https://github.com/civicrm/civicrm-core/pull/11606))** + +- **[CRM-21664](https://issues.civicrm.org/jira/browse/CRM-21664) Contributions + creation result in error for certain currencies + ([11533](https://github.com/civicrm/civicrm-core/pull/11533))** + + Currency validation now uses the `civicrm_currency` table rather than a + hard-coded list of values. + +- **[CRM-21528](https://issues.civicrm.org/jira/browse/CRM-21528) top donor + report: add2group error + ([11482](https://github.com/civicrm/civicrm-core/pull/11482))** + +- **[CRM-20866](https://issues.civicrm.org/jira/browse/CRM-20866) Soft credit + appearance inconsistent in contribution search + ([11433](https://github.com/civicrm/civicrm-core/pull/11433))** + + This resolves problems when changing the option for displaying soft credits + during a series of contribution searches. + +### CiviEvent + +- **[CRM-21771](https://issues.civicrm.org/jira/browse/CRM-21771) error when + viewing event registration with linked contribution + ([11749](https://github.com/civicrm/civicrm-core/pull/11749))** + +- **[CRM-21623](https://issues.civicrm.org/jira/browse/CRM-21623) Smart Group + Relative Date not saving for some fields in Advance Search. + ([11486](https://github.com/civicrm/civicrm-core/pull/11486))** + +- **[CRM-21743](https://issues.civicrm.org/jira/browse/CRM-21743) Creating an + event template from existing one does not work + ([11644](https://github.com/civicrm/civicrm-core/pull/11644))** + + This resolves a problem where using an event template to create a new event + template would result in creating a new event instead. + +- **[CRM-21071](https://issues.civicrm.org/jira/browse/CRM-21071) Event Location + Tab: Second Email and Phone fields broken + ([11568](https://github.com/civicrm/civicrm-core/pull/11568))** + +### CiviMail + +- **[CRM-21759](https://issues.civicrm.org/jira/browse/CRM-21759) mailing + template selector missing + ([11676](https://github.com/civicrm/civicrm-core/pull/11676))** + + This restores the field to select a template when composing a CiviMail + message. It had gone missing in 4.7.30. + +- **[CRM-21683](https://issues.civicrm.org/jira/browse/CRM-21683) Mailing + summary breaks on mailing names with apostrophes + ([11557](https://github.com/civicrm/civicrm-core/pull/11557))** + + The mailing name filter in the Mailing Summary Report now uses a standard + filter, resolving problems with using an apostrophe in the search text. + +- **[CRM-21260](https://issues.civicrm.org/jira/browse/CRM-21260) and + [CRM-21316](https://issues.civicrm.org/jira/browse/CRM-21316) CiviMail compose + UI very slow to initialize when many mailing groups, past mailings and + templates ([11142](https://github.com/civicrm/civicrm-core/pull/11142) and + [11558](https://github.com/civicrm/civicrm-core/pull/11558))** + + The process of building recipient lists for CiviMail has been refactored to be + simpler and faster. + +- **[CRM-21521](https://issues.civicrm.org/jira/browse/CRM-21521) Bounce + processing exception: no such property 'text' + ([11390](https://github.com/civicrm/civicrm-core/pull/11390))** -- **[CRM-21704](https://issues.civicrm.org/jira/browse/CRM-21704) Do Not allow a case type that is reserved to be deleted or disabled. ([11581](https://github.com/civicrm/civicrm-core/pull/11581))** + This correctly handles bounce messages that have nested multipart parts. + +- **[CRM-21749](https://issues.civicrm.org/jira/browse/CRM-21749) [obscure + intra-rc regression] Mailing api no longer respecting + '_skip_evil_bao_auto_schedule_' + ([11653](https://github.com/civicrm/civicrm-core/pull/11653))** ### CiviMember @@ -576,31 +743,37 @@ Released March 7, 2018 Card Membership Renewal not showing any error message on failure ([11408](https://github.com/civicrm/civicrm-core/pull/11408))** -- **[CRM-19920](https://issues.civicrm.org/jira/browse/CRM-19920) Job.process_membership uses too much memory ([11564](https://github.com/civicrm/civicrm-core/pull/11564))** - -### CiviCRM Search, Core CiviCRM - -- **[CRM-14834](https://issues.civicrm.org/jira/browse/CRM-14834) Activity Export with Relationships incurs fatal error ([11526](https://github.com/civicrm/civicrm-core/pull/11526))** +- **[CRM-21485](https://issues.civicrm.org/jira/browse/CRM-21485) Tax not added + when renewing membership in backend + ([11459](https://github.com/civicrm/civicrm-core/pull/11459))** -### CiviContribute, CiviCRM API +- **[CRM-21612](https://issues.civicrm.org/jira/browse/CRM-21612) Membership + Payment not recorded for recurring contribution when status label is changed. + ([11465](https://github.com/civicrm/civicrm-core/pull/11465))** -- **[CRM-21664](https://issues.civicrm.org/jira/browse/CRM-21664) Contributions creation result in error for certain currencies ([11533](https://github.com/civicrm/civicrm-core/pull/11533))** +- **[CRM-21724](https://issues.civicrm.org/jira/browse/CRM-21724) Receipt for + membership contribution sending custom fields for wrong membership type + ([11605](https://github.com/civicrm/civicrm-core/pull/11605))** -### CiviReport +- **[CRM-21656](https://issues.civicrm.org/jira/browse/CRM-21656) Backend + Membership with Priceset applies taxes twice to line_item + ([11521](https://github.com/civicrm/civicrm-core/pull/11521))** -- **[CRM-18048](https://issues.civicrm.org/jira/browse/CRM-18048) Activity Report fatal error when including custom field set with long name ([11183](https://github.com/civicrm/civicrm-core/pull/11183))** +- **[CRM-19920](https://issues.civicrm.org/jira/browse/CRM-19920) + Job.process_membership uses too much memory + ([11564](https://github.com/civicrm/civicrm-core/pull/11564))** -- **[CRM-21528](https://issues.civicrm.org/jira/browse/CRM-21528) top donor report: add2group error ([11482](https://github.com/civicrm/civicrm-core/pull/11482))** - -### Internationalisation - -- **[CRM-21627](https://issues.civicrm.org/jira/browse/CRM-21627) Can't enable multilanguage support in Drupal ([11491](https://github.com/civicrm/civicrm-core/pull/11491))** +### Backdrop Integration -### CiviContribute, CiviCRM Search +- **[CRM-21619](https://issues.civicrm.org/jira/browse/CRM-21619) Can't install +CiviCRM on Backdrop using the Module Installer +([44](https://github.com/civicrm/civicrm-backdrop/pull/44))** -- **[CRM-20866](https://issues.civicrm.org/jira/browse/CRM-20866) Soft credit appearance inconsistent in contribution search ([11433](https://github.com/civicrm/civicrm-core/pull/11433))** +### Drupal Integration -### Drupal Integration Modules +- **[CRM-21627](https://issues.civicrm.org/jira/browse/CRM-21627) Can't enable + multilanguage support in Drupal + ([11491](https://github.com/civicrm/civicrm-core/pull/11491))** - **[CRM-21652](https://issues.civicrm.org/jira/browse/CRM-21652) Numerous issues with anonymous users registering accounts on Drupal 8 (especially from @@ -608,13 +781,43 @@ Released March 7, 2018 ([11509](https://github.com/civicrm/civicrm-core/pull/11509) and [11507](https://github.com/civicrm/civicrm-core/pull/11507))** -- **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views: Custom fields of type Money should use the same filter operators as Integer fields ([436](https://github.com/civicrm/civicrm-drupal/pull/436))** +- **[CRM-21667](https://issues.civicrm.org/jira/browse/CRM-21667) Bad timezone + hand-off from CMS to CRM + ([11534](https://github.com/civicrm/civicrm-core/pull/11534))** -- **[crm-16541](https://issues.civicrm.org/jira/browse/crm-16541) drush civicrm-sql-dump fails to dump stored function ([520](https://github.com/civicrm/civicrm-drupal/pull/520))** +- **Backport fix from D7 module. + ([514](https://github.com/civicrm/civicrm-drupal/pull/514))** -### Backdrop Integration + The Drupal 6 group role sync now uses the improved method developed for Drupal + 7. + +- **Update civicrm_handler_field_contact_image.inc + ([516](https://github.com/civicrm/civicrm-drupal/pull/516))** -- **[CRM-21619](https://issues.civicrm.org/jira/browse/CRM-21619) Can't install CiviCRM on Backdrop using the Module Installer ([44](https://github.com/civicrm/civicrm-backdrop/pull/44))** + Views containing the contact image field now provide help for setting image + style. + +- **[CRM-17652](https://issues.civicrm.org/jira/browse/CRM-17652) Symfony + conflict between Civi and Drupal 8 + ([193](https://github.com/civicrm/civicrm-packages/pull/193)) (continues + previous work)** + + The `civicrm-packages` repository is now contains metadata to be a composer + library. + +- **[CRM-20298](https://issues.civicrm.org/jira/browse/CRM-20298) Drupal Views: + Custom fields of type Money should use the same filter operators as Integer + fields ([436](https://github.com/civicrm/civicrm-drupal/pull/436))** + +- **[crm-16541](https://issues.civicrm.org/jira/browse/crm-16541) drush + civicrm-sql-dump fails to dump stored function + ([520](https://github.com/civicrm/civicrm-drupal/pull/520))** + +### Joomla Integration + +- **[CRM-20904](https://issues.civicrm.org/jira/browse/CRM-20904) Joomla - Fatal + Error when schedule job is executed from cron.php + ([10692](https://github.com/civicrm/civicrm-core/pull/10692))** ## Miscellany @@ -633,27 +836,76 @@ Released March 7, 2018 This non-functional change updates serialization metadata for the field storing the ways a profile is used. +- **Change geocoder message check. + ([11664](https://github.com/civicrm/civicrm-core/pull/11664))** + +- **Unit test fixes + ([11659](https://github.com/civicrm/civicrm-core/pull/11659))** + +- **Fix unit test to not rely on hacking the DB to have ids for price set… + ([11652](https://github.com/civicrm/civicrm-core/pull/11652))** + +- **Added trait to support Codeception tests + ([11115](https://github.com/civicrm/civicrm-core/pull/11115))** + +- **(NFC) Fix logging test for multilingual on MySQL5.7 + ([11626](https://github.com/civicrm/civicrm-core/pull/11626))** + +- **[nfc] Fix intermittantly failing test. + ([11617](https://github.com/civicrm/civicrm-core/pull/11617))** + +- **[CRM-21729](https://issues.civicrm.org/jira/browse/CRM-21729) Exclude + (non-lintable) vendor test cases from deply + ([11613](https://github.com/civicrm/civicrm-core/pull/11613))** + +- **Minor api clean up. + ([11569](https://github.com/civicrm/civicrm-core/pull/11569))** + +- **Api4 - Update entity directory + ([11582](https://github.com/civicrm/civicrm-core/pull/11582))** + +- **Fix typo (very recent) + ([11566](https://github.com/civicrm/civicrm-core/pull/11566))** + +- **Minor api tidy up. + ([11543](https://github.com/civicrm/civicrm-core/pull/11543))** + +- **Fix mock test data for PaymentProcessor object. + ([11545](https://github.com/civicrm/civicrm-core/pull/11545))** + +- **Edit to contributor listing: Standalone code contributor from now. + ([11512](https://github.com/civicrm/civicrm-core/pull/11512))** + +- **Fix unit test failure + ([11479](https://github.com/civicrm/civicrm-core/pull/11479))** + +- **Reformat DAO files to pass linting and use short array syntax + ([11418](https://github.com/civicrm/civicrm-core/pull/11418))** + +- **Params to assertGreaterThanOrEqual in api_v3_CaseTest were in wrong order + ([11451](https://github.com/civicrm/civicrm-core/pull/11451))** + ## Credits This release was developed by the following code authors: -AGH Strategies - Alice Frumin, Tommy Bobo; Australian Greens - Seamus Lee; -Awebon Technologies - Karthikeyan Balasubramanian; BackOffice Thinking - Hassan -Farooq; CiviCoop - Erik Hommel; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - -Sunil Pawar, Yashodha Chaku; CompuCorp - Camilo Rodriguez, Michael Devery, -Mukesh Ram, Omar Abu Hussein; Coop SymbioTIC - Mathieu Lutfy; Electronic -Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Freeform -Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; Ginkgo Street Labs - -Frank Gómez; iXiam - Luciano Spiegel; JazzMan; JMA Consulting - Monish Deb; -Johan Vervloet; John Kingsnorth; Joinery - Allen Shaw; Joost Fock; Kanzu Code - -Carl Andrew Lema; Lighthouse Design and Consulting - Brian Shaughnessy; -Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; -mountev; myDropWizard - David Snopek; Oxfam Germany - Thomas Schüttler; Pradeep -Nayak; Progressive Technology Project - Jamie McClelland; Samson Alajede; -Squiffle Consulting - Aidan Saunders; Systopia - Björn Endres, Philipp Batroff; -Tech To The People - Xavier Dutoit; Third Sector Design - Michael McAndrew; -Timbsoft Technologies - Tunbola Ogunwande; Vedant Rathore; Wikimedia Foundation - -Eileen McNaughton, Elliott Eggleston; yurg +AGH Strategies - Alice Frumin, Tommy Bobo; Agileware - Alok Patel; Australian +Greens - Seamus Lee; Awebon Technologies - Karthikeyan Balasubramanian; +BackOffice Thinking - Hassan Farooq; CiviCoop - Erik Hommel; CiviCRM - Coleman +Watts, Tim Otten; CiviDesk - Sunil Pawar, Yashodha Chaku; CompuCorp - Camilo +Rodriguez, Michael Devery, Mukesh Ram, Omar Abu Hussein; Coop SymbioTIC - +Mathieu Lutfy; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i +Bullich; Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; +Ginkgo Street Labs - Frank Gómez; iXiam - Luciano Spiegel; JazzMan; JMA +Consulting - Monish Deb; Johan Vervloet; John Kingsnorth; Joinery - Allen Shaw; +Joost Fock; Kanzu Code - Carl Andrew Lema; Lighthouse Design and Consulting - +Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MJW +Consulting - Matthew Wire; mountev; myDropWizard - David Snopek; Oxfam Germany - +Thomas Schüttler; Pradeep Nayak; Progressive Technology Project - Jamie +McClelland; Samson Alajede; Squiffle Consulting - Aidan Saunders; Systopia - +Björn Endres, Philipp Batroff; Tech To The People - Xavier Dutoit; Third Sector +Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Vedant +Rathore; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston; yurg Most authors also reviewed code for this release; in addition, the following reviewers contributed their comments: