NOTE: This is a pre-release version of Mutagen. 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.
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.
Changes
Final release notes and documentation will be issued when v0.16.0 is released.
This release is primarily focused on internal changes, with one additional new feature: a permissions mode setting.
At the moment, the permissions mode setting can be either portable
(the default) or manual
. The portable
mode is Mutagen's current behavior, where only executability permissions are propagated and only to users with a corresponding read bit set. The manual
mode offers fully manual control over the permission bits that Mutagen will set, allowing file modes to include 0111
bits that would normally be rejected by the portable
propagation mode. Additional permissions modes are planned (such as posix-raw
).
To set the permissions mode, you can use the --permissions-mode
flag with mutagen sync create
or include the mode under the permissions
heading in YAML, e.g.
sync:
mysession:
...
permissions:
mode: manual
Most users will not want to use the manual
mode. At the moment, the only known use case is for setting 0111
permission bits on all files when executability information is not available on the endpoint where the files originate (e.g. when syncing files from a Windows machine into a Docker container).
This release includes the following changes from v0.15.2:
- A new "permissions mode" feature has been added
- Non-UTF-8 filenames are now handled more gracefully
- Housekeeping periods for stale caches and staging roots have been reduced from 30 days to 7 days
- Internal state tracking has been refactored to support more immediate cancellation
- Releases are now built using Go 1.19