All Versions
43
Latest Version
Avg Release Cycle
316 days
Latest Release
1232 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v0.12.1 Changes
- ๐ Fix bug in unsetting of exclusive mode
- ๐ New incident report system for providing better debugging reports
- โช Revert BasicObject proxies for now... they are causing problems
- String inspect that reveals bare object leaks
- ๐ Fix bug reporting proper task statuses
- ๐ Initial thread dumper support
- โ Remove Celluloid#alive? as it cannot be called in any manner that will ever return anything but true, rendering it useless
-
v0.12.0 Changes
- Alternative async syntax: actor.async.method in lieu of actor.method! Original syntax still available but will be removed in Celluloid 1.0
- Alternative future syntax: actor.future.method in lieu of future(:method)
- All methods in the Celluloid module are now available on its singleton
- The #join and #kill methods are no longer available on the actor proxy. Please use Celluloid::Actor.join(actor) and .kill(actor) instead.
- Celluloid::Future#ready? can be used to query for future readiness
- ๐ Celluloid::Group constant removed. Please use Celluloid::SupervisionGroup
- #monitor, #unmonitor, and #monitoring? provide unidirectional linking
- ๐ Linking is now performed via a SystemEvent
- SystemEvents are no longer exceptions. Boo exceptions as flow control!
- Celluloid::Mailbox#system_event eliminated and replaced with Mailbox#<< SystemEvents are now automatically high priority
- The task_class class method can be used to override the class used for tasks, allowing different task implementations to be configured on an actor-by-actor-basis
- Celluloid::TaskThread provides tasks backed by Threads instead of Fibers
- ActorProxy is now a BasicObject
- A bug prevented Celluloid subclasses from retaining custom mailboxes defined by use_mailbox. This is now fixed.
exclusive
class method without arguments makes the whole actor exclusive
-
v0.11.1 Changes
- 'exclusive' class method marks methods as always exclusive and runs them outside of a Fiber (useful if you need more stack than Fibers provide)
- Celluloid::PoolManager returns its own class when #class is called, instead of proxying to a cell/actor in the pool.
- #receive now handles SystemEvents internally
- Celluloid::Timers extracted into the timers gem, which Celluloid now uses for its own timers
-
v0.11.0 Changes
- ๐ Celluloid::Application constant permanently removed
- ๐ 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
-
v0.10.0 Changes
- Celluloid::Actor.current is now the de facto way to obtain the current actor
- #terminate now uses system messages, making termination take priority over other pending methods
- #terminate! provides asynchronous termination
-
v0.9.1 Changes
- Recurring timers with Celluloid#every(n) { ... }
- Obtain UUIDs with Celluloid.uuid
- Obtain the number of CPU cores available with Celluloid.cores
- 0๏ธโฃ Celluloid::Pool defaults to one actor per CPU core max by default
-
v0.9.0 Changes
- Celluloid::Pool supervises pools of actors
- Graceful shutdown which calls #terminate on all actors
- Celluloid::Actor.all returns all running actors
- Celluloid#exclusive runs a high priority block which prevents other methods from executing
- Celluloid.exception_handler { |ex| ... } defines a callback for notifying exceptions (for use with Airbrake, exception_notifier, etc.)
-
v0.8.0 Changes
- Celluloid::Application is now Celluloid::Group
- Futures no longer use a thread unless created with a block
- No more future thread-leaks! Future threads auto-terminate now
- ๐ Rename Celluloid#async to Celluloid#defer
- Celluloid#tasks now returns an array of tasks with a #status attribute
- โฌ๏ธ Reduce coupling between Celluloid and DCell. Breaks compatibility with earlier versions of DCell.
- Celluloid::FSMs are no longer actors themselves
- Benchmarks using benchmark_suite
-
v0.7.2 Changes
- โช Workaround fiber problems on JRuby 1.6.5.1 in addition to 1.6.5
- ๐ Fix class displayed when inspecting dead actors
-
v0.7.1 Changes
- More examples!
- Cancel all pending tasks when actors crash
- ๐ฆ Log all errors that occur during signaling failures
- ๐ Work around thread-local issues on rbx (see 52325ecd)