mirror of
https://github.com/encounter/SDL.git
synced 2025-12-08 13:15:10 +00:00
Switch versioning scheme to be the same as GLib and Flatpak
For stable releases, this gives us the ability to make bugfix-only point releases such as 2.24.1 if we want to, and distinguish between them programmatically. For example, this ability could have been useful after 2.0.16 to fix Xwayland regressions, and after 2.0.18 to fix event loop regressions. For development releases, this gives us the ability to make multiple prereleases during the same feature cycle, and distinguish between them programmatically. For example, this would have been useful during 2.0.22 development, which went through three prereleases before reaching the final release. Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
committed by
Sam Lantinga
parent
63814ec767
commit
cd7c2f1de7
@@ -1,8 +1,10 @@
|
||||
# Release checklist
|
||||
|
||||
## New feature release
|
||||
|
||||
* Update `WhatsNew.txt`
|
||||
|
||||
* Bump version number to 2.0.EVEN for stable release
|
||||
* Bump version number to 2.EVEN.0 in all these locations:
|
||||
|
||||
* `configure.ac`, `CMakeLists.txt`: `SDL_*_VERSION`
|
||||
* `Xcode/SDL/Info-Framework.plist`: `CFBundleShortVersionString`,
|
||||
@@ -16,16 +18,14 @@
|
||||
* Bump ABI version information
|
||||
|
||||
* `configure.ac`: `CMakeLists.txt`: `SDL_INTERFACE_AGE`, `SDL_BINARY_AGE`
|
||||
* `SDL_INTERFACE_AGE += 1`
|
||||
* `SDL_BINARY_AGE += 1`
|
||||
* if any functions have been added, set `SDL_INTERFACE_AGE` to 0
|
||||
* set `SDL_INTERFACE_AGE` to 0
|
||||
* if backwards compatibility has been broken,
|
||||
set both `SDL_BINARY_AGE` and `SDL_INTERFACE_AGE` to 0
|
||||
* `Xcode/SDL/SDL.xcodeproj/project.pbxproj`: `DYLIB_CURRENT_VERSION`,
|
||||
`DYLIB_COMPATIBILITY_VERSION`
|
||||
* increment second number in `DYLIB_CURRENT_VERSION`
|
||||
* if any functions have been added, increment first number in
|
||||
`DYLIB_CURRENT_VERSION` and set second number to 0
|
||||
* increment first number in `DYLIB_CURRENT_VERSION`
|
||||
* set second number in `DYLIB_CURRENT_VERSION` to 0
|
||||
* if backwards compatibility has been broken,
|
||||
increase `DYLIB_COMPATIBILITY_VERSION` (?)
|
||||
|
||||
@@ -33,11 +33,53 @@
|
||||
|
||||
* Do the release
|
||||
|
||||
* Bump version number to 2.0.ODD for next development version
|
||||
## New bugfix release
|
||||
|
||||
* Check that no new API/ABI was added
|
||||
|
||||
* If it was, do a new feature release (see above) instead
|
||||
|
||||
* Bump version number from 2.Y.Z to 2.Y.(Z+1) (Y is even)
|
||||
|
||||
* Same places as listed above
|
||||
|
||||
* Bump ABI version information
|
||||
|
||||
* `configure.ac`: `CMakeLists.txt`: `SDL_INTERFACE_AGE`, `SDL_BINARY_AGE`
|
||||
* `SDL_INTERFACE_AGE += 1`
|
||||
* `SDL_BINARY_AGE += 1`
|
||||
* `Xcode/SDL/SDL.xcodeproj/project.pbxproj`: `DYLIB_CURRENT_VERSION`,
|
||||
`DYLIB_COMPATIBILITY_VERSION`
|
||||
* increment second number in `DYLIB_CURRENT_VERSION`
|
||||
|
||||
* Regenerate `configure`
|
||||
|
||||
* Do the release
|
||||
|
||||
## After a feature release
|
||||
|
||||
* Create a branch like `release-2.24.x`
|
||||
|
||||
* Bump version number to 2.ODD.0 for next development branch
|
||||
|
||||
* Same places as listed above
|
||||
|
||||
* Bump ABI version information
|
||||
|
||||
* Same places as listed above
|
||||
* initially assume that there is no new ABI
|
||||
* Assume that the next feature release will contain new API/ABI
|
||||
|
||||
## New development prerelease
|
||||
|
||||
* Bump version number from 2.Y.Z to 2.Y.(Z+1) (Y is odd)
|
||||
|
||||
* Same places as listed above
|
||||
|
||||
* Bump ABI version information
|
||||
|
||||
* Same places as listed above
|
||||
* Assume that the next feature release will contain new API/ABI
|
||||
|
||||
* Regenerate `configure`
|
||||
|
||||
* Do the release
|
||||
|
||||
Reference in New Issue
Block a user