- Update to latest goflow v0.96.0
- Add loop protection by passing session history to new flow action triggers
- Set user and origin on manual triggers
- Switch to trigger builders
- expire runs that have no session, just warn while doing so
- 5.6.0 Release Candidate
- Varible naming consistency
- Fix reading of modifiers so always ignore modifier that becomes noop
- Sead country from templates
- Ignore missing assets when reading modifiers
- Fail flow starts which can't be started
- Update to latest goflow and add tests for field modifiers
- Fix detaching URNs
- Update to latest goflow v0.93.0
- When blocking contacts archive any triggers which only apply to them
- Messages without topups should be queued
- Continue handling as normal for suspended orgs
- Org being suspended should stop message handling
- Make decrementing org credit optional
- Return query inspection results as new metadata field in responses
- Update to latest goflow v0.92.0
- Don't do any decoration of email ticket subjects
- Allow searching by UUID, as well != matches on ID and UUID
- Update to latest goflow v0.91.1 to fix clearing fields
- Maybe fix intermittently failing test
- Update to goflow v0.89.0
- Add endpoint to change a flow language
- Tickets fixes and improvements
- Update to goflow v0.87.0
- Send email when reopening mailgun ticket
- Implement closing of tickets in zendesk from mailroom
- Send close notification emails in mailgun tickets
- Reply back to users who replies aren't permitted to go to the ticket
- Simplify sharing of HTTP configuration between services
- Add simulator ticket service to fake creating tickets
- Fix verifying sender when receiving mailgun reply
- Basic handling of tickets (mailgun and zendesk ticketer types)
- Update to goflow v0.85.0
- Use go 1.14 and do some minor dep updatse
- Bump max request bytes to 32MB for web server
- Implement hooks for status modifier events
- Update to goflow v0.83.1
- Update to goflow v0.83.0
- Don't blow up if flow is deleted during simulation
- Update to goflow v0.82.0
- Populate flows_flowstart.start_type
- Set org on new flow starts
- Allow for seeded UUID generation in testing environments with -uuid-seed switch
- Set language attribute from ivr_created_event on TwiML say action
- Update flow start modified_on when making changes
- Add method to set modified_by on contacts
- Update to latest goflow v0.81.0
- Update to latest goflow v0.79.1
- Update mailroom test db
- Only Prometheus group can access metrics
- Drop no longer used validate_with_org_id param on inspect endpoint
- Add endpoints to export and import PO files from flows
- Add decode_html Excellent function
- Change to using basic auth for org specific prom metrics endpoint
- Update to latest goflow v0.78.0
- Add prometheus endpoint for org level metrics
- Update to latest goflow v0.77.4
- Update to goflow v0.77.1
- Add noop handler for failure events
- Update to latest goflow v0.77.0
- Fix @legacy_extra NPE on router operands
- Touch readme for 5.4 release
- Update to goflow v0.76.2
- Update to goflow v0.76.1
- Contact search endpoint should also return whether query can be used as group
- Update to goflow v0.76.0
- Add support for searching by group
- Update to goflow v0.74.0
- Update to goflow v0.72.2
- Add modify contact endpoint
- Refactor hooks to allow session-less use
- Update to goflow v0.72.0
- Better asset caching
- Convert flow and expression endpoint testing to be snapshot based
- allow globals with empty values
- Update to goflow v0.71.2
- Read allow_international from channel config
- Add elastic query to parse query responses
- Update to goflow v0.71.1
- add != operator for numbers, dates, created_on
- Update to goflow v0.70.0
- Add urn =, !=, ~ support
- Fix name sorting on queries
- Update to latest goflow v0.69.0
- Sort locations fields by keyword value
- Update to latest goflow
- Fix > query on numbers, never use cached orgs
- Update gocommon for v1.2.0
- Remove superfulous legacy_definition fields on endpoints
- Allow dynamic group population within mailroom
- Update to latest goflow v0.67.0
- Update to goflow v0.66.3
- Update to latest goflow
- Update to latest goflow v0.66.0
- Update to latest goflow v0.65.0
- Make default for MaxBodyBytes 1MB
- Allow search endpoint to return results without a query
- Add endpoint to parse contactql query
- Add config option to max bytes of a webhook call response body
- Return field dependencies with queries on contact search endpoint
- Latest goflow, larger webhook bodies, trim expressions
- Update to latest goflow v0.64.9
- Add contact search web endpoint
- Update to goflow v0.64.8
- Update to goflow v0.64.7
- Include evaluation context with simulation requests
- Update to goflow v0.64.2
- Update to new goreleaser.yml format
- Make webhooks timeout configurable
- Update to goflow v0.64.0
- Fix elastic query evaluation when contact field doesn't exist
- Update to latest goflow v0.63.1
- Still do validation even when migrating to less than the current engine version
- Update to latest goflow to add support for flow migrations
- Update CreateBroadcastMessages to include globals in context
- Update to goflow v0.61.0 and provide email service to engine
- Update to goflow v0.60.1
- Add support for message topics
- Load global assets from database
- Update to goflow v0.59.0
- Update to goflow v0.58.0
- Update to goflow v0.56.3
- Update to goflow v0.56.2
- Update to latest goflow
- Use github actions
- Add new dump file with bothub instead of bh
- collect queue size 15 seconds after the minute
- Update to goflow v0.55.0
- Fix NPE when IVR channel not found
- RapidPro 5.2 release
- Update to goflow v0.54.1
- fail calls that have missing channels when retrying them
- Simulation should use a different engine instance with a fake airtime service
- Add bothub classifier service factory
- Update to goflow v0.54.0
- only release on PG10
- Implement hook for airtime_transferred event
- Use DTOne for airtime service if configured
- Update to latest Librato library
- Audit closing HTTP bodies
- Add smtp-test command
- Latest GoFlow
- Add Classifier / NLU support for LUIS and Wit.ai
- Schedules fired in Mailroom
- Fire schedules from Mailroom
- Log query execution and elapsed time
- Update to goflow v0.50.4
- Update to latest goflow v0.50.2
- Add support for triggering sessions via query within a flow
- Stop writing to legacy engine fields on flows_flowrun
- Move tasks into their own package
- Add ElasticSearch URL to README
- Add expression/migrate endpoint
- Allow interrupting sessions by flow
- Update to goflow v0.49.0
- Update to goflow v0.47.3
- Expire runs and sessions in a transaction to guarantee they are always in sync
- Remove debug error message
- Remove references to trigger_count in unit tests
- Fix create contact failing to start
- Start writing flows_flowrun.status alongside exit_type
- Handle FlowRun having nil Flow, use FlowReference instead
- Enable interrupt_sessions task
- Use ExitSession when stopping a session due to missing flow
- Add new interrupt sessions task, use more specific exit for missing flows
- Deal with handles for contacts that no longer have a URN
- Populate context with urns and fields when evaluating broadcast templates
- Change default port for Elastic to 9200 and use HTTP.
- Don't try to sniff cluster (doesn't with with cloud elastic)
- fix empty starts not being marked as complete
- allow flow starts to specify query for contacts to start
- Update to goflow v0.45.2
- Make FlowSession.uuid nullable for now
- Update to goflow v0.45.0
- Write UUID field on flows_flowsession
- write/read parent summary on flow starts
- fix IVR starts not being able to reference parent
- Update to goflow v0.42.0
- Update test db to remove msgs_broadcast.purged
- load extra for start and include when starting IVR calls
- fix leaking DB connections causing mailroom deadlock under certain loads
- Update to goflow v0.41.18
- deal with brand new URNs when sending messages
- Update to goflow v0.41.16
- Fix endpoints so we don't hard error for expected requests
- Update to goflow v0.41.14
- Update to goflow v0.41.13
- Update to goflow v0.41.12
- Update to goflow v0.41.11
- Update to goflow v0.41.10
- Update to goflow v0.41.9
- Update to goflow v0.41.8
- override default max digits of 4 for nexmo gathers
- change missing dependencies to a warning instead of an error (that is logged to sentry)
- remove references to unused fields
- update to latest gocommon, check channel is nil when determining what to send
- evaluate templates in broadcasts, including legacy ones
- mark broadcast as sent when the last batch is sent
- SignalWire IVR handling
- also treat initiated as in progress
- handle signalwire and twiml IVR calls
- Make max number of steps configurable
- Update to latest goflow v0.41.7
- Update to goflow v0.41.6
- latest goflow with UI cloning fix
- latest goflow with has phone test
- Update to goflow v0.41.3
- update test for endpoint
- latest goflow, fixing migration for relative attachments with no media
- Update to goflow v0.41.1
- The /flow/inspect endpoint should do optional validation
- Update to goflow v0.41.0
- Add /flow/clone and /flow/inspect endpoints
- Update to goflow v0.39.3 to handle malformed single message flows from campaign events
- adjust test for not stripping slashes
- deal with non-slash ending docs urls
- add docs webapp
- tweak tar arguments
- test build with docs
- Update to goflow v0.38.3 and remove satori/uuid dependency
- Update to goflow v0.38.2
- Update to goflow v0.38.0
- latest goflow engine
- override name and uuid in definition with db settings
- goflow v37.2, fixes text_slice unicode issues
- Update to goflow v0.37.1
- latest goflow, accept text/javascript webhooks
- override expire_after_minutes on saved definition with flow setting
- Update to goflow v0.36.0
- Dont apply events on errored sessions
- assign topups to broadcast messages
- Update to goflow v0.34.1
- Update to goflow v0.34.0
- Update to goflow v0.33.9
- Update to goflow v0.33.8 (expressions refactor)
- Update to goflow v0.33.7
- Update to goflow v0.33.6
- add option to enable / disable retrying pending messages
- dont migrate flows that are version 12 or above
- fix issue with timeouts and followup splits
- latest goflow, log all errors to session
- fix dot lookup on nil values
- better logging in case of panic
- latest goflow, add support for templates
- latest gocommon, phonenumbers
- switch to using generic map interface for extra on channel events
- move to using our own null.StringMap so channel events are decoded properly
- print extra when ignoring event
- better testing of ivr for nexmo and twitter
- don't log to sentry on failed call starts (channellog created anyways), deal with channels disappering before handling
- fix for referral triggers with specific referrers matching others
- for nexmo, first look at URL param to see if call is ongong
- update method for nexmo call creation
- Latest goflow
- latest goflow
- properly start IVR flows on msg triggers
- update to version 31
- fix campaigns based on created_on, fix panic when batch starts on archived flow
- Latest goflow
- only interrupt sessions of the same type
- Update to latest goflow
- more verbose logging when failing on run insert
- remove all unfired campaign event fires when stopping contacts
- send messages for IVR flows as well
- retry unhandled messages only once an hour
- latest goflow, don't try to validate missing flows
- add cron to retry unhandled messages
- validate flows before resume or start
- dont log email sending errors to sentry
- better sentry logging on task fails
- deal with inactive and archived flows in the same way
- latest goflow
- Latest goflow
- Update to latest goflow
- latest goflow, fix date addition
- add support to handle welcome message event as noop
- don't throw error when channel doesn't have FCM id
- latest goflow, pass in attachment domain
- latest goflow, deal with missed mos
- Proper parameters for FCM syncing
- sync android channels when creating messages, refactor clearing timeouts
- dont create outgoing ivr messages (internally) when resuming a completed call
- Update to latest goflow
- Make org_id optional on /mr/flow/validate to validate a flow without assets
- properly set priority on outgoing messages
- update to latest goflow
- add flow validation endpoint
- log channellogs even when we don't have a connection
- mark fires as skipped when skipping
- GC db connections after 30m, keep 8 around
- give ourselves 15 minutes per start
- retry transaction on failures
- trim contact names to 128 chars
- up to 36 redis connections
- add db in use metric to librato
- create start objects for trigger sessions
- mention error count in error
- retry contact events up to three times
- remove use of is_active on channel connection
- use primary_language_id instead of interface language, allow empty runs
- latest goflow, deal with datetime + time additions
- fix for PROPER
- better time addition
- keep punctuation in remove_first_word
- proper settings for skip campaigns
- latest goflow, fix date arith
- include queued on on self queued tasksk
- log relative wait and wait_ms to librato, not total
- record task latency to librato
- latest goflow nil is zero, text() for results
- tweaks to default connection / queue size, better stats
- add stats package to log queue size, db connections every minute
- audit transaction rollbacks, bit less logging
- allow resumes on completed sessions (noops if msg isn't trigger)
- latest goflow, more date migrations
- latest goflow, fix migration for DAYS
- dont trigger on catch alls if we are in a flow
- process triggers in simulation
- latest goflow, more date tweaks
- latest goflow
- add xdate type
- fix NPE when referencing @child or @parent
- allow resume when we have completed connection status (due to race)
- process incoming TWIML events even if a call is completed
- more travis attempts
- try different condition
- use env for testing
- test release
- try only releasing on 9.6 matrix
- use lowercase smtp_config org config
- latest goflow with tls renegotation
- latest goflow, make sure expirations aren't honored for inactive runs in cases of races
- latest goflow engine, change invalid urns to warn
- add test for IVR timeouts
- allow missed calls to start ivr calls
- refactor queue constants
- set timeout when no message has been sent in a session
- latest goflow
- fix for duplicate fields deletion in single flow only applying one
- dont queue messages with no topup assigned, latest goflow
- try to derive content type for webhook payloads
- reset db between tests
- mark event fires as fired when starting ivr flows
- allow ivr flows to be started via campaigns
- fix contact stopping, fix error on status for missed calls
- better logging of event in case of error during handling
- fix ContactID mismatch
- grab contact locks when starting
- move to nyaruka/null null ints and strings
- allow channels to be set in simulations
- write webhook events even in simulation case
- add max value to env
- add models and tests for webhook events, update libs
- associate webhook results with resthook ids
- add extra to starts, pass into trigger, add test
- log requests when throwing ivr errors
- don't add attachment domain to geo msg attachments
- pass pointer for run insertion
- use xml comments in twilio responses for info messages instead of xml element
- update tests
- add session type to session
- write both incoming and outgoing surveyor messages
- newest goflow
- encapsulate flowrun and flowsession
- deal with missing fields and groups in surveyor submissions
- write webhook results for webhook/resthook actions
- use nyaruka sentry so we get breadcrumbs
- add http_request to errors in web tier so we get more context
- allow submission of surveyor flows
- pg 10 support
- add nexmo and twilio ivr support
- fix location selecting using mptt model
- update to latest goflow
- optimize getting flow definition
- add timings for flow loading
- add timings for loading org assets
- add unit tests for expirations and timeouts
- make sure we filter by org id when looking up flows from asserts
- update msg payload to be in sync with db and courier
- add timeout and wait_started_on fields to msg sent to courier and session
- move to latest goflow
- update test sql to latest from rapidpro
- flush cache before each set of tests
- more tests, tweaks to timed events
- add contact locking when processing contact events
- add tests for broadcast batching
- dont log requests to index page (usually from health checker)
- latest goflow, fixes @parent.contact.urn
- dont require authorization for / and /mr for status checks
- mailroom tweaks in support of simulation
- fix for single URN broadcasts not sending
- v1 of broadcast support
- lastest goflow
- fix datediff units, add session trigger support
- add session trigger action
- latest goflow, fixes migration of webhook action
- update calls to NewMsgIn
- latest goflow, fixes case issues
- goflow fix for looping
- add support for input_labels_added event
- latest goflow
- add migrate endpoint
- better status codes in webserver
- graceful exits
- more optimizations for campaign calculations, fix null value case
- derive default country from channel countries
- v1 of simulation endpoint
- add support for contact urn changed event, unify updating appropriately
- set exited_on and ended_on based on server clock
- only wait for sigquit
- refactor starts so they pass through same codepath in all cases
- correct handling of catch all triggers
- add support for email created event
- ignore msg created events that have no urns
- mark events as fired even if we end up not creating any sessions
- add support for campaign start modes
- less logging, only look at expired runs with sessions
- latest goflow
- change to pkg/errors instead of juju
- full handling of timeouts, expirations, handling for flow_server_enabled orgs (alpha)
- calculate real tps cost when building messages
- update tests for quick replies
- proper encoding of quick replies
- deal with case of attachment URL not having leading /
- resolve relative URLs to absolute URLs
- migrate date tests properly in routers
- increase our rate of flushing to librato
- ignore flow triggered events
- remove use of models.ContactID, updated modified_on for contacts that change groups
- set status of start to starting after queuing subtasks, update contact count
- allow flows to be started through mailroom
- fix tests
- optimize contact loading queries
- ignore (but log) invalid contact urns
- more better logging
- fix for empty query case, better logging, json env
- correct queue names
- proper config options
- add session commit hook, configurable number of threads
- enable mailroom campaigns on all flow_server_enabled flows
- add support for group, field, name and language changes
- add support for recalculating campaign events
- correct redaction policy for urns
- better logging
- more logging of event fires
- better elapsed units
- tweak librato event names
- add librato library
- add librato logging, catch panics in cron and workers
- better testing of end state of runner
- use bulk inserts for all sessions / runs / messages
- use same redis caching of topups as rapidpro
- more tests, updated temba.dump, add testsuite package
- deal with no locations for org
- clear queuing if there is an error starting task
- fire crons one second after the minute, fix multiple contact fires
- update goreleaser
- full support for simple flows
- remove contact fields for now
- tweak readme
- fix binding
- queue all messages for contact at once
- fix broken uuid import