mikehadlow/EasyNetQ — pull request #214 by randomcodenz (2014-05-22 04:12:09+00:00)
Title: Message version support

Adds message versioning support to EasyNetQ

Docs at https://github.com/randomcodenz/EasyNetQ/wiki/Versioning-Messages

Potential issues
- has only been tested with Pub/Sub
- As outlined in docs it should not be used with request / response or send/receive but there is nothing stopping this; not entirely sure if we should.
- Will not work with FuturePublish at this time
- dead letter exchange approach could be modified reasonably easily
- due to the additional metadata requirements the scheduler approach will require a breaking change in the database schema or scheduled sending code. Thoughts?
- We could simply check for `ISupersede<>` in all of the future publish methods and throw an exception as a temporary measure (fail fast rather than failing in a hard to determine manner).
- Through some incorrect incantation in the git dance, I have ended up with duplicate commits; not sure how or how to resolve it, but I suspect it is related to having to merge updated master into branch.