-
Notifications
You must be signed in to change notification settings - Fork 587
Versioning, git and releases
Rishabh Poddar edited this page Sep 27, 2020
·
4 revisions
The following information applies to all the repositories of SuperTokens.
All versions are in the X.Y.Z
format:
-
Z
changes: These are non-breaking changes. Usually, this means any changes that are not related to the API, configs, or anything that is user-facing. -
Y
changes: These are breaking changes, or if there is a change to any of the interfaces (FDI, CDI, plugin interface) associated with the repo -
X
changes: These are any major changes. Examples are a complete API rewrite, addition of a significant module (adding the feature of login / sign up from scratch).
From the user's point of view, all that matters is the X.Y
version, since Z
increments are completely non-breaking.
Branches are in the format of X.Y
. Each version of the repo is in its own branch. For example, version 1.0.0
and version 1.0.4
will be in the branch 1.0
- just different commits.
The master
branch will have the latest released version of the repository.
There are two types of tags that are important:
-
dev-vX.Y.Z
: This is a tag that signifies that the commit has been tested (though, it does not mean that the tests have all passed). TheX.Y.Z
in the tag corresponds exactly to the version of the commit. This tag can be removed and readded to retest. -
vX.Y.Z
: This is a tag that signifies that the commit has been released. This is only possible if the commit had adev-vX.Y.Z
tag and all tests had passed. Once released, this tag stays forever, and a correspondingdev-vX.Y.Z
cannot be added again.