Skip to content

Releases: typelevel/fs2-kafka

v4.1.0-RC1

23 Jun 14:10
v4.1.0-RC1
bccbbc1

Choose a tag to compare

v4.1.0-RC1 Pre-release
Pre-release

The highlight of this release is the consumer parallelization control contributed by @cmcmteixeira in #1493 (and #1501). The feature enables bounded parallelism using partition groups, effectively enabling bounded memory usage. This is particularly important when the number of assigned partitions is large (in the hundreds). The description in #1493 contains more details on the feature.

What's Changed

  • Update sbt, scripted-plugin to 1.12.11 by @typelevel-steward[bot] in #1485
  • Add KafkaConsumer#settings and KafkaProducer#settings by @vlovgr in #1487
  • Refine result type of the withSerializers in the KafkaProducer.WithSettings by @iRevive in #1488
  • Update kafka-avro-serializer, ... to 8.2.1 by @typelevel-steward[bot] in #1490
  • Update scalafmt-core to 3.11.1 by @typelevel-steward[bot] in #1491
  • Update slf4j-api to 2.0.18 by @typelevel-steward[bot] in #1492
  • Update sbt-typelevel, sbt-typelevel-site to 0.8.6 by @typelevel-steward[bot] in #1495
  • Update munit, munit-diff to 1.3.1 by @typelevel-steward[bot] in #1494
  • Feat/add parallelization control to consumer by @cmcmteixeira in #1493
  • Revert "Feat/add parallelization control to consumer" by @vlovgr in #1500
  • Feat/add parallelization control to consumer by @cmcmteixeira in #1501
  • Update scala3-library to 3.3.8 by @typelevel-steward[bot] in #1497
  • Update sbt, scripted-plugin to 1.12.12 by @typelevel-steward[bot] in #1498
  • Update munit, munit-diff to 1.3.3 by @typelevel-steward[bot] in #1499

New Contributors

Full Changelog: v4.0.0...v4.1.0-RC1

v4.0.0

04 May 08:56
v4.0.0
4004881

Choose a tag to compare

Both the fs2-kafka and vulcan projects have now moved to the Typelevel GitHub organization.
Thanks a lot to @armanbilge for all the help in getting these projects setup in their new home.

⚠️ For v4.x of fs2-kafka, the artifacts are now published under the org.typelevel organization.

libraryDependencies += "org.typelevel" %% "fs2-kafka" % "4.0.0"

Apart from the Java Kafka client upgrade from 3.x to 4.2, the biggest changes in fs2-kafka v4.x include the following.

  • A redesign of CommittableOffset and CommittableOffsetBatch in #1471.
    • These are now safe by construction, supporting multiple consumers, and handle out-of-order offsets.
  • A greatly simplified version of transactional producers by @cmcmteixeira in #1481.
  • Also thanks to @cmcmteixeira, the KafkaAdminClient has gotten a lot more methods in #1482.

What's Changed

  • Prepare for 4.x release with updates by @vlovgr in #1469
  • Drop sealed requirement on KafkaProducerConnection by @calvinlfer in #1202
  • Change to merge versioned binary-compatibility traits by @vlovgr in #1470
  • Change CommitTimeoutException to be a RetriableCommitFailedException by @vlovgr in #1472
  • Update vulcan to 1.13.0 by @vlovgr in #1473
  • Redesign CommittableOffset and CommittableOffsetBatch by @vlovgr in #1471
  • Change Timestamp to provide value and type by @vlovgr in #1474
  • Change to Typelevel organization by @vlovgr in #1475
  • Update sbt, scripted-plugin to 1.12.9 by @typelevel-steward[bot] in #1476
  • Update scalafmt-core to 3.10.7 by @typelevel-steward[bot] in #1477
  • Merge KafkaProducer traits for binary compatibility by @vlovgr in #1480
  • Feat/merge transactional regular producer by @cmcmteixeira in #1481
  • Exposed new methods from the underlying kafka admin client through th… by @cmcmteixeira in #1482
  • Update munit, munit-diff to 1.3.0 by @typelevel-steward[bot] in #1483
  • Update scalafmt-core to 3.11.0 by @typelevel-steward[bot] in #1484

New Contributors

Full Changelog: v3.9.1...v4.0.0

v4.0.0-RC2

14 Apr 08:31
v4.0.0-RC2
3d9f80d

Choose a tag to compare

