### On-Disk-Format Compatability gocryptfs uses ext4-style *feature flags* to add new functionality or better security to the on-disk-format. These are stored in `gocryptfs.conf` as `FeatureFlags`. When a new feature flag is added, gocryptfs will continue to support mounting older filesystems that do not have this flag set. However, from time to time major gocryptfs revisions will drop support for very old filesystems. This keeps the gocryptfs code base clean and maintainable. Users are encouraged to upgrade their filesystems (see below for how) as the new features often improve security. As seen on the tables below, v1.0 will be the first version to drop support for very old filesystems (v0.6 and lower). ##### v0.6 and lower: | | can be mounted on ▶ | v0.4 | v0.5 | v0.6 | v0.7, v0.8 | v0.9, v0.10 | v0.11 | v0.12 | v1.0+ | |------------------|---------------------|------|------|------|------------|-------------|-------|-------|------| | ▼ **created by** | ▼ **feature flags** | | | | | | | | | | v0.4 | - | Y | Y | Y | Y | Y | W | RO | - | | v0.5 | D | - | Y | Y | Y | Y | W | RO | - | | v0.6 | DE | - | - | Y | Y | Y | W | RO | - | ##### v0.7 and higher: | | can be mounted on ▶ | v0.7, v0.8 | v0.9, v0.10, v0.11,
v1.0, v1.1, v1.2 | v1.1, v1.2 | v1.3, v1.4 | |-------------------------------------------|---------------------|------------|-------------------------------------------|------------|------------| | ▼ **created by** | ▼ **feature flags** | | | | | | v0.7, v0.8 | DEG | Y | Y | Y | Y | | v0.9, v0.10, v0.11,
v1.0, v1.1, v1.2 | DEGL | - | Y | Y | Y | | v1.1, v1.2
(reverse mode) | DEGLA | - | - | Y | Y | | v1.3, v.14 | DEGLH | - | - | - | Y | Feature flags: * D = DirIV * E = EMENames * G = GCMIV128 * L = LongNames * A = AESSIV * H = HKDF Support flags: * Y = full functionality * W = a warning is printed on mount, otherwise full functionality * RO = can only be mounted read-only * - = can not be mounted ### Upgrading Upgrading a filesystem simply means creating a new filesystem and copying all the data over. See the "[Upgrading](https://github.com/rfjakob/gocryptfs/wiki/Upgrading)" page for more information.