Warning: This document is for an old version of Rasa X.

Rasa X Changelog

[0.21.5] - 2019-10-21


  • Use WAL mode for SQLite database to avoid database is locked errors.


  • Buttons for suggested responses to bot messages work again.

  • The input for manually adding training data no longer blanks out whenever you write a string that is already in your data set.

  • Interactive learning timestamps are incremented correctly and all corrected events are shown.

[0.21.4] - 2019-10-10


  • Port of 0.20.4 (RabbitMQ SSL auth).

  • Port of 0.20.5 (SSL CA file using RASA_X_SSL_CA_FILE environment variable).


  • The Ansible playbook now specifies the LockStore settings in the endpoints.yml.


  • Removed warnings regarding unset variables (UUID, METRICS_CONSENT) when running Rasa X EE.

[0.21.3] - 2019-10-03


  • Decode JWT public key to avoid TypeError in GET /version endpoint.

  • Custom rasax.nginx files without environment variables are no longer emptied in nginx’s entrypoint.sh.

[0.21.2] - 2019-10-01


  • Helm chart for a simplified cluster deployment. See the Kubernetes / OpenShift docs for more information.


  • Catch tarfile.TarError-type errors when reading metadata from zipped models.

[0.21.1] - 2019-09-26


  • Retraining models with unchanged training data does not create duplicated models.

[0.21.0] - 2019-09-24


  • support for channel field in response templates

  • added query parameter q to GET /responseGroups to search by response text

  • added query parameter template to GET /responseGroups to search by template name. If both q and template are specified, both conditions are combined with an AND.

  • Added ability to pass a query argument to the SQL connection URL using the DB_QUERY environment variable. The value of this variable needs to be a json dump of the query dictionary.

  • redis services acting as a persistence layer for conversation locks in rasa

  • endpoint for fetching runtime configs at GET /api/config (accepts ?token=RASA_X_TOKEN as authentication)

  • environment variables SQL_POOL_SIZE (default: 50) and SQL_MAX_OVERFLOW (default: 100) can be set to control the pool size and maximum pool overflow for SQLTrackerStore when used with the postgresql dialect

  • feedback for success/failure when uploading examples

  • New ui for responses and the ability to live preview the changes made to them

  • Now able to correct intents from Talk to Your Bot

  • added endpoint PUT /responseGroups/<template name> to bulk rename templates

  • added endpoint GET /projects/<project_id>/data.md to download the NLU training data as markdown file


  • Clicking outside of the Add log modal on the Annotate new data tab now closes the modal

  • The last remaining Story is now immediately removed from view if deleted

  • Debug logs are correctly printed if the log level is set to DEBUG

  • Shortened table names to comply with Oracle’s table name length limit

  • Prevent tagging of models that have an incompatible version


  • uploading templates will now fail schema validation if extra properties are provided

  • rasa-production and rasa-worker are started with the config-endpoint argument, making these services pull the runtime config from the /api/config endpoint

  • Changed Rasa X API JWT encryption mechanism to RS256. Key pairs are generated automatically on startup. Alternatively, private and public key files can be mounted in the rasa-x container. They will be read from paths specified by two environment variables:

    • JWT_PUBLIC_KEY_PATH (default: /app/public_key)

    • JWT_PRIVATE_KEY_PATH (default: /app/private_key)

    These variables may also be set when Rasa X is started locally from the command line. The previous environment variable JWT_SECRET in combination with symmetric encryption is no longer supported. The rasa services still support the --jwt-secret command-line argument for encryption of the underlying Rasa server.

  • the GET /version endpoint returns JWT public key information

  • use rasa 1.3.1

  • Changed property “story_created_from” of “Story Created” metrics event to take a pre-established set of values, instead of a URL path.

  • Added property “message_annotated_from” to “Message Annotated” metrics event. This new property describes from where the message was annotated.

  • Use guess_format when loading data instead of deprecated _guess_format

  • Use correct domain when reading local story files to avoid domain warnings


  • support for symmetric JWT encryption of the Rasa X API using HS256 with the JWT_SECRET environment variable

[0.20.5] - 2019-10-09


  • Added support to provide a CA file to set the SSL context. The CA file path can be set with the environment variable RASA_X_SSL_CA_FILE.


  • Fixed bug in SSL auth in Rasa X EE server.

