The comment in the Version annotation source file says:
support for adding fields without breaking compatibility to old streams.
For each release of your app increment the version value. No Version annotation means version=0.
This second line of this comment lead me to believe that versioning is 'per stream' but I believe that the version stored in the stream is stored 'per class' (or maybe per object) and not 'per stream' (as it would be if the versioning was at stream/application level).
We have only incremented the @Version number assuming there is a 'per class/object' version and that seems to be working. This means that we treat each class hierarchy as having it's own independent versioning i.e. there is no 'app scope' versioning.
The comment in the Version annotation source file says:
This second line of this comment lead me to believe that versioning is 'per stream' but I believe that the version stored in the stream is stored 'per class' (or maybe per object) and not 'per stream' (as it would be if the versioning was at stream/application level).
We have only incremented the @Version number assuming there is a 'per class/object' version and that seems to be working. This means that we treat each class hierarchy as having it's own independent versioning i.e. there is no 'app scope' versioning.
Have we made the right assumption?