All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.13.0 - 2024-11-15
- @13r0ck made their first contribution in #79
- Impl
IntoFuture
for requests (#72) - Add public
BoxReplySender
type alias (#70) - Add support for preparing an actor and running it outside a spawned task (#69)
- Add
Context::reply
shorthand method </>
- BREAKING: Relax request impls to be generic to any mailbox (#71)
- BREAKING: Use owned actor ref in
spawn_with
function (#68)
- BREAKING: Startup deadlock on small bounded mailboxes (#84)
- Tokio_unstable compile error in
spawn
</> - Request downcasting and added tests (#85)
- Remove reverences to deprecated linking methods (#79)
- Add empty message to git tag release script </>
- Remove msrv from Cargo.toml (#82)
0.12.2 - 2024-10-17
- Add spawn_link and link/unlink functions (#67)
- Update README with improved content </>
- Add release script </>
0.12.1 - 2024-10-15
- Add
ForwardMessageSendSync
request trait (#65)
- Actor lifecycle error handling when
on_start
errors </>
- Add FAQ to book about reasons for actors stopping </>
- Ignore alpha and beta tags in cliff.toml </>
0.12.0 - 2024-10-11
- @shusvr made their first contribution in #60
- @marcaddeo made their first contribution in #47
- Add
ActorRef::wait_startup
method (#63)
- BREAKING: Make
Links
private (#57) - BREAKING: Move actor pool and pubsub to their own modules (#56)
- BREAKING: Move
ActorIDFromBytesError
toerror
module </> - BREAKING: Move remote actor functionality behind
remote
feature (#60) </> - ActorID and improve documentation (#48)
- Remove benchmark from README.md </>
- Add contributors badge to README.md </>
- Add Discord badge to README.md </>
- Add book badge to README.md </>
- Add getting help section to README.md </>
- Improve README with use cases, additional resources, and clearer structure </>
- Add support section to README.md </>
- Add Distributed Actor Communication section to README.md </>
- Improve code docs for remote module </>
- Add in-depth distributed actors information to kameo book (#51)
- Update heading levels in book </>
- Improve code docs and examples with all tests passing (#54)
- Add FAQ to book (#59)
- Add links to README badges (#47)
- Add gtag to kameo book (#52)
- Add Github CI </>
- Remote beta and nightly toolchains from CI </>
- Create CODE_OF_CONDUCT.md </>
- Add CONTRIBUTING.md </>
- Add github issue templates </>
- Move banner.png into docs directory </>
- Add .envrc to .gitignore </>
- Add pr detection to git cliff contributors </>
0.11.0 - 2024-09-29
- BREAKING: Add lifetime to requests to avoid mailbox cloning </>
- Use interned peer ids for improved performance (#43)
- Return stream from join handle in
attach_stream
</>
attach_stream
panicking when actor is stopped </>
- Add book explaining core concepts (#40)
- Add missing examples from actors page </>
- Fix indentation for request features </>
- Add note about Result::Err in the reply trait </>
- Add note about
SendError::HandlerError
in replies </> - Add icons and links to core concepts overview page </>
- Fix formatting in book </>
- Add icons to introduction headings </>
- Fix path to README in Cargo.toml </>
- Add obsidian related items to .gitignore </>
- Remove unused mailbox modules </>
- Update git cliff configuration </>
0.10.0 - 2024-09-09
- BREAKING: Add request traits (#39)
- Add delayed_send for unbounded actors </>
- Add remote actor support (#35)
- Add
actor
attribute toActor
derive macro </> - Make actor swarm listen address optional </>
- Use macro to clean request trait impls for
MaybeRequestTimeout
</>
- BREAKING: Remove queries (#36)
- Call on_panic when actor panics during startup </>
- Update README.md </>
- Improve documentation for async messages </>
- Add missing
mut
fromreply_sender
example </> - Add
MessageSend
import in code examples </>
- Fix path to README in Cargo.toml files </>
- Move kameo crate to root directory </>
- Add banner image </>
- Create dependabot.yml </>
- Remote PR number suffix from changelog generation </>
0.9.0 - 2024-06-25
- BREAKING: Add support for bounded/unbounded mailboxes (#29)
- Add
Send + 'static
bounds toReply
trait </> - Add pubsub actor (#31) </>
- Add support for async pool factory functions (#33)
- Add async spawn_with function (#34)
- BREAKING: Return
SendError
from send methods allowing replies to be received blocking (#27)
- Buffered messages not being applied correctly (#32)
0.8.1 - 2024-05-24
- Add
BlockingMessage
for blocking actor code (#26)
0.8.0 - 2024-04-19
- @liutaon made their first contribution in #21
- Allow
ActorPool
itself to be spawned as an actor </> - Add
SendError::flatten
method </> - Implement internal buffering whilst actor is starting up </>
- BREAKING: Use
StreamMessage
enum instead of trait </> - BREAKING: Use
Display
implementation for handler errors </>
- Remove
Sync
requirement fromReply
macro
is_alive
returning the opposite value </>
- Add example to
Reply
trait code docs </>
0.7.0 - 2024-04-15
- BREAKING: Add values to
StreamMessage::on_start
andStreamMessage::on_finish
</> - Add support for actor generics in
messages
macro </> - Add stream messages to forward messages from a stream to an actor </>
- BREAKING: Remove stateless actors </>
- Remove unused dependency
trait-variant
</> - Add overhead benchmark </>
- Remove commented stateless actor code </>
- Add git cliff integration </>
0.6.0 - 2024-04-11
- BREAKING: Add delegated reply with context type </>
- BREAKING: Move all types to separate modules and improve documentation </>
- BREAKING: Remove
Spawn
trait and use spawn functions </>
- Improve docs for spawn functions </>
- Add note to
Actor
derive macro </> - Add missing
Context
param from docs </>
0.5.0 - 2024-04-04
- Add
HandlerError
toSendError
to flatten actor errors </>
- BREAKING: Remove
nightly
flag and implementReply
on common types and derive macro </>
0.4.0 - 2024-04-03
- BREAKING: Impl
Message
andQuery
for actor instead of message type </>
- Add shields to readme </>
0.3.4 - 2024-04-02
- Parsing of message attributes </>
0.3.3 - 2024-04-01
- Add local non-send/sync support </>
- Add support for
!Sync
actors </> - Add benchmarks </>
- Remove _unsync methods for nightly </>
- Improve readme and crate docs </>
0.3.2 - 2024-03-31
- Only validate methods marked as message or query </>
- Pimp README </>
0.3.1 - 2024-03-30
- Update install version </>
0.3.0 - 2024-03-30
- Add macros </>
0.2.0 - 2024-03-30
- Remove async_trait from public traits </>
0.1.2 - 2024-03-29
- Re-export async_trait </>
0.1.1 - 2024-03-29
- Add support for stable rust </>