Skip to content

Commit

Permalink
site: added version compatibility page
Browse files Browse the repository at this point in the history
  • Loading branch information
jkowalski committed Oct 4, 2019
1 parent d0e4d4f commit 9778ba3
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions site/content/docs/Compatibility/_index.md
@@ -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.

0 comments on commit 9778ba3

Please sign in to comment.