Version Numbering Europa Update
As more projects have begun using the Eclipse project Version Numbering Guidelines, further clarification is required to capture the development processes of different projects. To this end, a number of updates have been made for the Europa Simultaneous Release since the initial guidelines were written. This document describes the changes, along with the motivation for the change.
When to increment the service segment
The initial guidelines stated that the service segment must be incremented when there is a "bug fix". This criterion is unclear, because the kind of change that constitutes a "bug fix" is open to interpretation. For example, is a documentation change or a change to compiler settings considered a bug fix? The answer is yes. The guidelines have been revised to state:
The service segment number must be incremented whenever there have been changes to a plug-in between releases that are not visible in its API. For example, a bug has been fixed in the code, the plug-in manifest has changed, documentation has changed, compiler settings have changed, etc.
In other words, if the bits on disk have changed, then at least your service segment must also change. This guideline ensures that the builds prior to a release can be distinguished from builds made to a maintenance stream after a release. This also ensures that the update manager and OSGi resolver will always correctly pick the version of the plug-in from the most recent release. Relying on the lexigraphical order of the qualifier segment for this task is error prone, since a simple typo when tagging a project for a build could result the wrong version being chosen (for example changing from "v20060601" to "V20060602", or "v20060601" to "I20060602", or "v20051231" to "v20050101", to give just three examples of mistakes that have been made).