Version 0.2.0
New features
MessageConverter
Felice provides a generic way of defining messages that is not tied to the way this message is sent to Kafka. In Felice, a message contains a body and may contain a key and headers.
The way this information is sent to Kafka is a function of the MessageConverter used. Some MessageConverter could decide to send headers using the Kafka headers feature and encode the body using JSON, whilst another might want to wrap the headers and body, into an Avro message and send everything as the Kafka value.
This allows decoupling of business logic from the convention used to format messages so it is easy to change the format without changing too much code.
Config
Producer and Consumer package now require passing a config value. Config contains Felice specific configuration as well as Sarama and Sarama-Cluster configuration, so users can customize the behaviour of producers and consumers.
Codec
Felice provides now a codec package containing utility types that will ease key and body encoding.