-
Notifications
You must be signed in to change notification settings - Fork 408
Versioning
Note: this document is meant for developers. If you have no interest in pyfa development, then this doesn't offer you much
With the new update notification feature, Pyfa will check GitHub at every startup (unless otherwise told not to), and compare the current version to the latest release tag. We must be very strict with how we handle versioning and releases. These are my thoughts and partly documentation to how the notifications work.
version = "1.1.20"
tag = "Stable"
expansionName = "Rubicon"
expansionVersion = "1.1"
This shows the version and the tag Stable. This is already done, and nothing new needs to happen. However, after a stable release is made, increment version
by one and tag = "git"
to signify development of the next version. This is very important, otherwise things may break in the updater logic.
version = "1.1.21"
tag = "git"
expansionName = "Singularity"
expansionVersion = "703519"
This signifies that it is still a development release with tag="git"
, but that the release is for Singularity and it reports the version for the SiSi server it corresponds to. version
should still be a higher increment than the current stable release.
It's possible to append -#
to the end of the Singularity version (and release tag) to trigger a new notification, ie: expansionVersion = "703519-2"
. This may be helpful in case there are multiple releases for the same SiSi version (or for feature pre-releases not necessarily chained to a SiSi version)
- Check GitHub for release info.
- If latest release is a pre-release and we've chosen to suppress them, then increment release count by 1 and continue loop
- Do other stuff
These are cases that need to be checked for proper notifications
- Old release (
v1.1.16 - Stable
) to new release (v1.1.20 - Stable
). - Old release (
v1.1.16 - Stable
) to new Singularity (singularity-703519
). - Old Singularity (
singularity-597398
) to new Singularity (singularity-703519
) - Old Singularity (
singularity-597398
) to new release (v1.1.20 - Stable
)- This is why it in important to increment version by 1 immediately after release and tag it as
git
. Singularity still has this git tag and dev version, and so it will compare the release and the internal version - if the internal version is the same or higher, then that means there is a stable release that should supersede current Singularity release.
- This is why it in important to increment version by 1 immediately after release and tag it as
- Dev release (
v1.1.20 - git
) to stable release (v1.1.20 - Stable
)