Thanks to @cmcmteixeira we've greatly simplified transactional producers. (#1481)
The transactions documentation has been updated and following are migration notes.

  • TransactionalKafkaProducer, TransactionalProducerSettings, and KafkaProducerConnection have been removed.
    • The functionality from TransactionalKafkaProducer is now available on KafkaProducer instead.
      • The TransactionalKafkaProducer#produce method exists as KafkaProducer#produceAndCommitTransactionally.
      • The TransactionalKafkaProducer#produceWithoutOffsets method exists as KafkaProducer#produceTransactionally.
    • The following methods have been added to ProducerSettings.
      • The ProducerSettings#withTransactionId method sets the transactional.id property.
      • The ProducerSettings#withTransactionTimeout methods sets the transaction.timeout.ms property.
    • The KafkaProducerConnection#withSerializers method is available as KafkaProducer#withSerializers instead.
  • Add KafkaProducer.transactional and transactionalStream to automatically initialize the producer for transactions.
  • Add the following functions to KafkaProducer for more manual control of transactions.
    • KafkaProducer#initTransactions for initializing the producer for transactions.
      • This will be called automatically when using KafkaProducer.transactional or transactionalStream.
    • KafkaProducer#transaction for managing a transaction through a Resource.
      • Note the deadlock when opening a second transaction within a first transaction.
    • KafkaProducer#sendOffsetsToTransaction for including offset commits in a transaction.
      • Add KafkaConsumer#groupMetadata to support KafkaProducer#sendOffsetsToTransaction.
      • The method is also available in the consumer traits as KafkaSubscription#groupMetadata.
  • The KafkaProducer.Metrics and KafkaProducer.PartitionsFor traits have merged into KafkaProducer. (#1480)
    • If you had references to these traits, then change these to KafkaProducer instead.

Also thanks to @cmcmteixeira, the KafkaAdminClient has gotten a lot more methods. (#1482)

⚠️ Please note this release does not maintain binary or source compatibility with v4.0.0-RC1.

There are no further changes planned for v4.0.0. Please give the release candidate a try and if no issues are encountered, it will become the final v4.0.0 release.

What's Changed

  • Update sbt, scripted-plugin to 1.12.9 by @typelevel-steward[bot] in #1476
  • Update scalafmt-core to 3.10.7 by @typelevel-steward[bot] in #1477
  • Merge KafkaProducer traits for binary compatibility by @vlovgr in #1480
  • Feat/merge transactional regular producer by @cmcmteixeira in #1481
  • Exposed new methods from the underlying kafka admin client through th… by @cmcmteixeira in #1482

New Contributors

  • @typelevel-steward[bot] made their first contribution in #1476
  • @cmcmteixeira made their first contribution in #1481

Full Changelog: v4.0.0-RC1...v4.0.0-RC2

v4.0.0-RC1

06 Apr 18:50
v4.0.0-RC1
0636279

Choose a tag to compare

Both the fs2-kafka and vulcan projects have now moved to the Typelevel GitHub organization.
Thanks a lot to @armanbilge for all the help in getting these projects setup in their new home.

⚠️ For v4.x of fs2-kafka, the artifacts are now published under the org.typelevel organization.

libraryDependencies += "org.typelevel" %% "fs2-kafka" % "4.0.0-RC1"

Apart from the Java Kafka client upgrade from 3.x to 4.2, the biggest change in fs2-kafka v4.x is a redesign of CommittableOffset and CommittableOffsetBatch in #1471. These are now safe by construction, supporting offsets from multiple consumers and are also handling out-of-order offsets.

Please give the release candidate a try and if no issues are encountered, it will become the final v4.0.0 release.

What's Changed

  • Prepare for 4.x release with updates by @vlovgr in #1469
  • Drop sealed requirement on KafkaProducerConnection by @calvinlfer in #1202
  • Change to merge versioned binary-compatibility traits by @vlovgr in #1470
  • Change CommitTimeoutException to be a RetriableCommitFailedException by @vlovgr in #1472
  • Update vulcan to 1.13.0 by @vlovgr in #1473
  • Redesign CommittableOffset and CommittableOffsetBatch by @vlovgr in #1471
  • Change Timestamp to provide value and type by @vlovgr in #1474
  • Change to Typelevel organization by @vlovgr in #1475

New Contributors

Full Changelog: v3.9.1...v4.0.0-RC1

v3.9.1

24 Oct 08:52
v3.9.1
bc8f95d

Choose a tag to compare

What's Changed

Full Changelog: v3.9.0...v3.9.1

v3.9.0

01 Aug 13:31
v3.9.0
63478cc

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.8.0...v3.9.0

v3.8.0

26 May 20:19
v3.8.0
b42325f

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.7.0...v3.8.0

v3.7.0

02 Apr 18:48
v3.7.0
37f2d8b

Choose a tag to compare

There was an issue earlier today which prevented v3.7.0 from being released properly.
The issue has now been fixed. Please enjoy the original release notes by @aartigao.


This release includes internal changes to KafkaConsumer brought by @biochimia and @rodrigo-molina (thank you very much for your contributions! 🎉 ) as well as some bug fixes (welcome @ex-ratt and @eugkhp as new collaborators 🫂).

We've released two candidates that, after running some time in our production systems, we think we're in safe position for a new release 🥳 🚀

What's Changed

New Contributors

Full Changelog: v3.6.0...v3.7.0

fs2-kafka v3.7.0-RC2

28 Mar 06:37
cf7e0c9

Choose a tag to compare

fs2-kafka v3.7.0-RC2 Pre-release
Pre-release

What's Changed

Full Changelog: v3.7.0-RC1...v3.7.0-RC2

fs2-kafka v3.7.0-RC1

15 Mar 19:36
ed7716b

Choose a tag to compare

fs2-kafka v3.7.0-RC1 Pre-release
Pre-release

This is a pre-release for testing internal changes around KafkaConsumer introduced by @biochimia / @rodrigo-molina.

What's Changed

New Contributors

Full Changelog: v3.6.0...v3.7.0-RC1