SDL/docs/release_checklist.md

2.4 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
    • build-scripts/winrtbuild.ps1: $SDLVersion
    • include/SDL_version.h: SDL_*_VERSION, SDL_PATCHLEVEL
    • src/main/windows/version.rc: FILEVERSION, PRODUCTVERSION, FileVersion, ProductVersion
  • Bump ABI version information

    • configure.ac: CMakeLists.txt: SDL_INTERFACE_AGE, SDL_BINARY_AGE
      • SDL_BINARY_AGE += 1
      • 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 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 (?)
  • 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

    • 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
    • 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