Release checklist

From Bitfighter
  1. Make sure all code is checked into version control and pushed to github
    • Disable any experimental features in development
  2. Update checkIfThisIsAnUpdate() in main.cpp and add any update tasks
  3. Update joystick definition file from
  4. Make sure dedicated server compiles
  5. Update README and luadoc
  6. Update version.h:
    • Change ZAP_GAME_RELEASE to new version
    • Change BUILD_VERSION to (current commit number + 1) (found by running 'git rev-list --all --count')
    • If new client-server is incompatible with the old, update CS_PROTOCOL_VERSION
    • If new client-master is incompatible with the old, update MASTER_PROTOCOL_VERSION
    • Important: Make sure version.h parsing works in CMake. It will output to the console when it is run.
  7. Re-checkin to git, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
  8. Tag the release in git. Use format "bitfighter-019g"
  9. Build for Windows:
    • Installers (32-bit is NSI, 64-bit is MSI):
      • Compile the game as a RelWithDebInfo version (to help with debugging problems)
      • Compile the updater 'gup'
      • Build notifier; use script in notifier/pyinstaller/ (Or just copy the one from previous release into: notifier/pyinstaller/dist/. Remember to mach architecture.)
      • Build package using the PACKAGE target in Visual Studio
      • Test the installers:
        • Brand new install with no preference folder created
        • Old preference updating in %appdata%/Bitfighter
    • Portable build:
      • Copy installed 'Bitfighter' folder from Win32 installer (found in Program Files) to some other place to create the portable build
      • Remove 'Uninstall.exe'. Add 'standalone.txt'
      • Remove any bitfighter.ini or log files found
      • Zip up folder and name zip like ''
  10. Build for OSX (x86_64)
    • Each architecture is a different DMG
    • Test DMGs
  11. Build for Linux
  12. Upload all builds to
    • Test downloads
  13. Put copy of source tarball at static URL to help maintainers:
  14. Rebuild any servers that need rebuilding
  15. Update master.ini:
    • [host] section:
      • Update latest_released_client_build_version
      • Update latest_released_cs_protocol (if needed)
    • [motd_clients] section:
      • Add a new line for a message for a particular release (like if a bad client was released)
  16. Update auto-update file (/var/www/html/files/getDownloadUrl.php) on master server
  17. Update bitfighter website
    • Add new release to all releases page
    • Update download page to show new release
    • Add story to main page on website announcing new release
    • Update luadoc/doxygen
  18. Post announcement in forums
  19. Announce new version via email
  20. Post the update to gaming web sites (and update screenshots)
    • (No BF news has been published since 017, try including a screen shot)
    • GameJolt
      • Add news item
      • Update all downloads (will need to download all copies of installer from to local machine first)
  21. Update /topic on #bitfighter IRC channel
  22. Update the Building Bitfighter page if needed
  23. Update this Release checklist