|
@@ -0,0 +1,60 @@
|
|
|
+# Versioning
|
|
|
+
|
|
|
+## Since 2.23.0
|
|
|
+
|
|
|
+SDL follows an "odd/even" versioning policy, similar to GLib, GTK, Flatpak
|
|
|
+and older versions of the Linux kernel:
|
|
|
+
|
|
|
+* The major version (first part) increases when backwards compatibility
|
|
|
+ is broken, which will happen infrequently.
|
|
|
+
|
|
|
+* If the minor version (second part) is divisible by 2
|
|
|
+ (for example 2.24.x, 2.26.x), this indicates a version of SDL that
|
|
|
+ is believed to be stable and suitable for production use.
|
|
|
+
|
|
|
+ * In stable releases, the patchlevel or micro version (third part)
|
|
|
+ indicates bugfix releases. Bugfix releases should not add or
|
|
|
+ remove ABI, so the ".0" release (for example 2.24.0) should be
|
|
|
+ forwards-compatible with all the bugfix releases from the
|
|
|
+ same cycle (for example 2.24.1).
|
|
|
+
|
|
|
+ * The minor version increases when new API or ABI is added, or when
|
|
|
+ other significant changes are made. Newer minor versions are
|
|
|
+ backwards-compatible, but not fully forwards-compatible.
|
|
|
+ For example, programs built against SDL 2.24.x should work fine
|
|
|
+ with SDL 2.26.x, but programs built against SDL 2.26.x will not
|
|
|
+ necessarily work with 2.24.x.
|
|
|
+
|
|
|
+* If the minor version (second part) is not divisible by 2
|
|
|
+ (for example 2.23.x, 2.25.x), this indicates a development prerelease
|
|
|
+ of SDL that is not suitable for stable software distributions.
|
|
|
+ Use with caution.
|
|
|
+
|
|
|
+ * The patchlevel or micro version (third part) increases with
|
|
|
+ each prerelease.
|
|
|
+
|
|
|
+ * Each prerelease might add new API and/or ABI.
|
|
|
+
|
|
|
+ * Prereleases are backwards-compatible with older stable branches.
|
|
|
+ For example, 2.25.x will be backwards-compatible with 2.24.x.
|
|
|
+
|
|
|
+ * Prereleases are not guaranteed to be backwards-compatible with
|
|
|
+ each other. For example, new API or ABI added in 2.25.1
|
|
|
+ might be removed or changed in 2.25.2.
|
|
|
+ If this would be a problem for you, please do not use prereleases.
|
|
|
+
|
|
|
+ * Only upgrade to a prerelease if you can guarantee that you will
|
|
|
+ promptly upgrade to the stable release that follows it.
|
|
|
+ For example, do not upgrade to 2.23.x unless you will be able to
|
|
|
+ upgrade to 2.24.0 when it becomes available.
|
|
|
+
|
|
|
+ * Software distributions that have a freeze policy (in particular Linux
|
|
|
+ distributions with a release cycle, such as Debian and Fedora)
|
|
|
+ should usually only package stable releases, and not prereleases.
|
|
|
+
|
|
|
+## Before 2.23.0
|
|
|
+
|
|
|
+Older versions of SDL followed a similar policy, but instead of the
|
|
|
+odd/even rule applying to the minor version, it applied to the patchlevel
|
|
|
+(micro version, third part). For example, 2.0.22 was a stable release
|
|
|
+and 2.0.21 was a prerelease.
|