Skip to content

Releases: svroonland/zio-kinesis

v0.21.5

27 Apr 21:03
Compare
Choose a tag to compare

Re-release of v0.21.3 after fixing publishing config

v0.21.4

27 Apr 20:21
Compare
Choose a tag to compare

Republish of v0.21.3 (ZIO 1 compatible version)

v0.21.3

08 Dec 18:57
Compare
Choose a tag to compare

v0.30.1

18 Nov 18:59
Compare
Choose a tag to compare

Dependency upgrades. Please note that there are some compatibility issues with ZIO 2.0.3, we're still investigating.

Changes

v0.30.0

12 Sep 17:39
2b194ab
Compare
Choose a tag to compare

This release is an upgrade to ZIO 2.0. Everything should be fully usable, but be aware of #761.

Changes

v0.21.2

21 Mar 11:50
62c4722
Compare
Choose a tag to compare

Same as 0.21.1, but the previous release did not publish all artifacts (#715).

v0.21.1

20 Mar 15:14
26923ad
Compare
Choose a tag to compare

Changes

v0.21.0

18 Feb 17:36
f227b57
Compare
Choose a tag to compare

Changes:

  • Native consumer: add Settings object with additional DynamoDB CreateTable parameters for DynamoDbLeaseRepository (#698)
  • Forward forked fibers' failures to the DefaultLeaseCoordinator.acquiredLeases stream, hence failing Consumer.shardedStream (#699)
  • DynamicConsumer: warn when getting offered records after shard queue shutdown (#678)
  • Some DefaultLeaseCoordinator refactorings (#690)

Bug fixes:

  • ProducerLive#produceChunk will suspend indefinitely if used with an empty Chunk (#701)

Dependency updates:

  • Update zio to 1.0.13
  • Update amazon-kinesis-client to 2.3.10 (#681)
  • Update zio-aws-cloudwatch, zio-aws-core, ... to 3.17.104.5 (#692)
  • Update scala-library to 2.12.15 (#594)
  • Update scala-library to 2.13.7 (#671)
  • Update zio-logging to 0.5.13 (#624)
  • Update izumi-reflect to 2.0.3 (#634)
  • Update zio-interop-reactivestreams to 1.3.9 (#679)
  • Update sbt-protobuf to 0.7.1 (#605)

v0.20.0

01 Aug 14:55
8259fc9
Compare
Choose a tag to compare

KCL consumer improvements:

  • Make all configuration for the KCL Scheduler configurable via the new configureKcl: SchedulerConfig => SchedulerConfig argument to shardedStream and consumeWith (#558)
    • Add optional metricsNamespace argument
    • Remove isEnhancedFanOut argument. To use polling, use shardedStream(..., configureKcl = _.withPolling) or consumeWith(..., configureKcl = _.withPolling).
  • Bug fix: any unprocessed records were removed from the shard stream immediately after a shard end was encountered. The DynamicConsumer now throws an exception when the last record has not been checkpointed by your application code when a shard end is encountered and the shard stream closes. (#555, #556)
  • Fix possible failure when terminating Producer (#544)

Dependency upgrades:

  • ZIO 1.0.10
  • zio-aws 3.17.9.1
  • zio-logging 0.5.11
  • amazon-kinesis-client 2.3.6
  • logback-classic 1.2.5

v0.19.0

29 May 11:09
Compare
Choose a tag to compare

This release features many performance optimizations and bug fixes for the Producer.

Optimizations:

  • Increased buffer sizes for higher throughput (#498)
  • Use Chunk instead of List in Producer (#501)
  • Remove an unnecessary copy in Protobuf aggregation (#507)
  • More efficient incremental metrics collection using Chunks (#507)
  • Only allocate 1 ref + promise per chunk instead of per element (#508)
  • Increase PutRecords call utilization by pipelining the response processing (#508)
  • Use Chunk[Byte] instead of ByteBuffer in Serdes as serialization target (#508)
  • More efficient metrics combination using a map-reduce kind of method (less Ref updates necessary) (#508)
  • Do not lookup the correct shard throttler for every chunk but only once per shard stream (#508)
  • Optimize some hot code paths (#514)

Fixes:

  • Fix issue with partition key length calculation for unicode keys (#499)
  • Fix shard prediction errors for UTF8 partition keys (#500)
  • Build in some margin against too large records under aggregation (#503)

Also:

  • Upgrade to zio 1.0.8 (#521)
  • Upgrade to zio-logging 0.5.10 (#521)
  • Upgrade to zio-aws 3.16.70.3 (#521)

Keep in mind when upgrading:

  • Producer#produceChunk now returns a Task[Chunk[ProduceResponse]] instead of Task[Seq[ProduceResponse]].
  • Serdes now work with Chunk[Byte] instead of ByteBuffer. You can use Chunk.fromByteBuffer and ByteBuffer.wrap(chunk.toArray) to convert between the two if necessary