This is documentation for Rasa X Documentation v0.34.x, which is no longer actively maintained.
For up-to-date documentation, see the latest version (1.1.x).

Version: 0.34.x

Rasa X Changelog

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

[0.34.0] - 2020-12-02


  • #3947: Updated UI of responses screen; users can now add responses using a rich editor rather than only relying on YAML to do so.
  • #3960: Git commits now make use of Rasa X user email and name provided as environment variables via the command line.


  • #3049: Delete message logs in the NLU inbox associated with a conversation when deleting a conversation by calling DELETE /conversations/<conversation_id>.

  • #3570: Keyboard focus changes background color On click, the row is keyboard focused and the selected item doesn't scroll On hover, the icons of the row appear

  • #3657: Delete evaluation for conversation endpoint now responds with HTTP not found if evaluation for conversation was not found. Previously the response was always HTTP no content. Put evaluation for project responds with HTTP not found instead of bad request if model was not found.

  • #3764: Update GET /responseGroups endpoint and add intersect_filters and precise_response_name_search parameters that allow to implement suggestions in the "Responses" screen.

    Show suggestions when users search for responses.

  • #3807: Add Nginx configuration to disallow indexing by robots.

  • #3910: Remove the 'Authenticated token invalid' timeout error message from the login screen.


  • #3498: Fixed error when disconnecting IVC repository set up with HTTPS.

  • #3594: Fixed flag button reverting selected intent in Conversation inbox.

  • #3737: Update Rasa X IVC so that the ssh prefix is not removed.

  • #3871: Updates the frontend to generate a new branch name every time a user commits.

    Update POST /projects/<project_id>/git_repositories/<repository_id>/branches/<branch_name>/commits to return BranchAlreadyExists errors in cases when users try to create a branch that already exists.

  • #4022: Fixed stories sometimes being stored in rules.yml.

  • #4026: Fix entity synonyms screen in order to be able to use all its functionality.

  • #4086: Fix bug the save button was still enabled after successfully saving a newly created intent in the Message Inspector

[0.33.2] - 2020-11-09

Improved Documentation

  • #3952: Added banner to docs to alert users to Rasa Open Source 2.0 compatibility

[0.33.1] - 2020-11-05


  • #3854: Updated the values and initial_value columns of the domain_slot table to be of variable size. This means that the corresponding keys in a domain file can contain values of more than 255 characters.


  • #3914: Fixed write permissions for the rasa global configuration for the docker-compose deployment.
  • #3934: Fixed the issue that the one-line deployment script doesn't wait for Rasa X to be fully operational.

[0.33.0] - 2020-10-27


  • #3167: Add a new service responsible for database migration. Additionally, the /health endpoint returns a new field database_migration that contains information related to a DB migration, such as status, target_revision, current_revision and progress_in_percent. Since now the database migration is run as a separate service by default.
  • #3302: * Added a Conversation Context link to the NLU Inbox table entries which links to the most recent conversation with this message.
    • Added a keyboard shortcut for Conversation Context - 'c'.
  • #3528: Add new Rules view with support for creating, deleting and downloading rules.


  • #2763: Upgraded the Train model button in the navigation bar. Users can now train models, upload them from files, or via API, directly from the navigation bar.

  • #3041: Updated the models activation workflow.

  • #3070: * Ensure all HTTP API endpoints support CORS.

    • Ensure all HTTP API endpoints support OPTIONS requests.
  • #3127: Added a lock for the POST /branches/branch_name/commits endpoint. If the lock for the operation couldn't be acquired, Rasa X will return HTTP 409 code.

  • #3224: Add a note to "Share your bot" popup saying that incognito mode needs to be used to test guest conversations locally.

  • #3246: The NLU logs returned by GET /projects/<project_id>/logs now include the conversation and event IDs where they originate from, when applicable.

  • #3376: Rasa X associates incoming NLU messages with the active Rasa model. If model discovery has not finished, Rasa X now polls the connected Rasa Production service at its /status endpoint , which reports the model that's currently loaded, and associates this model with incoming NLU logs.

  • #3501: Add websocket messages for onboarding flow. This improvement allows all users to immediately receive information about events such as Git being connected and models being uploaded. The onboarding will react faster to these events and update the state of the onboarding without reloading the page.

  • #3539: Add the confidence rankings for intents in the 'Correct intent' select in the Conversation Inspector.

  • #3552: Move the 'Correct this' button in Interactive Learning to display (on hover) beside actions rather than messages.

  • #3558: Add improved placeholders for searches that result in empty tables

  • #3574: Automatically create the corresponding Retrieval Intent (if it doesn't exist) when adding a new Retrieval Response.

  • #3592: Add compatibility for Python 3.8.

  • #3604: Improved the onboarding funnel's content and UI.

  • #3625: Add support for stories in Rasa 2.0 in both yaml and markdown format.

  • #3689: Update the third-party Docker images for the docker-compose setup to use the latest versions. This fixes the security vulnerability CVE-2020-10878 for the updated images.

    • bitnami/postgresql: 11.7.0 to 11.9.0
    • bitnami/rabbitmq: 3.8.3 to 3.8.9
    • bitnami/redis: 5.0.8 to 6.0.8
    • bitnami/nginx: 1.17 to 1.19
    • rasa/duckling: 1.6.3 to 1.6.4
  • #3696: Users may be deleted while the Talk to your Bot conversations created by that user can remain. Removed the created_by foreign key constraint in the conversations table to achieve this.

    Added a new boolean query parameter deleteCreatedConversations (default: false) to the Rasa X HTTP API endpoint for deleting users (DELETE /api/users/<username>). The parameter controls whether conversations created by the user that is being deleted in the Talk to your Bot screen should be deleted as well.

    Added a new optional command-line argument to the script called --delete-created-conversations. If set, the conversations created in the Talk to your Bot screen by the user that is being deleted will be deleted as well.

    The full command for deleting users and their associated Talk to your Bot conversations is

    cd /etc/rasa
    sudo python delete <USERNAME> --delete-created-conversations
  • #3755: Display generated stories in YAML on the conversations screen and interactive learning screen.


  • #2865: * Fix Select boxes causing the page to scroll

    • Fix Select boxes not looking like the designs
    • Fix Chat box vertical height
    • Improve Select box performance
  • #2875: Fixed inconsistent states of Integrated Version Control when connecting Integrated Version Control to a branch which does not contain a valid Rasa Open Source project. A valid branch has to contain a domain.yml, a config.yml as well as a data/ directory with the training data.

  • #3242: Prevent the alerts -on the bottom right corder of the screen- from overlaying the onboarding steps.

  • #3369: Fixes bug whereby you could not create a new story in the story writer if you had no stories.

  • #3376: Fix bug where incoming messages were not associated with the correct model in cases where the event service was running as a separate service.

  • #3577: Fixed search field not working in the synonyms section of NLU Training Data

  • #3589: * Fix NLU Inbox badge and search box showing incorrect number of messages after deletion and mark correct

  • #3645: Fix how the newly received events get merged with the already existing ones when having a guest conversation.

  • #3675: Add support for uploading YAML files to the Training Data via the UI.

  • #3707: Fix issue in NLU Inbox where fetching entries after sorting was not returning all entries.

  • #3791: Add the missing message_annotated web socket message.

    This message fixes the onboarding flow and allows users to progress beyond the "Your assistant is talking to users" step.

  • #3806: Fix min_value and max_value properties of domain slots not being loaded into the database.

  • #6304: * Fix the SSH validation issue.

