for the 1.1.x (master) we are potentially doing some changes on the Sender-API (see [1]).

However, for backwards compatibility we need to think about API versioning.

For REST APIs there are (IMO) two options:
* accept header
* URIs

On our Face2Face meeting we briefly talked about this and I think the "accept header" solution was the one that had most fans. I think QMX added that it is better for migration. One thing we were not clear on (I think): What are HATEOS defined semantics?

Besides the what (headers vs. URI), I think we should think about possible implementations, to switch different versions.

Not sure, but wouldn't it be possible to inject an annotated SenderService into the RESTful endpoint, based on header values ? 
We could have a default impl (version 1.0.0) and an alternate one, that is injected if the accept header indicate API version 1.1

Any thoughts ? 


[1] http://lists.jboss.org/pipermail/aerogear-dev/2014-August/008881.html

Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf