Skip to content

Releases: slawlor/ractor

v0.11.1

22 Sep 01:15
d40b429
Compare
Choose a tag to compare

Ractor v0.11.1 includes additional performance improvements!

We've further reduced message processing latencies in benchmarks and memory utilization of actors created. See #261 for more details

v0.11.0

21 Sep 01:51
2c45fce
Compare
Choose a tag to compare

Ractor V0.11.0 is released!

This is a major API break since we're deprecating actor monitors. Having not found a reasonable use-case for them, we've experienced that utilizing DashMap's for every actor is causing a large memory hit (~34kb/actor). In an effort to support higher-actor count services, this is a significant amount of memory utilization.

By removing the DashMap's and having just a single HashMap for the supervision tree, this can save us a significant amount of memory.

However removing monitors is an API break.

This also has a ~50-60% increase in actor spawning performance.

See #260 FMI

v0.10.4

13 Sep 17:36
4ebcd5b
Compare
Choose a tag to compare

Ractor v0.10.4 is released!

This release primarily includes a fix for post_stop where we were not waiting the proper time in the actor lifecycle before notifying listeners that the actor had exited. It should only be notified after post_stop is completed.

Issue: #254

Edit: re-publishing this tag with a small cargo tweak with valid category slugs

v0.10.3

24 May 01:42
6f04d98
Compare
Choose a tag to compare

Ractor v0.10.3 is released!

  • Fixed #240
  • Exposed some crate-only properties so they're available for users wanting to implement Router or Queue traits themselves.

Changelog

Full changelog: v0.10.2...v0.10.3

v0.10.2

22 May 14:48
f43bd25
Compare
Choose a tag to compare

More missed documentation updates (whoops!)

v0.10.1

22 May 13:57
c48de11
Compare
Choose a tag to compare

Ractor v0.10.1 is released

  • Updates defunct docs that were missed with the 0.10.0 release

Changelog

Full changelog: v0.10.0...v0.10.1

v0.10.0

18 May 01:51
d5e3c92
Compare
Choose a tag to compare

Ractor Version 0.10.0 is now released!

This is a significant API break with a few points in ractor.

Code cleanup

First is the resolution of #164 which required renaming a few enumeration variants in (SpawnErr, ActorErr, and SupervisionEvent). These are to better match current functionality (instead of Panic variants they're now Failed variants) as actors can't only fail on panic (which was the original design).

Factories

Secondly is a major rewrite of Factorys to support trait-based insertion of routing and queuing logic. This

  1. minimizes dependence on non-used generics (i.e. requiring a priority implementation even though no priority used)
  2. Adds functionality (dynamic worker pool, dynamic queueing depth, more discard functionality for shedding newest or oldest jobs, factory lifecycle hooks, etc)
  3. Increases performance by minimizing clones for some types (since Box'd types aren't needed for Sync safe structures, so they've been moved to Arc.

See the full details and changes in #237

Changelog

Full changelog: v0.9.8...v0.10.0

v0.9.8

02 May 01:56
281f99c
Compare
Choose a tag to compare

Ractor 0.9.8 is released!

This is a minor update with

  1. A lot of docs and doctest additions for more example code #216
  2. A better OutputPortSubscriber implementation #223
  3. [bug] Fix calling post_stop on killed actors #230
  4. A serde blanket implementation for serialization in clusters. #229

Full changelog: v0.9.7...v0.9.8

Special thanks to new contributors! @George-Miao @simonsan @romac @dcadenas @stalkopat

v0.9.7 Release

16 Mar 01:54
02e8338
Compare
Choose a tag to compare

Ractor 0.9.7 is released! This is mostly just a docs and examples update to provide other basic usage examples.

Full changelog: v0.9.6...v0.9.7

v0.9.6

19 Feb 20:54
6fcdd60
Compare
Choose a tag to compare

Ractor version 0.9.6 released.

In this release we've updated rustls dependencies in ractor_cluster as well as adds support for the new natively stabilized async fn support in traits, removing the need for async-trait and boxing of the futures. However this should be considered experimental for the time being until proper benchmarking and understanding of the implications of not boxing the futures is understood across a range of usecases.