Releases: typelevel/fs2-kafka
v4.0.0
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.
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
CommittableOffsetandCommittableOffsetBatchin #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.
- See the v4.0.0-RC2 release notes for a detailed list of changes.
- Also thanks to @cmcmteixeira, the
KafkaAdminClienthas 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
CommittableOffsetandCommittableOffsetBatchby @vlovgr in #1471 - Change
Timestampto 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
KafkaProducertraits 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
- @calvinlfer made their first contribution in #1202
- @typelevel-steward[bot] made their first contribution in #1476
- @cmcmteixeira made their first contribution in #1481
Full Changelog: v3.9.1...v4.0.0
v4.0.0-RC2
Thanks to @cmcmteixeira we've greatly simplified transactional producers. (#1481)
The transactions documentation has been updated and following are migration notes.
TransactionalKafkaProducer,TransactionalProducerSettings, andKafkaProducerConnectionhave been removed.- The functionality from
TransactionalKafkaProduceris now available onKafkaProducerinstead.- The
TransactionalKafkaProducer#producemethod exists asKafkaProducer#produceAndCommitTransactionally. - The
TransactionalKafkaProducer#produceWithoutOffsetsmethod exists asKafkaProducer#produceTransactionally.
- The
- The following methods have been added to
ProducerSettings.- The
ProducerSettings#withTransactionIdmethod sets thetransactional.idproperty. - The
ProducerSettings#withTransactionTimeoutmethods sets thetransaction.timeout.msproperty.
- The
- The
KafkaProducerConnection#withSerializersmethod is available asKafkaProducer#withSerializersinstead.
- The functionality from
- Add
KafkaProducer.transactionalandtransactionalStreamto automatically initialize the producer for transactions. - Add the following functions to
KafkaProducerfor more manual control of transactions.KafkaProducer#initTransactionsfor initializing the producer for transactions.- This will be called automatically when using
KafkaProducer.transactionalortransactionalStream.
- This will be called automatically when using
KafkaProducer#transactionfor managing a transaction through aResource.- Note the deadlock when opening a second transaction within a first transaction.
KafkaProducer#sendOffsetsToTransactionfor including offset commits in a transaction.- Add
KafkaConsumer#groupMetadatato supportKafkaProducer#sendOffsetsToTransaction. - The method is also available in the consumer traits as
KafkaSubscription#groupMetadata.
- Add
- The
KafkaProducer.MetricsandKafkaProducer.PartitionsFortraits have merged intoKafkaProducer. (#1480)- If you had references to these traits, then change these to
KafkaProducerinstead.
- If you had references to these traits, then change these to
Also thanks to @cmcmteixeira, the KafkaAdminClient has gotten a lot more methods. (#1482)
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
KafkaProducertraits 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
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.
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
CommittableOffsetandCommittableOffsetBatchby @vlovgr in #1471 - Change
Timestampto provide value and type by @vlovgr in #1474 - Change to Typelevel organization by @vlovgr in #1475
New Contributors
- @calvinlfer made their first contribution in #1202
Full Changelog: v3.9.1...v4.0.0-RC1
v3.9.1
What's Changed
- Update kafka-clients to 3.9.1 in series/3.x by @scala-steward in #1412
- Update sbt-typelevel, sbt-typelevel-site to 0.8.2 in series/3.x by @scala-steward in #1433
- Update kind-projector to 0.13.4 in series/3.x by @scala-steward in #1432
- Update sbt, scripted-plugin to 1.11.7 in series/3.x by @scala-steward in #1430
- Update fs2-core to 3.12.2 in series/3.x by @scala-steward in #1424
- Update cats-effect, cats-effect-laws, ... to 3.6.3 in series/3.x by @scala-steward in #1420
- Update kafka-avro-serializer to 7.9.4 in series/3.x by @scala-steward in #1428
- Update scalafmt-core to 3.9.10 in series/3.x by @scala-steward in #1427
- Update scala-library to 2.13.17 in series/3.x by @scala-steward in #1429
- Update scala3-library to 3.3.6 in series/3.x by @scala-steward in #1407
Full Changelog: v3.9.0...v3.9.1
v3.9.0
v3.8.0
What's Changed
- Update fs2-core to 3.12.0 in series/3.x by @scala-steward in #1400
- Update cats-effect, cats-effect-laws, ... to 3.6.1 in series/3.x by @scala-steward in #1402
- Update vulcan to 1.12.0 in series/3.x by @scala-steward in #1401
- Update scalafmt-core to 3.9.6 in series/3.x by @scala-steward in #1408
- removed
retriesvalue override by @Awethon in #1405
New Contributors
Full Changelog: v3.7.0...v3.8.0
v3.7.0
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
- Update cats-effect, cats-effect-laws, ... to 3.5.7 in series/3.x by @scala-steward in #1363
- Update sbt, scripted-plugin to 1.10.6 in series/3.x by @scala-steward in #1365
- Update kafka-avro-serializer to 7.7.2 in series/3.x by @scala-steward in #1361
- Update kafka-clients to 3.9.0 in series/3.x by @scala-steward in #1362
- chore: improve flaky test by @biochimia in #1370
- Update testcontainers-scala-kafka, ... to 0.41.5 in series/3.x by @scala-steward in #1371
- Update kafka-avro-serializer to 7.8.0 in series/3.x by @scala-steward in #1372
- Update sbt, scripted-plugin to 1.10.7 in series/3.x by @scala-steward in #1373
- Update sbt-typelevel, sbt-typelevel-site to 0.7.5 in series/3.x by @scala-steward in #1374
- chore: update copyright notices by @biochimia in #1377
- Instantiate underlying Kafka Consumer inside blocking context by @eugkhp in #1364
- Update scala-library to 2.13.16 in series/3.x by @scala-steward in #1382
- chore: make state transitions uncancelable by @biochimia in #1367
- Update scala3-library to 3.3.5 in series/3.x by @scala-steward in #1386
- Simply
KafkaConsumer.commitAsyncby @rodrigo-molina in #1375 - Update scalafmt-core to 3.8.6 in series/3.x by @scala-steward in #1388
- Update logback-classic to 1.3.15 in series/3.x by @scala-steward in #1379
- Update kafka-avro-serializer to 7.8.1 in series/3.x by @scala-steward in #1390
- Update testcontainers-scala-kafka, ... to 0.41.8 in series/3.x by @scala-steward in #1385
- Update sbt, scripted-plugin to 1.10.10 in series/3.x by @scala-steward in #1392
- Update sbt-typelevel, sbt-typelevel-site to 0.7.7 in series/3.x by @scala-steward in #1389
- Fix exeption of multiple promise completions (#1391) by @ex-ratt in #1393
- feat: drop use of FetchRequests by @biochimia in #1369
- chore: tweaks to handling of pending commits by @biochimia in #1368
- Update testcontainers-scala-kafka, ... to 0.43.0 in series/3.x by @scala-steward in #1394
- Update kafka-avro-serializer to 7.9.0 in series/3.x by @scala-steward in #1395
- Update sbt, scripted-plugin to 1.10.11 in series/3.x by @scala-steward in #1396
- Update scalafmt-core to 3.9.4 in series/3.x by @scala-steward in #1397
- fix: reset spillover after poll loop by @biochimia in #1398
New Contributors
Full Changelog: v3.6.0...v3.7.0
fs2-kafka v3.7.0-RC2
What's Changed
- Update testcontainers-scala-kafka, ... to 0.43.0 in series/3.x by @scala-steward in #1394
- Update kafka-avro-serializer to 7.9.0 in series/3.x by @scala-steward in #1395
- Update sbt, scripted-plugin to 1.10.11 in series/3.x by @scala-steward in #1396
- Update scalafmt-core to 3.9.4 in series/3.x by @scala-steward in #1397
- fix: reset spillover after poll loop by @biochimia in #1398
Full Changelog: v3.7.0-RC1...v3.7.0-RC2
fs2-kafka v3.7.0-RC1
This is a pre-release for testing internal changes around KafkaConsumer introduced by @biochimia / @rodrigo-molina.
What's Changed
- Update cats-effect, cats-effect-laws, ... to 3.5.7 in series/3.x by @scala-steward in #1363
- Update sbt, scripted-plugin to 1.10.6 in series/3.x by @scala-steward in #1365
- Update kafka-avro-serializer to 7.7.2 in series/3.x by @scala-steward in #1361
- Update kafka-clients to 3.9.0 in series/3.x by @scala-steward in #1362
- chore: improve flaky test by @biochimia in #1370
- Update testcontainers-scala-kafka, ... to 0.41.5 in series/3.x by @scala-steward in #1371
- Update kafka-avro-serializer to 7.8.0 in series/3.x by @scala-steward in #1372
- Update sbt, scripted-plugin to 1.10.7 in series/3.x by @scala-steward in #1373
- Update sbt-typelevel, sbt-typelevel-site to 0.7.5 in series/3.x by @scala-steward in #1374
- chore: update copyright notices by @biochimia in #1377
- Instantiate underlying Kafka Consumer inside blocking context by @eugkhp in #1364
- Update scala-library to 2.13.16 in series/3.x by @scala-steward in #1382
- chore: make state transitions uncancelable by @biochimia in #1367
- Update scala3-library to 3.3.5 in series/3.x by @scala-steward in #1386
- Simply
KafkaConsumer.commitAsyncby @rodrigo-molina in #1375 - Update scalafmt-core to 3.8.6 in series/3.x by @scala-steward in #1388
- Update logback-classic to 1.3.15 in series/3.x by @scala-steward in #1379
- Update kafka-avro-serializer to 7.8.1 in series/3.x by @scala-steward in #1390
- Update testcontainers-scala-kafka, ... to 0.41.8 in series/3.x by @scala-steward in #1385
- Update sbt, scripted-plugin to 1.10.10 in series/3.x by @scala-steward in #1392
- Update sbt-typelevel, sbt-typelevel-site to 0.7.7 in series/3.x by @scala-steward in #1389
- Fix exeption of multiple promise completions (#1391) by @ex-ratt in #1393
- feat: drop use of FetchRequests by @biochimia in #1369
- chore: tweaks to handling of pending commits by @biochimia in #1368
New Contributors
Full Changelog: v3.6.0...v3.7.0-RC1
fs2-kafka v3.6.0
It's been a while since v3.6.0-RC1 was released for the community to test and I think we're in a safe position for a new release 🚀
Most of the changes included here are dependency updates but the most important feature is the changes around KafkaProducer fail-fast scenarios (thanks @rodrigo-molina for your contribution! 🎉) and the bump of Scala versions.
What's Changed
- Update sbt-typelevel, sbt-typelevel-site to 0.7.0 in series/3.x by @scala-steward in #1320
- Update kafka-avro-serializer to 7.6.1 in series/3.x by @scala-steward in #1319
- Update scala-library to 2.13.14 in series/3.x by @scala-steward in #1324
- Update sbt-typelevel, sbt-typelevel-site to 0.7.1 in series/3.x by @scala-steward in #1327
- Update sbt to 1.10.0 in series/3.x by @scala-steward in #1326
- Update discipline-scalatest to 2.3.0 in series/3.x by @scala-steward in #1329
- Update testcontainers-scala-kafka, ... to 0.41.4 in series/3.x by @scala-steward in #1331
- Update scalafmt-core to 3.8.2 in series/3.x by @scala-steward in #1332
- Update sbt to 1.10.1 in series/3.x by @scala-steward in #1335
- Update kafka-clients to 3.7.1 in series/3.x by @scala-steward in #1334
- Update vulcan to 1.11.0 in series/3.x by @scala-steward in #1333
- Update kafka-avro-serializer to 7.6.2 in series/3.x by @scala-steward in #1336
- Update kafka-clients to 3.8.0 in series/3.x by @scala-steward in #1337
- Update scalafmt-core to 3.8.3 in series/3.x by @scala-steward in #1338
- Update sbt-typelevel, sbt-typelevel-site to 0.7.2 in series/3.x by @scala-steward in #1339
- Update fs2-core to 3.11.0 in series/3.x by @scala-steward in #1345
- Update kafka-avro-serializer to 7.7.0 in series/3.x by @scala-steward in #1342
- Update sbt-typelevel, sbt-typelevel-site to 0.7.3 in series/3.x by @scala-steward in #1347
- Update scala3-library to 3.3.4 in series/3.x by @scala-steward in #1350
- Update scala-library to 2.13.15 in series/3.x by @scala-steward in #1349
- Update sbt to 1.10.2 in series/3.x by @scala-steward in #1351
- Update kafka-avro-serializer to 7.7.1 in series/3.x by @scala-steward in #1348
- KafkaProducer.produce fails fast by @rodrigo-molina in #1340
- Fix compilation after #1340 merge by @aartigao in #1353
- Update scala-library to 2.12.20 in series/3.x by @scala-steward in #1346
- Update sbt-typelevel, sbt-typelevel-site to 0.7.4 in series/3.x by @scala-steward in #1354
- Update vulcan to 1.11.1 in series/3.x by @scala-steward in #1355
- Update sbt, scripted-plugin to 1.10.4 in series/3.x by @scala-steward in #1356
- Update cats-effect, cats-effect-laws, ... to 3.5.5 in series/3.x by @scala-steward in #1357
- Update sbt-buildinfo to 0.13.1 in series/3.x by @scala-steward in #1358
- Update kafka-clients to 3.8.1 in series/3.x by @scala-steward in #1359
- Update sbt, scripted-plugin to 1.10.5 in series/3.x by @scala-steward in #1360
New Contributors
- @rodrigo-molina made their first contribution in #1340
Full Changelog: v3.5.1...v3.6.0