Releases: typelevel/fs2-kafka
Releases · typelevel/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#withAllowAutoCreateTopicsandwithClientRack. (#153) - Add producer with support for Kafka transactions. Thanks @danxmoran! (#128, #130, #144, #146)
- Add support for Scala 2.13. (#151, #154)
- Change
Deserializerto 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
Deserializerinteroperability, refer to the documentation.
- Change
KafkaAdminClientto use a blockingExecutionContext. (#141)- Changed to
Blockeras part of #150.
- Changed to
- Change
Serializerto 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
Serializerinteroperability, refer to the documentation.
- Change default
auto.offset.resettononeinConsumerSettings. (#121) - Change to expose more Java Kafka type aliases. (#133)
- Change to parameterize
AdminClientSettingson the effect type. (#125)AdminClientSettingsis nowAdminClientSettings[F[_]]withSync[F].
- Change to remove the concept of messages. (#144)
- Rename
ProducerMessagetoProducerRecords. - Rename
CommittableMessage#committableOffsettooffset. - Rename
CommittableMessagetoCommittableConsumerRecord.
- Rename
- Change to simplify produce and commit with
producepipe. (#146)- Change
KafkaProducerto 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
BlockeroverExecutionContextin settings. (#150)ConsumerSettings#executionContextis now insteadblocker.ConsumerSettings#withExecutionContextis nowwithBlocker.- Similar changes to
ProducerSettingsandAdminClientSettings.
- Prevent mixing consumer group ids in the same
CommittableOffsetBatch. (#148) - Remove
Header#headers. (#147) - Remove functions for creating
ExecutionContexts. (#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].ofsyntax. (#134)- There is also no
ProducerRecords[F].ofafter 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
KafkaConsumerActorto not store records internally. (#129) - Change to use internal
WithConsumerconstruct. (#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#toStringandAutoOffsetReset#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.optionandunit. - Add
HeaderDeserializer#option, andHeaderDeserializer.optionandunit. - Add
Serializer#option, andSerializer.option,asNull,emptyandunit. - Add
HeaderSerializer#option, andHeaderSerializer.option,asNull,emptyandunit.
- 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
describeClusterandcreateTopicstoKafkaAdminClient. Thanks @danxmoran! (#88) - Add
maxPrefetchBatchestoConsumerSettings. (#83)- Controls prefetching behaviour before backpressure kicks in.
- Use
withMaxPrefetchBatchesto change the default setting.
- Add several constructs for working with record headers. (#85)
- Add
HeaderDeserializerfor deserialization of record header values. - Add
HeaderSerializerfor serializing values to use as header values. - Add
Header.serializefor serializing a value and creating aHeader. - Add
Header#headersfor creating aHeaderswith a singleHeader. - Add
Header#asandattemptAsfor deserializing header values. - Add
Headers#withKeyand aliasapplyfor extracting a singleHeader. - Add
Headers#concatfor concatenating anotherHeadersinstance. - Add
Headers#asJavafor converting to Java Kafka-compatible headers. - Add
Headers.fromIterableto createHeadersfromIterable[Header]. - Add
Headers.fromSeqto createHeadersfromSeq[Header].
- Add
- Add several constructs for working with record serialization. (#85)
- Add a custom
Serializerto make it easier to create and compose serializers. - Add a custom
Deserializerto make it easier to create and compose deserializers. - Add
ProducerSettings.applyfor using implicitSerializers for the key and value. - Add
ConsumerSettings.applyfor using implicitDeserializers for the key and value.
- Add a custom
Changes
- Change to make
fs2.kafka.Idpublic. 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.