Skip to main content

# Overview

## Updating​

The majority of Multi-scrobbler updates can be completed without any manual intervention. This is guaranteed for patch version updates.

Regardless, it is recommended to consult the Github Release Notes before any upgrades. The release notes contain all changelogs as well as most breaking changes/notices.

The Upgrade Path docs contain information for upgrading through required versions or in-depth migration guides. Check this section before upgrading any minor versions.

### Database​

Multi-scrobbler depends on a SQLite database (`ms.db`) that is created on first run and stored in the `CONFIG_DIR`.

If any database migrations are required for an update then your database is automatically backed up before migration occurs. The backup file is created in the same directory.

You can manually make a backup of this database by making a copy of `ms.db` and any similarly named files like `ms.db-journal`.

tip

If upgrading a minor version you may want to make a backup for extra safety.

### Configuration​

Minor versions may have breaking changes related to configuration. Consult the Github Release Notes and Upgrade Paths before upgrading.

## Update Instructions​

Assuming:

- upgrade(s) are only patch versions and the Release Notes do not contain any other guidance or
- you have checked the release notes, upgrade paths docs, and completed all migration steps for the specific version upgrade

- Docker Compose
- local

    docker compose pull
    docker compose up -d

Assuming the repository was used for initial installation with `git clone`, update by pulling the latest commit:

    git pull

and restart multi-scrobbler.

## Versioning​

Multi-scrobbler versioning uses semver without a major version (for now):

- Minor version bumps (`0.12.2` => `0.13.0`) may have breaking changes or include major new behavior
- Patch version bumps (`0.12.2` => `0.12.3`) may have new behavior or fix bugs, but have no breaking changes. These can be safely upgraded unattended.

Check the Github Release Notes for breaking changes, changelogs, and any migration steps required between minor versions.

### Git​

The default `master` branch is not stable. The goal is to have it be functional bleeding-edge development with non-functioning development isolated to pull requests and other branches.

For a stable release use the latest git tag EX:

    git clone --branch 0.13.0 https://github.com/FoxxMD/multi-scrobbler.git

### Docker​

Docker image tags use this pattern:

- `:latest` is the latest stable release
  - IE If the latest released version was `0.13.0` then `:latest` is also `0.13.0`
  - `:latest` will always be the latest release. Before pulling a new image you should check if the version bump has breaking changes.
- `:edge` is built automatically from the `master` branch
- Pinned semver tags are published alongside releases EX `:0.12.2`

Additionally, Pull Requests may have docker images published with tags like `:pr-521`. These are not guaranteed to be stable and should only be used for testing.

## What Version Am I Using?​

The current version of Multi-Scrobbler can be found in several places:

- Open the Web Dashboard, the version is displayed next the Multi-Scrobbler logo in the top left corner
- On startup the version is immediately printed to logs EX:
  - `[2026-04-16 09:17:32.428 -0400] INFO : [Init] Version: 0.13.0`
- Checking the running docker container or image for the `org.opencontainers.image.version` label

When running MS from a non-pinned source (like `:edge` tag, a pull request, or git branch) the version will be shown as the branch name and short commit hash EX

    master-1c78da79

tip

Using the above information you can verify if you have pulled and successfully recreated a docker container with a new version. If the version string does not change from the previous version running then you are still running the old container