- Fix
ResolveFuture
type signature.
- Fix
Resolve
actor's panic
-
Added
Context::connected()
to check any addresses are alive -
Added
fut::ready()
future
-
Migrate to std::future, tokio 0.2 and actix-rt 1.0.0 @bcmcmill #300
-
Upgrade
derive_more
to 0.99.2 -
Upgrade
smallvec
to 1.0.0
- Added
#[must_use]
attribute toActorFuture
andActorStream
- Stop actor on async context drop
- Enable
http
feature by default
- Added
std::error::Error
impl forSendError
- Fixed concurrent system registry insert #248
- Added
std::error::Error
impl forMailboxError
- Use trust-dns-resolver 0.11.0
-
Add
Actor::start_in_arbiter
with semantics ofSupervisor::start_in_arbiter
. -
Add
ResponseError
forResolverError
-
Add
io::SinkWrite
- Add
actix-http
error support for MailboxError
-
Edition 2018
-
Replace System/Arbiter with
actix_rt::System
andactix_rt::Arbiter
-
Add implementations for
Message
forArc
andBox
-
System and arbiter registries available via
from_registry()
method.
- Deleted signals actor. The functionality formerly provided by the
signals actor can be achieved using the
tokio-signal
crate. See the chat example for how this can work.
-
Introduced methods
Sender::connected()
,AddressSender::connected()
andRecipient::connected()
to check availability of alive actor. -
Added
WeakAddr<A>
to weak reference an actor
- Removed
actix
module from prelude. See rationale in #161
- Update
crossbeam-channel
to 0.3 andparking_lot
to 0.7
- Impl
Into<Recipient<M>>
forAddr<A>
-
Use
trust-dns-resolver
0.10.0. -
Make
System::stop_with_code
public.
-
Introduce the
clock
module to allow overriding and mocking the system clock based ontokio_timer
. -
System now has
System::builder()
which allows overriding the system clock with a custom instance.Arbiter::builder()
can now also override the system clock. The default is to inherit from the system. -
New utility classes
TimerFunc
andIntervalFunc
in theutils
module. -
Implement
failure::Fail
forSendError
. -
Implement
Debug
for multiple public types:AddressSender
,Addr
,Arbiter
,Context
,ContextParts
,ContextFut
,Response
,ActorResponse
,Mailbox
,SystemRegistry
,Supervisor
,System
,SystemRunner
,SystemArbiter
. #135
-
No longer perform unnecessary clone of
Addr
inSystemRegistry::set
. -
Set min trust-dns version
- fix infinite loop in ContextFut::poll() caused by late cancel_future() #147
-
Introduce method
query
to determine whether there is running actor in registry. -
Return back
mocker
module.
- Parked messages not getting processed #120
- Use actix-derive 0.3
-
Arbiter now has
Arbiter::builder()
which allows opt-in of behavior to stop the actor system on uncaught panic in any arbiter thread. See #111 for examples. -
Allow to set custom system service actor via
SystemRegistry::set()
method.
AsyncContext::run_interval
does not fire callback immediately, instead it fires after specified duration.
- Context impl refactoring, fix potential UB
-
Implemented
Eq
,PartialEq
, andHash
foractix::Addr
-
Implemented
Eq
,PartialEq
, andHash
foractix::Recipient
- Breaking change: Restore
StreamHandler
from 0.5, newStreamHandler
renamed toStreamHandler2
- Added
actix::run()
andactix::spawn()
helper functions
- Use parking_lot 0.6
- Fixed potential memory unsafety
-
Use tokio
-
System
andArbiter
refactored -
Arbiter::handle()
is not available anymore. UseArbiter::spawn()
andArbiter::spawn_fn()
instead. -
StreamHandler
trait refactored. -
Min rustc version - 1.26
- Stop sync actor if sender is dead.
- Fix index usage during iteration for future cancellation #67
- Fix polling of wrong wait future after completion
- Always complete actor lifecycle (i.e. Actor::started())
- Panic after cancelling stream future #58
- Allow to set timeout for Connect message #56
-
Internal state is alive during
stopping
period. -
Do not send StopArbiter message to system arbiter during system shutdown #53
-
Address/Recipient is generic over actor destination
-
Make rules of actor stopping more strict
-
Use bounded channels for actor communications
-
Add dns resolver and tcp connector utility actor
-
Add
StreamHandler
trait for stream handling -
Add
Context::handle()
method, currently running future handle -
Add
actix::io
helper types forAsyncWrite
related types -
Drop FramedContext
-
Refactor context implementation
-
Refactor Supervisor type
-
Allow to use
Framed
instances with normalContext
-
Add
Clone
implementation forBox<Subscriber<M> + Send>
-
Stop stream polling if context is waiting for future completion
-
Upgraded address stops working after all references are dropped #38
-
Cleanup
FramedActor
error and close state handling. -
Do not exit early from framed polling
-
Cleanup actor stopping process
-
Unify context implementation
-
Remove StreamHandler requirements from add_message_stream()
-
Fix items length check
-
Simplify
Handler
trait (E type removed). -
Use associated type for handler response for
Handler
trait. -
Added framed
drain
method. -
Allow to replace framed object in framed context.
-
Enable signal actor by default, make it compatible with windows.
-
Added
SyncContext::restart()
method, which allow to restart sync actor. -
Changed behaviour of
Address::call
, if request get drop message cancels.
-
Re-export
actix_derive
package -
Added conversion implementation
From<Result<I, E>> for Response<A, M>
-
Expose the Framed underneath FramedContext #29
-
Fix memory leak when sending messages recursively to self #28
-
Add convenience impl for boxed Subscriber objects. #27
-
Add
ActorStream::fold()
method. -
Add helper combinator
Stream::finish()
method.
- SystemRegistry does not store created actor #21
- Disable
signal
feature by default
-
Simplify
ToEnvelope
trait, do not generalize over Message type. -
ActorContext
requiresToEnvelope
trait. -
Added
Subscriber::subscriber() -> Box<Subscriber>
-
Simplify
ActorContext
trait, it does not need to know aboutActor
-
Cancel
notify
andrun_later
futures on context stop
-
Added
Either
future -
Message has to provide
ResponseType
impl instead of Actor
- Added
ActorStream
- First release