- Fix
ResolveFuturetype signature.
- Fix
Resolveactor'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_moreto 0.99.2 -
Upgrade
smallvecto 1.0.0
- Added
#[must_use]attribute toActorFutureandActorStream
- Stop actor on async context drop
- Enable
httpfeature by default
- Added
std::error::Errorimpl forSendError
- Fixed concurrent system registry insert #248
- Added
std::error::Errorimpl forMailboxError
- Use trust-dns-resolver 0.11.0
-
Add
Actor::start_in_arbiterwith semantics ofSupervisor::start_in_arbiter. -
Add
ResponseErrorforResolverError -
Add
io::SinkWrite
- Add
actix-httperror support for MailboxError
-
Edition 2018
-
Replace System/Arbiter with
actix_rt::Systemandactix_rt::Arbiter -
Add implementations for
MessageforArcandBox -
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-signalcrate. 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
actixmodule from prelude. See rationale in #161
- Update
crossbeam-channelto 0.3 andparking_lotto 0.7
- Impl
Into<Recipient<M>>forAddr<A>
-
Use
trust-dns-resolver0.10.0. -
Make
System::stop_with_codepublic.
-
Introduce the
clockmodule 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
TimerFuncandIntervalFuncin theutilsmodule. -
Implement
failure::FailforSendError. -
Implement
Debugfor multiple public types:AddressSender,Addr,Arbiter,Context,ContextParts,ContextFut,Response,ActorResponse,Mailbox,SystemRegistry,Supervisor,System,SystemRunner,SystemArbiter. #135
-
No longer perform unnecessary clone of
AddrinSystemRegistry::set. -
Set min trust-dns version
- fix infinite loop in ContextFut::poll() caused by late cancel_future() #147
-
Introduce method
queryto determine whether there is running actor in registry. -
Return back
mockermodule.
- 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_intervaldoes not fire callback immediately, instead it fires after specified duration.
- Context impl refactoring, fix potential UB
-
Implemented
Eq,PartialEq, andHashforactix::Addr -
Implemented
Eq,PartialEq, andHashforactix::Recipient
- Breaking change: Restore
StreamHandlerfrom 0.5, newStreamHandlerrenamed toStreamHandler2
- Added
actix::run()andactix::spawn()helper functions
- Use parking_lot 0.6
- Fixed potential memory unsafety
-
Use tokio
-
SystemandArbiterrefactored -
Arbiter::handle()is not available anymore. UseArbiter::spawn()andArbiter::spawn_fn()instead. -
StreamHandlertrait 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
stoppingperiod. -
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
StreamHandlertrait for stream handling -
Add
Context::handle()method, currently running future handle -
Add
actix::iohelper types forAsyncWriterelated types -
Drop FramedContext
-
Refactor context implementation
-
Refactor Supervisor type
-
Allow to use
Framedinstances with normalContext
-
Add
Cloneimplementation 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
FramedActorerror 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
Handlertrait (E type removed). -
Use associated type for handler response for
Handlertrait. -
Added framed
drainmethod. -
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_derivepackage -
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
signalfeature by default
-
Simplify
ToEnvelopetrait, do not generalize over Message type. -
ActorContextrequiresToEnvelopetrait. -
Added
Subscriber::subscriber() -> Box<Subscriber> -
Simplify
ActorContexttrait, it does not need to know aboutActor -
Cancel
notifyandrun_laterfutures on context stop
-
Added
Eitherfuture -
Message has to provide
ResponseTypeimpl instead of Actor
- Added
ActorStream
- First release