The Ruby/EventMachine team released version 0.7.2 last week. The release
been stable and hasn’t turned up any significant problems. For Windows
users, there is a binary gem that was built on a VC6 tool-chain, and
includes openssl support. If anyone turns up problems working with this
binary gem, let us know. We’re amenable to releasing it in multiple
A raft of usability features has been added since the 0.7.0 release last
November. The most notable change is that we’ve cleaned up the licensing
text that appears in the source files comprising the release. This has
confused a great many people, for which I apologize. EventMachine is
dual-licensed under either the GPL or Ruby’s license, your choice. This
been true since the product was released over a year ago, and has been
memorialized in a variety of communications on public fora since then.
until this release, the text in many of the source files has reflected
the GPL flavor.
The most notable new features are support for an internal thread pool
(EventMachine#defer), and for the Deferrable class, which behaves much
Twisted’s “Deferred,” but with a Ruby-esque (read, easier-to-use) API.
one example of its capabilities, EM’s Deferrable can be used to generate
page fragments (including multipart/mixed pages) from long-running
operations. It can generate many pages simultaneously, without blocking
The new release also contains some new helper classes to assist people
need to write their own network protocols (for example, to communicate
legacy systems that define one-off protocols). There is also an evented
server which has extremely fast performance with excellent scalability.
designed to support a range of applications requiring
content. We’ll shortly be releasing evented versions of some other
protocols, including SMTP, LDAP, and XML-stanzas. (The latter is
for use with RSS or XMPP streams.)
It’s been great to hear from all of the people who have chosen to use
trust EM for critical applications. A special shout-out to Kirk H.,
wrote the extremely clever and interesting Swiftiply, a clustering-proxy
server for web applications which has already given some sites a big
We’ve started planning for a pure-Java version of EventMachine. This
enable applications written to the current EM API to run unmodified on
JRuby. The intention is that the Java implementation will live alongside
C++ one, and they will stay matched in terms of features. (The current
based implementation will be supported indefinitely.)
Finally, I’d like to acknowledge Selem Delul and his mentor Pat Eyler,
are doing a very interesting SoC project. It will allow you to write
protocol handlers using Ragel grammars.
Thanks, everyone, and keep those feature requests and bug reports