RapidPro 6.0 Release

94 views
Skip to first unread message

Nic Pottier

unread,
Nov 20, 2020, 4:22:21 PM11/20/20
to rapidpro-dev, rapidpro

Hi all,

Following our release candidate a few weeks ago and after making a few minor fixes, we are officially releasing RapidPro 6.0.

You can find the recommended version numbers for the various components in the RapidPro README which you can see here: https://github.com/rapidpro/rapidpro

This was a big release. RapidPro now has a fresh new look and we removed the last elements of our legacy engine and editor along with adding lots of smaller improvements. We are now starting the planning process for the 6.2 release which will come out in early March. More on that as we decide what to take on, but if you have particular suggestions or want to work on something in particular please open an issue on the RapidPro Github repository.

Big thanks to all our UNICEF and TextIt users for helping support Nyaruka’s ongoing work!

New Notable Features

  • A whole new skin! We gave RapidPro a brand new look, modernizing our CSS templates and making everything much more consistent with the styles we introduced with our new editor. This also gave us the opportunity to start leveraging some of the HTML components we’ve been building and that will be apparent in the better UI offered when picking flows, authoring messages etc.. tons of work here and we are excited about the fresh modern look.
  • We’ve introduced the idea of “archiving” contacts and added ways of blocking, stopping and archiving contacts in flows. We’ve also made it easy to delete all your archived contacts in one go. This should let systems more easily create flows to let contacts ask for their data to be deleted.
  • Contacts now have a “last_seen” field to go along with “created_on”. This is automatically updated by the system every time a contact sends a message to RapidPro. This can be leveraged to build campaigns that reach out to contacts after some period of dormancy or to target only those contacts that have recently interacted with you.
  • We removed the old legacy editor and with that we’ve been able to remove a ton of legacy code and database models that were there only to support it. All old flows are now rendered in the new editor automatically (and have been running in the new engine for over a year now). We’ve also moved all contact modification events over to Mailroom to remove code duplication, so big gains were made in the complexity of RapidPro to help maintainability and scalability moving forward.
  • Lots and lots of bug fixes and other smaller improvements, check the CHANGELOG.md in each component’s repo for more details.

Other Changes

RapidPro

  • Add RocketChat channel and ticketing service (beta-only for now)
  • Remove select2, coffeescript, jquery plugins
  • Globals UI should limit creation of globals to org limit
  • Add page title to brand so that its configurable
  • Consider timezone when inferring org default country and display on import create page
  • Allow changing EX channels role via UI
  • Add contact last seen on to list contacts views
  • Cleanup channel model fields
  • Add charcount to send message dialog
  • Allow searching by countries on channel claim views
  • Rework imports to allow importing multiple URNs of same scheme
  • Show contact last seen on on contact read page
  • Clean up models fields in contacts app
  • Drop RuleSet and ActionSet models
  • WA channel tokens refresh catch errors for each channel independently
  • Make flows dropdown searchable and clickable on triggers
  • Make flows dropdown searchable on edit campaign event
  • Fix editor whatsapp templates, refresh whatsapp channel pages
  • Remove code for dynamic group reevaluation and campaign event scheduling
  • Validate language codes passed to contact API endpoint
  • URN lookups on the contact API endpoint should be normalized with org country
  • Fix issue where all keywords couldn’t be removed from a flow
  • Remove old editor, redirect editor_next to editor
  • Brand new Contact Imports, now via Mailroom, much more performant
  • Add URNs field to FlowStart and pass to mailroom so that it creates contacts
  • Update editor to get support for expressions in add to group actions
  • Optimizations for orgs with many contact fields
  • Editors should have API tokens
  • Use mailroom task for scheduling of campaign events
  • Bump smartmin to 2.2.3
  • Add alpha sort and search to results view
  • Searchable contact fields and wired listeners after group changes
  • Add view to handle file URL callbacks from Zendesk
  • Don’t allow saving queries that aren’t supported as smart groups
  • Site refresh of styles using Tailwind.
  • Handle large deletes of contacts in background task
  • Allow deleting of all contacts from Archived view
  • Rename All Contacts to Active Contacts
  • Add UI for archiving, restoring and deleting contacts
  • Drop contact.is_stopped and is_blocked fields
  • Enable channelback files for Zendesk ticketers
  • Add support for ClickMobile channel type
  • Fix creating of campaign events based on last_seen_on
  • Expose last_seen_on on contact API endpoint
  • Add migration to populate contact.last_seen_on
  • Add contact.last_seen_on
  • Add error messages for all error codes from mailroom query parsing
  • Update some dependencies to work with Python 3.8 and MacOS