[0.32.2] - 2020-09-09


  • #3531: Fixed issue where Kafka event consumers defined with SASL_PLAINTEXT security protocols were being created with PLAINTEXT protocol, and SASL_SSL with SSL protocol.

[0.32.1] - 2020-09-04


  • #3173: Fix incorrect grey state after Git repository is connected.
  • #3495: Attach lookup table references to a particular NLU file so that they don't go missing on save.
  • #3511: Fix incorrect IVC status on IVC status panel.

[0.32.0] - 2020-08-20


  • #3294: For Rasa Enterprise, added the ability to clone repositories (IVC) using HTTPS. For more information on IVC, follow this link.
  • #3302: Added a Conversation Context link to the NLU Inbox table entries which links to the most recent conversation with this message. Added a keyboard shortcut for Conversation Context - 'c'.
  • #3321: Made domain read/write permissions visible in the UI to allow restricting creation of entities and intents


  • #2836: Refactored the NLU Inbox to decouple it from other Tables in the application and add highlighting for keyboard shortcuts.

  • #3070: Ensure all HTTP API endpoints support CORS.

    Ensure all HTTP API endpoints support OPTIONS requests.

  • #3127: Added a lock for the POST /branches/branch_name/commits endpoint. If the lock for the operation couldn't be acquired, Rasa X will return HTTP 409 code.

  • #3246: The NLU logs returned by GET /projects/<project_id>/logs now include the conversation and event IDs where they originate from, when applicable.

  • #3315: Add options for Kafka Consumer to specify client and group id via keywords client_id and group_id.

  • #3372: Multi-selecting in the NLU inbox now lets you change the intent of selected rows in bulk Holding the shift key when selecting rows in the NLU inbox will select all rows in between the start and finish selections


  • #2865: Fix Select boxes causing the page to scroll Fix Select boxes not looking like the designs Fix Chat box vertical height Improve Select box performance
  • #2904: Fix "Share your bot" messages not getting shown before bot responds.
  • #3248: Fixed alignment for UserMenu popup.
  • #3293: Fix Docker Compose install script on Google Debian 10 VMs.
  • #3426: Fix "Interactive learning" to show "Correct this" button only in cases when events can be corrected.
  • #6304: Fix the SSH validation issue.

[0.31.5] - 2020-08-10


  • #3327: Fixed a bug found in the telemetry collection module.

[0.31.4] - 2020-08-06


  • #3314: Fixed Single Sign-On steps that were skipped during login.

  • #5979: Set Rasa Open Source version to 1.10.10. This version includes a bugfix introduced with 1.10.9 which means means user responses are no longer added to the domain’s actions section.

    For local installations, rasa-x will continue to work with Rasa Open Source version 1.9.5 or higher. Please upgrade to rasa>=1.10.9 if you need the bug resolved.

[0.31.3] - 2020-08-04

Miscellaneous internal changes

  • #3295: Skip using Docker image caches when building Docker images for a new Rasa X release. This ensures that new releases will always use the latest base images including the latest security fixes.

[0.31.2] - 2020-07-31

Improved Documentation

  • #3287: Fixed next steps links in Rasa X installation guide.

[0.31.1] - 2020-07-30


  • #3127: Added a lock for the POST /branches/branch_name/commits endpoint. If the lock for the operation couldn’t be acquired, Rasa X will return HTTP 409 code.


  • #2906: Update database population algorithm to correctly save regex features, lookup tables and entity synonyms from multiple files without removing the previously saved ones.

  • #3157: Fixed some responses not being loaded into the domain when other responses had identical content (IVC).

  • #3226: Fixed changes done to training data via the UI not being copied to files in Local mode.

Miscellaneous internal changes

  • #3151: Add information about the OS and its version to the context dictionary of telemetry events.

[0.31.0] - 2020-07-16


  • #2941: Added an endpoint for accepting WebSocket connections on /api/ws. In order to authenticate with the WebSocket server, the client must send a JSON message with the following content: {"Authorization": "Bearer <JWT of user>"}.


  • #3145: Searching NLU data (/logs) by intent no longer also returns results matching a text search for the string “None”.

[0.30.1] - 2020-07-07

Improved Documentation

  • #3118: Fixed links in Rasa X installation guide.

[0.30.0] - 2020-07-06


  • #2824: It’s now possible to create users via the Rasa X HTTP API of Rasa Enterprise instances:
    • use the POST /api/users/ endpoint to create users with password authentication
    • use the POST /api/samlUsers/ endpoint to create SAML users


  • #2909: Changed the Conversation Inspector to show retrieval intents fully.

  • #2940: Show the confidence for the predicted intent under messages. Show the confidence for the predicted intent or action in the Conversation Inspector.

  • #3066: New Conversation Actions! You can now mark a conversation as reviewed, save it for later or delete it. You can also filter conversations by their review status.


  • #1144: Make it impossible for users with tester role to get conversations.

  • #2724: Fixed a bug which caused that releases of the Quick-Installation were overwritten by older minor releases of Rasa X.

  • #2947: Fixed the button link to the training data screen from synonyms. Fixed the button link on an empty Training Data screen to NLU Inbox. Fixed the size of the Tab headings on Training Data screen.

  • #2991: Add ‘Tester’ in Conversation Info when conversation comes from Share Your Bot. Add ‘Anonymous user’ when users name from a conversation cannot be determined.

  • #2998: Failed model training now displays an accurate toast indicating an error has occurred.

Miscellaneous internal changes

  • #3054: Remove docs/dependencies.txt because Poetry installs docs dependencies as well. Add Sphinx-related dependencies to the list of dependencies ignored by Dependabot.

[0.29.3] - 2020-06-25


  • #2694: Fix loop of requests on the “Regex and lookup” page.

  • #2840: Fix a bug which caused all stories being removed when an incorrect stories file is provided.

[0.29.2] - 2020-06-19


  • #2913: Loading of roles and users became faster because the way we request this data and store it has been changed. Fix the layout and style of filter buttons on “Manage users” page.

  • #2964: Fixed broken “See what’s new” link in update modal.

  • #2998: Failed model training now displays an accurate toast indicating an error has occurred.

[0.29.1] - 2020-06-10


  • #2924: The Quick-Installation returns the URL with an external IP address if the external address was detected. Previously it could have happened that the deploy script provided a private URL which was unreachable from the outside.

[0.29.0] - 2020-06-08

