Skip to content

Releases: fd4s/fs2-kafka

fs2-kafka v2.1.0

22 May 18:19
Compare
Choose a tag to compare

Scala 3.0.0

The main feature of this release is support for Scala 3.0.0 (and dropping support for 3.0.0-RC3).

Updates

  • Scala 3.0.0
  • Scala 2.13.6
  • Vulcan 1.7.1
  • Cats-effect 3.1.1
  • Cats 2.6.1
  • fs2 3.0.4
  • Discipline-scalatest 2.1.5
  • Kind-projector 0.13.0
  • testcontainers-scala 0.39.4

fs2-kafka v1.7.0

22 May 18:22
Compare
Choose a tag to compare

This release brings support for Scala 3.0.0 to the fs2-kafka 1.x series, which uses cats-effect 2.

Updates

  • Scala 3.0.0
  • Scala 2.13.6
  • Vulcan 1.7.1
  • Cats-effect 2.5.1
  • Cats 2.6.1
  • fs2 2.5.6
  • Discipline-scalatest 2.1.5
  • Kind-projector 0.13.0
  • testcontainers-scala 0.39.4

fs2-kafka v2.0.0

29 Apr 15:15
Compare
Choose a tag to compare

This is the first release in the fs2-kafka 2.x series. Its main difference with previous releases is that it uses cats-effect 3 rather than cats-effect 2, but there are some other changes and improvements. It is identical to v2.0.0-RC3. See release notes for previous release candidates for further details.

fs2-kafka v2.0.0-RC3

27 Apr 19:31
Compare
Choose a tag to compare
fs2-kafka v2.0.0-RC3 Pre-release
Pre-release

This is likely to be the final release candidate for fs2-kafka v2.0.0. It contains the same changes as v1.6.1.

fs2-kafka v1.6.1

27 Apr 19:04
ff6a84c
Compare
Choose a tag to compare

Bug fix

  • Fixed an issue in KafkaCredentialStore with handling of newlines in PEMs (#606)

Dependency updates

  • Support Scala 3.0.0-RC3, drop Scala 3.0.0-RC2, update Cats to 2.6.0, update Vulcan to 1.6.0
  • Update fs2-core to 2.5.5
  • Update discipline-scalatest, cats-testkit-scalatest to 2.1.4

fs2-kafka v2.0.0-RC2

25 Apr 18:29
Compare
Choose a tag to compare
fs2-kafka v2.0.0-RC2 Pre-release
Pre-release

This release candidate contains the same changes as v1.6.0, in addition to the following.

User-facing changes

  • Add dual-effect constructors for KafkaAdminClient and KafkaProducerConnection (#595)
  • Allow a custom ExecutionContext to be provided for blocking operations in KafkaProducerSettinngs and KafkaConsumerSettings (#590, #594)

Internals

  • Use a single-threaded ExecutionContext for producers (#584)
  • Add missing MkProducer argument, force compiler errors when they're missing (#585)
  • Decouple effect type of Mk traits from effect type of settings (#588)
  • Replace Deferred + Dispatcher with Promise in producer code (#587)

fs2-kafka v1.6.0

25 Apr 18:20
e44f387
Compare
Choose a tag to compare

Documentation improvements

  • Clarified that custom blocker provided to ConsumerSettings#withBlocker must be single-threaded (#583)

Internals

  • Use blocker for scheduling commitAsync, remove semaphore from WithConsumer (#586)

Dependency updates

  • cats-effect 2.5.0 (#597)
  • kafka-clients 2.8.0 (#596)

fs2-kafka v2.0.0-RC1

06 Apr 22:36
Compare
Choose a tag to compare
fs2-kafka v2.0.0-RC1 Pre-release
Pre-release

This is the first release candidate for fs2-kafka v2.0.0, based on cats-effect 3.0. It is available for Scala 2.12, 2.13, and 3.0.0-RC2.

Revised roadmap

Previously we planned to release two new major versions: 2.0, based on cats-effect 2, and 3.0 based on cats-effect 3. However we no longer intend to release a new major version based on cats-effect 2, so fs2-kafka 2.0 will be based on cats-effect 3. This release candidate is therefore the successor to v3.0.0-M3.

We expect to release fs2-kafka 3.0, with further breaking changes, in the second half of 2021. The 1.x series will continue to receive bug fixes and some new features may be backported, but development will focus on the 2.x and 3.x series.

Migrating from v1.x

Before updating to v2.0.0-RC1, you should first update to v1.5.0 and fix any deprecation warnings. This process can mostly be automated with ScalaFix using scalafix --rules=github:fd4s/fs2-kafka/Fs2Kafka?sha=v1.5.0. (See here for how to add ScalaFix to your project.)

Apart from the migration to cats-effect 3.0, v2.0.0-RC1 makes only a few source-breaking changes from v1.5.0. Again, the migration can mostly be automated with Scalafix, using scalafix --rules=github:fd4s/fs2-kafka/Fs2Kafka?sha=v2.0.0-RC1.

  • Reordering of passthrough parameters (#466): the P type parameter in ProducerRecords, TransactionalProducerRecords and ProducerResult has been moved to the left.
  • Moving resource instantiation out of settings classes (#581). Classes such as ProducerSettings no longer have a createProducer method (etc) - instead, this capability is represented by separately by the MkProducer trait. Most user code will be unaffected by this change.

It is not binary-compatible with previous releases.

fs2-kafka v1.5.0

06 Apr 22:00
3ec88f5
Compare
Choose a tag to compare

New features

  • Create KafkaCredentialStore (#530) @agustafson
    • A straightforward way to provide SSL credentials in PEM format

API Changes

  • More idiomatic syntax for instantiating things via partial application (#573) @bplommer
    • Usages such as KafkaConsumer.resource[F].using(settings) are deprecated in favour of KafkaConsumer[F].using(settings).
    • To update your code using ScalaFix (after adding it to your project): scalafix --rules=github:fd4s/fs2-kafka/Fs2Kafka?sha=v1.5.0

Other changes

  • Added support for Scala 3.0.0-RC2, dropped 3.0.0-RC1

Dependency updates

fs2-kafka v3.0.0-M3

30 Mar 20:17
Compare
Choose a tag to compare
fs2-kafka v3.0.0-M3 Pre-release
Pre-release

This is the third milestone release for the fs2-kafka v3.x series, and the first to depend on final releases of cats-effect 3.0 and fs2 3.0. It also includes various other dependency updates.