spring cloud stream multi api version

Hi @GreenRover, can I suggest a different approach to consider:

  1. The application is always at whatever is the most current version. (v2 in this scenario.) It is responsible for just one event output at that version, always moving forward without any legacy burden.
  2. Have another service responsible for any necessary ‘step down’. In other words, it just simply consumes the v2 that was output, has the logic to covert to the v1, and publish that event for every v2 event it sees.

This would keep your main application free from continually handling this backward compatibility. Like it only gets worse as you move to a v3 soon right?
The version step-down functions can then retire as support for the earlier versions retire too.