Celluloid v0.17.0 Release Notes
Release Date: 2015-07-04 // almost 9 years ago-
- ๐ Fix $CELLULOID_TEST warnings
- โ Massive overhaul of test suite, end-to-end.
- ๐ฒ Make "Terminating task" log messages debug-level events
- โ Added
.dead?
method on actors, as opposite of.alive?
- โ Added class/module method to access
publish
outside actors. - ๐จ Radical Refactor of Celluloid::InternalPool, and moved it to Celluloid::Group::Pool
- 0๏ธโฃ Radical Refactor: *::Group::Pool replaced as default with *::Group::Spawner
- โ Added
rspec-log_split
as replacement logger for itemized testing logs. - *::Task::PooledFibers has been found and made available, and compatible ( sometimes 4x faster than even Task::Fibered )
- GEM EXTRACTION: PoolManager taken out, and implemented in the
celluloid-pool
gem, separately. - GEM EXTRACTION: FSM taken out, and implemented in the
celluloid-fsm
gem, separately. - GEM EXTRACTION: SupervisionGroup, Supervisor, and related methods taken out, and implemented in the
celluloid-supervision
gem, separately. - ๐ฅ BREAKING CHANGE: Added Celluloid::Internals and moved several "private" classes into that namespace:
- CallChain, CPUCounter, Handlers ( and Handle ), Links, Logger, Method, Properties, Registry, Responses, Signals, StackDump, TaskSet, ThreadHandle, UUID.
- ๐ฅ BREAKING CHANGE: Changed class names, per convention:
- Moved Celluloid::TaskFiber to Celluloid::Task::Fibered
- Moved Celluloid::TaskThread to Celluloid::Task::Threaded
- Moved Celluloid::EventedMailbox to Celluloid::Mailbox::Evented
- Moved Celluloid::AbstractProxy to Celluloid::Proxy::Abstract
- Moved Celluloid::ActorProxy to Celluloid::Proxy::Actor
- Moved Celluloid::AsyncProxy to Celluloid::Proxy::Async
- Moved Celluloid::BlockProxy to Celluloid::Proxy::Block
- Moved Celluloid::CellProxy to Celluloid::Proxy::Cell
- Moved Celluloid::FutureProxy to Celluloid::Proxy::Future
- Moved Celluloid::SyncProxy to Celluloid::Proxy::Sync
- ๐ฒ GEM EXTRACTION:
Internals
,Notifications
,Probe
, and the contents oflogging/*
have become acelluloid-essentials
gem. - Implement
Group::Manager
as base for futureGroup::Unlocker
and other such systems traversingActorSystem#group
regularly. - โฌ๏ธ Reduce number of supervisors instantiated by
ActorSystem
by consolidating them down toService::Root
container instances.