[0.20.4] - 2019-19-08

  • Added support for RabbitMQ TLS authentication. The following environment variables need to be set: RABBITMQ_SSL_CLIENT_CERTIFICATE - path to the SSL client certificate (required) RABBITMQ_SSL_CLIENT_KEY - path to the SSL client key (required) RABBITMQ_SSL_CA_FILE - path to the SSL CA file (optional, for certificate verification) RABBITMQ_SSL_KEY_PASSWORD - SSL private key password (optional)

  • Added ability to define the RabbitMQ port using the RABBITMQ_PORT environment variable.

[0.20.3] - 2019-09-18


  • domains containing non ascii characters get properly dumped as using utf8

  • response texts can now be longer than 255 chars

  • Cancel button on Share Bot popup now behaves as expected on Models tab

  • Long story titles now truncate when hovered, displaying the compare button


  • Changed property “story_created_from” of “Story Created” metrics event to take a pre-established set of values, instead of a URL path.

  • Added property “message_annotated_from” to “Message Annotated” metrics event. This new property describes from where the message was annotated.

[0.20.2] - 2019-08-28


  • new endpoint GET /responseGroups to retrieve responses grouped by their template name

  • field edited_since_last_training to response templates to check whether this template was included in a model training

  • endpoints for regex features (/projects/<project_id>/regexes)

  • added support to run Rasa X EE server using HTTPS. Certificate and keyfile locations need to be supplied using environment variables RASA_X_SSL_CERTIFICATE and RASA_X_SSL_KEYFILE.

  • endpoints for lookup tables (GET, POST /projects/<project_id>/lookupTables, GET, DELETE /projects/<project_id>/lookupTables/<lookup_table_id>)

  • List, create, update and delete regexes from the UI

  • List, upload and download lookup tables from the UI


  • fixed train_cron.py script, and added some tests for it

  • PUT /api/stories correctly deletes old stories before adding new ones

  • form events correctly render in talk to your bot stories


  • use Segment instead of Mixpanel for metrics (metrics.py), and add new events

  • Downloaded training data does no longer include the content of the lookup tables, but only the link to the lookup table file. The lookup table can be downloaded separately.

[0.20.1] - 2019-08-12


  • conversation object includes new field sender_name

  • querying GET /conversations/<conversation_id> with a query parameter since only returns conversation events after since

  • nginx upstream hosts can be set using RASA_X_HOST (default: rasa-x:5002), CUSTOM_ACTION_HOST (default: app:5055), RASA_PRODUCTION_HOST (default: rasa-production:5005)

  • option for metrics tracking in server mode


  • custom: templates no longer fail schema validation

  • invalid auth tokens now cause a redirect to the login page even if they didn’t result from a timeout

  • Rasa X can be started without stories

  • wrong results when using GET /conversations with an intent query

  • the ansible playbook correctly updates the version variables in the .env file when updating an existing Rasa X instance

  • wrong redirecting of requests to /api/chatToken

  • MappingPolicy triggers are no longer removed from the domain

  • message which said models are not supported due to an incompatible model version of None

  • Rasa X no longer omits initial slot values in the domain which are 0

  • in server mode, the url to connect to duckling is automatically configured via the RASA_DUCKLING_HTTP_URL environment variable


  • when running in local mode, read Rasa events from SQLite events stream (events.db)

  • adding a template now returns status code 201 instead of 200

  • adding stories now provides multiple options for how you could achieve that

  • show different terms and conditions for Rasa X EE

  • using newer rabbitmq image which fixes https://github.com/bitnami/bitnami-docker-rabbitmq/issues/93

[0.20.0] - 2019-07-26


  • multi-select stories to compare them using shift-click

  • indexes for faster queries on NLU training data and conversation logs

  • environment variable DB_DRIVER allows using a custom database driver even if Rasa X is running in local mode

  • show input channel Tester for conversations by users which were invited with a link (only works with rasa >= 1.1.6)

  • endpoints to create, update, delete actions

  • Empty state placeholders with attached call to actions for a better user experience

  • PUT /settings returns a meaningful error if mandatory keys are missing from the YAML config, or if the YAML fails to be parsed correctly

  • nginx rule routing traffic to /api/chat to http://rasa-production:5005/webhooks/rasa/webhook


  • correctly show input channel in conversations tab

  • corrected credentials for rasa channel in Kubernetes / OpenShift guide

  • ESnext features now polyfilled as well as precompiled (for our supported browsers)

  • visualizations now work and render correctly for almost all stories, with the added ability to pan and zoom!

  • slot values containing # no longer causes an error during startup

  • robust model ordering in case two models have the same training time

  • fix code editor on firefox

  • version is reported correctly when Rasa X has been installed in editable mode (added a missing setuptools-scm requirement)

  • Prevent the on-boarding modal from showing once the user talks to his bot

  • if visualizations ever crash, they do so without the requirement to refresh your browser window to browse other non-broken stories


  • conversation trackers are computed from the Rasa X database instead of fetching them from Rasa

  • allow adding NLU examples to projects without domains

  • missing environments.yml leads to a warning for deployed instances

  • improve styling and general user experience for story editing

  • The way Popups are rendered has been updated for a better experience.

  • enforce event order by sorting them by timestamp when retrieving them from the database

  • move endpoint GET /domainActions to GET /project/<project_id>/actions

  • support now directs users to the forum and adds version info

  • layout of Talk to Your bot pages brought to design spec

