Version Differences
What is a version?
In contrary to
change which can develop in time,
a version is a fixed state of code. In terms of source control a version is denoted with
a tag, while change is a branch. These fixed states of code are useful for
- reproducing released versions any time later
- ensuring that a checked out version is always exactly the same as it was when accepted for production
- identifying which changes are included and tasks implemented in given code
Version differences ease finding out the changes between two versions – this could manually be quite a sophisticated task, given that the branching model is highly parallel. For example a higher version number does not automatically guarantee a task that is known to be implemented in a version with lower number to be implemented in given version too.
You can access version differences page through menu: Version -> Differences.

Version differences do not carry any value per se, it's the usage that does. The most common usages for version differences are:
- Testers get a new test versions and they want to know what has been implemented since previous test version – so they query the differences between two versions and verify listed tasks.
- Release managers doing an acceptance want to find out whether all the tasks implemented since previous production version are verified.
- Your clients request for a changelog because they want to see what has changed since previous version given to them.
- Product managers want to analyze the impact of a whole release to see if it won't break any dependent systems.
- Integrators or developers performing a base version update need to compare edits made within a change to edits made within mainline.
The version differences can be presented as a list of changes and tasks implemented by them:

Another view of the differences is as a list of files linking to diffs of the files between given versions (similar to diff of an individual chage):

NOTE: as this list is based on uploaded diffs of individual changes, this view may be slightly incomplete due to possible editing of otherwise untouched files during integration.