Skip to content

Releases: fd4s/fs2-kafka

fs2-kafka v2.5.0-M2

21 Mar 12:10
f503479
Compare
Choose a tag to compare
fs2-kafka v2.5.0-M2 Pre-release
Pre-release

This release is identical to v2.5.0-M1, which failed to publish.

This release adds some new features and significantly simplifies the internals of the consumer. Although we don't expect these changes to cause any problems, we're releasing this as a milestone to allow for some extra battle testing before the next stable release.

Note: there is a small change to the behaviour of consumers when using partitionedStream or partitionsMapStream. Previously, failure to deserialize a record would cause the entire consumer to fail; now, it will only cause a single partition stream to fail.

What's Changed

New features

  • Add produce method to KafkaProducerConnection by @bplommer in #900
    • KafkaProducerConnection allocates a producer without being tied to particular serializers, allowing creation of multiple KafkaProducer instances that share a single set of connections to the broker. With this change, it is possible to produce records directly from KafkaProducerConnection by providing serializers when calling produce.
  • Allow creating settings with placeholder serdes, changing serdes in settings by @bplommer in #911
    • This allows creation of ProducerSettings and ConsumerSettings to be decoupled from provision of serializers and deserializers, which is particularly useful when creating multiple producers or consumers with different types.

Docs improvements

Simplification of internals

  • Move deserialization from KafkaConsumerActor to KafkaConsumer by @bplommer in #902
  • Use semaphore-like permits for some actor operations by @bplommer in #906

Dependency updates

New Contributors

Full Changelog: v2.4.0...2.5.0-M1

fs2-kafka v2.5.0-M1

21 Mar 11:51
f503479
Compare
Choose a tag to compare
fs2-kafka v2.5.0-M1 Pre-release
Pre-release

This release adds some new features and significantly simplifies the internals of the consumer. Although we don't expect these changes to cause any problems, we're releasing this as a milestone to allow for some extra battle testing before the next stable release.

Note: there is a small change to the behaviour of consumers when using partitionedStream or partitionsMapStream. Previously, failure to deserialize a record would cause the entire consumer to fail; now, it will only cause a single partition stream to fail.

What's Changed

New features

  • Add produce method to KafkaProducerConnection by @bplommer in #900
    • KafkaProducerConnection allocates a producer without being tied to particular serializers, allowing creation of multiple KafkaProducer instances that share a single set of connections to the broker. With this change, it is possible to produce records directly from KafkaProducerConnection by providing serializers when calling produce.
  • Allow creating settings with placeholder serdes, changing serdes in settings by @bplommer in #911
    • This allows creation of ProducerSettings and ConsumerSettings to be decoupled from provision of serializers and deserializers, which is particularly useful when creating multiple producers or consumers with different types.

Docs improvements

Simplification of internals

  • Move deserialization from KafkaConsumerActor to KafkaConsumer by @bplommer in #902
  • Use semaphore-like permits for some actor operations by @bplommer in #906

Dependency updates

New Contributors

Full Changelog: v2.4.0...2.5.0-M1

fs2-kafka v3.0.0-M5

09 Mar 18:12
b5a938a
Compare
Choose a tag to compare
fs2-kafka v3.0.0-M5 Pre-release
Pre-release

This is the latest milestone release for the fs2-kafka v3.x series, which uses Kafka 3. It updates the kafka-clients library to 3.1 and includes the same changes as v2.4.0.

fs2-kafka v2.4.0

09 Mar 17:18
585d714
Compare
Choose a tag to compare

This release adds several new features to the fs2-kafka 2.x line, which uses cats-effect 3 and Kafka 2. It also fixes a concurrency-related bug in TransactionalKafkaProducer.

What's Changed

Enhancements

Bugfixes

Doc improvements

Dependency updates

Housekeeping

New Contributors

Full Changelog: v2.3.0...v2.4.0

v1.10.0

09 Mar 17:09
858922c
Compare
Choose a tag to compare

This is a maintenance release for the 1.x series, which is based on cats-effect 2 and is no longer receiving new features. It fixes a concurrency-related bug in TransactionalKafkaProducer (see #888) and updates various dependencies.

What's Changed

Full Changelog: v1.9.0...v1.10.0

fs2-kafka v3.0.0-M4

21 Jan 10:35
Compare
Choose a tag to compare
fs2-kafka v3.0.0-M4 Pre-release
Pre-release

This is the first milestone release of fs2-kafka following the release of 2.0.0. (We have previously released v3.0.0-M1 through v3.0.0-M3 but these became the 2.x series following a change in our roadmap.)

This is the first release of fs2-kafka to use version 3.0.0 of the Apache Kafka client library, which is not binary-compatible with previous versions. It is available for Scala 2.13 and Scala 3.1; Scala 2.12 has been dropped for the 3.x series but will continue to be supported in the 1.x and 2.x series.

fs2-kafka v2.3.0

08 Jan 16:55
6262604
Compare
Choose a tag to compare

This release brings new functionality and dependency updates to the fs2-kafka 2.x series, which is based on cats-effect 2. These include an update to kafka-clients that resolves a security vulnerability (see #821)

What's Changed

Functionality

Updates

Other

New Contributors

Full Changelog: v2.2.0...v2.3.0

fs2-kafka v1.9.0

07 Jan 18:52
54c0787
Compare
Choose a tag to compare

This is a maintenance release for the fs2-kafka 1.x series, which is based on cats-effect 2. It includes various dependency updates, including an update to kafka-clients that resolves a security vulnerability (see #821), and adds docs for the munit module. There are no other user-facing changes.

An update to the fs2-kafka 2.x series, which is based on cats-effect 3, will be released soon.

What's Changed

Docs

Dependency updates

Housekeeping

Full Changelog: v1.8.0...v1.9.0

fs2-kafka v2.2.0

23 Aug 09:51
0cde0b0
Compare
Choose a tag to compare

This is the third release in the fs2-kafka 2.x series, based on cats-effect 3. If focuses on usability, bringing the same improvements as v1.8.0. It also includes various dependency updates.

fs2-kafka v1.8.0

23 Aug 09:08
6c9c28e
Compare
Choose a tag to compare

This release focuses on improving usability, with new helper methods for working with Kafka producers and consumers. This release is for users stuck on cats-effect 2. For cats-effect 3 users, v2.2.0 will be coming shortly.

New KafkaProducer syntax (#632 @keirlawson)

We've added several new helper methods for KafkaProducer to simplify common use cases.

Producing one record and getting the resulting record metadata - before:

producer.produce(ProducerRecords.one(ProducerRecord(topic, key, value))).map(_.map(_.records.head.get._2))

After:

producer.produceOne_(topic, key, value)

New KafkaConsumer syntax (#662 #664 @bplommer )

We've also added new extension methods for KafkaConsumer in the Stream context (no new imports needed!), so the most common operations no longer require explicit use of flatMap and evalTap. The stream and partitionedStream methods on KafkaConsumer can now be invoked as records and partitionedRecords respectively, for greater clarity.

Allocating a consumer, subscribing it to a topic, and streaming records - before:

KafkaConsumer.stream(consumerSettings)
  .evalTap(_.subscribeTo("topic"))
  .flatMap(_.stream)

After:

KafkaConsumer.stream(consumerSettings)
  .subscribeTo("topic")
  .records

Vulcan testkit (#629 @keirlawson)

A new module, fs2-kafka-vulcan-testkit-munit, makes it easier to test the schema compatibility of Vulcan codecs against a live schema registry instance.

Other changes

Various dependency updates