# Rasa Change Log

All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/) starting with version 1.0.

## [Unreleased 1.4.7]

### Added

### Changed

### Removed

### Fixed

## [1.4.6] - 2019-11-22

### Fixed

- Fixed Rasa X not working when any tracker store was configured for Rasa.
- Use the matplotlib backend `agg` in case the `tkinter` package is not installed.

## [1.4.5] - 2019-11-14

### Fixed

- NLU-only models no longer throw warnings about parsing features not defined in the domain
- Fixed bug that stopped Dockerfiles from building version 1.4.4.
- Fixed format guessing for e2e stories with intent restated as `/intent`

## [1.4.4] - 2019-11-13

### Added

- `PikaEventProducer` adds the RabbitMQ `App ID` message property to published messages with the value of the `RASA_ENVIRONMENT` environment variable. The message property will not be assigned if this environment variable isn’t set.

### Changed

- Updated Mattermost connector documentation to be more clear.
- Updated format strings to f-strings where appropriate.
- Updated tensorflow requirement to `1.15.0`
- Dump domain using UTF-8 (to avoid `\UXXXX` sequences in the dumped files)

### Fixed

- Fixed exporting NLU training data in `json` format from `rasa interactive`
- Fixed numpy deprecation warnings

## [1.4.3] - 2019-10-29

### Fixed

- Fixed `Connection reset by peer` errors and bot response delays when using the RabbitMQ event broker.

## [1.4.2] - 2019-10-28

### Removed

- TensorFlow deprecation warnings are no longer shown when running `rasa x`

### Fixed

- Fixed `'Namespace' object has no attribute 'persist_nlu_data'` error during interactive learning
- Pinned networkx~=2.3.0 to fix visualization in rasa interactive and Rasa X
- Fixed `No model found` error when using `rasa run actions` with “actions” as a directory.

## [1.4.1] - 2019-10-22

Regression: changes from `1.2.12` were missing from `1.4.0`, readded them.

## [1.4.0] - 2019-10-19

### Added

- add flag to CLI to persist NLU training data if needed
- log a warning if the `Interpreter` picks up an intent or an entity that does not exist in the domain file.
- added `DynamoTrackerStore` to support persistence of agents running on AWS
- added docstrings for `TrackerStore` classes
- added buttons and images to mattermost.
- `CRFEntityExtractor` updated to accept arbitrary token-level features like word vectors (issues/4214)
- `SpacyFeaturizer` updated to add `ner_features` for `CRFEntityExtractor`
- Sanitizing incoming messages from slack to remove slack formatting

### Changed

- Unknown sections in markdown format (NLU data) are not ignored anymore, but instead an error is raised.
- It is now easier to add metadata to a `UserMessage` in existing channels.
- Tests can now be run in parallel.
- Serialise `DialogueStateTracker` as json instead of pickle. **DEPRECATION warning**: Deserialization of pickled trackers will be deprecated in version 2.0.
- Event brokers are now also passed to custom tracker stores (using the `event_broker` parameter).
- Don’t run the Rasa Docker image as `root`.
- Use multi-stage builds to reduce the size of the Rasa Docker image.
- Updated the `/status` api route to use the actual model file location instead of the `tmp` location.

### Removed

- **Removed Python 3.5 support**

### Fixed

- fixed missing `tkinter` dependency for running tests on Ubuntu
- fixed issue with `conversation` JSON serialization
- fixed the hanging HTTP call with `ner_duckling_http` pipeline
- fixed Interactive Learning intent payload messages saving in nlu files
- fixed DucklingHTTPExtractor dimensions by applying to the request.

## [1.3.10] - 2019-10-18

### Added

- Can now pass a package as an argument to the `--actions` parameter of the `rasa run actions` command.

### Fixed

- Fixed visualization of stories with entities which led to a failing visualization in Rasa X.

## [1.3.9] - 2019-10-10

### Added

- Port of 1.2.10 (support for RabbitMQ TLS authentication and `port` key in event broker endpoint config).
- Port of 1.2.11 (support for passing a CA file for SSL certificate verification via the –ssl-ca-file flag).

### Fixed

- Fixed the hanging HTTP call with `ner_duckling_http` pipeline.
- Fixed text processing of `intent` attribute inside `CountVectorFeaturizer`.
- Fixed `argument of type 'NoneType' is not iterable` when using `rasa shell`, `rasa interactive` / `rasa run`.

## [1.3.8] - 2019-10-08

### Changed

- Policies now only get imported if they are actually used. This removes TensorFlow warnings when starting Rasa X.

### Fixed

- Fixed error `Object of type 'MaxHistoryTrackerFeaturizer' is not JSON serializable` when running `rasa train core`.
- Default channel `send_` methods no longer support kwargs as they caused issues in incompatible channels.

## [1.3.7] - 2019-09-27

### Fixed

- re-added TLS, SRV dependencies for PyMongo
- socketio can now be run without turning on the `--enable-api` flag
- MappingPolicy no longer fails when the latest action doesn’t have a policy.

## [1.3.6] - 2019-09-21

### Added

- Added the ability for users to specify a conversation id to send a message to when using the `RasaChat` input channel.

## [1.3.5] - 2019-09-20

### Fixed

- Fixed issue where `rasa init` would fail without spaCy being installed.

## [1.3.4] - 2019-09-20

### Added

- Added the ability to set the `backlog` parameter in Sanics `run()` method using the `SANIC_BACKLOG` environment variable. A default value of 100 is used if the variable is not set.
- Status endpoint (`/status`) now also returns the number of training processes currently running.

### Fixed

- Added the ability to properly deal with spaCy `Doc`-objects created on empty strings.
- asyncio warnings are now only printed if the callback takes more than 100ms.
- `agent.load_model_from_server` no longer affects logging.

### Changed

- The endpoint `POST /model/train` no longer supports specifying an output directory for the trained model using the field `out`.

## [1.3.3] - 2019-09-13

### Fixed

- Added a check to avoid training `CountVectorizer` for a particular attribute of a message if no text is provided for that attribute across the training data.

## [1.3.2] - 2019-09-10

### Fixed

- SQL tracker events are retrieved ordered by timestamps. This fixes interactive learning events being shown in the wrong order.

## [1.3.1] - 2019-09-09

### Changed

- Pin gast to == 0.2.2.

## [1.3.0] - 2019-09-05

### Added

- Added option to persist nlu training data (default: False).
- option to save stories in e2e format for interactive learning.
- bot messages contain the `timestamp` of the `BotUttered` event.
- `FallbackPolicy` can now be configured to trigger when the difference between confidences of two predicted intents is too narrow.
- experimental training data importer which supports training with data of multiple sub bots.
- add example bot `knowledgebasebot` to showcase the usage of `ActionQueryKnowledgeBase`.
- `softmax` starspace loss for both `EmbeddingPolicy` and `EmbeddingIntentClassifier`.
- `max_history` parameter for `EmbeddingPolicy`.
- Successful predictions of the NER are written to a file if `--successes` is set when running `rasa test nlu`.

### Changed

- Added character-level `CountVectorsFeaturizer` with empirically found parameters into the `supervised_embeddings` NLU pipeline template.

### Fixed

- Fixed missing implementation of the `keys()` function for the Redis Tracker Store.

## [1.1.1] - 2019-06-13

### Fixed

- Fixed compatibility with Rasa SDK.
- bot responses can contain `custom` messages besides other message types.

##   
👋 I can help you get started with Rasa and answer your technical questions.

##
