blob: eb32a52639a21191aab613c0cf884ccece6e8e8b [file] [log] [blame] [view]
Manuel Pégourié-Gonnarde6997392021-02-25 11:40:08 +01001# Maintained branches
2
3At any point in time, we have a number of maintained branches consisting of:
4
5- the development branch: this is where new features lands, as well as bug
6 fixes and security fixes
7- one or more LTS branches: these only get bug fixes and security fixes.
8
9We use [Semantic Versioning](https://semver.org/). In particular, we maintain
10API compatibility in the development branch between major version changes. We
11also maintain ABI compatibility within LTS branches; see the next section for
12details.
13
14## Backwards Compatibility
15
16If you have code that's working and secure with Mbed TLS x.y.z, then you
17should be able to re-compile it without modification with any later release
18x.y'.z' with the same major version number, and your code will still build, be
19secure, and work - unless it was relying on something that became insecure in
20the meantime (for example, crypto that was found to be weak). In case security
21comes in conflict with backwards compatibility, we will put security first,
22but always attempt to provide a compatibility option.
23
24For the LTS branches, additionally we try very hard to also maintain ABI
25compatibility (same definition as API except with re-linking instead of
26re-compiling) and to avoid any increase in code size or RAM usage, or in the
27minimum version of tools needed to build the code. The only exception, as
28before, is in case those goals would conflict with fixing a security issue, we
29will put security first but provide a compatibility option. (So far we never
30had to break ABI compatibility in an LTS branch, but we occasionally had to
31increase code size for a security fix.)
32
33## Currently maintained branches
34
35The following branches are currently maintained:
36
37- development (2.x.y releases)
38- Mbed TLS 2.16, maintained until at least the end of 2021, see
39 <https://tls.mbed.org/tech-updates/blog/announcing-lts-branch-mbedtls-2.16>
40- Mbed TLS 2.7 - end of life in March 2021!
41
42Users are urged to always use the latest version of a maintained branch.