Schema evolution in Avro, Protocol Buffers and Thrift Published by Martin Kleppmann on 05 Dec 2012. So you have some data that you want to store in a file or send over the network. You may find yourself going through several phases of evolution: Using your programming language’s built-in serialization, such as Java serialization, Ruby’s marshal, or Python’s pickle. Or maybe you even invent your ow