diff --git a/resources/help/experimental_features_overview.mdx b/resources/help/experimental_features_overview.mdx
index a0c753a95..84f4be263 100644
--- a/resources/help/experimental_features_overview.mdx
+++ b/resources/help/experimental_features_overview.mdx
@@ -60,7 +60,6 @@ The **logs** and **metrics** experimental features are not available on Meilisea
| [`CONTAINS` filter operator](/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax#contains) | Enables usage of `CONTAINS` with the `filter` search parameter | CLI flag or environment variable, API route |
| [Edit documents with function](/capabilities/indexing/how_to/edit_documents_with_functions) | Use a [Rhai](https://rhai.rs/book/) function to edit documents directly in the Meilisearch database | API route |
| [`/network` route](/reference/api/network/get-network) | Enable `/network` route | API route |
-| [Dumpless upgrade](/resources/self_hosting/configuration/reference#dumpless-upgrade) | Upgrade Meilisearch without generating a dump | API route |
| [Composite embedders](/reference/api/settings/get-embedders) | Enable composite embedders | API route |
| [Chat completions](/reference/api/chats/update-settings-of-a-chat-workspace) | Enable chat completion capabilities | API route |
| [Get task documents route](/reference/api/async-task-management/list-tasks) | Enable route to retrieve documents from tasks | API route |
diff --git a/resources/help/faq.mdx b/resources/help/faq.mdx
index e8db0a575..9a677b665 100644
--- a/resources/help/faq.mdx
+++ b/resources/help/faq.mdx
@@ -40,7 +40,7 @@ For the full list, see [known limitations](/resources/help/known_limitations).
## How do I update Meilisearch?
-Meilisearch Cloud instances can be updated with one click from the Cloud dashboard. For self-hosted instances, see the [update guide](/resources/migration/updating), which covers dumpless upgrades (v1.13+) and dump-based migration for older versions.
+Meilisearch Cloud instances can be updated with one click from the Cloud dashboard. For self-hosted instances, see the [update guide](/resources/migration/updating), which covers upgrading with the `--upgrade-db` flag and dump-based migration for older versions.
## I keep getting a `400 - Bad Request` when adding documents
diff --git a/resources/help/telemetry.mdx b/resources/help/telemetry.mdx
index cbe57fe20..ffbec35b6 100644
--- a/resources/help/telemetry.mdx
+++ b/resources/help/telemetry.mdx
@@ -259,7 +259,7 @@ This list is liable to change with every new version of Meilisearch. It's not be
| `embedders.binary_quantization_used` | `true` if the user updated the binary quantized field of the embedded settings | false
| `infos.task_queue_webhook` | `true` if the instance is launched with a task queue webhook | false
| `infos.experimental_search_queue_size` | Size of the search queue | 750
-| `infos.experimental_dumpless_upgrade` | `true` if instance is launched with the parameter | true
+| `infos.upgrade_db` | `true` if instance is launched with the `--upgrade-db` parameter | true
| `locales` | List of locales used with `/search` and `/settings` routes | ["fra", "eng"]
| `federation.use_federation` | `true` when at least one multi-search request contains a top-level federation object | false
| `network_has_self` | `true` if the network object has a non-null self field | true
diff --git a/resources/migration/updating.mdx b/resources/migration/updating.mdx
index 20f1f1358..53b977308 100644
--- a/resources/migration/updating.mdx
+++ b/resources/migration/updating.mdx
@@ -5,13 +5,11 @@ description: Learn how to migrate to the latest Meilisearch release.
sidebarDepth: 3
---
-import { NoticeTag } from '/snippets/notice_tag.mdx';
-
import CodeSamplesUpdatingGuideCheckVersionNewAuthorizationHeader from '/snippets/generated-code-samples/code_samples_updating_guide_check_version_new_authorization_header.mdx';
import CodeSamplesUpdatingGuideCreateDump from '/snippets/generated-code-samples/code_samples_updating_guide_create_dump.mdx';
import CodeSamplesCreateSnapshot1 from '/snippets/generated-code-samples/code_samples_create_snapshot_1.mdx';
-Currently, Meilisearch databases are only compatible with the version of Meilisearch used to create them. The following guide will walk you through using a [dump](/resources/self_hosting/data_backup/dumps) to migrate an existing database from an older version of Meilisearch to the most recent one.
+Meilisearch databases are only compatible with the version of Meilisearch used to create them. The following guide will walk you through upgrading an existing database from an older version of Meilisearch to the most recent one, either with the `--upgrade-db` flag or with a [dump](/resources/self_hosting/data_backup/dumps).
If you're updating your Meilisearch instance on cloud platforms like DigitalOcean or AWS, ensure that you can connect to your cloud instance via SSH. Depending on the user you are connecting with (root, admin, etc.), you may need to prefix some commands with `sudo`.
@@ -41,15 +39,19 @@ Once the project has been successfully updated, you will receive an email confir
## Updating a self-hosted Meilisearch instance
-You may update a self-hosted instance in one of two ways: with or without a dump.
+To update a self-hosted instance, create a snapshot of your data, install the new binary, and relaunch Meilisearch with the `--upgrade-db` flag. Meilisearch then upgrades your database on startup.
+
+In some cases, Meilisearch cannot upgrade your database this way and returns an error at launch. If that happens, [update your instance using a dump](#using-a-dump) instead.
-### Dumpless upgrade
+### Updating with the `--upgrade-db` flag
-Dumpless upgrades are available when upgrading from Meilisearch >=v1.12 to Meilisearch >=v1.13
+
+The `--upgrade-db` flag is available since Meilisearch v1.51. If you are upgrading to an older version, use `--experimental-dumpless-upgrade` instead.
+
#### Step 1: Make a backup
-Dumpless upgrades are an experimental feature. Because of that, it may in rare occasions partially fail and result in a corrupted database. To prevent data loss, create a snapshot of your instance:
+Database upgrades are not atomic. In rare occasions, the process may partially fail and result in a corrupted database. To prevent data loss, create a snapshot of your instance:
@@ -118,14 +120,14 @@ mv meilisearch /usr/bin/meilisearch
#### Step 4: Relaunch Meilisearch
-Execute the command below to import the dump at launch:
+Relaunch Meilisearch with the `--upgrade-db` flag:
```bash
-./meilisearch --experimental-dumpless-upgrade
+./meilisearch --upgrade-db
```
@@ -133,7 +135,7 @@ Execute the command below to import the dump at launch:
```sh
-meilisearch --experimental-dumpless-upgrade
+meilisearch --upgrade-db
```
@@ -143,13 +145,23 @@ Meilisearch should launch normally and immediately create a new `UpgradeDatabase
While the task is processing, you may continue making search queries. You may also enqueue new tasks. Meilisearch will only process new tasks once `UpgradeDatabase` is completed.
+#### If Meilisearch fails to launch with an error
+
+Meilisearch cannot upgrade databases created with versions older than v1.12. In that case, it fails to launch and returns the following error:
+
+```
+Database version X.Y.Z is too old to be upgraded via `--upgrade-db`. Please generate a dump using the vX.Y.Z and import it in the vA.B.C
+```
+
+If you see this error, reinstall the Meilisearch version your database was created with, relaunch your instance, then [update it using a dump](#using-a-dump).
+
#### Rolling back an update
If the upgrade is taking too long, or if after the upgrade is completed its task status is set to `failed`, you can cancel the upgrade task.
Cancelling the update task automatically rolls back your database to its state before the upgrade began.
-After launching Meilisearch with `--experimental-dumpless-upgrade` flag:
+After launching Meilisearch with the `--upgrade-db` flag:
1. Cancel the `upgradeDatabase` task
2. If you cancelled the update before it failed, skip to the next step. If the update failed, relaunch Meilisearch using the binary of the version you were upgrading to
@@ -161,6 +173,8 @@ If you are upgrading Meilisearch to \<= v1.14, you must instead [restart your in
### Using a dump
+Use this method when Meilisearch cannot upgrade your database with the `--upgrade-db` flag.
+
#### Step 1: Export data
##### Verify your database version
diff --git a/resources/self_hosting/configuration/reference.mdx b/resources/self_hosting/configuration/reference.mdx
index c7f811413..fca4e871d 100644
--- a/resources/self_hosting/configuration/reference.mdx
+++ b/resources/self_hosting/configuration/reference.mdx
@@ -97,10 +97,10 @@ Meilisearch automatically collects data from all instances that do not opt out u
[Read more about our policy on data collection](/resources/help/telemetry), or take a look at [the comprehensive list of all data points we collect](/resources/help/telemetry#exhaustive-list-of-all-collected-data).
-### Dumpless upgrade
+### Dumpless upgrade
-**Environment variable**: `MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE`
-**CLI option**: `--experimental-dumpless-upgrade`
+**Environment variable**: `MEILI_UPGRADE_DB`
+**CLI option**: `--upgrade-db`
**Default value**: None
**Expected value**: None
@@ -108,12 +108,16 @@ Migrates the database to a new Meilisearch version after you have manually updat
[Learn more about updating Meilisearch to a new release](/resources/migration/updating).
+
+Before Meilisearch v1.51, this option was named `--experimental-dumpless-upgrade` (environment variable: `MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE`).
+
+
#### Create a snapshot before a dumpless upgrade
Take a snapshot of your instance before performing a dumpless upgrade.
-Dumpless upgrade are not currently atomic. It is possible some processes fail and Meilisearch still finalizes the upgrade. This may result in a corrupted database and data loss.
+Dumpless upgrades are not currently atomic. It is possible some processes fail and Meilisearch still finalizes the upgrade. This may result in a corrupted database and data loss.
### Dump directory