This is the long awaited (like 2 weeks) 0.3.12 release of Mongrel. This
release has received heavier testing than previous releases and supports
whole raft of improvements to existing functionality plus some new
For those not clued in, Mongrel is a web server written in (mostly)
Check the funny dogs and read the docs about it at
http://mongrel.rubyforge.org/. The goal is to create a Ruby HTTP server
compete with Apache Tomcat or other Java application servers. The other
goal is to have the speed of FastCGI with the ease of WEBrick.
The big points of this release are:
- The Mongrel::Configurator and Mongrel::Rails::Configurator for simple
configuration (mostly for framework implementers to use).
- Dynamically loadable handlers from the GemPlugins system. Next
will let you write and add your own handlers.
- Chained handlers. That’s right, you can stack a series of handlers on
URIs and they’ll be processed in order. This gives you an advanced and
pipe-lined processing system and is already used to implement the
debugging support Mongrel has.
- Debugging, Debugging, Debugging. Try the -B option and then look in
log/mongrel_debug logs. I’ll be beefing this up to insane usefulness
the 0.3.13 release.
- Support for sendfile on FreeBSD, Linux, and Solaris if you install the
ruby-sendfile (http://rubyforge.org/projects/ruby-sendfile) gem. This
experimental but already gives a 20% boost on static files.
- Additional proper headers for static files from the DirHandler in
allow browsers to cache the content. People using Mongrel for
or small sites will love this combined with the sendfile support.
- Lots and lots of little tweaks to improve speed and stability.
starting to hit a wall again with performance so I’ll be looking for new
hot-spots to move to C in the near future.
- Initial support for Rails 1.1. Remember if you use Typo it is broken
Mongrel. Typo is being frantically fixed so be patient.
- Fix for a bad typo on Win32 that prevented people from using
mime types files (stupid Emacs and it’s damn capitalize command being
exactly the same as Copy in every other editor).
- Ability to specify a timeout throttling setting and a max number of
concurrent connections with additional attempts at cleaning dead threads
out. Future debugging will help people spot these.
- Lots of new Camping support and integration (thanks to Trotter Cashion
using Mongrel with Camping like crazy).
- A handy -C option for the mongrel_rails script that lets you specify
options you’d normally do on the command line as a YAML hash. More on
Everyone can go download 0.3.12 from
like normal or do the usual “gem install mongrel” or “gem update” to get
latest and greatest.
– If you followed pre-release please uninstall first.
The next steps with Mongrel will be to add the capability for users of
Mongrel to write their own Configurator scripts and to test the living
daylights out of it. If you missed my last announcement, Mongrel is
commercial sponsorship from EastMedia (http://www.eastmedia.com/) in
partnership with VeriSign (http://www.verisign.com/) for use in a
potentially large scale project. My role in this is to make sure
can handle the required role and will not ever crash. I’ll be spending
next few weeks putting out less features and doing more stability and
tweaks. Stay tuned. Should be fun.
Enjoy and report those bugs!
Zed A. Shaw