CHANGELOG.md

# 2.0.0

### Breaking Changes

* Allow keyword configuration for subscribers. Note, keywords require atom keys, so if your current version of `kaffe` is 1.27.0 or higher, adopting to the keyword subscribers is a breaking (and highly encouraged) change.

* Compression support by default was removed from Brod. While this allows less dependencies out of the box, it also means that topics with compression now need additional config for `snappy` or `lz4` compression.

    To support compression as `brod` did by default before this change, add `snappyer` and `lz4b` to your `deps`, add the following to `config`

    ```elixir
    config :kafka_protocol, provide_compression: [
    snappy: :snappyer,
    lz4: :lz4b
    ]
    ```

    For more information and to see other supported compression types, see [kafka_protocol's README](https://github.com/kafka4beam/kafka_protocol/blob/master/README.md#compression).

### Enhancements

* Bumps `:brod` to v4, which drops `snappyer` dependency requirement

# 1.28.0

### Enhancements

* Allow `auto_start_producers` and `allow_topic_auto_creation` to be configurable for brod clients. If configuration of either of these values is desired, update your producer or consumer configs.

* Configures CI to run on pull request.

* Add `Kaffe.MessageHandler` behaviour. To utilize it, add the behaviour to your configured `message_handler` and `@impl Kaffe.MessageHandler` on `handle_messages/1`.

### Fixes

* Stops compiler warnings on duplicate doc definitions
* Fix doc formatting and typos

# 1.27.2

* Relax `:retry` requirement

# 1.27.1

### Enhancements

* Updated documentation linking
* Added @impl to common behaviours
* Fixed compiler warnings and formatting
* Created CHANGELOG