Versions and Releases(Guideline)

From Uzebox Wiki
Jump to: navigation, search

Description

This is a simple guideline to keep some standard about how the code is released. Use the forum (Thread) to discuss new ideas.

Version number

Only 2 fields (0.0) major and minor:

  • The "major" is incremented for relevant changes or when the API changes breaking compatibility.
  • The "minor" is incremented for small implementations: best performance, bug fixes, new tools, new games, new video mode, etc

Releases

The releases are made when a group of implementations are ready in the trunk. They bump the version as described above. A release is made by:

  • Creating a new "tag" in SVN
  • Creating a featured source package
  • Optionally a featured binary package is created

Package names

  • Normal source release: "uzebox_src_MAJOR.MINOR.zip" example: uzebox_src_3.1.zip
  • Normal binary release: "uzebox_bin_OS_MAJOR.MINOR.zip" example: uzebox_bin_Win32_3.1.zip
  • development source package: "uzebox_dev_BRANCH_rREVISION.zip" examples: uzebox_dev_trunk_r119.zip, uzebox_dev_bootloader_r178.zip

Trunk and branches

Trunk contains the latest implementations. It is supposed to be in good health (a.k.a at least compiling :P) but the stable versions are considered releases.

Branches are to used only for two reasons:

  • Contain on-going implementations deemed risky (could break the compilation of the trunk)that are removed after the code is merged to main.
  • Maintenance on releases(tags) used to fix bugs. This allow development to continue on the trunk. Naming for maintenance: e.g: uzebox-3.0-stable