fs2-kafka v0.20.0-M1
Overview
This release introduces several breaking changes to binary- and source-compatibility.
Note binary- and source-compatibility is not guaranteed between milestone releases.
Changes
- Add
ConsumerSettings#withAllowAutoCreateTopics
andwithClientRack
. (#153) - Add producer with support for Kafka transactions. Thanks @danxmoran! (#128, #130, #144, #146)
- Add support for Scala 2.13. (#151, #154)
- Change
Deserializer
to support deserialization effects. (#120, #122, #131, #135)Deserializer[A]
is nowDeserializer[F[_], A]
withSync[F]
.ConsumerSettings[K, V]
is nowConsumerSettings[F[_], K, V]
.- For Java Kafka
Deserializer
interoperability, refer to the documentation.
- Change
KafkaAdminClient
to use a blockingExecutionContext
. (#141)- Changed to
Blocker
as part of #150.
- Changed to
- Change
Serializer
to support serialization effects. (#118, #119, #122, #136)Serializer[A]
is nowSerializer[F[_], A]
withSync[F]
.ProducerSettings[K, V]
is nowProducerSettings[F[_], K, V]
.- For Java Kafka
Serializer
interoperability, refer to the documentation.
- Change default
auto.offset.reset
tonone
inConsumerSettings
. (#121) - Change to expose more Java Kafka type aliases. (#133)
- Change to parameterize
AdminClientSettings
on the effect type. (#125)AdminClientSettings
is nowAdminClientSettings[F[_]]
withSync[F]
.
- Change to remove the concept of messages. (#144)
- Rename
ProducerMessage
toProducerRecords
. - Rename
CommittableMessage#committableOffset
tooffset
. - Rename
CommittableMessage
toCommittableConsumerRecord
.
- Rename
- Change to simplify produce and commit with
produce
pipe. (#146)- Change
KafkaProducer
to no longer besealed
. - Remove
KafkaProducer#producePassthrough
. - Remove most batch commit pipes:
commitBatch
,commitBatchF
,commitBatchOption
,commitBatchOptionF
,commitBatchChunk
,commitBatchChunkF
,commitBatchChunkOption
,commitBatchChunkOptionF
,commitBatchWithinF
, andcommitBatchOptionWithin
,commitBatchOptionWithinF
.
- Change
- Change to support creation effect for serializers. (#142)
- Change to use
Blocker
overExecutionContext
in settings. (#150)ConsumerSettings#executionContext
is now insteadblocker
.ConsumerSettings#withExecutionContext
is nowwithBlocker
.- Similar changes to
ProducerSettings
andAdminClientSettings
.
- Prevent mixing consumer group ids in the same
CommittableOffsetBatch
. (#148) - Remove
Header#headers
. (#147) - Remove functions for creating
ExecutionContext
s. (#145)- Removes the following functions:
consumerExecutionContextResource
,consumerExecutionContextStream
,producerExecutionContextResource
,producerExecutionContextStream
,adminClientExecutionContextResource
, andadminClientExecutionContextStream
.
- Removes the following functions:
- Remove serialization support for
org.apache.kafka.common.utils.Bytes
. (#139) - Remove the
ProducerMessage[F].of
syntax. (#134)- There is also no
ProducerRecords[F].of
after rename in #144.
- There is also no
Updates
Documentation
- Add initial consumer documentation. (#138)
- Add initial producer documentation. (#152)
- Add initial transactions documentation. (#152)
Internals
- Change
KafkaConsumerActor
to not store records internally. (#129) - Change to use internal
WithConsumer
construct. (#124)
Released on 2019-07-04.