Deprecations and Removals

  • #2671: Deprecated the distinct query parameter for the GET /projects/<project_id>/logs API endpoint. Rasa X already de-duplicates the message logs which has the same effect as using the distinct parameter.


  • #2394: Changed the behaviour of two parameters (filters) for GET /conversations endpoint:

    • maximumNluConfidence and maximumConfidence now return conversations with ANY (i.e. at least one) intent/action that has a confidence <= specified value. In other words, minimumConfidence (param) <= minimumConfidence (of conversation) <= maximumConfidence (param).

    This change makes these filters much more useful for reviewing failed conversations than before.

  • #2608: Update roles and permissions to make it possible for annotator and tester to use Rasa Enterprise and have conversations.

    Add UI permission checks to show certain UI components only if the user has access to them.

  • #2638: Added coverage for Rasa UI and moved Alert component into Rasa UI

  • #2655: Moved Heading component into Rasa UI Improve consistency between Rasa UI components Improve useMediaQuery hook

  • #2671: Improved the performance of the NLU inbox.

  • #2672: Improved the performance of the GET /projects/<project_id>/git_repositories/<repository_id>/status endpoint.

  • #2758: Un-deprecate the GET /conversation/{id} endpoint and add format query parameter to it. The previously suggested /tracker endpoint is blocked by AdBlockers. From the users perspective that would looks like conversation is not updated (is empty), because the polling was blocked. Now the only possible (and default) value of format is full_conversation, which returns a conversation tracker in exactly the same format as /tracker endpoint.

  • #2782: Added sort_by and sort_order parameters to the GET /projects/<project_id>/logs endpoint.

  • #2802: Clicking on a message in the conversations screen will now open and close the conversation inspector. Close button added to the conversation inspector. Re-introduce the annotate highlighter button beside a user message on the conversations screen.

  • #2804: Add a new onboarding flow for Rasa X users.

  • #2899: Fixed a problem where Rasa X would take a long time to start up after the database migrations were already completed.


  • #2602: Fix a bug which caused response names to be dumped to the intents section of the domain file.

  • #2685: Update conversation fetching to support cases when created_by is not specified.

  • #2724: Fixed a bug which caused that releases of the Quick-Installation were overwritten by older minor releases of Rasa X.

  • #2727: Fix guest conversation screen flickering.

  • #2776: Fix a bug where message logs would always reference the oldest model in the Rasa X database. Message logs no longer reference a model by ID, as models can be deleted. Instead, message logs now reference the model contained in the message’s parse_data. If this is unavailable, the model that’s currently marked as ‘production’ is used. To achieve this, a new column model is added to the message_log table. The previous column model_id and a foreign key constraint to the model table are removed.

    Existing message logs were not associated with the model that was actually used. A model named ‘unavailable’ is assigned to existing logs in the migration.

    The suggestions returned from GET /projects/<project_id>/logs/<log_hash> and GET /projects/<project_id>/logs no longer contain the project_id and team keys.

  • #2787: Fixed a problem where Rasa X displayed and used an old version of the Domain file. This could e.g. lead to failing model trainings.

  • #2875: Fixed a problem which occurred when using Integrated Version Control and switching from an invalid project layout to a valid one. When changes are discarded Rasa X will now no longer try to inject the old (invalid) state, but will instead switch to the latest state of the connected remote branch.

  • #2903: Fix for “Talk to your bot” conversations not being shown up on “Conversations” screen.

Miscellaneous internal changes

  • #2850: Make CI support branch names that contain /

[0.28.6] - 2020-06-04


  • #2727: Fix guest conversation screen flickering.

[0.28.5] - 2020-05-28


  • #2787: Added the exclude_training_data parameter to the GET /projects/<project_id>/logs endpoint.

  • #2842: Increased default response timeout from 1 hour to 8 hours. If your model takes longer than 8 hours to train, use the SANIC_RESPONSE_TIMEOUT environment variable to increase the timeout to avoid 503: Response Timeout errors.


  • #2848: Fix bug with scrolling in talk to your bot and share your bot screens.

[0.28.4] - 2020-05-26


  • #2792: The GET /api/projects/{project_id}/logs/{hash} and GET /api/projects/{project_id}/data/{hash} endpoints now return 404 instead of 400 when the requested entity was not found.


  • #1941: Fix scroll on the right pane of the Conversations screen.

  • #2018: Fix scroll on the Conversation screen when a message is selected.

  • #2110: Fix scroll on Responses and Synonyms screen when adding multiple elements.

  • #2528: Fix “Copy to clipboard” button in Slots section.

  • #2575: Fix a bug in Integrated Version Control where the repository remained in an orange state after pushing changes to the target branch.

  • #2708: Fix placeholder overflow issue in Select component

  • #2795: Fix the PUT /projects/<project_id>/git_repositories/<repository_id>/branches/<branch_name> endpoint to only return once the injection of repository data into the Rasa X database has been completed. This fixes a bug in Integrated Version Control where the new state of the database wasn’t immediately reflected in the UI after discarding changes.

  • #2800: Fixed a bug that allowed adding duplicated responses.

  • #2803: The PUT /api/chatToken endpoint now returns 400 instead of 500 when the bot_name or description fields have an invalid length. The maximum length for both fields is 255 characters.

Miscellaneous internal changes

  • #2801: Merge the migrations from the 0.24.x role-based access control port.

[0.28.3] - 2020-05-12


  • #2704: Fix a JWT security issue and move the generation of conversation_id for guest conversations to the backend side. This security fix is important, so we recommend all clients to upgrade as soon as possible.

  • #2726: Don’t show the ‘power user’ toast after the user closes it with the X icon.

Miscellaneous internal changes

  • #2646: Telemetry tracking can now be enabled for Rasa Enterprise by setting the environment variable METRICS_CONSENT to true. Note that an external EventService has to be restarted for changes to take effect.

[0.28.2] - 2020-05-07


  • #2692: Make the check for finished migrations at the startup of the event service more reliable.


  • #2703: Add a missing permission check to allow guest conversations.

[0.28.1] - 2020-05-05


  • #2608: Update roles and permissions to make it possible for annotator and tester to use Rasa Enterprise and have conversations.

    Add UI permission checks to show certain UI components only if the user has access to them.


  • #2662: Fixes bug where label text was not readable in the Manage Tags menu.

  • #2669: Fixed a problem during the injection of Rasa training data in Rasa X 0.28. This happened when using Integrated Version Control or when using the Rasa X PyPI package.

  • #2670: Fixed a bug that was preventing the Users view and table to load properly

  • #2685: Update conversation fetching to support cases when created_by is not specified.

[0.28.0] - 2020-04-30

