Changelog

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

[0.18.0] - 2019-04-30

This is a major update, please read the migration instructions in the Migration Guide.

Added

  • API endpoint to bulk upload and replace bot responses at PUT /responses
  • Instructions how to deploy the Rasa Platform on OpenShift / Kubernetes

Changed

  • support Core 0.14.0
  • nginx container now using image bitnami/nginx
  • mongodb container now using image bitnami/mongodb
  • rabbitmq container now using image bitnami/rabbitmq
  • updated docker file for event-service,``platform-api`` and test-integration, app folder is now owned by group root. This allow the container to run in Openshift
  • nginx now listening to port 8080 and 8443

Fixed

  • the deployment environment configuration is properly read from environments.yml

[0.18.0b1] - 2019-03-29

Added

  • API endpoint to retrieve NLU training examples by the MD5 hash of their text field at GET /projects/<project_id>/data/<md5_hash>
  • API endpoint to retrieve NLU suggestions by the MD5 hash of their text field at GET /projects/<project_id>/logs/<md5_hash>
  • persistence of lookup tables and entity synonyms in uploaded NLU training data
  • annotator account role that can annotate conversations
  • support for temporary intents & user goals
  • endpoint to query intents
  • support for adding correct labels to conversation messages
  • BREAKING support for multiple Rasa Core services running different models
  • endpoints to save and retrieve environment configurations at GET /environments and PUT /environments
  • endpoint to retrieve a combined list of NLU and Core models at GET /projects/<project_id>/models
  • add environment variable RABBITMQ_DISK_FREE_LIMIT to docker compose file, this prevents the pod from running out of ephemeral storage
  • API endpoint to retrieve roles and their associated permissions at GET /roles
  • API endpoint to list all users at GET /users
  • API endpoints for user role management: GET /users/<username>/roles to list the user’s roles (currently only one role is supported), PUT /users/<username>/roles/<role> to set the user’s role to role and DELETE /users/<username>/roles/<role> to remove role from the user
  • HTTP endpoint to update the current user’s username at PATCH /user

Changed

  • replaced pytest-pep8 with pytest-pycodestyle
  • timestamp field from GET /models/CORE(NLU) renamed to trained_at, reflecting the trained_at entry in both Core and NLU model metadata
  • Tracker dump files can be requested using the Accept header at the GET /conversations/<sender_id> endpoint. For a markdown file, use Accept: text/markdown. For a json file, use Accept: application/json. If unspecified, the endpoint returns the json-formatted tracker (not as a file).
  • Changed platform-ui port. Now exposes 80:8080. This is to prepare to merge the non-root containers
  • renamed HTTP endpoint GET /users/me to GET /user
  • renamed HTTP endpoint POST /users/me/password to POST /user/password

Removed

Fixed

  • bug in the conversation analytics which displayed the same number of user messages as bot messages

[0.17.1] - 2018-12-17

Fixed

  • regex features are replaced on upload and can be used during training
  • users with user account roles are able to log in

[0.17.0] - 2018-12-04

This is a major new version which adds support for Rasa Core 0.12. The Rasa Core and NLU containers are now the open source ones available from docker hub. Since the docker-compose.yml and .env files have changed, we recommend you update by fetching and running the latest version of the install script (see platform installation docs). important Since there is a major version change in Rasa Core, you should re-train your model with Rasa Core 0.12 and upload it

Added

  • User analytics endpoints at /analytics
  • query parameters start, until, policies, minimumUserMessages, policies, maximumConfidence at GET /conversations endpoint
  • Endpoints to fetch conversation metadata on unique actions, intents, entities and policies. These are /conversationActions, /conversationIntents, /conversationEntities, /conversationPolicies
  • support for emojis in training data
  • add endpoint to flag user conversations
  • Migrations for conversations metadata which did not yet include fields like intents, and actions
  • Conversation filtering UI

Changed

  • Change in docker-compose.yml
  • Use open source Docker containers for Rasa Core and Rasa NLU
  • Bump rasa_core to v0.12
  • Bump rasa_core_sdk to v0.12
  • Bump demobot to v0.17
  • no-root Dockerfiles
  • UI improvements
  • Update nginx configurations. Workers set to auto, more connections per worker, tuned connections timeouts.

Removed

Fixed

  • Large NLU datasets do not fail with CancelledError anymore

[0.16.8] - 2018-11-06

Changed

  • Increased worker_connections and worker_rlimit_nofile to 2048 to handle higher traffic.

