Rasa

Latest version: v3.6.21

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 31 of 51

2.5.1

Not secure
Bugfixes
- [8446](https://github.com/rasahq/rasa/issues/8446): Fixed prediction for rules with multiple entities.
- [8545](https://github.com/rasahq/rasa/issues/8545): Mitigated Matplotlib backend issue using lazy configuration
and added a more explicit error message to guide users.

2.5.0

Not secure
Deprecations and Removals
- [8141](https://github.com/rasahq/rasa/issues/8141): The following import abbreviations were removed:
* `rasa.core.train`: Please use `rasa.core.train.train` instead.
* `rasa.core.visualize`: Please use `rasa.core.visualize.visualize` instead.
* `rasa.nlu.train`: Please use `rasa.nlu.train.train` instead.
* `rasa.nlu.test`: Please use `rasa.nlu.test.run_evaluation` instead.
* `rasa.nlu.cross_validate`: Please use `rasa.nlu.test.cross_validate` instead.

Features
- [7869](https://github.com/rasahq/rasa/issues/7869): Upgraded Rasa to be compatible with spaCy 3.0.

This means that we can support more features for more languages but there are also a few changes.

SpaCy 3.0 deprecated the `spacy link <language model>` command so that means that from now on [the
full model name](https://spacy.io/models) needs to be used in the `config.yml` file.

**Before**

Before you could run `spacy link en en_core_web_md` and then we would be able
to pick up the correct model from the `language` parameter.

yaml
language: en

pipeline:
- name: SpacyNLP


**Now**

This behavior will be deprecated and instead you'll want to be explicit in `config.yml`.

yaml
language: en

pipeline:
- name: SpacyNLP
model: en_core_web_md


**Fallback**

To make the transition easier, Rasa will try to fall back to a medium spaCy model when-ever
a compatible language is configured for the entire pipeline in `config.yml` even if you don't
specify a `model`. This fallback behavior is temporary and will be deprecated in Rasa 3.0.0.

We've updated our docs to reflect these changes. All examples now show a direct link to the
correct spaCy model. We've also added a warning to the [SpaCyNLP](components.mdxspacynlp)
docs that explains the fallback behavior.

Improvements
- [4280](https://github.com/rasahq/rasa/issues/4280): Improved CLI startup time.
- [4596](https://github.com/rasahq/rasa/issues/4596): Add `augmentation` and `num_threads` arguments to API `POST /model/train`

Fix boolean casting issue for `force_training` and `save_to_default_model_directory` arguments
- [7477](https://github.com/rasahq/rasa/issues/7477): Add minimum compatible version to --version command
- [7660](https://github.com/rasahq/rasa/issues/7660): Updated warning for unexpected slot events during prediction time to Rasa Open Source
2.0 YAML training data format.
- [7701](https://github.com/rasahq/rasa/issues/7701): Hide dialogue turns predicted by `RulePolicy` in the tracker states
for ML-only policies like `TEDPolicy`
if those dialogue turns only appear as rules in the training data and do not appear in stories.

Add `set_shared_policy_states(...)` method to all policies.
This method sets `_rule_only_data` dict with keys:
- `rule_only_slots`: Slot names, which only occur in rules but not in stories.
- `rule_only_loops`: Loop names, which only occur in rules but not in stories.

This information is needed for correct featurization to hide dialogue turns that appear only in rules.
- [8208](https://github.com/rasahq/rasa/issues/8208): Faster reading of YAML NLU training data files.
- [8335](https://github.com/rasahq/rasa/issues/8335): Added partition_by_sender flag to [Kafka Producer](event-brokers.mdx#kafka-event-broker) to optionally associate events with Kafka partition based on sender_id.

Bugfixes
- [7260](https://github.com/rasahq/rasa/issues/7260): Fixed the 'loading model' message which was logged twice when using `rasa run`.
- [7379](https://github.com/rasahq/rasa/issues/7379): Change training data validation to only count nlu training examples.
- [7450](https://github.com/rasahq/rasa/issues/7450): Rule tracker states no longer include the initial value of slots.
Rules now only require slot values when explicitly stated in the rule.
- [7640](https://github.com/rasahq/rasa/issues/7640): `rasa test`, `rasa test core` and `rasa test nlu` no longer show temporary paths
in case there are issues in the test files.
- [7690](https://github.com/rasahq/rasa/issues/7690): Resolved memory problems with dense features and `CRFEntityExtractor`
- [7916](https://github.com/rasahq/rasa/issues/7916): Handle empty intent and entity mapping in the `domain`.

There is now an InvalidDomain exception raised if in the `domain.yml` file there are empty intent or entity mappings.
An example of empty intent and entity mappings is the following :
yaml-rasa
intents:
- greet:
- goodbye:

entities:
- cuisine:
- number:

- [8102](https://github.com/rasahq/rasa/issues/8102): Fixed a bug in a form where slot mapping doesn't work if the predicted intent name is substring for another intent name.
- [8114](https://github.com/rasahq/rasa/issues/8114): Fixes bug where stories could not be retrieved if entities had no start or end.
- [8178](https://github.com/rasahq/rasa/issues/8178): Catch ChannelNotFoundEntity exception coming from the pika broker and raise as ConnectionException.
- [8337](https://github.com/rasahq/rasa/issues/8337): Fix bug with NoReturn throwing an exception in Python 3.7.0 when running `rasa train`
- [8382](https://github.com/rasahq/rasa/issues/8382): Throw `RasaException` instead of `ValueError` in situations when environment variables
specified in YAML cannot be expanded.
- [8343](https://github.com/rasahq/rasa/issues/8343): Updated python-engineio version for compatibility with python-socketio

Miscellaneous internal changes
- [6511](https://github.com/rasahq/rasa/issues/6511), [#7640](https://github.com/rasahq/rasa/issues/7640), [#7827](https://github.com/rasahq/rasa/issues/7827), [#8056](https://github.com/rasahq/rasa/issues/8056), [#8117](https://github.com/rasahq/rasa/issues/8117), [#8141](https://github.com/rasahq/rasa/issues/8141), [#8240](https://github.com/rasahq/rasa/issues/8240)

2.4.3

Not secure
Bugfixes
- [8114](https://github.com/rasahq/rasa/issues/8114): Fixes bug where stories could not be retrieved if entities had no start or end.

2.4.2

Not secure
Bugfixes
- [7835](https://github.com/rasahq/rasa/issues/7835): Fix `UnicodeException` in `is_key_in_yaml`.
- [8258](https://github.com/rasahq/rasa/issues/8258): Fixed the bug that events from previous conversation sessions would be re-saved in the [`SQLTrackerStore`](tracker-stores.mdx#sqltrackerstore) or [`MongoTrackerStore`](tracker-stores.mdxmongotrackerstore) when `retrieve_events_from_previous_conversation_sessions` was true.

2.4.1

Not secure
Bugfixes
- [8194](https://github.com/rasahq/rasa/issues/8194): Fix `TEDPolicy` training e2e entities when no entities are present in the stories
but there are entities in the domain.
- [8198](https://github.com/rasahq/rasa/issues/8198): Fixed missing model configuration file validation.
- [8223](https://github.com/rasahq/rasa/issues/8223): In Rasa 2.4.0, support for using `template` in `utter_message` when handling a custom action was wrongly deprecated. Both `template` and `response` are now supported, though note that `template` will be deprecated at Rasa 3.0.0.

2.4.0

Not secure
Deprecations and Removals
- [6484](https://github.com/rasahq/rasa/issues/6484): NLG Server
- Changed request format to send `response` as well as `template` as a field. The `template` field will be removed in Rasa Open Source 3.0.0.

`rasa.core.agent`
- The terminology `template` is deprecated and replaced by `response`. Support for `template` from the NLG response will be removed in Rasa Open Source 3.0.0. Please see [here](nlg.mdx) for more details.

`rasa.core.nlg.generator`
- `generate()` now takes in `utter_action` as a parameter.
- The terminology `template` is deprecated and replaced by `response`. Support for `template` in the `NaturalLanguageGenerator` will be removed in Rasa Open Source 3.0.0.

`rasa.shared.core.domain`
- The property `templates` is deprecated. Use `responses` instead. It will be removed in Rasa Open Source 3.0.0.
- `retrieval_intent_templates` will be removed in Rasa Open Source 3.0.0. Please use `retrieval_intent_responses` instead.
- `is_retrieval_intent_template` will be removed in Rasa Open Source 3.0.0. Please use `is_retrieval_intent_response` instead.
- `check_missing_templates` will be removed in Rasa Open Source 3.0.0. Please use `check_missing_responses` instead.

Response Selector
- The field `template_name` will be deprecated in Rasa Open Source 3.0.0. Please use `utter_action` instead. Please see [here](components.mdxselectors) for more details.
- The field `response_templates` will be deprecated in Rasa Open Source 3.0.0. Please use `responses` instead. Please see [here](components.mdxselectors) for more details.

Improvements
- [7022](https://github.com/rasahq/rasa/issues/7022): The following endpoints now require the existence of the conversation for the specified conversation ID, raising an exception and returning a 404 status code.

* `GET /conversations/<conversation_id:path>/story`

* `POST /conversations/<conversation_id:path>/execute`

* `POST /conversations/<conversation_id:path>/predict`
- [7438](https://github.com/rasahq/rasa/issues/7438): Simplify our training by overwriting `train_step` instead of `fit` for our custom models.

This allows us to use the build-in callbacks from Keras, such as the
[Tensorboard Callback](https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/TensorBoard),
which offers more functionality compared to what we had before.

:::warning
If you want to use Tensorboard for `DIETClassifier`, `ResponseSelector`, or `TEDPolicy` and log metrics after
every (mini)batch, please use 'batch' instead of 'minibatch' as 'tensorboard_log_level'.
- [7578](https://github.com/rasahq/rasa/issues/7578): When `TED` is configured to extract entities `rasa test` now evaluates them against the labels in the test stories. Results are saved in `/results` along with the results for the NLU components that extract entities.
- [7680](https://github.com/rasahq/rasa/issues/7680): We're now running integration tests for Rasa Open Source, with initial coverage for `SQLTrackerStore` (with PostgreSQL),
`RedisLockStore` (with Redis) and `PikaEventBroker` (with RabbitMQ). The integration tests are now part of our
CI, and can also be ran locally using `make test-integration`
(see [Rasa Open Source README](https://github.com/RasaHQ/rasa#running-the-integration-tests) for more information).
- [7763](https://github.com/rasahq/rasa/issues/7763): Allow tests to be located anywhere, not just in `tests` directory.
- [7893](https://github.com/rasahq/rasa/issues/7893): Model configuration files are now validated whether they match the expected schema.
- [7952](https://github.com/rasahq/rasa/issues/7952): Speed up `YAMLStoryReader.is_key_in_yaml` function by making it to check if key is in YAML without
actually parsing the text file.
- [7953](https://github.com/rasahq/rasa/issues/7953): Speed up YAML parsing by reusing parsers, making the process of environment variable interpolation optional,
and by not adding duplicating implicit resolvers and YAML constructors to `ruamel.yaml`
- [7955](https://github.com/rasahq/rasa/issues/7955): Drastically improved finger printing time for large story graphs
- [8000](https://github.com/rasahq/rasa/issues/8000): Remove console logging of conversation level F1-score and precision since these calculations were not meaningful.

Add conversation level accuracy to core policy results logged to file in `story_report.json` after running `rasa test core` or `rasa test`.
- [8100](https://github.com/rasahq/rasa/issues/8100): Improved the [lock store](lock-stores.mdx) debug log message when the process has to
queue because other messages have to be processed before this item.

Bugfixes
- [4612](https://github.com/rasahq/rasa/issues/4612): Fixed the bug that OR statements in stories would break the check whether a model needs to be retrained
- [7063](https://github.com/rasahq/rasa/issues/7063): Update the spec of `POST /model/test/intents` and add tests for cases when JSON is provided.

Fix the incorrect temporary file extension for the data that gets extracted from the payload provided
in the body of `POST /model/test/intents` request.
- [7113](https://github.com/rasahq/rasa/issues/7113): Fix for the cli command `rasa data convert config` when migrating Mapping Policy and no rules.

Making `rasa data convert config` migrate correctly the Mapping Policy when no rules are available. It updates the `config.yml` file by removing the `MappingPolicy` and adding the `RulePolicy` instead. Also, it creates the `data/rules.yml` file even if empty in the case of no available rules.
- [7470](https://github.com/rasahq/rasa/issues/7470): Allow to have slots with values that result to a dictionary under the key `slot_was_set` (in `stories.yml` file).

An example would be to have the following story step in `stories.yml`:
yaml
- slot_was_set:
- some_slot:
some_key: 'some_value'
other_key: 'other_value'

This would be allowed if the `some_slot` is also set accordingly in the `domain.yml` with type `any`.
- [7662](https://github.com/rasahq/rasa/issues/7662): Update the fingerprinting function to recognize changes in lookup files.
- [7932](https://github.com/rasahq/rasa/issues/7932): Fixed a bug when interpolating environment variables in YAML files which included `$` in their value.
This led to the following stack trace:


ValueError: Error when trying to expand the environment variables in '${PASSWORD}'. Please make sure to also set these environment variables: '['$qwerty']'.
(13 additional frame(s) were not displayed)
...
File "rasa/utils/endpoints.py", line 26, in read_endpoint_config
content = rasa.shared.utils.io.read_config_file(filename)
File "rasa/shared/utils/io.py", line 527, in read_config_file
content = read_yaml_file(filename)
File "rasa/shared/utils/io.py", line 368, in read_yaml_file
return read_yaml(read_file(filename, DEFAULT_ENCODING))
File "rasa/shared/utils/io.py", line 349, in read_yaml
return yaml_parser.load(content) or {}
File "rasa/shared/utils/io.py", line 314, in env_var_constructor
" variables: '{}'.".format(value, not_expanded)

- [7949](https://github.com/rasahq/rasa/issues/7949): The REQUESTED_SLOT always belongs to the currently active form.

Previously it was possible that after form switching, the REQUESTED_SLOT was for the previous form.
- [96](https://github.com/rasahq/rasa/issues/96): Update the `LanguageModelFeaturizer` tests to reflect new default model weights for `bert`, and skip all `bert` tests
with default model weights on CI, run `bert` tests with `bert-base-uncased` on CI instead.

Miscellaneous internal changes
- [6484](https://github.com/rasahq/rasa/issues/6484), [#7737](https://github.com/rasahq/rasa/issues/7737), [#7879](https://github.com/rasahq/rasa/issues/7879)

Page 31 of 51

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.