As outlined in https://github.com/zeek/broker/pull/160, Broker currently serializes data using caf::binary_serializer and caf::binary_deserializer in its backends. This is unsafe, because the binary format may change between CAF releases. This means any CAF upgrade may break the persistent state of Broker.
We can either avoid binary formats in the first place, e.g., by using JSON, or we should implement a custom serializer and deserializer with a data format that Broker controls. That would also enable us to embed versioning information.
As outlined in https://github.com/zeek/broker/pull/160, Broker currently serializes data using
caf::binary_serializer
andcaf::binary_deserializer
in its backends. This is unsafe, because the binary format may change between CAF releases. This means any CAF upgrade may break the persistent state of Broker.We can either avoid binary formats in the first place, e.g., by using JSON, or we should implement a custom
serializer
anddeserializer
with a data format that Broker controls. That would also enable us to embed versioning information.