Repository navigation
Versioning and releases
YadeWira edited this page Oct 29, 2026
·
8 revisions
| line | language | where | state |
|---|---|---|---|
| v0.4.x | Free Pascal | repository root | current: archive and stream formats frozen |
| v0.3.x | Free Pascal | repository root | the real command line, the archiver (from v0.3.1); last release v0.3.4 |
| v0.2.x | Free Pascal | repository root | the codec, sylz formats v2 and v3; last release v0.2.14 |
| v0.1.x | Rust | legacy/rust/ |
frozen; last release v0.1.29 |
- Every release is a pre-release until v1.0.0. That includes all the v0.1.x ones.
- Formats are frozen one by one, each at a tag, when they are ready: sylz v2 (v0.2.2), sylz v3 (v0.2.14), the archive format 2 and the stream version 4 (v0.4.0). A frozen format never changes: a change is a new format number, and readers keep reading the old ones. Before its freeze a format may change between pre-releases.
- The v0.1.x releases carry Linux x86-64 and Windows x86-64 binaries; v0.1.29 adds a Windows 7 32-bit build.
- From v0.2.1 the releases carry Linux x86-64 and arm64, Windows x86-64 and 32-bit binaries; from v0.2.2 also the zpaq-std plugin for the same four. From v0.5.2 also Linux x86 (32-bit) and macOS arm64 (built by CI) binaries of the CLI and the benchmark.
- Since v0.5.1 every target writes the same bytes; since v0.5.2 CI checks it on every push.
-
sylz block formats are frozen per tag once anything outside syc depends on them: format v2 at v0.2.2 (zpaq-std's
-ma:sylz). A change after that is a new format version, never an edit of a frozen one. Format v3 (-ec) is experimental and not frozen: it may still change, and only syc writes it. - Compressor output is not frozen: a level may write different (equally valid) bytes in a later version, as levels 0–2 did in v0.2.5 and 2–3 in v0.2.6.