Releases: fd4s/fs2-kafka
Releases · fd4s/fs2-kafka
fs2-kafka v0.20.0-M2
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.
fs2-kafka v0.19.9
fs2-kafka v0.19.8
Additions
- Add initial debug logging using SLF4J. Thanks @backuitist! (#108, #113)
Changes
- Change to only pause/resume partitions when necessary. (#112)
- Change to only start polling after streaming has started. Thanks @Krever! (#110, #114)
- Change to revoke previous duplicate fetch and issue warning log. Thanks @backuitist! (#107)
- Fix race condition which could cause duplicate records. (#111)
Released on 2019-04-02.
fs2-kafka v0.19.7
Changes
- Fix to include state changes during poll when handling records. (#109)
Released on 2019-03-29.
fs2-kafka v0.19.6
Changes
- Fix a race condition which could result in duplicate records. Thanks @backuitist! (#105, #106)
Released on 2019-03-28.
fs2-kafka v0.19.5
Changes
- Fix
Acks#toString
andAutoOffsetReset#toString
. (#103)
Updates
Miscellaneous
- There is now a Gitter room for the library.
Released on 2019-03-27.
fs2-kafka v0.19.4
Additions
- Add improved support for unkeyed records. Thanks @ranjanibrickx! (#96, #97)
- Add
Deserializer#option
, andDeserializer.option
andunit
. - Add
HeaderDeserializer#option
, andHeaderDeserializer.option
andunit
. - Add
Serializer#option
, andSerializer.option
,asNull
,empty
andunit
. - Add
HeaderSerializer#option
, andHeaderSerializer.option
,asNull
,empty
andunit
.
- Add
Released on 2019-03-01.
fs2-kafka v0.19.3
Additions
- Add functions for working with consumer offsets. Thanks @backuitist! (#92, #93)
- Add
KafkaConsumer#assignment
. - Add
KafkaConsumer#position
. - Add
KafkaConsumer#seekToBeginning
. - Add
KafkaConsumer#seekToEnd
.
- Add
- Add
Attempt[A]
aliases for deserializers. (#95)- Add
Deserializer.Attempt[A] = Deserializer[Either[Throwable, A]]
. - Add
HeaderDeserializer.Attempt[A] = HeaderDeserializer[Either[Throwable, A]]
.
- Add
Released on 2019-02-27.
fs2-kafka v0.19.2
Additions
- Add
describeCluster
andcreateTopics
toKafkaAdminClient
. Thanks @danxmoran! (#88) - Add
maxPrefetchBatches
toConsumerSettings
. (#83)- Controls prefetching behaviour before backpressure kicks in.
- Use
withMaxPrefetchBatches
to change the default setting.
- Add several constructs for working with record headers. (#85)
- Add
HeaderDeserializer
for deserialization of record header values. - Add
HeaderSerializer
for serializing values to use as header values. - Add
Header.serialize
for serializing a value and creating aHeader
. - Add
Header#headers
for creating aHeaders
with a singleHeader
. - Add
Header#as
andattemptAs
for deserializing header values. - Add
Headers#withKey
and aliasapply
for extracting a singleHeader
. - Add
Headers#concat
for concatenating anotherHeaders
instance. - Add
Headers#asJava
for converting to Java Kafka-compatible headers. - Add
Headers.fromIterable
to createHeaders
fromIterable[Header]
. - Add
Headers.fromSeq
to createHeaders
fromSeq[Header]
.
- Add
- Add several constructs for working with record serialization. (#85)
- Add a custom
Serializer
to make it easier to create and compose serializers. - Add a custom
Deserializer
to make it easier to create and compose deserializers. - Add
ProducerSettings.apply
for using implicitSerializer
s for the key and value. - Add
ConsumerSettings.apply
for using implicitDeserializer
s for the key and value.
- Add a custom
Changes
- Change to make
fs2.kafka.Id
public. Thanks @chenharryhua! (#86, #87)
Updates
- Update Kafka to 2.1.1. Thanks @sebastianvoss! (#90, #91)
Documentation
- Add a technical details section explaining backpressure. Thanks @backuitist! (#82, #84)
Released on 2019-02-22.