FAQ : New Numbering System for Squash Versions
- Why is there a new numbering system for the versions of Squash (TM, AUTOM, and DEVOPS) and their plugins?
- What are the advantages of this new numbering system?
- How does this new numbering system work?
- If we take version X.Y.Z., what does each of the letters represent?
- Do plugin versions follow the same rules?
- Do you have a practical example for this new version numbering?
- How does this new numbering system make my life easier?
- What will be the new release pattern of Squash versions?
- What about the compatibility between the versions of TM, AUTOM, and DEVOPS?
- How do I proceed with updating to a major, minor, and patch version of Squash TM?
Why is there a new numbering system for the versions of Squash (TM, AUTOM, and DEVOPS) and their plugins?
We want to take full advantage of having three numbers for each version. This enables you to see the nature of a version's evolutions more clearly. It also makes it easier for you to choose which plugin version to install with your core version of Squash TM.
What are the advantages of this new numbering system?
This new version numbering system has two advantages: 1. It gives the administrators and users of Squash a better idea of the importance of the evolutions from one version to another; 2. It enables them to have a better view of the compatibility of the core of Squash TM and its plugins.
How does this new numbering system work?
The new numbering system works as follows: the first number indicates major evolutions, the second minor evolutions, and the third bug fixes.
The plugins are numbered according to the version of the Squash TM core they are compatible with (see illustration below), even if that means skipping numbers (e.g. the P2 plugin goes from 3.0.2. to 3.2.0):
If we take version X.Y.Z., what does each of the letters represent?
X represents the major version: going from version X to version X+1 implies that there were changes that were not backwards compatible (modification of the database) ; or that this backwards compatibility was not tested. Major evolutions bring with them new features. The update process must be done carefully (database update, and eventually the configuration files update).
Y represents the minor version: new backwards compatible features, mainly bug fixes, new features that are not backwards compatible. The update process must also be done carefully.
Z represents a patch version (bug fixes): this version is backwards compatible with the previous version. The update process is easier (often you just have to replace the .war file). The release of a patch version has no impact on the plugin compatibility.
Do plugin versions follow the same rules?
No, plugin versions follow these version numbering rules: - Every evolution of the plugin has as a (Major.Minor) version the minimum core version of Squash TM it is compatible with (even if that means skipping a number). - The third number increases by one number each time, independently of the core version of Squash TM, unless the major or minor version of that evolution has increased; in that case it becomes 0.
Do you have a practical example for this new version numbering?
To make this more explicit, here is the same chart as previously:
Thus, the core version 3.0.1 of Squash TM works with versions: - 3.0.1 of the P1 plugin - 3.0.1 and 3.0.2 of the P2 plugin
The core version 3.1.0 of Squash TM works with versions: - 3.0.1 and 3.1.0 of the P1 plugin - 3.0.1 and 3.0.2 of the P2 plugin
The core version 3.2.0 of Squash TM works with versions: - 3.1.0 of the P1 plugin - 3.0.2, 3.2.0 and 3.2.1 of the P2 plugin
How does this new numbering system make my life easier?
By knowing the number that changed in the new version, you can know what type of evolution it is. You know what to expect, and you know if you have to be careful during the update process or less so.
Regarding plugins compatibility, when you look at their version in the plugin repository, it will be easier for you to see if they are compatible or not with your core version of Squash TM.
What will be the new release pattern of Squash versions?
Every year, a major version of Squash TM will be released in May and November.
AUTOM/DEVOPS versions are released monthly every second Wednesday of each month, except in August due to summer recess.
What about the compatibility between the versions of TM, AUTOM, and DEVOPS?
The version numbers of the core of Squash TM and those of Squash AUTOM and Squash DEVOPS evolve independently.
When it comes to Squash AUTOM and Squash DEVOPS specifically, with each release comes a set of components that are all compatible with each other. You can view them on the page Downloads or on the page Release notes by version. Among these components, you can find: - Squash TM plugins that are numbered according to the core version of Squash TM they are compatible with; - Components that are independent of Squash TM and have their own version numbers, but follow the same principles as the core version of Squash TM (i.e. major version, minor version, and patch version).
How do I proceed with updating to a major, minor, and patch version of Squash TM?
To install a major version X.0.0 of Squash TM, you must attentively follow the install guide: - Update the database; - Eventually, update the configuration files; - Replace the squash-tm.war file; - Update all the plugins to version X.0.0.
If you are upgrading to a minor version, it is more simple. A version upgrade comes with at least a new feature. It can also imply a simple database update, but does not necessarily require one.
Unless otherwise stated, you don't have to update the plugins.
To update a patch version (third number), you generally only need to replace the squash-tm.war file.