Skip to content

Commit bd64d74

Browse files
committed
Refactor versioning documentation and adopt semantic versioning guidelines
1 parent 56b0434 commit bd64d74

File tree

3 files changed

+32
-22
lines changed

3 files changed

+32
-22
lines changed

build-scripts/version.cmake

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
# Copyright (C) 2019 Intel Corporation. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33

4-
# BE AWARE: This file depends on ${WAMR_ROOT_DIR}
4+
if(NOT WAMR_ROOT_DIR)
5+
# if from wamr-compiler
6+
set(WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
7+
endif()
58

69
set(WAMR_VERSION_MAJOR 2)
710
set(WAMR_VERSION_MINOR 2)

doc/semantic_version.md

-21
This file was deleted.

doc/stability_release.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Semantic Versioning
2+
3+
WAMR has adopted [semantic versioning](https://semver.org/) to replace the former *date versioning system*. The new version string consists of three parts:
4+
5+
- *major*: Any change that is not compatible with previous versions, affecting either the ABI or APIs, will result in an increase in the major version number. APIs include: wasm_export.h, wasm_c_api.h, sections in AOT files, among others.
6+
- *minor*: This number increases with the addition of new features. This encompasses not only MVP (Minimum Viable Product) or POST-MVP features but also WebAssembly System Interface (WASI) features and WAMR-specific features.
7+
- *patch*: This number is incremented for patches.
8+
9+
## Legacy releases
10+
11+
All previous versions (tags) will retain their current status. There will be no changes to existing release names and links.
12+
13+
# Release Process
14+
15+
WAMR has been deployed across various devices. A frequent release cycle would strain customers' testing resources and add extra deployment work. Two factors can trigger a new WAMR release:
16+
17+
- Community requests, particularly following the integration of significant and new features.
18+
- Security vulnerabilities and critical bug fixes that ensure correctness.
19+
20+
Patch releases will be made only to address security vulnerabilities and critical issues related to default behavior in prior releases.
21+
22+
Once a release decision has been made:
23+
24+
- Create a PR that:
25+
1. Modifies *build-scripts/version.cmake*.
26+
2. Updates *RELEASE.md*.
27+
- Once the PR is merged, create a new tag.
28+
- Initiate the release process by triggering *the binary release processes* in *Actions*.

0 commit comments

Comments
 (0)