Mailroom

  • Update to goflow v0.105.3 to get support for arabic numerals in has_number tests
  • Update to latest goflow to get proper normalizing numbers from The Gambia
  • Enable retrying on the elastic client
  • Fix race condition when bulk getting/creating contacts
  • Contact Imports 2.0 through Mailroom
  • Add SessionStatus to messages queued to courier
  • Add task to calculate fires for new campaign event
  • Add support for incoming attachments on ticketing services
  • Use status for elastic queries that need to filter out non-active contacts
  • Add support for excluding contacts from searches by ids
  • Add create contact endpoint which uses modifiers to add fields and groups to contacts
  • Recalculate event fires for campaign events based on last_seen_on
  • Fail outgoing messages for suspended orgs
  • Add loop protection by passing session history to new flow action triggers
  • Set user and origin on manual triggers

Courier

  • URN channel change only for channels with SEND role
  • Add RocketChat handler (beta)
  • Add Discord handler (beta)
  • Cache media ids for WhatsApp attachments
  • Support receiving Multipart form data requests for EX channels
  • Add session status from mailroom to MT message sent to external channel API call
  • Remove incoming message prefix for Play Mobile free accounts
  • deal with empty message in FreshChat incoming requests
  • Remove dummy values for AWS config values so you can use local file system for testing
  • Use gsm7, storage, dates and uuids packages from gocommon
  • No longer write contact.is_stopped or is_blocked
  • Support receiving XML for CM channels
  • Write status on new contacts
  • Add support for Whatsapp 360dialog channel
  • Include occurred_on when queueing channel events for mailroom
  • Deal with Shaqodoon not properly escaping + in from
  • Add ClickMobile channel type
  • Save the Ad ID for Facebook postback referral

Editor

  • Switch to temba component for TextInputElement
  • Allow http timeout to be overridden in config
  • Truncate save result and webhook text on main edit view
  • Allow facebook tag selection to be cleared
  • Don’t show drag handle on last rule, tweak single operand width
  • Fix whatsapp template selection
  • Add pdf attachment URL option
  • Add support for updating contact status to archived
  • Change AssetSelector to use temba-select
  • Fix ticket action default subject
  • Add block and stop contact statuses
  • Handle contact_status_changed events in simulator


--
Nic Pottier                                    ni...@nyaruka.com
Nyaruka Ltd                                  http://nyaruka.com/

Rowan Seymour

unread,
Dec 7, 2020, 4:11:01 PM12/7/20
to Nic Pottier, rapidpro-dev, rapidpro
Note that today we pushed out patch release v6.0.8 which includes 2 things:

- A fix in the editor for split by intent nodes
- Empty migrations which will become squashed migrations in the next release

Reminder that existing installations always need to install the last version of the previous release before installing a new release. This will be especially true when we make a 6.2.x release because 6.0.8 ensures existing installations apply empty (i.e. NOOP) versions of the squashed migrations that will be in 6.2.x

-Rowan


--
You received this message because you are subscribed to the Google Groups "rapidpro-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rapidpro-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rapidpro-dev/CAH7-FAseH0HYEcMzur6pUkJGT%3DQuaTeWbRQq2-DCihboOaPLoQ%40mail.gmail.com.


--
Rowan Seymour | +593 979099233 | @rowanseymour
Reply all
Reply to author
Forward
0 new messages