Skip to content

Releases: Tochemey/goakt

v3.12.1

06 Jan 17:30
Immutable release. Only release title and notes can be modified.
d48d69b

Choose a tag to compare

What's Changed

✨ New Features

🛠 Refactors & Maintenance

📚 Documentation

Full Changelog: v3.12.0...v3.12.1 and https://github.com/Tochemey/goakt/blob/main/changelog.md#v3121---2026-06-01

v3.12.0

31 Dec 14:35
Immutable release. Only release title and notes can be modified.
e1c9270

Choose a tag to compare

🚀 Highlights

This release focuses on robustness, resilience, and developer experience, with significant improvements across clustering, grains, scheduling, and maintenance.

✨ New Features

  • ✨ Remoting calls for Grains Enables remote interactions with Grains for distributed workflows. (@Tochemey · #1027)
  • 🧪 Basic TestKit support for Grains Introduces foundational testing utilities to simplify Grain testing. (@Tochemey · #1033)
  • 🧭 Default supervisor configuration SpawnOn now uses the system-wide default supervisor strategy. A new option, WithDefaultSupervisor, has been added to explicitly configure it. (@Tochemey · #1018)

🐛 Bug Fixes

  • Grain activation revamp Prevents panics and duplicate activations during Grain lifecycle handling. (@Tochemey · #1023)
  • Recovery support for Grain de/activation Adds recovery capabilities to improve fault tolerance. (@Tochemey · #1030)
  • Actor count correctness Fixes mismatches as well as underflow and overflow issues in actor counts. (@Tochemey · #1035)
  • Scheduler reliability Fixes an issue where ScheduleOnce() did not always trigger as expected. (@majiayu000 · #1039)

♻️ Refactors & Improvements

  • Address implementation overhaul Revamps address handling and adds support for configuring a default supervisor. (@Tochemey · #1019)
  • Supervisor system overhaul (@Tochemey · #1018)
    • Supervisor logic has been moved into its own dedicated package: supervisor
    • Migrating existing code only requires replacing actor with supervisor Breaking Change
  • Improved relocation semantics (@Tochemey · #1018)
    • Ensures child actors are not relocated unintentionally during relocation
    • Adds support to relocate actors with their configured supervisor strategy
  • Restart behaviour revamp The Restart implementation now restarts the entire child family tree, ensuring consistent recovery semantics. (@Tochemey · #1018)
  • Cluster storage DB file creation Reimplements DB file creation logic for improved reliability. (@Tochemey · #1025)
  • Cluster singleton resilience Makes singleton spawning more robust in clustered environments. (@Tochemey · #1038)
  • Reduced shutdown log noise Avoids unnecessary log spam during actor system shutdown. (@Tochemey · #1032)
  • General code maintenance Internal refactors and cleanup for long-term maintainability. (@Tochemey · #1026)

🧹 Chores & Dependency Updates

  • Cluster engine dependency upgrade Keeps the cluster engine up to date. (@Tochemey · #1041)
  • Dependency maintenance Routine dependency updates and housekeeping. (@Tochemey · #1042)

🙌 New Contributors

Full Changelog: https://github.com/Tochemey/goakt/blob/main/changelog.md

v3.11.2

18 Dec 11:50
Immutable release. Only release title and notes can be modified.
7c44a4a

Choose a tag to compare

🧰 Maintenance

Full Changelog: v3.11.1...v3.11.2

v3.11.1

12 Dec 01:37
Immutable release. Only release title and notes can be modified.
9e5369b

Choose a tag to compare

🚀 Highlights

  • ⚡ Refactor the implementation of Kill method to take into consideration cluster mode.

🔗 Pull Requests

Full Changelog: v3.11.0...v3.11.1

v3.11.0

08 Dec 21:25
Immutable release. Only release title and notes can be modified.
048b17c

Choose a tag to compare

✨ What’s Changed

🚀 Features

  • ✨ Add cross-nodes context propagator to remoting by @Tochemey in #996. The documentation can be found here

📦 Dependency Updates

  • ⬆️ Update actions/checkout to v5.0.1 by @renovate[bot] in #992
  • 🧹 Update golangci/golangci-lint to v2.6.2 by @renovate[bot] in #993
  • 📦 Update github.com/bufbuild/buf to v1.60.0 by @renovate[bot] in #994

Full Changelog: v3.10.0...v3.10.1

v3.10.0

02 Dec 21:42
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Highlights

  • ✨ Metrics instrumentation via OpenTelemetry
  • ⚡ Code refactoring to improve efficiency
  • 🐛 ActorRefs regression bug fix

Pull Requests

Full Changelog: v3.9.9...v3.10.0

v3.9.9

22 Nov 10:31
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

✨ What's Changed

  • ⚡ Refactor grain/pid to reduce memory footprint, improving overall efficiency by @Tochemey in #978
  • 📦 Update golangci/golangci-lint to v2.6.1 to keep static analysis up to date by @renovate[bot] in #979
  • 🔐 Upgrade dependencies and address reported vulnerability issues by @Tochemey in #980

Full Changelog: v3.9.8...v3.9.9

v3.9.8

14 Nov 17:33
Immutable release. Only release title and notes can be modified.
eff8ff4

Choose a tag to compare

🚀 Highlights

  • Grains and Actor activation/placement strategies in cluster mode
  • Refactor the implementation of ActorRefs to return error to make it more predictive.
  • Refresh tooling and dependencies upgrade.
  • Add a miscellaneous package to support local end-to-end testing workflows when fixing bugs.

What’s Changed

✨ Features

  • Add a miscellaneous package to support local end-to-end (e2e) testing workflows
    (#972 by @Tochemey)

⚡ Improvements & Refactors

  • Return a clear error when listing actors across nodes fails, improving debuggability in distributed scenarios
    (#970 by @Tochemey)
  • Rewrite the logic for round-robin and least-load strategies to make routing behavior more predictable and maintainable
    (#974 by @Tochemey)

📦 Dependency & CI Updates

  • ⬆️ Bump actions/upload-artifact GitHub Action to v5 for more reliable artifact handling in CI
    (#969 by @renovate[bot])
  • ⬆️ Update golangci/golangci-lint to v2.6.0 to pick up the latest linting rules and fixes
    (#971 by @renovate[bot])

⚠️ Notes

  • No breaking changes are expected.
  • If you rely on cross-node actor listing, you may now see explicit errors where silent failures previously occurred—check logs and error handling paths accordingly.

🔗 Pull Requests

  • chore(deps): update actions/upload-artifact action to v5 by @renovate[bot] in #969
  • refactor: return an error when listing actors across nodes by @Tochemey in #970
  • feat: ✨ miscellaneous package for local e2e by @Tochemey in #972
  • chore(deps): update dependency golangci/golangci-lint to v2.6.0 by @renovate[bot] in #971
  • refactor: rewrite the logic round-robin and least-load strategies by @Tochemey in #974

Full Changelog: v3.9.7...v3.9.8

v3.9.7

11 Nov 09:14
Immutable release. Only release title and notes can be modified.
d2218c8

Choose a tag to compare

🚀 Highlights

  • Revamped the whole implementation Router
  • Enhance the Router documentation
  • Added unix timestamp to remote.Peer to specify their creation date
  • Added cluster utilities methods to the ActorSystem:
    • Leader: to return the leader node when the actor system is in cluster mode
    • IsLeader: to check whether a given node is the leader node when the actor system is in cluster mode

📦 Pull Requests

  • chore(deps): update module github.com/bufbuild/buf to v1.59.0 by @renovate[bot] in #961
  • fix: stop faulty routees before removing them from the pool by @Tochemey in #963
  • feat: ✨ enhance router capabilities with new options by @Tochemey in #965

Full Changelog: v3.9.6...v3.9.7

v3.9.6

02 Nov 11:45
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

🚀 Highlights

  • Placement strategies for Grains activation as option to GrainIdentity
  • Role-based placement for Grains activation as option to GrainIdentity
  • Peers list for a given actor system in cluster mode. The method can be found on the ActorSystem
  • Role-based placement to Cluster Singleton Actors as option to SpawnSingleton
  • Upgrade Go to v1.25.3

📦 Pull Requests

  • feat: ✨ add placement strategies for Grains activation by @Tochemey in #950
  • feat: ✨ implementation of peers list on the actor system by @Tochemey in #953
  • chore(deps): update golang docker tag to v1.25.2 by @renovate[bot] in #952
  • chore(deps): update golang docker tag to v1.25.3 by @renovate[bot] in #956
  • feat: ✨ add role-base feature to cluster singleton by @Tochemey in #958

Full Changelog: v3.9.5...v3.9.6