Skip to content

Commit 36f82cc

Browse files
ianhiparaseba
andauthored
add version policy (#1346)
* add version policy * fix link * formatting and simplifying --------- Co-authored-by: Sebastián Galkin <code@amisdelabc.com>
1 parent f33bba0 commit 36f82cc

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

docs/docs/version-policy.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Icechunk Version Policy
2+
3+
4+
There are three versions referred to in this document:
5+
6+
1. Icechunk Spec Version
7+
2. `icechunk` Python Library Version
8+
3. `icechunk` Rust Crate Version
9+
10+
11+
## Icechunk Spec
12+
13+
The spec will advance with any revisions as defined in the [Spec document](./spec.md).
14+
15+
## `icechunk` Python Library
16+
17+
Versions of this library are identified by a triplet of integers with the form `<major>.<minor>.<patch>`
18+
19+
### Library Version
20+
21+
#### Major Versions
22+
23+
The `icechunk` Python library will change when there is an on-disk incompatible change in the Icechunk Spec.
24+
25+
##### Reading
26+
27+
The latest release of `icechunk` Python will always be able to read data written against any version of the Icechunk Spec.
28+
29+
##### Writing
30+
31+
`icechunk` Python will be able to, at minimum, write to the last major version of the Icechunk Spec. This means that `icechunk` Python 2 can write to Icechunk Spec version 1 format. `icechunk` Python 3 will be able write to Icechunk Spec 2, but not Icechunk Spec 1.
32+
33+
34+
###### Forward Compatibility
35+
36+
`icechunk` Python will **not** implement forward compatible reading and writing. `icechunk` Python version 1.x.x will not be able to read or write the Icechunk 2 format.
37+
38+
#### Minor Versions
39+
40+
Minor releases will require at most minor effort from users to update their code. Minor versions will increment with new features, significant bug fixes, or for small changes in python library api compatibility.
41+
42+
#### Patch Versions
43+
44+
Patch releases will require no effort on the part of users of `icechunk` Python. They will contain bugfixes or documentation improvements.
45+
46+
47+
## `icechunk` Rust Crate
48+
49+
No explicit versioning scheme followed here.

docs/mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ nav:
219219
- Global Raster Data cube: ingestion/glad-ingest.ipynb
220220
- Reference:
221221
- Spec: spec.md
222+
- Version Policy: version-policy.md
222223
- Python API Reference: reference.md
223224
- Icechunk Rust: icechunk-rust.md
224225
- Contributing: contributing.md

0 commit comments

Comments
 (0)