48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
# Versioning
|
|
|
|
## Since 3.2.0
|
|
|
|
SDL follows an "odd/even" versioning policy, similar to GLib, GTK, Flatpak
|
|
and older versions of the Linux kernel:
|
|
|
|
* If the minor version (second part) and the patch version (third part) is
|
|
divisible by 2 (for example 3.2.6, 3.4.0), 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 may add small changes
|
|
to the ABI, so newer patch versions are backwards-compatible but
|
|
not fully forwards-compatible. For example, programs built against
|
|
SDL 3.2.0 should work fine with SDL 3.2.8, but programs built against
|
|
SDL 3.2.8 may not work with 3.2.0.
|
|
|
|
* The minor version increases when significant changes are made that
|
|
require longer development or testing time, e.g. major new functionality,
|
|
or revamping support for a platform. Newer minor versions are
|
|
backwards-compatible, but not fully forwards-compatible. For example,
|
|
programs built against SDL 3.2.x should work fine with SDL 3.4.x,
|
|
but programs built against SDL 3.4.x may not work with 3.2.x.
|
|
|
|
* If the minor version (second part) or patch version (third part) is not
|
|
divisible by 2 (for example 3.2.9, 3.3.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.
|
|
|
|
* Prereleases are backwards-compatible with older stable branches.
|
|
For example, programs built against SDL 3.2.x should work fine with
|
|
SDL 3.3.x, but programs built against SDL 3.3.x may not work with 3.2.x.
|
|
|
|
* Prereleases are not guaranteed to be backwards-compatible with each other.
|
|
For example, new API or ABI added in 3.3.0 might be removed or changed in
|
|
3.3.1. If this would be a problem for you, please do not use prereleases.
|
|
|
|
* Only use a prerelease if you can guarantee that you will promptly upgrade
|
|
to the stable release that follows it. For example, do not use 3.3.x
|
|
unless you will be able to upgrade to 3.4.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 only package stable releases, and not prereleases.
|
|
|