Rasa X Changelog

[0.21.4] - 2019-10-10

Added

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

Fixed

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

Removed

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

[0.21.3] - 2019-10-03

Fixed

  • 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

Added

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

Fixed

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

[0.21.1] - 2019-09-26

Fixed

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

[0.21.0] - 2019-09-24

Added

  • 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

Fixed

  • 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

Changed

  • 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

Removed

  • 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

  • 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

  • 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

Fixed

  • 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

  • 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

Added

  • 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

  • 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

Changed

  • 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

Added

  • 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

Fixed

  • 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

Changed

  • 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

Added

  • 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

Fixed

  • 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

Changed

  • 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

Fixed

  • bug which removed logging handlers

[0.19.4] - 2019-07-09

Fixed

  • bug which suppressed the logging for Rasa X

Changed

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

[0.19.3] - 2019-07-05

Added

  • 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

Fixed

  • 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)

Changed

  • 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

Fixed

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

[0.19.1] - 2019-06-13

Added

  • 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

Fixed

  • 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

Changed

  • 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

Added

  • 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

Fixed

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

Changed

  • moved NLG and template API from /responses to /templates
  • use decorator for json schema validations