From: Tony Arcieri Date: 2012-06-03T09:45:35+09:00 Subject: [ANN] celluloid 0.11.0: reaching for that 1.0 milestone... Celluloid is a concurrent object oriented programming framework for Ruby http://celluloid.io/ Celluloid 0.11.0 makes a few sweeping API changes due to some real-world problems that crept up with the previous API. Celluloid::Pool has been removed, in favor of a new Celluloid.pool API that can be used on any class that includes Celluloid. This means no extra effort is needed on the part of someone who wants a single actor or a pool of actors. Pools are inherently supervised and will automatically restart workers that crash, however they can also be included in supervision hierarchies. The following methods have been added directly to the Celluloid proxy and cannot be overridden: * join: analogue of Thread.join, suspends the current thread until a given actor has exited * kill: force terminate an actor This has already caused a few problems with people who have defined "join" on actors. I'm afraid I don't have a solution for this at present :( If this is a big enough problem I may consider removing #join. -- Full changelog: * Celluloid::Application constant permanently removed, please use Celluloid::SupervisionGroup * Celluloid::Pool removed in favor of Celluloid.pool * Celluloid::Group renamed to Celluloid::SupervisionGroup, old name is still available and has not been deprecated * Celluloid::ThreadPool renamed to Celluloid::InternalPool to emphasize its internalness * Support for asynchronously calling private methods inside actors * Future is now an instance method on all actors * Async call exception logs now contain the failed method * MyActor#async makes async calls for those who dislike the predicate syntax * abort can now accept a string instead of an exception object and will raise RuntimeError in the caller's context -- Tony Arcieri