Fixed

  • Crash on NLU inbox
  • Separation between NLU and Core models

[0.16.7] - 2018-11-02

Added

  • Creating interactive learning sessions from existing conversations

Changed

  • Remove tolerance added to “until” timestamp when querying conversations
  • GET /conversations endpoint supports new query parameters, allowing filtering by user utterances, intents, entities, actions and whether the conversation appears in the training data. Supports sorting conversations by their minimum action confidence for those that aren’t in the training, and sorting by the latest activity of the conversation.
  • Use entities endpoint instead of reducing list of possible entities from available data.

Fixed

  • Handling null intents
  • Buggy first line when adding new Suggestions manually

[0.16.6] - 2018-10-23

Fixed

  • Scrolling bug in nlu data table
  • Bug where asterisks in passwords were ignored when creating a new user login on the command line.

[0.16.5] - 2018-10-15

Added

  • endpoint at /projects/<project_id>/entities that returns a list of unique entities in the training data

Changed

  • all NLU and Core model endpoints are available at /projects/<project_id>/models/nlu and /projects/<project_id>/models/core
  • updated NLU, Core, Core SDK versions
  • Interactive learning UI

Removed

Fixed

  • UI bug fixes

[0.16.4] - 2018-10-05

Added

  • users can choose to enable experimental features
  • experimental support for interactive learning UI

Changed

  • uses Rasa Core 0.11.11 which contains fixes for tensorflow compatibility

Fixed

  • properly migrate events that have been persisted by rasa core <= 0.10
  • Minor tensorflow release broke compatibility, and bugfixes were released on Rasa Core master and Rasa Core 0.11 branch. This updates the demo bot to be compatible.

[0.16.3] - 2018-10-04

Fixed

  • migration of old pickeled rasa core events to the json format is now done properly

[0.16.2] - 2018-09-28

Added

  • admin endpoint at GET /api/logs?api_token=<your_api_token> that returns the logs of the platform instance as a zip file
  • docs on deploying custom Rasa Core and Rasa NLU code
  • added a feature for deleting users through rasa_commands without having to go through the MongoDB container

[0.16.1] - 2018-09-26

Changed

  • updated docker containers to use the latest rasa core bugfix release (0.11.7)

[0.16.0] - 2018-09-19

This is a major update, please read the migration instructions in the Migration Guide.

Added

  • major version change to support Rasa Core 0.11.4+ and Rasa NLU 0.13.3+.
  • ability to configure the name of the authenticationDatabase used by mongo using MONGO_AUTHDB env var
  • core and NLU model APIs at /models/<project>/core and /models/<project>/nlu. See the full API docs at Models API
  • Endpoint that delegates user messages to a specific Rasa Core environment POST /conversations/<user_id>/messages, with a query parameter environment (default value: production). Example: POST /conversations/myid/messages?environment=development.

Changed

  • POST /stories endpoint accepts plain text (<STORY>) instead of a {'story': <STORY>} object
  • GET /api/version endpoint no longer requires auth
  • Rasa NLU model training can now be initiated at POST /models/<project>/nlu/jobs
  • Consistent Core and NLU tagging scheme. The endpoints are (examples given for
    core, replace base with /models/<project>/nlu for NLU endpoints):
  • add tag: PUT /models/<project>/core/<model_name>/tags/<mytag>
  • delete tag: DELETE /models/<project>/core/<model_name>/tags/<mytag>
  • get model for tag GET /models/<project>/core/tags/<mytag>
  • get model by name GET /models/<project>/core/<model_name>
  • GET /conversations returns a list of conversation metadata containing the fields sender_id, latest_event_time and latest_input_channel

Example request:

$ curl platform-server.com/api/conversations?api_token=<TOKEN> | python -m json.tool

Example response:

[
  {
    "sender_id": "user_1",
    "latest_event_time": 1537345401.394812,
    "latest_input_channel": "rasa"
  },
  {
    "sender_id": "8a513b01b4924c4986f424686771a501",
    "latest_event_time": 1537345428.457986,
    "latest_input_channel": "facebook"
  }
]

Removed

  • support for until_time and history query parameter at GET /statistics endpoint

Fixed

[0.15.5] - 2018-08-28

Added

  • URL field queries to include or exclude fields from query result

User can specify which fields they want to include in the returned object, using one or more fields query parameters. A story object has a name key, which means that GET /stories?fields[name]=true would return only the name s of the stories.

