Skip to content

Commit f8618dc

Browse files
authored
docs: add a Semver document (#2268)
1 parent 8f558ee commit f8618dc

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

VERSIONING.rst

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
*****************
2+
Versioning Policy
3+
*****************
4+
5+
We use a three-part X.Y.Z (Major.Minor.Patch) versioning definition, as follows:
6+
7+
* **X (Major)** version changes are significant and expected to break backwards compatibility.
8+
* **Y (Minor)** version changes are moderate changes. These include:
9+
10+
* Significant non-breaking feature additions.
11+
* Possible backwards-incompatible changes. These changes will be noted and explained in detail in the release notes.
12+
13+
* **Z (Patch)** version changes are small changes. These changes will not break backwards compatibility.
14+
15+
* Z releases will also include warning of upcoming breaking changes, whenever possible.
16+
17+
Beta releases
18+
=============
19+
20+
Versions with a zero major version (0.Y.Z) are considered to be beta
21+
releases. In beta releases, a Y-change may involve significant API changes.
22+
23+
Branch stability
24+
================
25+
26+
Untagged branches (such as main) are not subject to any API or ABI
27+
stability policy; APIs may change at any time.
28+
29+
What this means for you
30+
=======================
31+
32+
We recommend running the most recent version. Here are our suggestions for managing updates:
33+
34+
* Beta releases should be considered to be under flux. While we will try to minimize churn, expect that
35+
you'll need to make some changes to move to the 1.0.0 release.
36+
* X changes will require some effort to incorporate.
37+
* Y changes will not require significant effort to incorporate.
38+
* If you have good unit and integration tests, these changes are generally safe to pick up automatically.
39+
* Z changes will not require any changes to your code. Z changes are intended to be picked up automatically.
40+
* Good unit and integration tests are always recommended.

docs/USAGE-GUIDE.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,7 @@ are intended to be stable (API and ABI) within major version numbers of s2n-tls
228228
and structures used in s2n-tls internally can not be considered stable and their parameters, names, and
229229
sizes may change.
230230

231-
At this time (Summer 2015), there has been no numbered release of s2n-tls and all APIs are subject to change based
232-
on the feedback and preferences of early adopters.
231+
The VERSIONING.rst document contains more details about s2n's approach to versions and API changes.
233232

234233
## Preprocessor macros
235234

0 commit comments

Comments
 (0)