Deprecations and Removals

  • #2489: The endpoints /templates and /templates/<response_id> got renamed to /responses and /responses/<response_id>. The old endpoints are deprecated and will be removed in a future version of Rasa X.


  • #1530: Removed the environment variable LOCAL_MODE. The config variable LOCAL_MODE is now set dependent on a start via local.main (in general, this corresponds to a pip installation) or server.main (in general, this corresponds to a Docker Compose or Kubernetes installation).

  • #1945: In Rasa Open Source, templates in the domain were renamed to responses. To follow these changes, template is now renamed to response everywhere in Rasa X.

    This has the following implications for API requests:

    • For PUT /domain: new request parameter store_responses to replace store_templates.

    • For GET /responseGroups: new request parameter response_name to replace template.

    • For GET /templates: new request parameter response_name to replace template. Also, the field name for a fields query changed accordingly.

    For each of these, the old parameters are deprecated and will be removed in a future version of Rasa X.

    Also, all API requests previously returning a template including a field template now return a response including a field response_name.

  • #2322: Make it possible to train models while using retrieval actions.

    This feature requires Rasa 1.10 or higher.

  • #2332: The usage of sudo in the Quick-Installation was reduced. This means that any interaction with the Kubernetes clusters after the installation (e.g. through kubectl or helm) don’t require the usage of sudo anymore.

  • #2374: Reduced the amount of database commits when saving new conversation events. This increases the throughput from Rasa Open Source to Rasa X.

    Revisited the error handling when saving conversation events to the database in Rasa X. Errors are now handled centrally which avoids storing events partially.

  • #2435: Update POST /models endpoint to return the uploaded model metadata and status code 201 in the case of success, and codes 400 or 409 in the case of failure.

  • #2438: Models can now be uploaded from the UI

  • #2519: Attachment file names are now displayed in a separate conversation bubble.

  • #2520: All Rasa X Docker images are now using Python 3.7 instead of Python 3.6.

    Replaced Duckling image with version which has a much smaller image size and fixes security issues.

  • #2605: Added a prompt to gather feedback from power users.

  • #2509: Bisected frontend codebase into Rasa UI and Rasa Frontend.

  • #2634: Upgrade tippyjs/react to v4 and this tippy.js to v6. Abstracted it away entirely so that tippy is only imported in a single file. All popups are now opened declaratively rather than being non-controlled.


  • #1875: Fix the way new data gets fetched and combined with the already existing data to avoid duplicated entries in tables.

  • #2342: Removed “unknown intent” warnings for intents that are present in the domain. Previously, such warnings always occured when starting Rasa X and when adding, updating or saving stories.

  • #2437: Show all interactive conversations in addition to guest conversations on “Conversations” screen.

  • #2523: Rasa Enterprise: Add missing permissions for tester and annotator user roles to allow users with these roles to fetch models, responses, and stories.

  • #2565: Fix an issue with a currently active model being not loaded on “Interactive Learning” screen when there are more than one model available and the active one is not the first one.

Improved Documentation

  • #2272: Added section to Connect an Existing Deployment on how to expose the RabbitMQ port: Exposing the RabbitMQ Port.

  • #2332: Clarified that customizations to deployments with the Quick-Installation can be applied to both, new and existing, deployments by (re)running the script.

  • #2380: Describe the additional steps required to run Rasa X on Windows and MacOS with the server quick-install installation.

  • #2499:

Miscellaneous internal changes

  • #2386: Ensure telemetry events are being sent asynchronously in the event service as well.

    Fix Task was destroyed but it is pending! warning message appearing when exiting Rasa X using Ctrl-C (local mode).

  • #2526: Update license location and make it match the printed location.

  • #2571: Update the CI to fail if poetry.lock is not up-to-date.

  • #2582: Added user_groups property to the GET /api/telemetry endpoint.

  • #2583: Show a warning instead of an error if unable to get conversation tests.

  • #2584: Replaced template with response in the UI to follow the renaming we did everywhere else in Rasa X.

  • #2601: The nginx container no longer forwards requests to /app to the custom action server. Note that the communication between Rasa Open Source and the action server is not affected by this and will continue to work as usual.

  • #2606: Lower log level to debug when retrieving the used Rasa Open Source version. This avoids misleading errors when Rasa Open Source hasn’t finished its initialization phase.

[0.27.8] - 2020-05-13


  • #2704: Fix a JWT security issue and move the generation of conversation_id for guest conversations to the backend side. This security fix is important, so we recommend all clients to upgrade as soon as possible.

[0.27.7] - 2020-04-23


  • #2592: Improved performance of the /api/health endpoint.

[0.27.6] - 2020-04-20


[0.27.5] - 2020-04-14


  • #2473: Fixed failing database migrations on Oracle DB. Connections to Oracle databases are now established with the exclude_tablespaces=[] SQLAlchemy option. Previously, Oracle tables that were created by the SYSTEM or SYSAUX users would not be retrieved, leading to errors during database migration such as

    sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00942: table or view does not exist
  • #2479: Fixed wrong annotation states of the Integrated Version Control when uploading a model to Rasa X. Uploading models won’t affect the status of Integrated Version Control anymore.

Improved Documentation

[0.27.4] - 2020-04-02


  • #2403: Support for PostgreSQL schemas. Rasa X accesses schemas defined by the POSTGRESQL_SCHEMA environment variable.

    In order to use a non-public schema for both the Rasa X and the Rasa tracker store database connections, the POSTGRESQL_SCHEMA environment variable has to be set on the rasa-x, event-service and rasa-production services.

    The schema is added to the connection string option’s -csearch_path key, i.e. -options=-csearch_path=<SCHEMA_NAME> (see for more details). As before, if no POSTGRESQL_SCHEMA environment variable is defined, Rasa X uses the database’s default schema (public).

    The schema has to exist in the database before connecting, i.e. it needs to have been created with

    CREATE SCHEMA schema_name;


  • #2437: Show all interactive conversations in addition to guest conversations on “Conversations” screen.

[0.27.3] - 2020-03-31


  • #2422: Fixed bug where duplicate responses could be added using the POST /templates and PUT /templates endpoints. This was previously fixed in version 0.25.0 but re-introduced in version 0.27.0.

[0.27.2] - 2020-03-30


  • #2416: The POST /conversations endpoint returns a ConversationCreationFailed error (code 422: Unprocessable Entity) if the tracker for the requested conversation ID cannot be fetched from the Rasa server. Previously this resulted in a 500: Internal Server Error.


  • #2393: Fixes “Correct this” button on “Interactive Learning” screen.

  • #2412: Fix conversation fetching to get all conversations instead of only non-interactive ones.

Miscellaneous internal changes

  • #2410: Fix an issue with frontend build not being included to PyPi builds.

[0.27.1] - 2020-03-27


  • #2332: The usage of sudo in the Quick-Installation was reduced. This means that any interaction with the Kubernetes clusters after the installation (e.g. through kubectl or helm) don’t require the usage of sudo anymore.

Improved Documentation

  • #2332: Clarified that customizations to deployments with the Quick-Installation can be applied to both, new and existing, deployments by (re)running the script.

