IBM Streams 4.2

Versioning guidelines

Use a version scheme for toolkits that you develop. The toolkit version might be synced up with the version of a wrapped library, or it might depend on the feature set provided by the toolkit.

You can follow the following convention to determine the semantics for the version parts. Version parts consist of the following components that are separated by a period (".").

major
Dependent toolkits or streams processing applications are not compatible with toolkits that have different major parts. For example, com.ibm.streamsx.inet 1.2 and 2.3 are not compatible.
minor
Dependent toolkits or streams processing applications are compatible with toolkits that have the same major number and an equal or higher minor version. For example, com.ibm.streamsx.inet 1.3 is compatible with 1.2 (an earlier version) for a streams processing application.
micro
A difference in the micro part does not signal any compatibility issues with an earlier version. The micro number is used to fix bugs that do not affect applications or other toolkits that use the toolkit.
qualifier
The qualifier can be used to indicate a build identity, for example a time stamp. Different qualifiers do not signal any compatibility issues with an earlier version.

For example, for a streams processing application developed against version 1.2 of com.ibm.streamsx.inet, specify its dependency as [1.2,2), which means it requires version 1.2 or later, but does not work with any version 2 or later.

Note: This convention follows the OSGi Semantic Versioning guidelines.

In general, try to keep compatibility with an earlier version. The SPL Code Generations APIs provide ways to inspect the product version, and it is often possible for a toolkit to maintain compatibility with an earlier version while it takes advantage of new features, by conditional code generation based on the product version.

Specify toolkit dependencies on the required version of IBM® Streams with the requiredProductVersion element of the toolkit's info.xml model.

Specify toolkits dependencies on the versions of any required IBM toolkits, except the SPL standard toolkit. The standard toolkit is always tied to the IBM Streams product. Specifying a dependency on the IBM Streams version is sufficient. However, other IBM toolkits might be released independently of IBM Streams, and any dependencies on the versions of these toolkits must be specified. Finally, specify toolkits dependencies on the versions of any required non-IBM toolkits.