Skip to content

Releases: devsisters/shardcake

v2.5.2

07 May 00:50
2eb50b6
Compare
Choose a tag to compare

This release fixes a bug that could cause entityTerminationTimeout not working properly, meaning that unregister could hang forever if some entity wouldn't stop by itself. It will also produce an explicit error if you use a custom getShardId that returns an ID out of bounds (such as 0).

What's Changed

  • Return an explicit error if getShardId is out of bounds by @ghostdogpr in #160
  • Make terminateAllEntities interruptible so that time out works well by @ghostdogpr in #161

v2.5.1

17 Apr 01:34
2bb514a
Compare
Choose a tag to compare

This release brings a few improvements. You can now configure a retry schedule for unregister (useful in case the Shard Manager is momentarily unavailable) as well as "server interceptors" for your gRPC service.

What's Changed

v2.5.0

31 Dec 03:15
e87532d
Compare
Choose a tag to compare

This release upgrades some dependencies:

  • zio to 2.1.14
  • zio-k8s to 3.1.0
  • sttp to 3.10.1
  • caliban to 2.9.1

What's Changed

v2.4.3

20 Nov 05:55
a32a997
Compare
Choose a tag to compare

The fix from 2.4.2 was apparently not enough in some cases so I removed the whole logic that caused the assignment inconsistencies.

What's Changed

  • Remove logic to refresh assignments from shard manager by @ghostdogpr in #150
  • Don't increment podHealthChecked metric on internal check (do it only for unresponsive pods) by @ghostdogpr in #149

Full Changelog: v2.4.2...v2.4.3

v2.4.2

31 Oct 00:20
Compare
Choose a tag to compare

This release fixes a bug that was introduced in 2.3.2, upgrading is strongly recommended if you use any version after that. It can cause a pod to lose track of some shards that are assigned to them, triggering EntityIsNotManagedByThisPod errors instead of handling messages.

What's Changed

  • Prevent a potential race condition that can cause self assignments to be replaced by @ghostdogpr in #148

Full Changelog: v2.4.1...v2.4.2

v2.4.1

17 Oct 05:08
bdca297
Compare
Choose a tag to compare

The main change from this release is that on register, the Shard Manager will check the Health API to make sure the pod is alive before proceeding. That allows detecting early if your Health API is not working as intended.

What's Changed

v2.4.0

24 Sep 08:35
5865074
Compare
Choose a tag to compare

This release updates dependencies, in particular it now depends on stable zio-http 3.0.x.
It also changes the behavior of simulateRemotePods, before only sent messages were serialized, now it will use the actual sharding protocol to send messages to itself so that both sent messages and received messages are always serialized.
Finally, we added a regular check of the pods health in order to detect removed pods faster, in particular in scenario with low amounts of messages.

What's Changed

v2.3.2

23 Jul 02:13
2a5d6c5
Compare
Choose a tag to compare

This release fixes an potential memory leak when using streaming replies with long-running actors. Upgrading is recommended if you use streaming (no problem with single send).

What's Changed

  • Fixed a promise leak when using streaming with long-running actors by @ghostdogpr in #136
  • Kept assignments got from shard manager in updateAssignments by @pancho-bo in #135

v2.3.1

18 Jul 08:47
Compare
Choose a tag to compare

What's Changed

  • Added support for scala 2.12 by @WtrLmmrs in #129
  • Added support for interceptors in the GrpcPods client by @SvenW in #131
  • Logged recovered state and added persist state on shutdown of Shard Manager by @jgulotta in #132
  • Made retry less aggressive by adding a delay by @ghostdogpr in #134

v2.3.0

14 May 08:13
Compare
Choose a tag to compare

This release brings improvements to the message streaming capabilities. Before, it was only possible to send a single message and receive either a single response or a stream of responses. Now we support sending streams as well.

Messenger now has 4 different methods:

  • send for sending a single message and receiving a single response
  • sendStream for sending a stream of messages without receiving any response (breaking change: this method was previously used for receiving a stream, you should use sendAndReceiveStream instead for that purpose)
  • sendAndReceiveStream for sending a single message and receiving a stream of responses
  • sendStreamAndReceiveStream for sending a stream of messages and receiving a stream of responses

With this release also come the following dependency upgrades:

  • zio to 2.1.1
  • sttp to 3.9.6
  • caliban to 2.6.0
  • zio-http to 3.0.0-RC6
  • zio-grpc to 0.6.2
  • grpc-netty to 1.63.0

What's Changed

New Contributors

Full Changelog: v2.2.7...v2.3.0