with events being ‘serializable’, we don’t explicitly mean “implement Serializable” in Java. Instead, you must make sure that the event can be serialized using the Serializer that you wish to use. XStream can serialize just about anything, so that’s not a good means of measuring. Generally, it’s just good practice to only store “simple” data in your events and not give them too much structure.
@Brijesh Migrating from 2 to 3 is pretty easy, on a code level. It mainly depends on the number of custom components you have built. The Event Store now has one extra column (auto-increment), but other than that, it’s identical.