[0.27.0] - 2020-03-26


  • #2054: Added possibility to filter conversations by NLU (intents) and Core (actions) confidences.

    • Added parameters minimumConfidence, maximumConfidence, minimumNluConfidence, maximumNluConfidence to the GET /conversations endpoint
  • #2312: Extend GET /version endpoint with information about available Rasa X updates.

    The information about available updates is retrieved from the Rasa X Docker Hub release tags.

  • #2320: Add UI support for split Core and NLU confidence filters.

  • #2363: Added keyboard shortcuts (‘j’, ‘k’, ‘s’ and ‘d’) for navigating rows and handling data in the NLU Inbox table.


  • #1431: Make it possible to dynamically add/remove hints and fix the issue with inapplicable hints being shown. Also save the information about shown hints to the database in order to not show them again.

  • #2020: Rasa X now dumps changed training data asynchronously to disk. This means that changes are no longer reflected on disk immediately, but with a delay of at most 60 seconds. This change improves the performance of annotations.

  • #2023: Improved the performance of copying conversations to interactive learning by reducing the number of requests between the UI and the Rasa X backend.

  • #2186: Modified standard 500 internal server response so that it is more consistent with other error responses in the API.

  • #2233: Add a new POST /tests endpoint to save conversation tests to a file. This endpoint requires the tests.create permission, and this permission is granted to all administrators and annotators by default.

    The default file for tests is in tests directory but both directory and file names can be modified (DEFAULT_E2E_TESTS_DIR and DEFAULT_E2E_TEST_FILE_PATH are the corresponding environment variables).

  • #2240: Update telemetry for improved model testing:

    • Add num_e2e_tests field to Status telemetry event.

    • Add entity:e2eStory:opened telemetry event.

  • #2245: Notify users when training a model is skipped because no changes were found.

  • #2253: Whether or not a conversation is considered to be in training data is determined based on whether any of its constituent conversation sessions are entirely in training data. A conversation session is considered to be in training data if all of its predicted actions were predicted by a memoization policy ( Memoization Policy or Augmented Memoization Policy).

    In order to store the information based on individual sessions, the conversation_session table receives a new column in_training_data. New entries in the conversation_session table are now created based on incoming session_start events. This was done previously based on a period of user inactivity of 48 hours. This aligns the previous Rasa X concept of a conversation session with the session concept in Rasa Open Source introduced in Rasa 1.7.4.

  • #2264: Index conversation events by flags to improve filter performance

  • #2265: Truncate long filter pills and show full content in associated tooltip.

  • #2279: The guest link generated from Share your bot section has been improved to work better on mobile screens.

  • #2281: Restrict intents returned by the API to only those that appear in the domain

  • #2292: PikaEventConsumer accepts a queues argument to allow supplying multiple queues in endpoints.yml. If this is the case, the first queue will be consumed. The consumer continues to support the queue argument. If queues is supplied, it takes precedences over queue.

  • #2317: Move the “create new sentence” UI to the “training data” screen.

  • #2379: When connecting to external channels on /webhooks/{channel}/webhook, it is no longer required to add the /core/ prefix to the endpoint. Nginx will route http://<HOST>/webhooks/ requests to the rasa-production container.


  • #2115: Response names are no longer added to the domain’s actions. This is because since Rasa 1.7.0, utterances need not be specified in the domain’s actions.

    The POST /templates, PUT /templates and PUT /templates/<id> endpoints return status code 422 if the supplied response names do not start with the utter_ prefix (rasa.core.constants.UTTER_PREFIX).

  • #2302: Fixed problems with private key permissions that were too open when using Integrated Version Control. Rasa X also re-applies the required permissions in case they were changed over the lifetime of the deployment.

  • #2388: Fix the links in the Conversations screen help tooltips.

Improved Documentation

  • #2287: Remove invalid instructions for running helm init from the Helm Chart Installation documentation. helm init is not longer required since Helm version 3.

Miscellaneous internal changes

  • #2294: Changed SQLAlchemy relationship loading to joined eager loading for the nlu_training_data table’s relationship with the nlu_training_data_entity table.

  • #2307: Update Github Actions to fix the documentation publishing issue.

  • #2381: Bump the minimum required version of Rasa Open Source to 1.9 due to changes in the Rasa Open Source endpoints.

[0.26.4] - 2020-05-13


  • #2704: Fix a JWT security issue and move the generation of conversation_id for guest conversations to the backend side. This security fix is important, so we recommend all clients to upgrade as soon as possible.

[0.26.3] - 2020-03-24


  • #2362: Fixed migration error happening with some slot values on PostgreSQL.

[0.26.2] - 2020-03-23


  • #1951: Responses with quick replies can now be edited from the response screen.

  • #2327: Fixed migration error happening with very large slot values on PostgreSQL. The error message displayed in these cases was similar to:

    sqlalchemy.exc.OperationalError: (psycopg2.errors.ProgramLimitExceeded) index row size 3176 exceeds maximum 2712 for index "conversation_slot_value_index"
  • #5313: Integrated Version Control no longer changes the order of the entity synonyms when dumping them. They are now dumped in the same order as they were inserted.

Miscellaneous internal changes

  • #2266: The API now returns a status code 201 when creating entity synonyms via POST /projects/{project_id}/synonyms.

  • #2339: Lowered the telemetry HTTP request timeout for blocking contexts.

[0.26.1] - 2020-03-13

Improved Documentation

  • #2287: Remove invalid instructions for running helm init from the Helm Chart Installation documentation. helm init is not longer required since Helm version 3.

[0.26.0] - 2020-03-06

