RapidPro 5.6 Release Candidate

38 views
Skip to first unread message

Nic Pottier

unread,
Jul 6, 2020, 6:28:22 PM7/6/20
to rapidpro-dev, rapidpro

It’s time for another RapidPro release!

Normally this would be a 6.0 release, but we decided to do one more dot release in the 5.* series to add more features relevant to various Covid19 cases. Big thanks to the Nyaruka team for biting off big new features and iterating on them quickly to help all our users on TextIt and RapidPro build systems having real impacts during this crisis.

As usual, this is a release candidate and we’ll limit commits over the next few weeks in an effort to stabilize the codebase and catch any bugs. Please give it a go and file an issue in the appropriate Github repo if you run into any problems. We expect to make a final 5.6 release on or around July 20th and we’ll discuss plans for 6.0 then.

Big thanks to our TextIt and UNICEF customers for making the continued development of RapidPro possible!

New Notable Features

  • Tickets! This is the big new headline feature in 5.6 and makes the concept of “human handling” of contact messages a first-class item. You can now connect a ticketing service to your workspace and then in a flow open a ticket for a contact with a particular subject and body. That will create a ticket on your ticketing service and let agents answer those tickets without having to access RapidPro and it’s dashboard. To start off we’ve implemented support for Zendesk and Mailgun. This feature is still in early stages but we are excited to see how people use it and will continue to build it out based on that feedback.
  • Translation tab in editor. When viewing the non base language in a flow there’s now a translation tab available on the right. This shows all the untranslated strings in a flow and makes it easy to track your progress and catch every last translation. You can also change the default language for a flow from that dialog.
  • PO support for flows. You can now export and import PO files for flows. PO files are the software standard for managing translations. Using this format for translations allows users access to the large ecosystem of translation tools as well as the ability to use translators who may not have access to the workspace a flow lives in.
  • Prometheus endpoint for workspaces. Each workspace now exposes a Prometheus endpoint that reports the number of contacts in each group and the number of messages sent and received on each channel. Those two metrics are enough to build compelling dashboards in Grafana to track usage of your flows over time.

Other Changes

RapidPro

  • Block flow starts and broadcasts for suspended orgs
  • Add a way to suspend orgs from org manage page
  • Add Facebook App channel type, allowing a single Facebook app to manage sending/receiving messages across connected pages
  • Set country on templates to allow more precise WhatsApp template mapping
  • Add support for urn property in search queries which matches any urn of any scheme
  • Add support for contact uuid in search queries
  • Move contact modifications to Mailroom to continue moving towards unifying search reevaluation, campaign reevaluation
  • Allow multi-user / multi-org to be set on each org instead of derived from credits
  • Terminology change: org now called “workspace”, users on a workspace now called “logins”
  • Rename whitelisted to verified
  • Move webhook log button to flow list page
  • Allow flow authors to change base language on flow
  • Add UI translations in Russian and French
  • Add ability to add ticketing service (Zendesk & Mailgun)
  • Add tickets tab when ticketing service connected to view / manage tickets
  • Add ability to open tickets within flow via an action
  • Simplify HTTP log views for different types whilst given each type its own permission
  • Bump black version for code formatting
  • Add OrgActivity model that tracks contacts, active contacts, incoming and outgoing messages
  • Remove CSRF exemption for views that don’t need it (all our pjax includes CSRF)
  • Fix escaping translations in JS literals
  • Upgrade FB graph API to 3.3
  • Fix bug of removing URNs when updating fields looking up by URN
  • API endpoint for ticket services
  • Remove all uses of _blank frame name (security)
  • Strip EXIF data from images (security)
  • Add basic 2FA support (WIP, thanks Ilhasoft)
  • Add new flow start type to record that flow was started by a Zapier API call
  • Add Telesom channel type
  • Add flow start log page showing how flows were started and with what options
  • Add ability to export and import PO files for flow translation
  • Add Prometheus endpoint config on account page
  • Show warnings on contact field page when org is approaching the limit and has hit the limit
  • Add 18 hours as an flow expiration option
  • Allow setting authentication header on External channels
  • Drop full resolution geometry for administrative boundaries and only keep simplified
  • Add attachments columns to flow results messages sheet
  • Increase the WhatsApp channels TPS to 45 by default

Mailroom

  • Select Whatsapp templates using country and send those to Courier
  • Fail flow starts which can’t be started
  • When blocking contacts archive any triggers which only apply to them
  • Continue message handling as normal for suspended orgs
  • Make decrementing org credit optional based on org field
  • Allow searching by UUID, as well != matches on ID and UUID
  • Add endpoint to change a flow language
  • Implement Zendesk and Email as ticketing services
  • Use go 1.14 and do some minor dependency updates
  • Bump max request bytes to 32MB for web server
  • Add endpoints to export and import PO files from flows
  • Add decode_html Excellent function for use in expressions
  • Add prometheus endpoint for org level metrics

Courier

  • Add country field and support for more template languages on WhatsApp handler (thanks Ilhasoft)
  • Only log channel events when we have a channel matched
  • HX channel sends MO using ISO 8859-1 encoding
  • Add support for Facebook App channel type
  • User reply endpoint when possible for LINE messages
  • Upgrade FB graph API to 3.3
  • Support sending document attachments for Telegram
  • Add Telesom channel type
  • Ignore received message request in Telegram handler when a file cannot be resolved
  • Support using national number for EX channel if configured so
  • Increase ArabiaCell max length to 1530
  • Retry WhatsApp channel messaging after contact check with returned WhatsApp ID
  • Slow queuing into a batch when batches are full for status updates
  • Add support for Viber stickers as image attachments for incoming messages
  • Add contacts not already present for WhatsApp when sending error detected (thanks Ilhasoft)

Editor

  • Add support for ticket action, ticket events, simulator rendering of events
  • Allow users to change default flow language on a flow
  • Add HEAD and PATCH as allowed HTTP methods to match engine
  • Render ticket_opened events in simulator
  • Add freshchat scheme option
  • Change modal centering strategy
  • Scroll rules when dialog too small to show all
  • Show new pop tab for translations, displaying items still needing translation and progress of translation
--
Nic Pottier                                    ni...@nyaruka.com
Nyaruka Ltd                                  http://nyaruka.com/
Reply all
Reply to author
Forward
0 new messages