# Migration Guide

This page contains information about changes between major versions and how you can migrate from one version to another.

## 0.14.x to 0.15.0

Warning

This is a release **breaking backwards compatibility**. Unfortunately, it is not possible to load previously trained models (as the stored file names have changed as well as the configuration and metadata). Please make sure to retrain a model before trying to use it with this improved version.

### model configuration

- The standard pipelines have been renamed. `spacy_sklearn` is now `pretrained_embeddings_spacy` and `tensorflow_embedding` is now `supervised_embeddings`.
- Components names used for nlu config have been changed. Use component class name in nlu config file.

### custom components

- The signature of Component’s methods have been changed:
  - `load(...)`, `create(...)` and `cache_key(...)` methods additionally take component’s meta/config dicts.
  - `persist(...)` method additionally takes file name prefix. Change your custom components accordingly.

### function names

- `rasa_nlu.evaluate` was renamed to `rasa_nlu.test`
- `rasa_nlu.test.run_cv_evaluation` was renamed to `rasa_nlu.test.cross_validate`
- `rasa_nlu.train.do_train()` was renamed to to `rasa_nlu.train.train()`

## 0.13.x to 0.14.0

- `/config` endpoint removed, when training a new model, the user should always post the configuration as part of the request instead of relying on the servers config.
- `ner_duckling` support has been removed. Use `DucklingHTTPExtractor` instead. More info about `DucklingHTTPExtractor` can be found at [Duckling HTTP Extractor](https://legacy-docs.rasa.com/docs/nlu/components/#ner-duckling-http).

## 0.13.x to 0.13.3

- `rasa_nlu.server` has to be supplied with a `yml` file defining the model endpoint from which to retrieve training data. The file location has been passed with the `--endpoints` argument.

### Example
```yaml
model:
    url: http://my_model_server.com/models/default/nlu/tags/latest
    token: my_model_server_token
```

## 0.12.x to 0.13.0

Warning

This is a release **breaking backwards compatibility**. Unfortunately, it is not possible to load previously trained models as the parameters for the tensorflow and CRF models changed.

### CRF model configuration

The feature names for the features of the entity CRF have changed:

| old feature name | new feature name |
| --- | --- |
| pre2 | prefix2 |
| pre5 | prefix5 |
| word2 | suffix2 |
| word3 | suffix3 |
| word5 | suffix5 |

Please change these keys in your pipeline configuration of the `CRFEntityExtractor` components `features` attribute if you use them.

## 0.11.x to 0.12.0

Warning

This is a release **breaking backwards compatibility**. Unfortunately, it is not possible to load previously trained models (as the stored file formats have changed as well as the configuration and metadata). Please make sure to retrain a model before trying to use it with this improved version.

### model configuration

We have split the configuration in a model configuration and parameters used to configure the server, train, and evaluate scripts. The configuration file now only contains the `pipeline` as well as the `language` parameters. Example:

```yaml
language: "en"
pipeline:
- name: "SpacyNLP"
  model: "en"               # parameter of the spacy component
- name: "EntitySynonymMapper"
```

### persistors:

- renamed `AWS_REGION` to `AWS_DEFAULT_REGION`
- always make sure to specify the bucket using env `BUCKET_NAME`
- are now configured solely over environment variables.

## 0.9.x to 0.10.0

- We introduced a new concept called a `project`. You can have multiple versions of a model trained for a project. E.g. you can train an initial model and add more training data and retrain that project. This will result in a new model version for the same project.

## 0.8.x to 0.9.x

- add `SpacyTokenizer` to trained spacy_sklearn models metadata.

## 0.7.x to 0.8.x

- The training and loading capability for the spacy entity extraction was dropped in favor of the new CRF extractor.

## Have questions or feedback?

We have a very active support community on [Rasa Community Forum](https://forum.rasa.com/) that is happy to help you with your questions. If you have any feedback for us or a specific suggestion for improving the docs, feel free to share it by creating an issue on Rasa NLU [GitHub repository](https://github.com/RasaHQ/rasa_nlu).
