Hi all,
After a few weeks of bug bashing and small tweaks, we've released RapidPro 6.4. Check the latest versions needed for the various components in the RapidPro README:
https://github.com/rapidpro/rapidpro
Big thanks to all our UNICEF and TextIt users for helping support Nyaruka's ongoing work!
The primary focus for this release has been building out our internal ticketing support. You can now add an internal ticketer (this will be added automatically to every workspace in 6.5) and have the ability to open/close/reply to tickets natively in RapidPro using a slick new UI for replying and managing tickets. Along with this we've added a new user type, Agents, which have only the ability to view and reply to tickets.
We've also augmented triggers in two important ways to dovetail with the new ticketing features:
- You can now choose a set of groups to Exclude from a keyword trigger. This can be used to say, add a contact to a group, say called "Human Handled", when you open a ticket to make sure they don't trigger particular keywords on your system when interacting with agents.
- You can trigger a flow when a ticket is closed, which can then be used to remove the contact from the same group to resume automated handling.
We're now beginning on 6.5-6.6 development which should ship in early November. Our focus is to continue building out ticketing features to make it a compelling option for those currently using CasePro.
If you have specific requirements or comments along those lines, do let us know!
Detailed Changelog
RapidPro / Editor
- Fix pagination on the webhook results page
- Update flow editor to fix not being able to play audio attachments in simulator
- Update translations from transifex
- Improve contact field forms
- Improve wording on forms for contact groups, message labels and flow labels
- Improve wording on campaign form
- Fix attachment button when attachments don't have extensions
- Add missing ticket events to contact history
- Parameterized form widgets. Bigger, darker form bits.
- Control which users can have tickets assigned to them with a permission
- Use mailroom endpoints for ticket assignment and notes
- Add custom user recover password view
- Drop no longer used Broadcast.is_active field
- Update indexes on ticket model
- Add empty ticket list treatment
- Fix API docs for messages endpoint to mention attachments rather than the deprecated media field
- Consistent setting of modified_by when releasing/archiving/restoring
- Add assignee to ticketing endpoints, some new filters and new assignment view
- Better trigger exports and imports
- Fix redirect after choosing an org for users that can't access the inbox
- Fix default content type for pjax requests
- Tweak queuing of flow starts to include created_by_id
- Refactor scheduling to use shared form
- Add exclusion groups to scheduled triggers
- Drop Language model and Org.primary_language field
- Add ability to reverse results for runs/contacts API endpoints
- Better validation of invalid tokens when claiming Zenvia channels
- Fix languages formax to not allow empty primary language
- Read org languages from org.flow_languages instead of Language instances
- Fix closing and reopening of tickets from API
- Add better labels and help text for groups on trigger forms
- Load ticket events from database for contact histories
- Add support for closed ticket triggers
- Add Org.flow_languages and start populating in Org.set_languages
- Enable exclusion groups on triggers and make groups an option for all trigger types
- Add ticket note support to UI
- Make flow session output URL have a max length of 2048
- Add output_url field to FlowSession
- Rework trigger create forms to make conflict handling more consistent
- Iterate through all pages when syncing whatsapp templates
- Update components to single mailroom resource for completion
- Only retry 5000 messages at a time, prefetch channel and fields
- Fix filtering of flows for new conversation triggers
- Fix ordering of channel fields on triggers
- Optimize message retries with a perfect index
- Convert channels to soft dependencies
- Fix Dialog360 WA templates sync
- Migration to clear next_attempt for android channels
- Resend messages using web endpoint rather than task
- Add reusable view for dependency deleting modals and switch to that and soft dependencies for ticketers
- Fix org deletion when broadcasts have parents and webhook results have contacts
- Fix channel log icons and disallow message resending for suspended orgs
- Add migration to populate Flow.has_issues
- Add migration to populate template namespace
- Queue mailroom task to do msg resends
- Fetching and saving revisions should return flow issues as separate field
- Move tickets endpoint to tickets crudl
- Add task for releasing of orgs
- Fix contact imports always creating new groups
- Migration to fix escaped nulls in flow revision definitions
- Override language names and ensure overridden names are used for searching and sorting
- Fix serializing JSON to send to mailroom when it includes decimals
- Restrict org languages to ISO-639-1 plus explicit inclusions
- Move Twilio, Plivo and Vonage number searching views into their respective channel packages
- Optimize query for fetching contacts with only closed tickets
- Release contact imports when releasing groups
- Make groups searchable on contact update page
- Rework DT One and Chatbase into a new integrations framework
- Add support for Zenvia SMS
- Fix flow update forms to show correct fields based on flow type
- Add group name field to contact imports so that it can be customized
- Rename Nexmo to Vonage, update icon
- Fix SMTP server settings views to explain that we don't send emails if you don't have a config
- Add API endpoint to fetch tickets filterable by contact
- Clarify terms for exports vs downloads
- Add flows import and flow exports links in the flows tab
- Add support for YYYY-MM-DD date format
- Add support to exclude active contacts in other flows when starting a flow on API
- Remove unsupported channel field on broadcast create API endpoint
- Add Start Flow modal to contact read page
- Update Django and Django REST Framework
- Convert to poetry
- Add Zenvia WhatsApp support
- Update to latest celery 4.x
- Update redis client to latest v3.5.3
Courier
- up max request size to 1M
- Include filename when sending WhatsApp attachments
- Support using namespace from the template translation
- Add is_resend to Msg payload to allow for resending messages manually
- Do not verify the SSL certificate for Bongo Live
- Update BL to remove UDH parameter and use HTTPS URL
Mailroom
- Support ticket open events with assignees
- Add endpoints for ticket assignment and adding notes
- Include args in BulkQuery error output
- Fix handling of inbox messages to also update open tickets
- Load org users as assets and use for ticket assignees and manual trigger users
- Add ticket to broadcasts and update last_activity_on after creating messages for a broadcast with a ticket
- Add support for exclusion groups on scheduled triggers
- Update ticket last_activity_on when opening/closing and for incoming messages
- Set contact_id when creating new tickets events
- Update to latest goflow and which no longer takes default_language
- Read session files from S3 storage when org configured to do so
- Ignore contact tickets on ticketers which have been deleted
- Add ticket events and insert when opening/closing/reopening tickets
- Introduce runtime.Runtime to capture config/db/storage variables
- Add web endpoint for msg resends so they can be a synchronous operation
- Expose open tickets as @contact.tickets
- Fix queueing of resent messages to courier and improve testing of queueing
- Add task to resend messages
- Smarter loading for cache misses on org assets
- Simplify caching, keep orgs for 5s, reload everything
- Fail expirations that are no longer the active session
Indexer
- Fix creating of location keyword fields when values have punctuation
Archiver
- Don't load org languages when archiving
--