Standards & Practices

Component Versioning Strategy

Tetherfi standard for component versioning is a 4 doted decimal number of the format M.yy.mm.dd[.r] where

  • M - The major version. A single digit or two digit number. This changes only for major refactoring or major roll out of a product.
  • yy - Year of release. A two digit number. Specifies the year component of the release date.
  • mm - Month of release. A two digit number. Specifies the month component of release date.
  • dd - Day of release. A two digit number. Specifies the date of the month component of the release date.
  • r - Optional. Either 'a' or 'b' specifying alpha or beta releases. This component should only be added to alpha/beta releases.

e.g. Chat Server - 1.19.03.24, TMAC - 3.18.05.20, Media Server - 1.19.12.27.b

 

.NET Applications

All C# applications should set and maintain version in Project Properties -> Application -> Assembly Information

 

C++ Applications

All C++ applications should maintain a PrefixVersion.h file (where Prefix can be a application specific prefix) where the version is set. The application should log the version to log at startup.

 

JavaScript libraries

All JavaScript libraries should maintain version in their source code and must log it (preferably to server side logs) at startup.