Releases: mutagen-io/mutagen-compose
v0.15.0-beta3
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:
- Updated to Mutagen v0.15.0-beta3
v0.15.0-beta2
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:
- Updated to Mutagen v0.15.0-beta2
v0.15.0-beta1
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:
- Updated to Mutagen v0.15.0-beta1, which brings in additional state information in
mutagen-compose ps
v0.14.0-3
v0.14.0-2
v0.14.0-1
Changes
This release includes the following changes from v0.14.0:
- Added ability to specify Mutagen sidecar
container_name
inx-mutagen.sidecar
block- Thanks to @DominicChiampi
- Fixed issue with session removal on
start
- Updated Compose to v2.5.0
v0.14.0
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
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
v0.13.0
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.