Skip to content

Commit

Permalink
docs(migrate9): update for release
Browse files Browse the repository at this point in the history
  • Loading branch information
hasezoey committed Oct 6, 2023
1 parent 9816f4f commit 899a710
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions docs/guides/migration/migrate9.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: 'Migrate to version 9.0.0'
Here are the Important changes made for 9.0.0

:::caution Important, Read this first
This Guide is written for migration from version `8.15.0` to `9.0.0`, for versions `>9.0.0 <10.0.0`, please consult the [CHANGELOG](https://github.com/nodkz/mongodb-memory-server/blob/master/CHANGELOG.md)
This Guide is written for migration from version `8.16.0` to `9.0.0`, for versions `>9.0.0 <10.0.0`, please consult the [CHANGELOG](https://github.com/nodkz/mongodb-memory-server/blob/master/CHANGELOG.md)
:::

## Breaking Changes
Expand All @@ -17,11 +17,15 @@ With 9.0.0 the minimal nodejs required is `14.20.1`.

### Mongodb Driver Version upgraded to 5.x

The used MongoDB Driver version is now `5.6.0`.
The used MongoDB Driver version is now `5.9.0`.

### Default binary version is now 6.x

The default binary version has been upgraded from `5.0.x` to `6.0.x`. For more specifics see [mongodb-server-versions](../mongodb-server-versions.md).

### Removed platform translations

Some platform translations have been removed, because they are either not needed anymore or werent supported in the first place:
Some platform translations have been removed, because they are either not needed anymore or werent properly supported in the first place:

- `sunos` -> `linux`
- `elementary OS` -> `linux`
Expand All @@ -34,7 +38,7 @@ Some architectures were removed because they were not being build by mongodb any

### MongoMemoryServer `instance.auth` option is now ignored

With 9.0.0 the option `instance.auth` option is going to be ignored, because its set via the `auth` option directly.
With 9.0.0 the option `instance.auth` option is going to be ignored, because its set via the (top-level) `auth` option directly.

Example:

Expand All @@ -50,16 +54,16 @@ Replace `auth: { disable: false }` with `auth: { enable: true }`.

### MongoMemoryServer and MongoReplSet `.cleanup(boolean)` and `.stop(boolean)` have been removed

Previously `boolean` was the only option for the `.cleanup` and `.stop` function, but they behaved differently between those 2 function and were replaced with `Cleanup` options and now have been completely removed.
Previously `boolean` was the only option for the `.cleanup` and `.stop` function, but they behaved differently between those 2 function and were replaced with `Cleanup` object-options and now have been completely removed.

Replace `.stop(true)` with `.stop({ doCleanup: true })`.
Replace `.cleanup(true)` with `.stop({ doCleanup: true, force: true })`.

Default is still for both `{ doCleanup: true }`.
Default is still for both `{ doCleanup: true, force: false }`.

### `MD5_CHECK` is now enabled by default

The config option [`MD5_CHECK`](../../api/config-options.md#md5_check) has been enabled by default now, resulting in always comparing the downloaded archive with a md5.
The config option [`MD5_CHECK`](../../api/config-options.md#md5_check) has been enabled by default now, resulting in always comparing the downloaded archive with a md5 after a download.

### Merged Error types

Expand Down Expand Up @@ -104,7 +108,7 @@ The Mongodb Binary childprocess is now also `.unref()`, like the killer process

This *should* help with non-closed instances not exiting the nodejs process.

## The port testing has been replaced
## The port testing package has been replaced

Previously MMS used `get-port`, but it caused some big memory-leakage across big projects, so it has been replaced with one that uses less maps.

Expand All @@ -115,4 +119,13 @@ It also has been replaced because newer versions were ESM only, but we couldnt s
Mongob version `7.0.0` removed storage engine `ephemeralForTest`, with mongodb-memory-server 9.0.0 storage engine `wiredTiger` is the default for binary versions `7.0.0` and higher.
Older versions (before `7.0.0`) will still continue to use `ephemeralForTest` by default.

:::info
The version used for the decision is the version provided via the resolved [`VERSION`](../../api/config-options.md#version) config option.
This mean it needs to match the version the system binary is (a warning is printed if they are not the same).

If the option is unset, the default version will be used, which is likely not correct for the system binary.

If the decision should not be automatic, the storage engine can be explicitly defined as a instance option.
:::

It is recommended to run those instances with a db path which is equivalent to [`tmpfs`](https://wiki.archlinux.org/title/tmpfs).

0 comments on commit 899a710

Please sign in to comment.