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 version.h:
    • Change ZAP_GAME_RELEASE to new version
    • Change BUILD_VERSION to (current commit number + 1) (found by running 'hg summary')
    • 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.
  6. Re-checkin to HG, so version numbers are correct, and everything aligns correctly NOTE THAT THE TAG WILL COUNT AS A VERSION!
  7. Tag the release in HG. Use format "bitfighter-019d"
  8. Build for Windows:
    • Installers (32-bit is NSI, 64-bit is MSI):
      • Compile the game as a Release version
      • Compile 'bfup'
      • Build notifier; use script in notifier/pyinstaller/
      • 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 ''
  9. Build for OSX (i386, x86_64)
    • Each architecture is a different DMG
    • Test DMGs
  10. Build for Linux
  11. Upload all builds to
    • Test downloads
  12. Put copy of source tarball at static URL to help maintainers:
  13. Rebuild any servers that need rebuilding
  14. 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)
  15. Update auto-update file (/var/www/html/files/getDownloadUrl.php) on master server
  16. 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
  17. Post announcement in forums
  18. Announce new version via email
  19. 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)
  20. Update /topic on #bitfighter IRC channel
  21. Update the Building Bitfighter page if needed
  22. Update this Release checklist