From 46f67380abdb8c73b9ed8c856fb262270040ef44 Mon Sep 17 00:00:00 2001 From: Schuyler Duveen Date: Thu, 10 Sep 2020 10:11:01 -0400 Subject: [PATCH 1/3] 9.2 release notes --- README.md | 4 +-- docs/RELEASE_NOTES.md | 57 +++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1371ff6b8..731b4af54 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Spoke is an open source text-distribution tool for organizations to mobilize sup Spoke was created by Saikat Chakrabarti and Sheena Pakanati, and is now maintained by MoveOn.org. -The latest version is [9.1](https://github.com/MoveOnOrg/Spoke/tree/v9.1) (see [release notes](https://github.com/MoveOnOrg/Spoke/blob/main/docs/RELEASE_NOTES.md#v91)) +The latest version is [9.2](https://github.com/MoveOnOrg/Spoke/tree/v9.2) (see [release notes](https://github.com/MoveOnOrg/Spoke/blob/main/docs/RELEASE_NOTES.md#v92)) ## Setting up Spoke @@ -24,7 +24,7 @@ Want to know more? ### Quick Start with Heroku This version of Spoke suitable for testing and, potentially, for small campaigns. This won't cost any money and will not support production(aka large-scale) usage. It's a great way to practice deploying Spoke or see it in action. - + Deploy diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 9b51acb5f..6c6dafcc5 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,9 +1,66 @@ # Release Notes +## v9.2 + +_September 2020:_ Version 9.2 + +### Spoke Project Status Update + +As we are getting closer to the 2020 election, MoveOn is 'code-freezing' changes on our production instance. +We believe campaigns and Spoke hosters would be well-advised to do the same and aim for stability over this time. +The only releases before November 3rd, 2020 will be for security updates. + +We will also continue to merge additions to documentation and integration test PRs directly into our `main` branch. + +That said, other hosters and developers are continuing to make bug fixes and add important features for their +own texting programs. Normally, MoveOn's release process involves first gathering a release candidate, then +running QA on the changes, and finally running it in production for a day or two to shake out any bugs missed +during QA and review and to evaluate the release 'at scale'. Without this final step, we can't make a strong commitment +to release readiness. + +However, we want to track these improvements, so we will be maintaining two 'experimental' PRs -- one more conservative +with small changes and mostly bug fixes. The other with larger features. If a hosting partner steps up to +run one of these at any time and affirms its stability, we will mark that. Additionally, in the conservative PR, +we will link to specific PRs that if you run into a particular bug in production you can cherry-pick that PR to fix that issue. + +After the election, I'm sure there will be a lot of changes and diverged branches from different organizations. +We will be here to try to gather those changes, but we'd like to note that will be significant work and can't happen +without those organizations also making an effort to separate their 'hacks' to make something work vs. changes that +will be maintainable and support the long-term architecture and stability of Spoke for the community. We recommend +whenever possible, opening a PR on specific small changes -- these are more likely to be mergeable after the election. +If that's not possible due to time/development constraints, we ask that you at least open a 'organization dev' PR that +just includes all your changes -- then post-election we can at least sort out the features and the community can +have a place to see what was done. + +I'd like to take a moment to celebrate this amazing community -- so many progressive orgs and campaigns are using Spoke and +contributing back to it -- along with a cadre of committed volunteer developers, designers and texters. Good luck +with all your campaigns -- let's win! + +### New Features/Improvements + +- Throughout the admin on the People page, Message Review, and Campaign stats, there are little links to the texter's + own Todos page view. This can be useful for admins to see what campaigns a texter is part of and debug any + issues where seeing the texter view can help. +- Experimental DB_READONLY_HOST variable which can connect to a replica/read-only instance for some specific queries. + In the event of high database stress, setting this may help relieve IO on the 'writer' database instance. + +### Bug Fixes + +- Fixed a regression in 9.1 where /twilio-message-report Twilio validation would fail if TWILIO_MULTI_ORG=1 but + TWILIO_MESSAGE_CALLBACK_URL was NOT set. We reverted that behavior, but recommend that you update your + twilio config to `/twilio-message-report/` in this configuration and then set TWILIO_VALIDATION=1 +- Fixed two minor security issues to restrict post-login redirect and hide errors on the front-end by-default. + If you want to re-enable errors on the front-end, set SHOW_SERVER_ERROR=1 +- Fixed issue with Release Contacts texter sidebox where clicking "Done for the day" would not give feedback on + the todos screen -- it now clears the 'send first messages' and 'replies' buttons where appropriate. + ## v9.1 _September 2020:_ Version 9.1 +* Regression notice: When TWILIO_MULTI_ORG=1 is set but TWILIO_MESSAGE_CALLBACK_URL is not, /twilio-message-report + fails. There is a [fix](https://github.com/MoveOnOrg/Spoke/pull/1826) that is also available in 9.2 (above). + ### New Features/Improvements - **New UI for adding organizations to your instance:** There is now a page only accessible for users with `is_superadmin` set for adding orgs in a Spoke instance. You can access this screen through the user menu under "superadmin tools." We've gated this feature to only users with that privilege to keep any roles you already have on your instances from suddenly gaining the ability to add orgs. You can only change a user's `is_superadmin` status with a direct DB query at this time. *The first user on new instances will be a superadmin by default now* - **Past campaign contact loader:** Creates a contact loader that allows someone to select contacts from a past campaign and filter optionally for a particular question response (or no response) by entering a message review query into the contact loader. The contact loader has instructions inline. diff --git a/package.json b/package.json index 4fafc6bc7..55b498de8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spoke", - "version": "9.1.0", + "version": "9.2.0", "description": "Spoke", "main": "src/server", "engines": { From 4c129ead7c565c1def7fb789ea5fc62a69d4f3a2 Mon Sep 17 00:00:00 2001 From: Schuyler Duveen Date: Thu, 10 Sep 2020 10:27:34 -0400 Subject: [PATCH 2/3] add fix org creation --- docs/RELEASE_NOTES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 6c6dafcc5..4780b8a0a 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -49,11 +49,16 @@ with all your campaigns -- let's win! - Fixed a regression in 9.1 where /twilio-message-report Twilio validation would fail if TWILIO_MULTI_ORG=1 but TWILIO_MESSAGE_CALLBACK_URL was NOT set. We reverted that behavior, but recommend that you update your twilio config to `/twilio-message-report/` in this configuration and then set TWILIO_VALIDATION=1 +- Fixed a but in 9.1 on the superadmin organizations page where creating an organization did not work. - Fixed two minor security issues to restrict post-login redirect and hide errors on the front-end by-default. If you want to re-enable errors on the front-end, set SHOW_SERVER_ERROR=1 - Fixed issue with Release Contacts texter sidebox where clicking "Done for the day" would not give feedback on the todos screen -- it now clears the 'send first messages' and 'replies' buttons where appropriate. +### Appreciations + +Thanks to [jeffm2001](https://github.com/jeffm2001) and [schuyler1d](https://github/schuyler1d) + ## v9.1 _September 2020:_ Version 9.1 From a8b89e6b014f2439859498206103ee9cf8267ef6 Mon Sep 17 00:00:00 2001 From: Schuyler Duveen Date: Thu, 10 Sep 2020 11:04:43 -0400 Subject: [PATCH 3/3] add links to stable/unstable postelection branches/prs --- docs/RELEASE_NOTES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 4780b8a0a..9bc56b9c4 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -19,7 +19,8 @@ during QA and review and to evaluate the release 'at scale'. Without this final to release readiness. However, we want to track these improvements, so we will be maintaining two 'experimental' PRs -- one more conservative -with small changes and mostly bug fixes. The other with larger features. If a hosting partner steps up to +with small changes and mostly bug fixes: [stage-main-postelection2020-stable](https://github.com/MoveOnOrg/Spoke/pull/1830). +The other with larger changes but riskier to deploy before the election: [stage-main-postelection2020-unstable](https://github.com/MoveOnOrg/Spoke/pull/1831). If a hosting partner steps up to run one of these at any time and affirms its stability, we will mark that. Additionally, in the conservative PR, we will link to specific PRs that if you run into a particular bug in production you can cherry-pick that PR to fix that issue.