1# Release Process
2
3Wasmtime's release process was [originally designed in an RFC][rfc4] and this
4page is intended to serve as documentation for the current process as-is today.
5The high-level summary of Wasmtime's release process is:
6
7* A new major version of Wasmtime will be made available once a month.
8* Security bugs and correctness fixes will be backported to the latest two
9  releases of Wasmtime and issued as patch releases.
10
11Once a month Wasmtime will issue a new major version. This will be issued with a
12semver-major version update, such as 4.0.0 to 5.0.0. The precise schedule of
13Wasmtime's release may fluctuate slightly depending on public holidays and
14availability of release resources, but the general cadence will be once-a-month.
15
16Each major release of Wasmtime reserves the right to break both behavior and API
17backwards-compatibility. This is not expected to happen frequently, however, and
18any breaking change will follow these criteria:
19
20* Minor breaking changes, either behavior or with APIs, will be documented in
21  the `RELEASES.md` release notes. Minor changes will require some degree of
22  consensus but are not required to go through the entire RFC process.
23
24* Major breaking changes, such as major refactorings to the API, will be
25  required to go through the [RFC process]. These changes are intended to be
26  broadly communicated to those interested and provides an opportunity to give
27  feedback about embeddings. Release notes will clearly indicate if any major
28  breaking changes through accepted RFCs are included in a release.
29
30Patch releases of Wasmtime will only be issued for security and correctness
31issues for on-by-default behavior in the previous releases. If Wasmtime is
32currently at version 5.0.0 then 5.0.1 and 4.0.1 will be issued as patch releases
33if a bug is found. Patch releases are guaranteed to maintain API and behavior
34backwards-compatibility and are intended to be trivial for users to upgrade to.
35
36## What's released?
37
38At this time the release process of Wasmtime encompasses:
39
40* The `wasmtime` Rust crate
41* The C API of Wasmtime
42* The `wasmtime` CLI tool through the `wasmtime-cli` Rust crate
43
44Other projects maintained by the Bytecode Alliance will also likely be released,
45with the same version numbers, with the main Wasmtime project soon after a
46release is made, such as:
47
48* [`wasmtime-dotnet`](https://github.com/bytecodealliance/wasmtime-dotnet)
49* [`wasmtime-py`](https://github.com/bytecodealliance/wasmtime-py)
50* [`wasmtime-go`](https://github.com/bytecodealliance/wasmtime-go)
51* [`wasmtime-cpp`](https://github.com/bytecodealliance/wasmtime-cpp)
52
53Note, though, that bugs and security issues in these projects do not at this
54time warrant patch releases for Wasmtime.
55
56[rfc4]: https://github.com/bytecodealliance/rfcs/blob/main/accepted/wasmtime-one-dot-oh.md
57[RFC process]: https://github.com/bytecodealliance/rfcs
58