[0.19.5] - 2019-07-09


  • bug which removed logging handlers

[0.19.4] - 2019-07-09


  • bug which suppressed the logging for Rasa X


  • Rasa containers don’t run in debug mode by default

[0.19.3] - 2019-07-05


  • deployment instructions for custom action servers

  • Start of end-to-end testing using cypress. At the moment only covers password login flow.

  • configurable Rasa X installation directory by using environment variable RASA_HOME


  • use OpenShift-compatible RabbitMQ version

  • support Rasa 1.1.4 feature to individually featurize entities

  • serialisation of actions at endpoint GET /domainActions as a list instead of a set

  • HTTP API Spec in documentation shows all endpoints which are specified in the api spec file

  • nginx proxy configuration does not lead to a duplication of trailing slashes anymore (fixes #3909)


  • faster queries for intents by using endpoint GET /projects/<project_id>/intents

  • the usage of the app container is now optional when deploying Rasa X

[0.19.2] - 2019-06-17


  • rendering of duplicate user messages/actions in the conversations screen

[0.19.1] - 2019-06-13


  • use alembic for database schema migrations

  • annotated NLU data is automatically added to the training data

  • automatic injection of domain and templates from the first discovered model in server mode

  • port of Rasa X and Rasa server can be configured via command line arguments in local mode

  • API endpoint to update role users at PUT /roles/<role>/users with a payload of a list of users who should be associated with that role

  • query parameter ?username to GET /users endpoint, returning users whose username matches pattern

  • query parameter ?role to GET /users endpoint taking a comma-separated list of roles, returning users whose roles match any of the supplied values

  • added configuration of domain in the UI as well as bidirectional syncing of that configuration with the file on disk

  • added RBAC permission UI


  • prepare all volume mounts in ansible playbook with correct permissions

  • remove non existing endpoints from API spec

  • updated instructions to create user in quick deployment guide

  • uploaded entity synonyms are dumped to the local training data md file

  • NLU logs can be created and promoted to training examples without a loaded model

  • entity extractors are persisted in training data


  • the db is not longer required in the environment.yml

  • endpoint to assign a single role to a user PUT /users/<user>/roles/<role> has been replaced with a multi-role update at PUT /users/<user>/roles with a list of role names (strings) as json payload

  • add index to column conversation_id of table conversation_event

  • add is_default and description columns to user_role table

  • improved query performance for model_for_tag queries

  • turn off SQLite key constraints for schema migrations

  • improved data injection performance by reducing the number of SQL commits

[0.19.0] - 2019-05-21


  • support for limit/ offset queries to /conversations endpoint

  • endpoint POST /conversations to manually create conversations

  • query interactive for GET /conversations endpoint to exclude interaction learning conversations

  • endpoint POST /conversations/<sender_id>/predict to predict the next action for the sender

  • endpoint POST /conversations/<sender_id>/execute to execute action in conversation

  • endpoint PUT /conversations/<sender_id>/events to modify events in a conversation

  • support for limit/ offset queries to /conversations endpoint

  • API endpoints to PUT /chatToken and GET /chatToken

  • API endpoints to POST /auth/jwt, POST /chat to allow users with sharable link to talk to bot though chat proxy endpoint

  • change permissions and /roles endpoint return format

  • API endpoints to PUT /roles/<role>, DELETE /roles/<role> and POST /roles

  • API endpoints to fetch and update the domain at GET/PUT /domain

  • API endpoint to fetch domain warnings at GET /domainWarnings

  • API endpoint to fetch domain actions at GET /domainActions


  • the ansible playbook now creates a valid credentials.yml file for Rasa Core


  • moved NLG and template API from /responses to /templates

  • use decorator for json schema validations