From 921e8ff313e7c1c2ac818591ae14a0505ad2c8b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Fri, 18 Jan 2019 14:31:47 +0100 Subject: [PATCH] docs: Extend versioning description --- docs/EVMC.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/EVMC.md b/docs/EVMC.md index 73c5e6a..492e76d 100644 --- a/docs/EVMC.md +++ b/docs/EVMC.md @@ -15,10 +15,20 @@ to access Ethereum environment and state. # Versioning {#versioning} The EVMC project uses [Semantic Versioning](https://semver.org). -Moreover, the _MAJOR_ version number is also referenced as the EVMC ABI version. +The version format is `MAJOR.MINOR.PATCH`. + +The _MAJOR_ version number is also referenced as the **EVMC ABI version**. This ABI version is available to VM and Host implementations by ::EVMC_ABI_VERSION. For example EVMC 3.2.1 would have ABI version 3 and therefore this project release can be referenced as EVMC ABIv3 or just EVMC 3. +Every C ABI breaking change requires increasing the _MAJOR_ version number. + +The releases with _MINOR_ version change allow adding new API features +and modifying the language bindings API. +Backward incompatible API changes are allowed but should be avoided if possible. + +The releases with _PATCH_ should only include bug fixes. Exceptionally, +API changes are allowed when required to fix a broken feature. # Modules {#modules}