Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
site: added version compatibility page
- Loading branch information
Showing
1 changed file
with
30 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
title: Version Compatibility | ||
linkTitle: Version Compatibility | ||
weight: 4 | ||
--- | ||
|
||
Kopia uses [semantic versioning](https://semver.org). | ||
|
||
In order to ensure that snapshots created with Kopia will be available as the project evolves, starting with `v0.3.0` release Kopia is offering the following compatibility promise: | ||
|
||
1. Each version of Kopia will be able to read snapshots created using current and **at least one previous version** of the software. The *previous version* is to be interpreted as: | ||
|
||
- for releases with major version == `v0` (i.e. `v0.x.y`), *previous version* means previous *minor version* (`v0.(x-1).*`) | ||
|
||
- for releases with major version == `v1`, *previous version* is the *last minor release* of the `v0` major version. | ||
|
||
- for releases with major version >= `v2` (i.e. `vx.y.z`), *previous version* means previous *major* version (`v(x-1)`). | ||
|
||
2. While not explicitly guaranteed, it is possible and likely that Kopia will be able to read (but not necessarily write) snapshots created with even older versions of software than explicitly guaranteed. For example it's likely that Kopia `v0.6.0` will read snapshots created using `v0.3.0`, even though it's three releases behind. | ||
|
||
3. In order to avoid corrupting data, Kopia will refuse to mutate repositories it's not designed to safely handle. That means, it will typically only allow reading, but not writing older versions of repository, unless explicitly documented and tested. | ||
|
||
4. Kopia may support for writing old repository formats on a best-effort basis. | ||
|
||
- For example Kopia `v0.4.x` may write using repository format created by `v0.3.x` in a way that `v0.3.x` versions will continue to understand it. | ||
|
||
5. Each version of Kopia will offer migration mechanism to bring old readable repository format to the current format and thus enable full read-write operation. | ||
|
||
6. Kopia will never upgrade old repository format to a new version without explicit human action. | ||
|