Skip to content

Releases: Tochemey/goakt

v2.6.0

25 Aug 23:10
Compare
Choose a tag to compare

What's Changed

  • Convert ReceiveContext interface into pure go struct. Small breaking change in https://github.com/Tochemey/goakt/blob/main/actors/actor.go#L45 instead of an interface now accept a pointer of ReceiveContext
  • Convert PID interface to a pure go struct
  • Rewrote the mailbox with concrete type instead of generics
  • Rewrote the behavior stack implementation
  • Refactor the Ask implementations
  • Simplify the receive loop
  • Reimplement how processing panic is recovered
  • Fix latest message received metric recording poor implementation
  • Reimplement how error are thrown during message processing. Use ctx.Error instead of panicking which is the recommended way.
  • Remove unused code
  • Remove deprecated NATs methods

Pull requests

Full Changelog: v2.5.1...v2.6.0

v2.5.1

13 Aug 11:07
0411ce7
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.5.0...v2.5.1

v2.5.0

05 Aug 17:00
Compare
Choose a tag to compare

What's Changed

  • Remove custom mailbox implementation [Breaking Change] (#403)
  • Remove the option WithMailbox [Breaking Change] (#403)
  • Remove default mailbox using native channels (#404)
  • Use a custom implementation of Queue (#404)
  • Dependencies updates

Note:
It is intentional to break away from the semver standard where this should have been a v3.0.0

Full Changelog: v2.4.0...v2.5.0

v2.4.0

26 Jul 17:22
Compare
Choose a tag to compare

What's Changed

  • Add System supervisor (preparation for escalation directive)
  • Add router to distribute messages of the same type over a set of actors
  • Add SpawnRouter method to ActorSystem to create a router
  • Add Logger method to ActorSystem to return the system logger
  • Enhance PID Shutdown method to properly clean resources.
  • Add validation to actor name

Full Changelog: v2.3.1...v2.3.2

v2.3.1

30 Jun 20:44
c31993b
Compare
Choose a tag to compare

What's Changed

  • fix: resolve deadlock issue when creating child actor by @Tochemey in #383

Full Changelog: v2.3.0...v2.3.1

v2.3.0

29 Jun 19:16
28d2fa9
Compare
Choose a tag to compare

Add-ons

  • WithGCInterval helps sets the actors GC interval to clear up from the system and cluster dead(passivated) actors. This

Breaking Change

  • RemoteAsk accepts now a timeout parameter
  • Ask in client accepts now a timeout parameter
  • DefaultReplyTimeout is renamed to DefaultAskTimeout

What's Changed

  • feat: add timeout to Ask/RemoteAsk and Client Ask by @Tochemey in #380

Full Changelog: v2.2.2...v2.3.0

v2.2.2

23 Jun 16:27
Compare
Choose a tag to compare

What's Changed

  • refactor: add additional methods to client by @Tochemey in #373

Full Changelog: v2.2.1...v2.2.2

v2.2.1

22 Jun 19:00
Compare
Choose a tag to compare

What's Changed

New Addition

Go-Akt Client

This facilitates interaction with a specified Go-Akt cluster, contingent upon the activation of cluster mode. The client operates without knowledge of the specific node within the cluster that will process the request. With the client one can:

  • Spawn - create an actor
  • Stop - stops an actor
  • Whereis - locate and get the address of a given actor
  • Kinds - returns all the cluster kinds
  • Tell - send a message to an actor without a reply(fire-forget)
  • Ask - send a message to an actor with the expectation of a reply

Full Changelog: v2.2.0...v2.2.1

v2.2.0

16 Jun 09:26
Compare
Choose a tag to compare

What's Changed

New

  • PipeTo: send the successful result of a future(long-running task) to self or a given actor. This can be achieved from the PID as well as from the ReceiveContext
  • Go-Akt runs now on go 1.22: this was necessary because the latest kubernetes dependencies are all running on go 1.22

Full Changelog: v2.1.0...v2.2.0

v2.1.0

05 Jun 05:45
Compare
Choose a tag to compare

What's changed

  • Breaking change in the old way of setting up cluster using WithClustering. This method accepts an additional parameter called kinds by @Tochemey in #346
  • Provide a simple a clean ClusterConfig by @Tochemey in #346
  • Deprecate WithClustering in favour of WithCluster that accepts ClusterConfig by @Tochemey in #346
  • Synchronisation of cluster peers state on a schedule basis (at the moment every 10 seconds, can be configurable) by @Tochemey in #346
  • Redeploy actors of dead node to the rest of the cluster with a simple algorithm by @Tochemey in #346
  • Add Name a convenient method to PID to retrieve the actor given name by @Tochemey in #346
  • Static discovery by @qazwsxedckll in #337
  • Dependencies updates by @renovate in #334
  • Switch to connect protocol instead of gRPC by @Tochemey in #333
  • Cleanup examples by @Tochemey in #340

New Contributors

Full Changelog: v2.0.0...v2.1.0