Imported from previous forum
Are FIX versions backward compatible?
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> Are FIX versions backward compatible?
Absolutely not. There’s no concept of forwards or backwards compatibility across FIX versions. In many cases, a message valid in one FIX version would be invalid in any other FIX version, even if the BeginString were changed.
So, in other words, a FIX 4.4 system isn’t going to accept FIX 4.1 orders magically.
However, coding software that handles multiple FIX versions isn’t that difficult. Generally, changes made are cumulative; something added in one version will stay around in future versions. I personally choose to represent FIX version as an integer, and define an enumeration for it, so I can do comparisons.
I.e.
if ( FIXVersion < FIX_VERSION_4_1 )
Send OrdStatus
else
Send ExecType and OrdStatus
if ( FIXVersion >= FIX_VERSION_4_1 )
Send LeavesQty on execution reports
etc.