Forum: Ruby Celluloid 0.13.0: concurrent objects for Ruby

A74a68807619459925cc1d8e1045c7bd?d=identicon&s=25 Tony Arcieri (Guest)
on 2013-03-19 18:01
(Received via mailing list)
Celluloid 0.13 is out!

https://github.com/celluloid/celluloid

This was supposed to be the last release before 1.0, but as the release
cycle dragged on I felt I needed to get this version out there sooner as
it
includes neat new features:

- Inter-actor stack traces: previously Celluloid's stack traces were
hard
to interpret because they stopped at the boundaries between actors. Now
Celluloid can trace calls across actors, assembling calls into a single
stack trace that shows where calls between actors were made.
- Celluloid::Condition: ConditionVariable-like signaling between tasks
within the same actor or between actors

Another important change answers an often raised complaint: Celluloid
starts some default services and installs an exit handler which does a
clean shutdown and prints a small report. While I feel these features
are
important for people writing large programs with Celluloid, people just
getting started found this annoying.

Starting in Celluloid 0.13, you will now need to do:

    require 'celluloid/autostart'

In order to launch the default services and install the exit handler. If
you only do:

    require 'celluloid'

...no default services will be launched and no exit handler will be
installed.

Full changelog follows:

* API change: Require Celluloid with: require 'celluloid/autostart' to
automatically start support actors and configure at_exit handler which
automatically terminates all actors.
* API change: use_mailbox has been removed
* API change: finalizers must be declared with "finalize :my_finalizer"
* Bugfix: receivers don't crash when methods are called incorrectly
* Celluloid::Condition provides ConditionVariable-like signaling
* Shutdown timeout reduced to 10 seconds
* Stack traces across inter-actor calls! Should make Celluloid
backtraces
much easier to understand
* Celluloid#call_chain_id provides UUIDs for calls across actors
* Give all thread locals a :celluloid_* prefix
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.