Deprecations and Removals

  • #1832: Deprecated GET /conversations/{conversation_id} to avoid ambiguity in the naming, since it actually returns Rasa OSS tracker of a conversation

    Introduced GET /conversations/{conversation_id}/tracker as an alternative to the endpoint mentioned above


  • #1634: Added UI for creating and managing conversation tags

  • #1636: Added more endpoints for conversation tags:

    • Added GET /conversations/<id>/tags endpoint

    • Added DELETE /conversations/<id>/tags/<id> endpoint

  • #1831: Introduced DELETE /conversations/<id> endpoint

    Now users can completely remove conversations with specified IDs using the REST API.

  • #2000: Add endpoint GET /projects/{project_id}/git_repositories/public_ssh_key to retrieve a public SSH key generated by Rasa X.

    When connecting a Git repository to Rasa X, it’s now possible to specify a field use_generated_ssh_keys instead of providing an SSH key. Integrated Version Control will then use a generated SSH key to authenticate with the Git server. To make this work you have to store the public SSH key from the /projects/{project_id}/git_repositories/public_ssh_key endpoint at your Git server.

  • #2034: Added a new Quick-Installation to deploy Rasa X on a single Linux machine using an embedded Kubernetes cluster or with an existing Kubernetes cluster.

  • #2051: Added new GET /conversations/inputChannels endpoint.

    Added new input_channels parameter to the GET /conversations endpoint.

  • #2086: Added a new slots parameter to GET /conversations. This parameter allows users to filter conversations by slot values.

    Added new GET /conversations/slotNames and GET /conversations/slotValues endpoints.

  • #2119: Users can now set up Integrated version control from the UI by adding a generated ssh key as a deploy key in their repository.

  • #2155: Add the ability to filter by whether or not a Conversation’s story appeared in the training data at the time it was predicted Restore the ability to filter Conversations by maximum NLU confidence

  • #2163: Create tab in conversations filter panel for filtering by slots.

  • #2188: Add UI support for filtering Conversations by input channel (including the logged in user’s own Tester and Interactive Learning conversations)


  • #1716: Return HTTP status code 201 at endpoint POST /projects/<project_id>/models/jobs if no new model was trained because a model with the same training data and configuration already exists.

  • #1764: Handle cases when EventService fails to add events to the database — keep these events in memory and try saving them again after a successful attempt to save another incoming event to the database.

    The limit of pending events is set to 1000 to avoid excessive memory usage.

  • #2009: Added a composite unique constraint on the conversation_id, timestamp and type_name columns of the conversation_event table. This is to ensure that events that are exported repeatedly using rasa export are not duplicated in the database.


    Duplicate events in the converation_event table are deleted as part of the migration. Duplicate events are determined based on having more than one entry with the same conversation_id, timestamp and type_name values.

  • #2072: The validation of the Rasa X domain is skipped when uploading stories. This prevents Rasa X from refusing to save stories when the domain is problematic.

  • #2145: Improve rendering performance on the “Annotate new data” tab

  • #2146: The required Rasa Open Source version was updated to 1.8.0 or greater. This release is no longer compatible with Rasa Open Source 1.7 or older.

  • #2166: Sort intents in the filter and intent dropdowns on the training data tab

  • #2172: Re-introduce conditional rendering of text editor on NLU Training screens for performance benefits.

  • #2217: Remove checkboxes from multi-select as they do not function as expected.


  • #1969: Add a check if files exist when doing synchronisation.

  • #2047: Fixed ValueError that occurred when importing data with synonyms where a mapping value was equal to the entity’s synonym value.

  • #2058: Fix a bug in Integrated Version Control where uploaded lookup tables were referenced with their absolute path by the NLU training files. This led to problems when training a Rasa Open Source model in the project directory since the lookup table files could not be found.

  • #2085: Prevent UI allowing user to enter an already existing sentence into the training data using the enter key.

  • #2087: Prevent ShareYourBot from overwriting an existing Rasa X login session Prevent the main Rasa X UI from allowing login with a ShareYourBot session

  • #2090: Fix padding and text styling in conversation sidebar.

  • #2092: Fix the entity annotation of e2e stories when a line contains two or more entities.

  • #2216: Fix an error when running the Docker Compose Install Script from within the Rasa X directory. Earlier the task backwards compatible credentials failed when doing this.

Improved Documentation

  • #1798: Extend and improve the documentation for the usage of the Rasa X Helm chart.

  • #2070: New docs section in ‘Connecting a Rasa deployment’ explaining how to use rasa export to migrate conversations from Rasa to Rasa X. See 1. Import Existing Conversations from Rasa Open Source. This section now includes the existing section ‘Connect a Live Rasa Deployment’.


    rasa export requires rasa>=1.8.0.

Miscellaneous internal changes

  • #2024: Move the Rasa X CI from Travis to GitHub actions.

  • #2027: Removed script to migrate Rasa X databases from MongoDB to SQL.

  • #2032: Remove setuptools_scm to manage versions manually.

  • #2063: Add telemetry event Conversation Tagged that is sent when a conversation is tagged.

  • #2125: Add telemetry event Conversations Imported for conversations that are imported originating from a rasa export call.

  • #2170: Apply flake8 linting to the project.

[0.25.3] - 2020-05-14


  • #2704: Fix a JWT security issue and move the generation of conversation_id for guest conversations to the backend side. This security fix is important, so we recommend all clients to upgrade as soon as possible.

[0.25.2] - 2020-02-14


  • #1907: Added support for multi-line text blocks on Annotate new data and Training Data screen

  • #1987: Added the ability to filter Conversations by Tags in the UI


  • #1969: Add a check if files exist when doing syncronisation.

  • #2012: Fixed an error happening while loading conversations containing conversation events with an empty metadata field. This problem led to conversations not being loaded.

Improved Documentation

  • #2005: Added documentation on custom database setups, including Oracle.

[0.25.1] - 2020-02-07


  • #1976: Added environment variable SANIC_REQUEST_MAX_SIZE_IN_BYTES to set max allowable request size for requests sent to Rasa X server. Default set to 800 MB, up from sanic’s default of 100MB.


  • #1983: Fixed issue with two DB migration that were skipped in 0.25.0 upgrade.

    This includes two empty migration for those who upgrade from 0.24.x, and two new migrations on top for those upgrading Rasa X from 0.25.0

Miscellaneous internal changes

  • #1978: Set default docker-compose values for RASA_X_USERNAME and RASA_X_PASSWORD to empty strings to eliminate the warning of these variables not being set.

[0.25.0] - 2020-02-05

Deprecations and Removals

  • #1815: Login button for enterprise ID removed from Community Edition.

  • #1826: GET /conversations no longer returns unflagged_messages or flagged_messages. GET /conversations/<id> no longer returns flagged_messages.


  • #1636: Added support for conversation tags endpoints:

    • GET /conversations now returns list of assigned tags

    • Added tags_any parameter to GET /conversations

    • Added POST /conversations/<id>/tags endpoint

    • Added DELETE /conversations/<id>/tags/<id> endpoint

    • Added GET /conversations/tags endpoint

    Now users can assign/delete arbitrary tags to conversations via REST API.

  • #1750: Allow users to specify RASA_X_USERNAME and RASA_X_PASSWORD to create admin user after Rasa X is started for the first time.

  • #1826: GET /conversations/<id> now includes a has_flagged_messages field, replacing the flagged_messages list.

  • #1870: Updated Conversations filter UI to new, extensible design

  • #1898: End-to-end stories can now be generated from the conversations screen.

  • #1953: Added ability to view Conversation Tags to ConversationInfo and Client components


  • #1859: Whenever NLU training data is changed, Rasa X will now only dump the updated files instead of dumping the whole training data.


  • #1765: Make it possible to use any branch names including the ones containing slashes (“/”).

  • #1808: Make sure users are unable to create duplicated responses.

  • #1906: Fixed bugs in the quick installation script pertaining to python3-distutils and distutils.util on Ubuntu 16.04 and Debian 9.

  • #1965: Fixed bug where Integrated Version Control pushed to the target branch and to a different branch at the same time.

    Fixed bug where Integrated Version Control could not push changes due the lack of a configured Git identity. Commits by Rasa X will now use the author name Rasa X and the email

Improved Documentation

  • #1731: Added a note to the Integrated Version Control documentation to point out that existing training data will be overwritten when a Git Repository is connected to Rasa X.

  • #1851: Updated cluster deployment docs to use the open-sourced Helm chart.

  • #1915: Made Rasa X landing page more concise and refactored docker-compose quick install docs

