Releases: tonarino/actor
Releases · tonarino/actor
0.12.1
0.12.0
⚠️ API-breaking Changes
- Reduce duplication between
ContextandTimedContextusingBareContextby @strohel in #97- this is almost semver-compatible change,
- Actorless Addr: transition from
Addr<A: Actor>toAddr<M: Message>(API breaking) by @strohel in #93- Action needed: transform all your
Addr<Actor>toAddr<Message>(or transition toRecipients) - You may find the new provided methods
Actor::addr(),Actor::addr_with_capacity()handy
- Action needed: transform all your
🚀 Exciting New Features
- Add support for
asyncactors: theAsyncActortrait by @strohel in #94- Under the
asyncfeature - Also requires adding a custom
tokio_unstableRust config flag to your build (not a feature flag) - See documentation in https://docs.rs/tonari-actor/latest/tonari_actor/async/index.html
- Under the
Other Changes
- Fix Rust 1.89 lints (inconsistent inferred lifetimes) by @strohel in #95
- Update 3 dependencies, Rust edition to latest & greatest by @strohel in #96
Full Changelog: v0.11.0...v0.12.0
0.11.0
What's Changed
- Stop all actors at once instead of stopping/joining threads sequentially by @bschwind in #85
- Add default impl for
Actor::name(), reorder methods, small cleanups by @strohel in #92
Chores
Full Changelog: v0.10.0...v0.11.0
0.10.0
What's Changed
- Cache last published event by @goodhoko in #87
⚠️ BREAKING:Eventtypes now must beSend+Sync
- Error reporting QoL by @strohel in #88
⚠️ BRAKING:Actor::Errornow must beDisplay(and no longer needs to beDebug)
- Make
Actor::started(),stopped()fallible by @strohel in #89⚠️ BREAKING:Actor::started(),Actor::stopped()signatures have changed, you need to adapt your code
New Contributors
Full Changelog: v0.9.0...v0.10.0
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
tonari-actor 0.7.0
- [breaking]
ActorError::ChannelDisconnectedenum variant has been removed. Code branch that produced it was deemed unreachable. - [breaking]
Recipient::remaining_capacitymethod has been removed. Priority channels should should remove the need for it. - Added support for priority channels. Each actor can define optional
priority(&Self::Message)method to determine priority for incoming messages before they are being sent. Available priorities areNormalandHigh. All high-priority messages are delivered before normal priority messages. - Actor inbox capacities can be now set independently using the new
Capacitytype. Conversion fromusizeis provided, so existing code should continue to work. - Underlying channel implementation has been changed from
crossbeam-channeltoflume. According to a simple benchmark this has improved maximum throughput slightly; addition of priority channels has potentially lowered the throughput again, but the net result should be still positive. See #61 and #62.