diff options
Diffstat (limited to 'src/contrib/SDL-2.30.2/docs/README-versions.md')
-rw-r--r-- | src/contrib/SDL-2.30.2/docs/README-versions.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/contrib/SDL-2.30.2/docs/README-versions.md b/src/contrib/SDL-2.30.2/docs/README-versions.md new file mode 100644 index 0000000..d54bf40 --- /dev/null +++ b/src/contrib/SDL-2.30.2/docs/README-versions.md | |||
@@ -0,0 +1,60 @@ | |||
1 | # Versioning | ||
2 | |||
3 | ## Since 2.23.0 | ||
4 | |||
5 | SDL follows an "odd/even" versioning policy, similar to GLib, GTK, Flatpak | ||
6 | and older versions of the Linux kernel: | ||
7 | |||
8 | * The major version (first part) increases when backwards compatibility | ||
9 | is broken, which will happen infrequently. | ||
10 | |||
11 | * If the minor version (second part) is divisible by 2 | ||
12 | (for example 2.24.x, 2.26.x), this indicates a version of SDL that | ||
13 | is believed to be stable and suitable for production use. | ||
14 | |||
15 | * In stable releases, the patchlevel or micro version (third part) | ||
16 | indicates bugfix releases. Bugfix releases should not add or | ||
17 | remove ABI, so the ".0" release (for example 2.24.0) should be | ||
18 | forwards-compatible with all the bugfix releases from the | ||
19 | same cycle (for example 2.24.1). | ||
20 | |||
21 | * The minor version increases when new API or ABI is added, or when | ||
22 | other significant changes are made. Newer minor versions are | ||
23 | backwards-compatible, but not fully forwards-compatible. | ||
24 | For example, programs built against SDL 2.24.x should work fine | ||
25 | with SDL 2.26.x, but programs built against SDL 2.26.x will not | ||
26 | necessarily work with 2.24.x. | ||
27 | |||
28 | * If the minor version (second part) is not divisible by 2 | ||
29 | (for example 2.23.x, 2.25.x), this indicates a development prerelease | ||
30 | of SDL that is not suitable for stable software distributions. | ||
31 | Use with caution. | ||
32 | |||
33 | * The patchlevel or micro version (third part) increases with | ||
34 | each prerelease. | ||
35 | |||
36 | * Each prerelease might add new API and/or ABI. | ||
37 | |||
38 | * Prereleases are backwards-compatible with older stable branches. | ||
39 | For example, 2.25.x will be backwards-compatible with 2.24.x. | ||
40 | |||
41 | * Prereleases are not guaranteed to be backwards-compatible with | ||
42 | each other. For example, new API or ABI added in 2.25.1 | ||
43 | might be removed or changed in 2.25.2. | ||
44 | If this would be a problem for you, please do not use prereleases. | ||
45 | |||
46 | * Only upgrade to a prerelease if you can guarantee that you will | ||
47 | promptly upgrade to the stable release that follows it. | ||
48 | For example, do not upgrade to 2.23.x unless you will be able to | ||
49 | upgrade to 2.24.0 when it becomes available. | ||
50 | |||
51 | * Software distributions that have a freeze policy (in particular Linux | ||
52 | distributions with a release cycle, such as Debian and Fedora) | ||
53 | should usually only package stable releases, and not prereleases. | ||
54 | |||
55 | ## Before 2.23.0 | ||
56 | |||
57 | Older versions of SDL followed a similar policy, but instead of the | ||
58 | odd/even rule applying to the minor version, it applied to the patchlevel | ||
59 | (micro version, third part). For example, 2.0.22 was a stable release | ||
60 | and 2.0.21 was a prerelease. | ||