NOTE: This is a pre-release version of Mutagen. It should not be used on production or mission-critical systems. Usage 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.
Mutagen maintains backward compatibility between releases, but sessions created with pre-release versions are not guaranteed to be compatible with final releases. Please wait for the final release if you want to be sure that you can avoid recreating sessions.
Overview
Mutagen v0.13.0-beta2 is designed to support the initial release of the Compose-V2-based Mutagen Compose (while still retaining Mutagen's Compose V1 integration that will be removed once v0.13.0 ships). For more information on the transition between Mutagen's experimental Compose V1 integration and the new Mutagen Compose, please see the v0.12.0 release notes.
Mutagen Compose
If you'd like to try Mutagen Compose, you can download it from the Mutagen Compose releases page or install it via Homebrew:
# For existing Mutagen beta channel users
brew update
brew install mutagen-compose-beta
# For new users
brew install mutagen-io/mutagen/mutagen-compose-beta
You can find an initial draft of the Mutagen Compose documentation here.
Please be aware that Mutagen Compose is an almost entirely different implementation than Mutagen's Compose V1 integration and should be treated as beta software. If you run into issues with it, please file them on the Mutagen Compose issue tracker or report them on the Mutagen Community Slack Workspace. Ideally the transition to Mutagen Compose will be swift, replacing the Compose V1 integration as the recommended option within the next week or so. Your patience and feedback during this transition is absolutely appreciated!
Changes
This release includes the following changes from v0.13.0-beta1:
- Modified Mutagen agents to implement the following heuristics when operating inside a Mutagen sidecar container (e.g. in Mutagen Compose or with Mutagen's Compose V1 integration):
- If a synchronization session targets an empty volume root and a non-default owner, group, or directory mode setting has been specified, then Mutagen will set the permissions of the volume root to match. This is a heuristic to work around the fact that Docker volumes don't have an easy way to set permissions upon creation.
- If no file staging mode is explicitly set in the container, then Mutagen will stage files into a temporary directory in their target volumes, avoiding the need for file copy operations when applying changes. If this behavior is undesirable (e.g. due to conflicts with filesystem watchers), then you can choose to stage in the sidecar container filesystem itself by selecting the
mutagen
staging mode.
- Taught Mutagen about the undocumented
DOCKER_TLS
andDOCKER_CONFIG
environment variables. - Added a new
internal
staging mode that attempts to stage files in a temporary directory within the target synchronization root. - Expanded Docker transport code to support features needed by Mutagen Compose.