All Versions
43
Latest Version
Avg Release Cycle
316 days
Latest Release
907 days ago

Changelog History
Page 4

  • v0.7.0 Changes

    • Celluloid::Task abstraction replaces Celluloid::Fiber
    • Celluloid#tasks API to introspect on running tasks
    • ๐Ÿšš Move Celluloid::IO into its own gem, celluloid-io
    • Finite state machines with Celluloid::FSM
    • ๐Ÿ›  Fix bugs in supervisors handling actors that crash during initialize
    • ๐Ÿ—„ Old syntax Celluloid::Future() { ... } deprecated. Please use the #future method or Celluloid::Future.new { ... } to create futures
    • ๐Ÿ†• New timer subsystem! Bullet point-by-bullet point details below
    • Celluloid#after registers a callback to fire after a given time interval
    • Celluloid.sleep and Celluloid#sleep let an actor continue processing messages
    • โฑ Celluloid.receive and Celluloid#receive now accept an optional timeout
    • โฑ Celluloid::Mailbox#receive now accepts an optional timeout
  • v0.6.2 Changes

    • List all registered actors with Celluloid::Actor.registered
    • ๐ŸŒฒ All logging now handled through Celluloid::Logger
    • Rescue DeadActorError in Celluloid::ActorProxy#inspect
  • v0.6.1 Changes

    • Celluloid#links obtains Celluloid::Links for a given actor
    • The #class method is now proxied to actors
    • Celluloid::Fiber replaces the Celluloid.fiber and Celluloid.resume_fiber API
    • ๐Ÿ‘‰ Use Thread.mailbox instead of Thread.current.mailbox to obtain the mailbox for the current thread
  • v0.6.0 Changes

    • Celluloid::Application classes for describing the structure of applications built with Celluloid
    • Methods of actors can now participate in the actor protocol directly via Celluloid#receive
    • ๐Ÿ”ง Configure custom mailbox types using Celluloid.use_mailbox
    • Define a custom finalizer for an actor by defining MyActor#finalize
    • Actor.call and Actor.async API for making direct calls to mailboxes
    • ๐Ÿ›  Fix bugs in Celluloid::Supervisors which would crash on startup if the actor they're supervising also crashes on startup
    • โž• Add Celluloid.fiber and Celluloid.resume_fiber to allow extension APIs to participate in the Celluloid fiber protocol
  • v0.5.0 Changes

    • ๐Ÿ‘ "include Celluloid::Actor" no longer supported. Use "include Celluloid"
    • ๐Ÿ†• New Celluloid::IO module for actors that multiplex IO operations
    • ๐Ÿ‘€ Major overhaul of Celluloid::Actor internals (see 25e22cc1)
    • Actor threads are pooled in Celluloid::Actor::Pool, improving the speed of creating short-lived actors by over 2X
    • Classes that include Celluloid now have a #current_actor instance method
    • Celluloid#async allows actors to make indefinitely blocking calls while still responding to messages
    • ๐Ÿ›  Fix a potential thread safety bug in Thread#mailbox
    • Experimental Celluloid::TCPServer for people wanting to write servers in Celluloid. This may wind up in another gem, so use at your own risk!
    • Magically skip ahead a few version numbers to impart the magnitude of this release. It's my versioning scheme and I can do what I wanna.
  • v0.4.0 Changes

    • This version was mysteriously lost to the sands of time
  • v0.3.0 Changes

    • This version was also mysteriously lost to the sands of time
  • v0.2.2 Changes

    • AbortErrors now reraise in caller scope and get a caller-focused backtrace
    • ๐ŸŒฒ Log failed async calls instead of just letting them fail silently
    • ๐Ÿ”€ Properly handle arity of synchronous calls
    • Actors can now make async calls to themselves
    • Resolve crashes that occur when sending responses to exited/dead callers
  • v0.2.1 Changes

    • Hack around a bug of an indeterminate cause (2baba3d2)
  • v0.2.0 Changes

    • ๐Ÿ‘Œ Support for future method calls with MyActor#future
    • ๐ŸŽ‰ Initial signaling support via MyActor#signal and MyActor#wait
    • Just "include Celluloid" works in lieu of "include Celluloid::Actor"
    • Futures terminate implicitly when their values are obtained
    • โž• Add an underscore prefix to all of Celluloid's instance variables so they don't clash with user-defined ones.