To query nested attributes, use syntax similar to python dictionaries. For example, a log object has the following structure: {"user_input": {"intent": {"name": "greet",...}}}. So to find all the unique intent values in the data, query: ?fields[user_input][intent][name]=true. By default this only returns distinct values for the requested field. This can be turned off by passing distinct=false as an extra query parameter. - supported by endpoints /responses, /stories, /logs, /data

Changed

  • maximum upload filesize increased to 800Mb
  • improved rendering of long messages in /data tables
  • improved rendering of long slots in conversations view
  • conversations view moved to top, now default view.
  • /api/version endpoint no longer requires authentication

Removed

Fixed

  • fixed issue where tensorflow training would hang
  • fixed issue where not all intents would show up in dropdown in /data/new
  • fixed bug with uploading markdown training data
  • fixed description in docs for how to upload a rasa core model
  • display user messages with multiple intents linked by OR naturally

[0.15.4] - 2018-08-21

Added

Changed

  • Disable save button on model configuration page if there are no changes

Removed

  • Markdown syntax highlighting (broken for in-word emphasis which we use a lot)

Fixed

  • Allow setting images as part of bot templates (as allowed in the domain file, specifying the image URL)
  • Action bubbles truncate properly in conversations
  • Message buttons display again in conversations

[0.15.3] - 2018-08-13

Added

  • endpoint at GET /stories.md for downloading Rasa Core stories in bulk as markdown file
  • POST /stories endpoint supports uploading bulk stories in an md file
  • GET/POST api/responses endpoints for downloading/uploading nlg templates now support api_token
  • docs on running custom NLU containers

Changed

  • POST /stories endpoint accepts plain text (<STORY>)

instead of a {'story': <STORY>} object - GET /api/version endpoint no longer requires auth - NLU are created from Rasa Core’s event stream - logs can be manually added py POST``ing a text query as a json payload to ``/api/projects/<project>/logs - deletion of NLU logs at DELETE /api/projects/<project>/logs/<log_id> Removed ——-

Fixed

  • --update option to change a user’s password in the rasa_commands.py script
  • Models view shrinking to nothing on some small screens
  • Default secret for JWTs
  • Refresh training data is view when you upload new training data
  • endpoint at GET /stories.md for downloading Rasa Core stories in bulk as markdown file
  • POST /stories endpoint supports uploading bulk stories in an md file
  • GET/POST api/responses endpoints for downloading/uploading nlg templates now support api_token

Removed

[0.15.2] - 2018-08-06

Added

  • API endpoints for uploading, modifying and deleting Rasa Core stories at /api/stories
  • Pagination query parameters for bot responses and models (and improved the docs)
  • Infinite scrolling for all lists

Changed

  • No default limit for GETing data, logs and responses
  • Uses Rasa Core commit 1e00dae21362b205682f87123045eabf67ab2ec8
  • Uses Rasa NLU commit b08ad19fe02368a4d8266d9bb108e406aa07c249
  • Improved swagger documentation including documenting authentication in many spec files.

Fixed

  • Total counts for data and logs

Removed

[0.15.1] - 2018-07-28

Added

Changed

Use updated docs theme

Removed

[0.15.0] - 2018-07-27

Added

  • Endpoints for managing bot responses.
  • X-Total-Count header to many endpoints to help pagination.
  • Ability to search and filter on /data and /logs on the server side.
  • Endpoint to update training examples.
  • Endpoint to find the versions of services running.

Changed

  • Unified Platform API available at /api.
  • Unified and vastly improved API docs.
  • Refactored almost all the underlying APIs!
  • Moved from generating random tokens to authenticating on JWTs.
  • Data is now typed from API to render in the UI

Fixed

  • Model evaluation crashing when an intent equals None
  • Many endpoints being quite esoteric/not-RESTful
  • Handle token timeouts transparently in UI

Removed

  • Dependency of Rasa applications on rasa_extensions. The RasaChatInput component is provided by rasa_core==0.10.2.

[0.14.6] - 2018-07-12

Added

  • View conversations as their associated story in preparation for saving them as test cases

Changed

Fixed

Removed

[0.14.5] - 2018-06-29

Added

  • global travis variables for NLU and Core commit, spaCy and tensorflow versions
  • get travis to test pep8
  • add manage_user script to the NLU API dockerfile

Changed

  • backend is served from a single repository
  • Docker containers have custom requirements

Fixed

  • login redirects in ui

Removed