Dev: Release / Revision Number How-To

Release Versions and Revisions

* The release version is only incremented by the team. *

Unstable builds will have minor versions with odd numbers, such as 1.1.  Stable builds will have even numbers, such as 1.0 or 1.2.

The major and minor versions numbers are changed in cmake/revision.h.in.cmake.

The revision number should be incremented any time there are changes made to the codebase.  Unstable rev numbers are prefixed with the letter 'u', such as u0123.  Stable rev numbers do not have a prefix, such as 1234.

 

Database Versions and Revisions

* The database version is only incremented by the team. *

Database revisions are incremented any time a change is made to either the schema or content of any table in any database.  The database revision is changed in World.version.db_revision. Unstable rev numbers are prefixed with the letter 'u', such as u0123.  Stable rev numbers do not have a prefix, such as 1234.

Working version info is found in Runtime.saved_variables. This info is updated at the core start.  NOTE: It is NOT necessary to rewrite unity_runtime.saved_variables in a database/update file. 

External apps (websites, etc) can reference the CoreFullVersion and DatabaseVersion rows of Runtime.saved_variables for legacy-style version strings.

Anytime an update is made to the database content or schema, the affected tables should be dumped to the database/unity_dbname directory.  In addition, an SQL patch should be created in the appropriate directory under database/update.  This allows users to apply the changes without a full database reload.  New database rows should be added using INSERT INTO, while updates may be made using UPDATE.  It is not necessary to use DELETE FROM/INSERT INTO unless a substantial part of the record is changing, but the developer may do so if they choose to.

Database dumps should be made using the database/tools/udumptable or database/tools/udumpdbtables utilities for data  from unstable_unity_dbname databases or database/tools/dumptable - database/tools/dumpdbtables for unity_dbname databases.  These tools will create the proper format for the dump.  DO NOT commit a raw mysqldump file.  These will obscure the changed rows in the repo, and make it difficult to track our progress efficiently.

 

If you have any questions, feel free to ask the project leads.

Published on  October 16th, 2011