You can add a new field to maintain availability. In the new field @Optional
notes.
@Message public static class MyMessage { public String name; public double version; // new field @Optional public int flag = 0; }
If you try to deserialize the old version of the data, optional fields will be ignored.
https://www.cwiki.us/display/Serialization/QuickStart+For+MessagePack+Java+0.6.X