Miscellaneous internal changes

  • #1491: A different warning about an outdated Rasa X version.

  • #1816: Changed references of “metrics” to “telemetry” throughout the project.

  • #1833: Made runtime telemetry configuration local to

    Made runtime telemetry configuration safe to read and write from different processes.

  • #1851: Removed Helm chart from repository and switch CI to use open-sourced Helm chart from

  • #1869: Rasa X now always uses the default multiprocessing context to start new processes.

  • #1889: Made main process and event service share the same telemetry configuration.

  • #1930: Pin the Ansible version to <2.9 in the Rasa X installation script to avoid an error when installing Docker as part of this script.

[0.24.8] - 2020-05-15


  • #2704: Fix a JWT security issue and move the generation of conversation_id for guest conversations to the backend side. This security fix is important, so we recommend all clients to upgrade as soon as possible.

[0.24.7] - 2020-01-31


  • #1879: Fix the link to the docs for the Integrated Version Control when using Rasa X.

  • #1888: Fixed bug which prevented discarding the Rasa model configuration when using Integrated Version Control.

  • #1895: In docker-compose, port 6379 of the redis service is no longer published on the host network.

  • #1923: Added support to read responses from the responses section in domain files. To keep compatibility with Rasa 1.6, Rasa X will continue to return responses within the templates section until the next minor release.

Miscellaneous internal changes

  • #1897: Stop tracking Git changes pushed events which were caused as part of probing if we have the right permissions for the given repository.

  • #1924: Use SQLEventBroker instead of deprecated SQLProducer when running the Rasa X PyPI package.

  • #1931: Pin the Ansible version to <2.9 in the Rasa X installation script to avoid an error when installing Docker as part of this script.

[0.24.6] - 2020-01-27


  • #1888: Fixed bug which prevented discarding the Rasa model configuration when using Integrated Version Control.

Miscellaneous internal changes

  • #1888: Fix wrong calculation of lookup table entries in the telemetry status events.

[0.24.5] - 2020-01-27

Miscellaneous internal changes

  • #1880: Add server uptime to the Status telemetry event.

  • #1883: Improved messages logged while waiting for migrations to finish; they should now more accurately describe the process.

[0.24.4] - 2020-01-23


  • #1872: Sequences on tables entity_synonym and entity_synonym_value are missing. An explicit declaration of sequences is required for Oracle DB.

    The event_service when forked as a subprocess now waits for migrations to finish before accessing the database.

[0.24.3] - 2020-01-22


  • #1857: The index name nlu_train_data_ent_orig_val_idx on table nlu_training_data_entity exceeds the length of 30 characters allowed by Oracle DB 11.2. The index was renamed to nlu_train_dat_ent_orig_val_idx.

    The column name carry_over_slots_to_new_session in table domain also exceeds 30 characters. The column was renamed to carry_over_slots.

Improved Documentation

[0.24.2] - 2020-01-21


  • #1793: Rasa X no longer serves models to Rasa servers which once were compatible but now are incompatible.

Improved Documentation

  • #1796: Added missing documentation for the tracker debug dumps that can be requested from the GET /conversations/<id> endpoint. A JSON dump of the tracker is returned as a file attachment if the Accept: application/json header is specified. A debug story dump of the tracker is returned as a file attachment if the Accept: text/markdown header is specified.

    Removed outdated documentation for the GET /conversations/<id>/events endpoint.

  • #1817: Added documentation on connecting an existing Rasa deployment to Rasa X for viewing conversations

Miscellaneous internal changes

  • #1824: Use towncrier for changelog management.

[0.24.1] - 2020-01-09


  • Updated default value of RASA_X_DEMO_VERSION in .env to 0.24.0.

[0.24.0] - 2020-01-07


  • Synonyms can now be managed from the UI under the Training.

  • API endpoint to check if telemetry is enabled or not: GET /telemetry.

  • API endpoint to disable telemetry in server mode: DELETE /telemetry. The Rasa X server must be restarted in order for the changes to take effect.

  • Training a model is now possible with the api_token query parameter as authentication.

  • Added an ingress to the Rasa X Helm chart.

  • Added a readiness probe to the Rasa X deployment in the Rasa X Helm chart.

  • Added a query parameter mapped_value to GET /api/projects/default/synonyms which allows querying for synonyms which have this value mapped to them.

  • Query parameter exclude_leading_action_session_start to API endpoint GET /conversations/<conversation_id>. If True, a leading event ActionExecuted ("action_session_start") will be excluded from the list of events in the tracker. The parameter defaults to False.


  • Errors appearing in the log when telemetry was enabled but no internet connection was available.

  • additionalChannelCredentials in the Rasa X Helm chart are now correctly indented.

  • Stories, deleted from the UI, will also be deleted from the filesystem.

  • Polling error bar on conversations screen no longer pushes conversation past window break.


  • In server mode, telemetry is now enabled by default. Existing configurations of telemetry via the METRICS_CONSENT and UUID environment variables will be respected if they are present. New installations of Rasa X using the server deployment options will not configure this environment variable anymore. Telemetry configuration options will now be stored in the SQL database. New API endpoints have been added to make management of this configuration easier. No changes have been made to local mode (i.e. the rasa x command) telemetry.

  • The Annotate Entities popup can also handle synonyms now.

  • The Rasa X Helm chart now uses subcharts for postgresql, redis, and rabbitmq. It is recommended to create a backup of the database and the models before upgrading. Please revisit the configuration values for the chart since some of them changed.

  • Using Duckling in the Rasa X Helm chart is now optional.

  • You can now use an external volume claim for the Rasa X deployment in the Rasa X Helm chart.

  • The lockstore database used by the rasa deployments in the Rasa X Helm chart can now be configured with .Values.rasa.lockStoreDatabase

  • User messages are no longer rendered as Markdown

  • Rasa X only searches for new local models during startup. Models trained in Rasa X or uploaded via the API will show up right away as before.

Deprecations and Removals

  • Removed logger container from docker-compose deployment. Logs can still be viewed using the docker-compose logs command.

  • In case credentials are not specified in the Rasa X Helm chart they are not longer auto-generated to avoid problems when upgrading the chart. Please override the default values or use external secrets to provide the credentials.

[0.23.6] - 2020-01-07


  • Pin sanic patch version instead of minor version. Fixes sanic _run_request_middleware() error.


  • Query parameter exclude_leading_action_session_start to API endpoint GET /conversations/<conversation_id>. If True, a leading event ActionExecuted ("action_session_start") will be excluded from the list of events in the tracker. The parameter defaults to False.

[0.23.5] - 2019-12-18


  • Fixed problem when using another target branch than master with the Integrated Version Control Feature which led to Rasa X checking out master and to problems when discarding changes.

  • Support for conversation sessions in interactive learning.

[0.23.4] - 2019-12-12


  • The endpoints.yml event broker config is only loaded when run in a Docker environment.

  • Added python3-distutils to the script to resolve dependency issues.

  • Pin multidict dependency to 4.6.1 to prevent sanic from breaking, see .


  • The GET /conversations/<id> and GET /conversations/<id>/messages now include Rasa events metadata in their responses. The event metadata always includes the Rasa X database ID for the event.

