Skip to content

Releases: slawlor/ractor

0.8.5

29 Jul 13:53
de62f42
Compare
Choose a tag to compare

Version 0.8.5 of Ractor is released!

What's changed

  1. Added documentation, specifically around supervision #123
  2. Re-exporting of async_trait so reference to the async_trait crate isn't necessary (Thanks @quietlychris!) #113
  3. Node event subscriptions, so subscribers can be notified of node changes in a cluster configuration #121
  4. [bug] Fixed a potential problem in factory worker restarting #118
  5. MSRV specification #112

Thanks

This project has been the largest OSS lib I've ever published, and I'm thrilled with the response! I'm planning to continue support and development of ractor, but am always looking for help. Feel free to submit bug reports, PRs, and feature requests to help build what's next for Ractor!

Bit shoutout to the contributors who've helped this project along already! And thanks to all for reaching > 1K stars on GitHub!!!

v0.8.4

11 May 17:23
9593f4a
Compare
Choose a tag to compare

Minor release

Fix div by zero potential #110

v0.8.3

11 May 16:03
2e9b000
Compare
Choose a tag to compare

Ractor v0.8.3 is released!

What's included?

  1. Convenience map operator for RactorErr/MessagingErr<T> (#102)
  2. Support naming tokio tasks with the actor's name (if set) when tracing feature enabled (#104)
  3. Better formatting on error types to propagate inner errors in SpawnErr and ActorErr for debugging (#105)
  4. [bug] Fixed bug in multi_call + test coverage (#109)

Full changelog: v0.8.2...v0.8.3

v0.8.2

06 May 01:14
668c46a
Compare
Choose a tag to compare
  1. Remove the need to implement Message on ActorRef except for the implementation where it's required.
  2. Add Sync manually on ActorRef in order to remove the necessity for Message to be Sync.

The more important change here is point (2) which is helpful because the underlying message type does not need to be Sync. Because we use channels under the hood, we don't need Sync for message types, but ActorRef won't then automatically get that trait auto implemented by the compiler because the message type isn't Sync.

v0.8.1

05 May 13:37
acd1f56
Compare
Choose a tag to compare

This release adds support for capturing the sent message upon message send failure. This is helpful, so you don't need to add clone support to message types everywhere. If the receiving actor is dead, the caller will be notified with a MessagingErr::SendErr(T) so you can re-process the message if wanted.

v0.8.0 - Breaking API

01 May 19:03
d79ea28
Compare
Choose a tag to compare

NOTE This release breaks the is not backwards compatible with <= v0.7.X versions of ractor

The major change in this release is #89, which is moving ActorRef<TActor: Actor> to ActorRef<TMessage: Message>. The reasons for this are

  1. Someone who wants to send a message to an Actor only cares about 1 thing, the message type. Not the State nor the Arguments for startup. This translates to the ActorRef (at the very least) needing to be changed from ActorRef<Actor> to ActorRef<Actor::Msg>, which should be a relatively straightfoward code modfor downstream usages.
  2. This opens up that multiple actors, of differing implementation, support the same message type transparently. This allows you to have strongly-typed arrays of actors, which may have varying implementations.
  3. Erlang practices don't generally care about the actor implementation, only the messages you send, so this better aligns with the OTP goals there.

Additionally this includes some small changes, adding a stop_and_wait and kill_and_wait functionalities which allows us to block shutdown of an actor until the actor's full processing is completed.

Full changelog: v0.7.6...v0.8.0

v0.7.6

21 Apr 13:06
6e36b8b
Compare
Choose a tag to compare

Releasing v0.7.6 with minor bug fixes and optimizations.

  1. Remove duplicate pid retrieval #83
  2. Factory shutdown potential memory leak race condition #85
  3. Cleanup supervision tree when supervisor shuts down instead of children

v0.7.5

24 Mar 14:37
9407188
Compare
Choose a tag to compare

This release includes a single fix identified in issue #70 where utilizing the

ActorRef::where_is

method would fail to resolve a properly named actor because it was checking the wrong type.

Associated PR: #72

Additionally there's some more test coverage and documentation additions along with the link to the new ractor website (slawlor.github.io/ractor)

Full changelog: v0.7.4...v0.7.5

v0.7.4

05 Mar 01:13
c94d71e
Compare
Choose a tag to compare

Ractor 0.7.4 is released!

Big news is we have a logo! Plus this improves test coverage and documentation

Full changelog:
v0.7.3...v0.7.4

v0.7.3

01 Mar 00:41
783bd85
Compare
Choose a tag to compare

Ractor v0.7.3 is released!

This release includes:

  1. Updated documentation + tests
  2. A small bug fix from #57 where send_interval can drift over long periods
  3. [cluster] upgrades for encrypted connections + transitive connections in cluster connections

Full changelog: v0.7.2...v0.7.3