Skip to content

Releases: mutagen-io/mutagen-compose

v0.15.0-beta3

28 Jun 21:36
0701d82
Compare
Choose a tag to compare
v0.15.0-beta3 Pre-release
Pre-release

NOTE: This is a pre-release version of Mutagen Compose. It should not be used on production or mission-critical systems. Use on any system is at your own risk (please see the license). For a better experience, you may wish to use the latest stable release.

Changes

This release includes the following changes from v0.15.0-beta2:

v0.15.0-beta2

24 Jun 23:49
3fbaa47
Compare
Choose a tag to compare
v0.15.0-beta2 Pre-release
Pre-release

NOTE: This is a pre-release version of Mutagen Compose. It should not be used on production or mission-critical systems. Use on any system is at your own risk (please see the license). For a better experience, you may wish to use the latest stable release.

Changes

This release includes the following changes from v0.15.0-beta1:

v0.15.0-beta1

20 Jun 00:05
af824e4
Compare
Choose a tag to compare
v0.15.0-beta1 Pre-release
Pre-release

NOTE: This is a pre-release version of Mutagen Compose. It should not be used on production or mission-critical systems. Use on any system is at your own risk (please see the license). For a better experience, you may wish to use the latest stable release.

Changes

This release includes the following changes from v0.14.0-3:

v0.14.0-3

06 Jun 11:58
f8ee7af
Compare
Choose a tag to compare

Changes

This release includes the following changes from v0.14.0-2:

  • Updated Compose to v2.6.0

v0.14.0-2

18 May 10:46
8f6604c
Compare
Choose a tag to compare

Changes

This release includes the following changes from v0.14.0-1:

  • Updated Compose to v2.5.1

v0.14.0-1

04 May 12:06
fb7bb40
Compare
Choose a tag to compare

Changes

This release includes the following changes from v0.14.0:

  • Added ability to specify Mutagen sidecar container_name in x-mutagen.sidecar block
  • Fixed issue with session removal on start
  • Updated Compose to v2.5.0

v0.14.0

23 Apr 18:22
039ef9b
Compare
Choose a tag to compare

Overview

Mutagen Compose v0.14 is primarily focused on updating the underlying Mutagen and Docker Compose dependencies. Some implementation changes were required to adapt to changes in Docker Compose's internal APIs, but user-visible functionality should remain mostly unchanged. The biggest gains in this release come from fanotify support and in-volume staging, both of which should drastically improve performance.

fanotify

The fanotify API is Linux's primary native recursive filesystem watching API. Using it allows Mutagen to perform accelerated scanning on Linux filesystems, avoiding the need for polling and use of the (non-recursive) inotify API. This brings Mutagen Linux performance on par with macOS and Windows, which have always had native recursive filesystem watching.

Why now? The fanotify API has existed for many years, but it only recently added the granular event notifications needed to support Mutagen with version 5.1 of the Linux kernel, and the rollout of 5.1+ kernels to distros (and Docker Desktop) took additional time after that. Support for fanotify is now broad enough to justify bringing it to Mutagen.

However, because this is a big change, and because fanotify requires CAP_SYS_ADMIN and CAP_DAC_READ_SEARCH (i.e. it basically needs to run as root), the initial rollout of this feature is going to be restricted to containers (but it should be possible to support non-container Linux environments in a future release via sudo).

Since Mutagen Compose is already experimental, support for fanotify has been turned on automatically. However, if you encounter issues with it, you can turn it off with the following configuration block:

x-mutagen:
  sidecar:
    features: standard

In the absence of the features: standard setting, Mutagen will use the "enhanced" sidecar image, which includes fanotify support. Please note that this image includes code that is SSPL-licensed.

If you do encounter issues, please report them via Slack or the issue tracker. Thank you for your willingness to test this new feature!

Changes

This release includes the following changes from v0.13.1:

  • Added support for fanotify-based filesystem watching 🚀
  • Modified default file staging to always occur within the associated volume. This was already the case for sessions targeting volume roots, but now it also applies to those targeting volume subdirectories.
  • Updated to Compose v2.4.1
  • Updated to Go 1.18

v0.14.0-beta1

18 Apr 11:32
278ad80
Compare
Choose a tag to compare
v0.14.0-beta1 Pre-release
Pre-release

NOTE: This is a pre-release version of Mutagen Compose. It should not be used on production or mission-critical systems. Use on any system is at your own risk (please see the license). For a better experience, you may wish to use the latest stable release.

Changes

This release includes the following changes from v0.13.1:

  • Added support for fanotify-based filesystem watching 🚀 (see below)
  • Modified default file staging to always occur within the associated volume. This was already the case for sessions targeting volume roots, but now it also applies to those targeting volume subdirectories.
  • Updated to Compose v2.4.1
  • Updated to Go 1.18

fanotify

The fanotify API is Linux's primary native recursive filesystem watching API. Using it allows Mutagen to perform accelerated scanning on Linux filesystems, avoiding the need for polling and use of the (non-recursive) inotify API. This brings Mutagen Linux performance on par with macOS and Windows, which have always had native recursive filesystem watching.

Why now? The fanotify API has existed for many years, but it only recently added the granular event notifications needed to support Mutagen with version 5.1 of the Linux kernel, and the rollout of 5.1+ kernels to distros (and Docker Desktop) took additional time after that. Support for fanotify is now broad enough to justify bringing it to Mutagen.

However, because this is a big change, and because fanotify requires CAP_SYS_ADMIN and CAP_DAC_READ_SEARCH (i.e. it basically needs to run as root), the initial rollout of this feature is going to be restricted to containers (but it should be possible to support non-container Linux environments in a future release via sudo).

Since Mutagen Compose is already experimental, support for fanotify has been turned on automatically. However, if you encounter issues with it, you can turn it off with the following configuration block:

x-mutagen:
  sidecar:
    features: standard

In the absence of the features: standard setting, Mutagen will use the "enhanced" sidecar image, which includes fanotify support. Please note that this image includes code that is SSPL-licensed.

If you do encounter issues, please report them via Slack or the issue tracker. Thank you for your willingness to test this new feature!

v0.13.1

04 Feb 14:22
779d6fa
Compare
Choose a tag to compare

Changes

This release includes the following changes from v0.13.0:

  • Updates the underlying Mutagen version to v0.13.1
    • Fixes issue with mutagen-compose down with Docker for Windows (#11)
    • Adds a pre-installed agent binary in the sidecar image for faster Mutagen Compose startup

v0.13.0

14 Jan 15:26
d8d4707
Compare
Choose a tag to compare

Overview

Mutagen Compose v0.13.0 is the first official release of Mutagen Compose.

Mutagen Compose is a standalone Compose implementation based on Docker Compose V2 that offers integration with the Mutagen code synchronization and network forwarding tool.

Installation

Mutagen Compose can be installed by including the mutagen-compose executable in your path. It can also be installed via Homebrew using the mutagen-io/mutagen/mutagen-compose formula:

brew install mutagen-io/mutagen/mutagen-compose

Changes

This release contains no changes from v0.13.0-beta4 other than an update to the final v0.13.0 release of Mutagen.