Versions and Releases(Guideline)
This is a simple guideline to keep some standard about how the code is released. Use the forum (Thread) to discuss new ideas.
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
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
- 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