@smcv
2.5 KiB
Release checklist
New feature release
-
Update
WhatsNew.txt
-
Bump version number to 2.EVEN.0 in all these locations:
configure.ac
,CMakeLists.txt
:SDL_*_VERSION
Xcode/SDL/Info-Framework.plist
:CFBundleShortVersionString
,CFBundleVersion
Makefile.os2
:VERSION
Makefile.w32
:*_VERSION
include/SDL_version.h
:SDL_*_VERSION
,SDL_PATCHLEVEL
src/main/windows/version.rc
:FILEVERSION
,PRODUCTVERSION
,FileVersion
,ProductVersion
-
Bump ABI version information
Xcode/SDL/SDL.xcodeproj/project.pbxproj
:DYLIB_CURRENT_VERSION
,DYLIB_COMPATIBILITY_VERSION
- set first number in
DYLIB_CURRENT_VERSION
to (100 * minor) + 1 - set second number in
DYLIB_CURRENT_VERSION
to 0 - set
DYLIB_COMPATIBILITY_VERSION
to the same value
- set first number in
-
Run test/versioning.sh to verify that everything is consistent
-
Regenerate
configure
-
Do the release
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
Xcode/SDL/SDL.xcodeproj/project.pbxproj
:DYLIB_CURRENT_VERSION
,DYLIB_COMPATIBILITY_VERSION
- set second number in
DYLIB_CURRENT_VERSION
to patchlevel - Leave
DYLIB_COMPATIBILITY_VERSION
unchanged
- set second number in
-
Run test/versioning.sh to verify that everything is consistent
-
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
- Assume that the next feature release will contain new API/ABI
-
Run test/versioning.sh to verify that everything is consistent
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
Xcode/SDL/SDL.xcodeproj/project.pbxproj
:DYLIB_CURRENT_VERSION
,DYLIB_COMPATIBILITY_VERSION
- set first number in
DYLIB_CURRENT_VERSION
to (100 * minor) + patchlevel + 1 - set second number in
DYLIB_CURRENT_VERSION
to 0 - set
DYLIB_COMPATIBILITY_VERSION
to the same value
- set first number in
-
Run test/versioning.sh to verify that everything is consistent
-
Regenerate
configure
-
Do the release