[0.23.3] - 2019-12-06


  • All responses to CORS preflight requests now set the Access-Control-Max-Age header to 30 minutes (this can be configured by using the SANIC_ACCESS_CONTROL_MAX_AGE environment variable).

  • JWT token expiration time can now be configured by using the JWT_EXPIRATION_TIME environment variable.


  • Fixed compatibility issues with Rasa X 0.23 and OpenShift.

  • Fixed database pod crash due to wrong permissions after a helm upgrade.

  • Fixed new pods stuck after helm upgrade due to volume attach issues.

  • Fixed ImportError when using Integrad Version Control in environments where git is not available.

  • NLU training data for the same intent will now be dumped to the same file.


  • POST /projects/<project_id>/synonyms/<synonym_id no longer throws an error when trying to map values which have been previously mapped or are repeated.

  • POST /projects/<project_id>/synonyms/<synonym_id no longer throws an error in case values are mapped which equal the synonym they are mapped to.

  • Upgraded postgres container to 11.3.0

[0.23.2] - 2019-11-29


  • Added the ability to create SAML users on the command line using the script. The command is sudo python create-saml admin NAMEID, where NAMEID should be the expected name ID SAML property of the user.


  • Fixed the created branch’s name not being updated after a first commit in Integrated version control

  • Use correct Bearer authorization header in the documentation for adding a Git repository to Rasa X.


  • Log events on the Conversations screen to better understand the user experience. NOTE: These events are dropped by the server unless telemetry is enabled.

Deprecations and Removals

  • Removed attributes column in rasa_x_user SQL table (this is not needed for SAML authentication).

[0.23.1] - 2019-11-28


  • Fixed failing helm upgrade when appVersion was changed. If the upgrade fails with an error message such as:

    Error: UPGRADE FAILED: cannot patch "rasa-app" with kind Deployment: Deployment.apps "rasa-app" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"":"rasa", "":"Helm", "":"rasa-x", "":"0.23.0", "":"app-deployment.yaml", "":"rasa-x-0.23.0"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable && cannot patch

    The following workaround can be used to upgrade:

    kubectl delete deployment --namespace <rasa namespace> -l<rasa release name>

    After the upgrade the issue should not happen anymore.

  • Fixed an issue where the Conversations screen would attempt to fetch a single conversation rather than retrieving the list of further conversations

[0.23.0] - 2019-11-26


  • Add command line argument rasa x --config CONFIG, to specify path to the policy and NLU pipeline configuration of your bot. (default: config.yml)

  • Added PUT /users/<username> endpoint which allows users to update their data attribute.

  • Helm chart variable nginx.annotations to configure annotations on the nginx service.

  • Kafka event consumer. The event broker configuration is loaded from the event_broker section in endpoints.yml. See the Rasa Kafka event broker docs for an overview of configuration parameters.

  • Added Integrated Version Control while on server mode as an experimental feature.

  • Add experimental support for Integrated Version Control. Please see the documentation for instructions on how to activate and use this feature.

  • Custom response data is now displayed in Conversation screens


  • Fixed coroutine 'mark_latest_as_production' was never awaited warning.

  • Partial permission grants against a subset of attributes are now no longer retained when a more permissive grant against that resource / action is created

  • Responses no longer displays the last selected response template when all items are either deleted or removed by search


  • The POST /synonyms/<entity_synonym_id> endpoint now returns the created mapped values on success.

  • Message buttons now continue to show after they are relevant, but are disabled.

  • A placeholder is now displayed on “Talk to your bot” page when no model is trained

  • A model will only be marked as production automatically in case there is currently no other model marked as production.

  • Order of returned permissions is now fixed (alphabetized), so related behaviour should be more predictable.

  • Added warnings and improved error handling on the Training Data screen to identify out-of-bounds entity annotation

[0.22.2] - 2019-11-08


  • Environment variable RUN_EVENT_CONSUMER_AS_SEPARATE_SERVICE to determine whether the event consumer is run as a separate Docker service. If true, Rasa X will not launch the event service, and expects that it is run in a separate container (recommended for setups that experience high message load). If false or unset, Rasa X will launch the event service automatically as a subprocess.

  • In server mode the event consumer will expose an HTTP endpoint GET /health that indicates readiness (status code 200). The port can be further defined using the SELF_PORT environment variable (5673 by default).


  • Changed Sanic response timeout to 1h in order to prevent errors when training models with a lot of training data.

  • Rasa X no longer gets stuck in migrations which are required to work with Oracle.

  • Fixed error with Oracle databases when creating table entity_synonym_value.


  • The POST /synonyms/<entity_synonym_id> endpoint now returns the created mapped values on success.

  • Fixed outdated deployment documentation.

[0.22.1] - 2019-10-29


  • Messages are no longer duplicated when copying to Interactive Learning

  • Entity Annotation now truncates leading / trailing spaces

  • Fixed bug that stopped story visualization tab from rendering

[0.22.0] - 2019-10-22


  • Added Python 3.7 support.

  • Show “Conversation started on…” at top of Conversations to make the order of messages clearer.

  • Intent / Entity / Action filters are now searchable

  • Highlight words on hover in NLU Training data to indicate that they can be annotated

  • Users can now follow a 4 steps hints tutorial on the conversations screen

  • Support for loading and annotating examples with retrieval intents (see the Rasa docs on retrieval actions). Training models using NLU data that contains retrieval intents is not supported, and has do be done using the CLI (rasa train).


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

  • Corrected indentation for additionalChannelCredentials in the Helm chart.

  • Users stay in interactive learning after making a correction if they were beforehand.


  • Filtering Conversations by Date now has a dedicated dropdown outside of the filters panel

  • API endpoint to upload a Rasa model config now accepts the config as plain YAML (PUT /settings). The endpoint returns the saved config as plain YAML.

  • API endpoint to fetch the Rasa model config (GET /settings) returns the config as plain YAML.

  • Conversation filter bar is now always visible, whether or not filters are applied

  • Move to tippy.js@5

  • The Helm chart now has an option to configure an external secret instead of using a generated one. See the docs for more details.

  • The initial delays for liveness and readiness probes in the Helm chart are now configurable.

Deprecations and Removals

  • Removed support for Python 3.5.

  • Removed Conversation filter options for Policy and Maximum Confidence

[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.

Deprecations and Removals

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

[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

[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>/ to download the NLU training data as markdown file

  • added new endpoints for entity synonyms management (GET /synonyms, POST /synonyms, GET /synonyms/<entity_synonym_id>, POST /synonyms/<entity_synonym_id>, PUT /synonyms/<entity_synonym_id>, DELETE /synonyms/<entity_synonym_id>, PUT /synonyms/<entity_synonym_id>/<entity_synonym_value_id>, DELETE /synonyms/<entity_synonym_id>/<entity_synonym_value_id>)


  • 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

Deprecations and Removals

  • 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 Enterprise 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 Enterprise 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 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 (, 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 Enterprise

  • using newer rabbitmq image which fixes

[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