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 of logging/* have become a celluloid-essentials gem.
    • Implement Group::Manager as base for future Group::Unlocker and other such systems traversing ActorSystem#group regularly.
    • โฌ‡๏ธ Reduce number of supervisors instantiated by ActorSystem by consolidating them down to Service::Root container instances.