Skip to content

Releases: slawlor/ractor

v0.9.5

08 Feb 00:59
295d9a8
Compare
Choose a tag to compare

What's New in ractor v0.9.5

  1. Stabilization of the async-std based runtime, as well as minimization of the tokio dependencies if choosing async-std as the executor (#179, #200)
  2. Introduction of process group scopes (big thanks to @leonqadirie)
  3. Documentation updates

Full changelog: v0.9.3...v0.9.5

v0.9.3

13 Oct 00:32
c593b4c
Compare
Choose a tag to compare

Adding support for async-std!

Ractor v0.9.3 is released and with this release we're adding support for async-std as a runtime apart from Tokio. Something to keep in mind however is that tokio is still a dependency because we use some primitives from the sync module are usable outside of just a tokio runtime. Eventually this could be refactored away, but the channel primitives are clean, efficient, and development friendly that it's not worth the effort to migrate to a less efficient crate. The only things that continue to be used from tokio in an async-std runtime are the communication channels.

Full changelog: v0.9.2...v0.9.3

v0.9.2

25 Sep 15:29
1ae8d86
Compare
Choose a tag to compare

Version 0.9.2 of ractor is released!

This release adds support for "monitoring" actors without the full linking support and invoking the parent-child relationship. #170

Specifically any actor can monitor any other actor simply with:

    /// Monitor the provided [super::Actor] for supervision events. An actor in `ractor` can
    /// only have a single supervisor, denoted by the `link` function, however they
    /// may have multiple `monitors`. Monitor's receive copies of the [SupervisionEvent]s,
    /// with non-cloneable information removed.
    ///
    /// * `who`: The actor to monitor
    pub fn monitor(&self, who: ActorCell)

Full changelog: v0.9.1...v0.9.2

v0.9.1

22 Sep 00:49
bb33d4f
Compare
Choose a tag to compare

Version 0.9.1 of ractor is released!

It contains multiple dependabot updates, mainly around github workflows #146, #147, #149, #155, #156

Additionally there's documentation updates and test fixes which resolve test flakyness on contentious environments #143, #163, #137

The only functional change is that a rare bug (identified in #167) can trigger a stack overflow of a Tokio task when shutting down actors which are doubly-linked. First raised in discussion #166, it is resolved with #168.

Full changelog: v0.9.0...v0.9.1

0.9.0

11 Aug 00:48
ec80213
Compare
Choose a tag to compare

Version 0.9.0 is released!

The reason for a new major release is (1) we've re-organized much of the crate to be a more logical organizational structure internally, however the exported types should be the same.

Additionally we've standardized on the tracing crate for logging and added some early spans to trace messages from a single actor and group by the actor name + id.

#22

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.