Skip to content

Commit

Permalink
Merge pull request #1642 from MoveOnOrg/70-release-notes
Browse files Browse the repository at this point in the history
7.0 release notes
  • Loading branch information
schuyler1d authored Jun 23, 2020
2 parents 81492bc + 81b61a7 commit c13bc44
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 3 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@ 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 [6.0](https://github.com/MoveOnOrg/Spoke/tree/v6.0) (see [release notes](https://github.com/MoveOnOrg/Spoke/blob/main/docs/RELEASE_NOTES.md#v60))
The latest version is [7.0](https://github.com/MoveOnOrg/Spoke/tree/v7.0) (see [release notes](https://github.com/MoveOnOrg/Spoke/blob/main/docs/RELEASE_NOTES.md#v70))

## Deploy to Heroku

Use the Heroku Button to deploy a version of Spoke suitable for testing. This won't cost any money and will not support production usage. It's a great way to practice deploying Spoke or see it in action.
<a href="https://heroku.com/deploy?template=https://github.com/MoveOnOrg/Spoke/tree/v6.0">
<a href="https://heroku.com/deploy?template=https://github.com/MoveOnOrg/Spoke/tree/v7.0">
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
</a>

Or click [this link to deploy with a prod infrastructure set up to get up and running!](https://heroku.com/deploy?template=https://github.com/MoveOnOrg/Spoke/tree/heroku-button-paid)

**NOTE:** Deploying with prod infrastructure will cost $75 ($25 dyno + $50 postgres) a month and should be suitable for production level usage for most organizations.

Follow up instructions located [here](https://github.com/MoveOnOrg/Spoke/blob/main/docs/HOWTO_HEROKU_DEPLOY.md).
Expand Down
75 changes: 75 additions & 0 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,79 @@
# Release Notes

## v7.0
_June 2020:_ Version 7.0 (or 6.19 in honor of Juneteenth!)
**Note:** This is a major release and therefore requires a schema change. See the deploy steps section for details. Anything marked as *experimental* has not yet been tested on a production texting campaign.
We're marking this as a major version update: 7.0 because there are several backwards-incompatible changes that we believe are important and valuable.

### Backwards incompatibilities:

* This change has schema changes on the `campaign` table which you should make sure to update -- it should be a fast and painless upgrade (automatic if you have it setup). See the deploy steps section for details of how to migrate.
* There are many Texter UI accessibility improvements, but they do come at the expense of changing how the Enter key behaves for texters. You should communicate this to your texting team and update and training materials. (to revert this functionality, you can enable the env var HOLD_ENTER_KEY=1)
* SuperVolunteer roles now have access to all MessageReview operations.

### Improvements

* There is now further support for VAN -- a robust action handler that can be enabled by adding `ACTION_HANDLERS=ngpvan-action` to your environment variables will enable this.
* We have a new framework for extending the Texter UI interface called ["sideboxes"](https://github.com/MoveOnOrg/Spoke/issues/1533). Enabled with environment variable TEXTER_SIDEBOXES which works similarly to action handlers, where it should be a comma separated list of enabled sideboxes. Developers can add sidebox functionality, and admins can set defaults in the organization Settings section and changes per-campaign -- enabling/disabling sideboxes. Two so-far are:
* `contact-reference` which is a link the texter can click and/or share with an admin for direct access to that conversation later
* `tag-contact` which if you have EXPERIMENTAL_TAGS=1 enabled and create tags, a texter will have an interface to mark them. They can then be filtered for in Message Review.

There will be more work here going forward -- feedback is welcome as this is still a feature in active development.

* There is _another_ new experimental framework: Message Handlers which can intercept a message pre and post-save with a sample message handler that can tag profanity -- you can experiment with this by setting `MESSAGE_HANDLERS=profanity-tagger`
* Texter UI Accessibility improvements -- previously we captured the Enter key to send a message. This was inaccessible because the Enter key is used when navigating with the keyboard in order to 'click' a button. Sending is now possible with `Ctrl-x` (and skip is `Ctrl-y`).
* We have now disabled by default the ability to hold down the Enter key -- for sending you can now press any letter key (or Enter) to send a message. If you want this functionality back set HOLD_ENTER_KEY=1
* There is now a campaign 'sending errors' report which summarizes how many sending errors have been reported by Twilio. Carrier Violation error messages are especially useful (and important) to track.
* A new contact-loader that allows upload into S3 to make larger uploads possible if you have deployed on AWS.
* A new environment or organization.features variable MAX_TEXTERS_PER_CAMPAIGN which can block more texters from joining a campaign with dynamic assignment.

### Bug fixes

There are too many bug fixes to mention -- [please see the full list of linked changes](https://github.com/MoveOnOrg/Spoke/pull/1623)

### Deploy Steps:
Instructions for migrating you database

* Make sure SUPPRESS_MIGRATIONS="" (not 0!) in your environment
* If you're using AWS Lambda, check out the [deploy instructions here](https://github.com/MoveOnOrg/Spoke/blob/main/docs/DEPLOYING_AWS_LAMBDA.md#migrating-the-database)

### Appreciations!

Thanks to all the contributors part of this release including: @ibrand @lperson @matteosb @schuyler1d

Also special shout outs to [Working Families Party](https://workingfamilies.org/) and [Movement For Black Lives](https://m4bl.org/) for staging some of these changes and giving feedback (along with MoveOn, too) -- Thank you to the Spoke teams there that drove great campaigns while providing technical bug reports so we could make this a better release :heart:

### Onward

Our next release, we're expecting some more great features -- ability to suspend texters, improving the dynamic assignment workflow, and more improvements around tags. Devs and orgs, please send your PRs in now, so we can test your work out and get it in the next release.


## v6.1
_June 2020:_ Version 6.1

6.1 is mostly focused on technical improvements. We upgraded to the 2.x versions of apollo-client and react-apollo and removed the dependency on redux. This allowed us to fix some long-standing bugs and should improve the developer experience for Spoke contributors.

**Improvements**
* Data loading errors are displayed to the user rather than causing blank screens or infinite loading animations
* Enhanced the action handler framework with better error handling and caching to improve performance, and added the ability for administrators to optionally select extra information on a per-question-response basis to be sent to the remote system when a texter selects the response.

**Changes**
* Removed the threeClickEnabled organization feature

**Bug fixes**
* Resolved numerous issues related to cache collisions in the Apollo store
* Job progress updates more reliably on the campaign creation screen
* Fixed select all on the campaign archive screen
* Closing the user edit modal now takes you back to the person list
* Fixed an issue that allowed campaigns to start before all jobs completed

Thanks to all the contributors part of this release including:
[ibrand](https://github.com/ibrand),
[lperson](https://github.com/lperson),
[matteosb](https://github.com/matteosb),
[schuyler1d](https://github.com/schuyler1d)


## v6.0
_May 2020:_ Version 6.0
**Note:** This is a major release and therefore requires a schema change. See the deploy steps section for details. Anything marked as *experimental* has not yet been tested on a production texting campaign.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "spoke",
"version": "3.1.0",
"version": "7.0.0",
"description": "Spoke",
"main": "src/server",
"engines": {
Expand Down

0 comments on commit c13bc44

Please sign in to comment.