Semantic versioning

From the first release of Restful Objects for .NET (1.0.0) forwards we will be adopting semantic versioning ('semver') as explained on http://semver.org:

-The first digit of the version signifies a 'major' version, meaning that it introduces a breaking change to the API. We do not foresee this happening for a long time, if at all.

-The second digit signifies a 'minor' version, meaning that the API has been extended, but in such a way as not to break existing applications

-The third digit signifies a 'patch' version, meaning that it does not have any impact on the API (except for any bug fixes).

What exactly constitutes the API to Restful Objects for .NET? The answer is all of the following:

1. The version of the Restful Objects spec implemented, as defined on http://restfulobjects.org. Since the spec also follows semver, it follows that any change to the spec version implemented will result in an implementation version also (though the numbers will not typically be the same).

2. Which optional capabilities defined by the spec that are implemented. If a new optional capability is supported in the implementation then this will result in a new Minor release.

3. A small set of classes and interfaces that the Run project code calls directly, for example the RunRest class (the superclass of the RunWeb class) the various 'installer' interface (such as IPersistorInstaller), and the properties on RestfulObjectsControllerBase that define configuration options, such as ConcurrencyChecking.

4. The API of the Naked Objects Framework, on which Restful Objects for .NET is built. Again, this is very stable. For more information on this, please visit http://nakedobjects.codeplex.com.

Last edited May 16, 2012 at 3:28 PM by RichardPawson, version 2

Comments

No comments yet.