# v7 -> v8 Migration

{% hint style="success" %}
v8 brings major performance & stability improvements, along with support for Isar v3.1 and 'flutter\_map' v4.
{% endhint %}

Some migrations are necessary for a **small number of users**. These migrations are listed below, theoretically in decreasing number of affected users.

The underlying storage structure is directly compatible with v7, and so migration for that is not required.

## Importing

{% hint style="info" %}
The [`fmtc_plus_sharing`](https://github.com/JaffaKetchup/fmtc_plus_sharing) module is required to use the import/export functionality.

See the [Additional Setup](/v8/get-started/additional-setup.md#fmtc_plus_sharing-installation-and-setup) instructions to add this module.
{% endhint %}

* **Return type is now `ImportResult`**\
  This contains both the real store name (may be different to the filename) and whether the import was successful.
* **Collision handlers are now called with an additional argument**\
  The filename and real store name are now both passed to the collision handler. See [Importing](/v8/import-and-export/importing.md#collision-conflict-resolution).

## Initialisation

`FMTCInitialisationException`'s fields have changed to be more useful in debugging initialisation issues, both internally and externally. If *processing* these issues manually, you'll need to migrate. See the in-code documentation for more information.

## Custom `HttpClient` Usage

FMTC now supports HTTP/2, through ['http\_plus'](https://pub.dev/packages/http_plus)! HTTP/2 support is enabled by default, with a fallback to HTTP/1.1 (both with a timeout of 5 seconds).&#x20;

In many of the places where `HttpClient`s where previously accepted as arguments, `BaseClient` subtypes are now required. To continue using a custom `HttpClient`, wrap it with an `IOClient`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fmtc.jaffaketchup.dev/v8/migration/v7-to-v8-migration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
