1. Scilab branch policies
Scilab is using a classical way of release. We use a 3 digit numeration system:
Incrementing X is considered as a major release
Y as a medium
Z as a minor
1.1. Major releases
We have some major families:
- 4 - Old release
5 - New GUI, new rendering system, new building system under GNU/Linux, Mac OS X & Unix, modularization of the code
6 - (Future) New kernel - YaSp
Major/medium releases are done when important modifications are done in the code and they could influence toolboxes, existing codes... Any major evolution of the Scilab language are done through a major release, especially if it introduces compatibility issues.
1.2. Medium releases
In a major family, many medium versions are released. Medium releases introduce some important changes, new module, new feature, etc. Some changes in the function profile can also occurs but Scilab language must remains compatible with previous release.
1.3. Minor releases
Versions fixing bugs which don't involve big or tricky changes in the code. For example, 5.0.1, 5.0.2 ...
2. Purpose of each branch
Since we are using git, it is pretty easy to manage the different versions.
The list of branches can be seen on GitWeb.
2.1. Main development branches
master - Main development branch. For the time being, it is used for the bleeding edge Scilab that will become version 5.4.
5.3 - Branch for the family 5.3.X, only bug fixes are done in this branch.
5.2 - This branch is now closed since Scilab 5.2.X is no longer maintain.
5.1 - This branch is now closed since Scilab 5.1.X is no longer maintain.
5.0 - This branch is now closed since Scilab 5.0.X is no longer maintain.
2.2. Temporary development branches
Some other branches are used to avoid disruption while a specific feature is under development. These branches are not supposed to live forever. Once the development they are hosting is completed, they will be merged into the master branch. More information about the purpose of each such temporary branch:
2.3. Any other branch
All other branches are dead (no longer used). These are:
scilab-macosx - This branch was used between Scilab 5.0 and 5.1 to prepare the MacOsX version. After Scilab 5.1, this branch is deprecated since development on MacOsX happens in 5.1 or master branches
charencoding - This branch was temporarily used to analyze the impacts of a patch for localization in the fileio module
OpenMP - Enables OpenMP options and provides some HPC features.
scicos - Scicos to Xcos merging branch
2.4. Working with branches
2.4.1. Checkout a specific branch
The case does matter.
git clone email@example.com:scilab -b 5.3 5.3
2.4.2. Fixing a bug
See these pages :