Skip to content

v0.16.0-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@xenoscopic xenoscopic released this 12 Sep 19:13
· 189 commits to master since this release
1194f46

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