about summary refs log tree commit homepage
path: root/site/src/news.page
diff options
context:
space:
mode:
Diffstat (limited to 'site/src/news.page')
-rw-r--r--site/src/news.page902
1 files changed, 902 insertions, 0 deletions
diff --git a/site/src/news.page b/site/src/news.page
new file mode 100644
index 0000000..36040ca
--- /dev/null
+++ b/site/src/news.page
@@ -0,0 +1,902 @@
+---
+title: News
+inMenu: true
+directoryName: News
+ordering: 2
+---
+
+h1. Latest News
+
+h2. Sep 19: Mongrel 1.0.2 is barking at the moon!
+
+It means mongrel 1.0.2 is out! After cleaning up the bug list, this version is
+mainly a bug fix release.
+
+h2. Jan 22: Mongrel 1.0.1 Baby!
+
+Alright folks, after nearly a month of pounding and beating up the Mongrel 1.0
+RC1 release we're putting out the official 1.0.1 release.  It's official, so
+let the chaos spread across the 2.0 web in a destructive blaze viewable from
+the buckle of Orion's Belt.
+
+Or, you could just install it with:
+
+  $ gem install mongrel
+
+It should properly pull all the required dependencies, and updating your gems should
+get all the new cool stuff.
+
+h3. What happened to 1.0?
+
+We decided to follow official Rails Configuration
+Management Board Standards and do a silent 1.0 followed by an official 1.0.1.
+There weren't any bugs in 1.0 but we didn't want to break with tradition by not
+offering a 1.0.1. (Yes, this is a joke.)
+
+Also, this forces the upgrade even for people who grabbed 1.0 from the releases
+directory.
+
+h3. Information
+
+ * "RDoc":/rdoc/
+ * "Coverage Report":/coverage/
+ * "Report Bugs":http://rubyforge.org/tracker/index.php?group_id=1306&atid=5145
+ * "Documentation":/docs/index.html
+ * "Adoptions":/adoption.html
+ * "Books":/books.html
+
+h3. Are You Using It?
+
+I want to build up a good list of people who are using Mongrel, no matter what
+you use it for or where.  Any use is a good use.  I'll be filling in documentation
+and collecting up all the pictures of people's dogs that I've collected, so
+adding more "mongrel success stories" would be a great addition.
+
+If you *wrote a book* or mentioned Mongrel in a book then tell me that too.  I
+want to make sure more than just my book is mentioned.  I'll be adding to that
+list as well.
+
+You can *send an e-mail to _zedshaw_at_zedshaw_dot_com_ or post to the mailing list.*
+If you ask me to keep the company secret then I won't post your usage, just keep it
+for my own records and smug self-satisfaction.
+
+h3. What's Next?
+
+I've got some ideas for what might be next for Mongrel, but I'm looking to take
+my time and take a break for a few months.  If you've got ideas, send them in,
+no matter how crazy.  Just imagine if I'd never written "not
+mongrel":/not_mongrel.html and you could ask me for anything.
+
+
+h2. Dec 19: Mongrel 1.0 RC1 Full Win32 Build
+
+It's *finally* here.  Mongrel 1.0 RC1 for everyone to test, even the win32 folks.
+I managed to get everything to build on windows, including fastthread, and even
+cleaned up the "releases source":http://mongrel.rubyforge.org/releases/ so that
+it should install cleaner.  Win32 will have to try and report problems, as it
+seems rubygems is real finicky on win32.
+
+UNIX Install with:
+
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+WIN32 Install with:
+
+ $ gem uninstall mongrel
+ $ gem uninstall gem_plugin
+ $ gem uninstall fastthread
+ $ gem install fastthread --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel_service --source=http://mongrel.rubyforge.org/releases
+
+If you have problems with fastthread then skip it, it's optional on Win32.  The
+win32 process is more involved because there hasn't been a stable release of it
+for a while now.  That's why you have to remove everything you can and then
+re-install.
+
+  Make sure that gem_plugin is version 0.2.2 or the whole thing dies.
+
+If you have problems installing any of this then add a / to the end of the source:
+
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases/
+
+Yes, that's retarded, blame the rubygems folks.
+
+You can view the ChangeLog for this latest release
+"in the releases":http://mongrel.rubyforge.org/releases/ChangeLog directory
+like normal.  This ChangeLog covers everything done since 0.3.18 but it's
+in svn log format so only read it if you're really uptight.
+
+And as usual, report any bugs.  I'll be posting instructions on using the
+new mongrel_service when I get them from Luis.
+
+h3. IT'S RC1 FOR A REASON
+
+Before you go off installing this thing in your production servers because you
+missed the RC1 identifier, remember that RC means "Release Candidate".  Test
+it to death, use it, report bugs, but only a fool installs it in mission
+critical situations without fully testing it.
+
+
+h2. Dec 15: 0.3.20 5 Hour Deadline
+
+Another fancy release with just a few little changes from yesterday:
+
+# Set-Cookie, Set-Cookie2, Warning, and WWW-Authenticate are allowed as duplicate headers.
+# mongrel_rails stop now has a --wait option to go with --force.  It will wait for either the given timeout in SECONDS or the PID file to go away.  If the PID file goes away it just exits.  If the timeout happens then it does a kill -9 on the mongrel process.
+# The MIME types as of 22:00 PDT are included in this release.  Five more hours to make changes and complain if you don't like them.  "Edit the wiki":http://wiki.rubyonrails.org/rails/pages/TheGnosticMimeTypes to make a difference.
+# Default MIME type is application/octet-stream (it was with 0.3.19, but now you all know).
+
+Install with:
+
+ $ gem install fastthread --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+This release will be what goes in the 1.0 RC1 with the exception of any changes we
+have to make for win32 and the final version of the MIME types.
+
+h3. Using The Force
+
+Mongrel is *very* conservative when it shuts down.  It will wait up to 60 seconds for threads to exit before it finally exits gracefully.  Most people don't understand this so they think Mongrel is stuck, when actually it's doing what everyone also wants which is not lose a single connection.
+
+The hypocrisy is that people want Mongrel's shutdown to be "robust" but mean two things.  "Robust" when you've gotta have Mongrel down NOW to avoid the digg to your fancy social network mashup with potato porn means "down now! now! NOW! don't wait! NOW!"
+
+"Robust" when you're rolling out the latest version of your crafted ultimate killer online PIM software your company has banked its reputation on means "very carefully, we don't want to lose a single byte in any request ever."  Don't ask me why these people are using HTTP but oh well.
+
+Mongrel is "robust" in the second form.  To make Mongrel "robust" in the first form, you use the force:
+
+  $ mongrel_rails stop --force
+
+This sends mongrel a kill -9 and then *you* must delete the .pid file.  If you don't mongrel now does this when you try to start:
+
+  $ mongrel_rails start -e production -d
+  ** !!! PID file log/mongrel.pid already exists.  Mongrel could be running already.   Check your log/mongrel.log for errors.
+  ** !!! Exiting with error.  You must stop mongrel and clear the .pid before I'll attempt a start.
+
+So, if you had to force it down, you've gotta do the clean-up.  Now, let's say you do want to give most requests a chance to get out, but maybe not the usual time, you can now use --wait with force:
+
+  $ mongrel_rails stop --force --wait 15
+
+The --wait parameter only makes sense with --force.  When you do this, Mongrel will watch the mongrel.pid file for 15 seconds.  If the PID file goes away on its own (meaning the process exited anyway) then the stop command is ignored and mongrel_rails exits.  If 15 seconds pass by and the PID file is still there *then* mongrel sends kill -9 to ruin your customer's day.
+
+But don't worry, you've probably planned your outages and have scheduled this with your customers and have "come back later" pages right?
+
+
+h2. Dec 14: 0.3.19 The Gnostic MIME Types
+
+This release features two major capitulations on Mongrel's stance of not being
+a full web server.  The first is Mongrel now sports a YAML file with 739 MIME
+types in it that it will use.  The second is Mongrel will now accept clients who
+insist on doing their requests with "GET http://host:3000/index.html HTTP/1.1"
+even though it's not understood by a web server (that's for *proxies* people).
+
+It also features a patch to allow for multiple listeners on the request chains,
+so anyone running *mongrel_upload_progress* should test it heavily.  Finally,
+we're getting close to having a clean build for win32, and my apology for
+holding things back on that.
+
+Install with:
+
+ $ gem install fastthread --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+If you get an error about the missing mime_types.yml file then uninstall Mongrel
+completely and reinstall.
+
+Now, the MIME types are not finalized because, after looking at several sources
+I found out everyone is completely out to lunch.  I gathered together several
+sources and recommended mime types, merged them all together, sorted and made
+them unique.
+
+I now have a wiki page entitle "The Gnostic MIME Types":http://wiki.rubyonrails.org/rails/pages/TheGnosticMimeTypes
+and I'm going to leave it up for the next 24 hours.  People can edit the list to
+remove what they think are invalid, correct the list, and fight over wiki wars
+to make the MIME type list.
+
+Whatever survives after the wars will become the official Mongrel MIME types.
+The ones that remain will be labeled "The Gnostic MIME Types" and simply
+documented on the Mongrel site so people know what happened.
+
+Let the battle begin!
+
+h2. Nov 25: 0.3.18 FreeBSD Tweak and Camping Fix
+
+Alright folks, I put in a fix for camping and added the patch by Thomas Hurst for the accf_http deferred accept settings for FreeBSD.
+
+As usual, please test this release out and let me know if it has any additional problems.  I'll be working on win32 builds today and tomorrow with Luis.
+
+Install with:
+
+ $ gem install fastthread --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+Fastthread didn't change so you don't need the first install if you've got it already.
+
+
+h2. Nov 24: 0.3.17 Almost 1.0 RC1
+
+We're hard at work getting the hot new win32 service Luis wrote out
+and ready for production.  We're hoping to have that included in the
+1.0 RC1 release we make very soon.
+
+This pre-release is just to make sure that we didn't step on any toes.
+Install it with:
+
+ $ gem install fastthread --source=http://mongrel.rubyforge.org/releases
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+The fastthread gem implements mentalguy's fastthread set of Thread locking
+alternatives.  It is optional, so if it causes you problems, remove it from
+your gems:
+
+ $ gem uninstall fastthread
+
+Restart Mongrel and all will be as it was before.  The fastthread stuff will
+hopefully make Mongrel a little quicker and also reduce it's memory leakage
+potential.
+
+I've also updated all the stale documentation, including the
+"Apache documentation":/docs/apache.html and added information
+pimping people's "books":/books.html including *mine*.  If there's
+a book I've missed then shoot me an e-mail and I'll pimp it equally
+as well.  I want as much information for Mongrel as possible available
+to as many people as possible.
+
+Finally, there's an "Atom":http://www.atomenabled.org/ feed available
+which will let people track changes to all the documentation.  Try it
+at "http://mongrel.rubyforge.org/feed.atom":http://mongrel.rubyforge.org/feed.atom
+and let me know how you like it.
+
+"Read the ChangeLog":http://mongrel.rubyforge.org/releases/ChangeLog
+
+h2. Sep 18: Finally! 0.3.13.4 Is Official (for Unix)!
+
+Everyone's favorite web server went gold this weekend.  I let it sit for
+a while to make sure all the remaining bugs were out, and people seem to
+be doing really well with the pre-release.  This release only fixes the
+problem of Start, Restart, Stop, and Stats class names clashing with
+people's Rails models.  Otherwise, if you've been tracking the periodic
+releases then you know what's up.
+
+I'll be posting *win32* releases and a full change log over the next week.
+This release should be very stable and once everyone's actually migrated
+to it and I've worked out any remaining kinks I'll bump the version up
+before working on 0.4.
+
+h3. INSTALLING
+
+As usual you install it using:
+
+ gem install mongrel
+
+And I'm really really sorry about the forty thousand gems that get listed.
+I promise to drive one of the RubyGems guys into a corner until they help
+me clean that mess out.
+
+*Win32* people will be able to upgrade in the next week or so.
+
+h3. CHANGE LOG
+
+Coming soon... it's lots of stuff.
+
+h2. Jun 30: Mongrel 0.3.13.3 -- Ruby Licensed Release
+
+After talking with various people deep inside the Ruby machine, I've decided
+to release Mongrel Ruby licensed as of 0.3.13.3.  This release should make
+quite a few people happy.  It also means that contributors will hopefully
+feel better about their contributions and people using Mongrel have more freedom.
+
+This release also fixes a problem with the -B option not actually logging
+object counts.  The object count logging isn't perfect, but some folks use
+it.
+
+This release also will print the access log to the screen when you run it in
+your console.  This was requested by a few folks, but I'm not convinced I like
+it.  Try it out and if you do or don't then mention it in the mailing list.
+
+As usual, do your:
+
+  gem install mongrel
+
+To get the release, and if it doesn't show up then you have to wait
+for the ruby gems mirror to sync up.
+
+h2. Jun 25: Mongrel 0.3.13.2 -- RailsConf 2006 Release
+
+This is the release that came out of RailsConf hacking with folks like Rick
+Olsen, Why The Luck Stiff and other incredibly cool folks.  The conference
+was great, so lets hope this release is good too.  The big thing it adds
+is *upload progress in Mongrel*.  That's right, Why and Rick pinned me down
+and made me put it in Mongrel.  They worked up the mongrel_upload_progress
+plugin and are now working on Rails and Camping code to make it happen.
+
+Install from the gem servers with your usual commands:
+
+  gem update
+
+  *or*
+
+  gem update mongrel
+
+  *or*
+
+  gem install mongrel
+
+But if you can't wait for the gem mirrors to update, then you can also do:
+
+  gem install mongrel --source=http://mongrel.rubyforge.org/releases
+
+To get around it all.
+
+
+h2. Jun 20: Mongrel 0.3.13.2 Pre-Release -- Small Fixes
+
+This is a small release that fixes a little bug, some of the documentation,
+and adds the new RedirectHandler code and a @redirect@ call for the mongrel.conf
+files.  It's fresh so don't rely on it.  Everyone should upgrade with the
+usual *gem update* command (which tells you it's "Upgrading...") and tell
+me how it works.
+
+This release fixes:
+
+* The -C configure file option was busted because of an errant line move.
+* Adds RedirectHandler thanks to Jonas Pfenniger and a new redirect call to Configurator.
+* Fixes mongrel_service documentation which was referring to -r instead of -c and -C instead of -u.
+
+h3. Using RedirectHandler
+
+Redirects are pretty simple.  You simply have either a new RedirectHandler class you can
+use or you can put this in a mongrel.conf and pass that to -S:
+
+  redirect "/from", "/to"
+
+It also accepts regex for the @from@ parameter and can take a block.  Play with it
+if you're interested.
+
+h3. Deflate And Safari
+
+It looks like Safari does not honor the @Content-Encoding: deflate@ response, so
+avoid using DeflateFilter until I can find out why.  *This* is why you don't hand
+code network protocol parsers.
+
+
+h2. Jun 16: Mongrel 0.3.13 -- Finally Out!
+
+After a huge push, tons of delays to fix bugs and add enhancements, and lots of
+feedback and contributions from many great people, I'm happy to announce the
+official *release of Mongrel 0.3.13*.
+
+This release features lots of documentation, cleaned status output, improved IO processing,
+a major bug fix for a thread leak, and an improvement in the win32 support.
+
+Read below from past news for all the stuff that was fixed.  The main change that *win32* folks
+should be aware of is they have to install a second little gem to get the services support.
+This is slightly annoying, but the change makes it possible to work independently on the services
+support and not hold back future Mongrel releases.
+
+h3.  Getting The Release
+
+For normal people you should do this:
+
+  $ sudo gem install mongrel
+
+Of use update.  If update don't work then remove mongrel and re-install.
+
+h3. Win32: Getting The Release
+
+For *win32* people, you just do this:
+
+  $ gem install mongrel
+  $ gem install mongrel_service
+
+When you do the install, pick the mswin32 version.  After you install the
+mongrel_service you now just use @mongrel_rails@ like everyone else, but
+you get some new fancy @service::@ commands.
+
+h3.  Reporting Bugs
+
+Send them to the mailing list and make sure you have your OS, versions, web server,
+etc.
+
+
+h2. Jun 5: Mongrel 0.3.13 Pre-Release -- Katana Suicide Concurrency
+
+We are *days* away from the official 0.3.13 release, which will be followed
+quickly by 0.4 code named Enterprisey Edition 1.2.  This latest pre-release
+update closes off the last of the annoying bugs, and adds one very nasty
+feature people should check out before we release.  Read about Katanas below.
+
+@This release doesn't have win32 yet.  That'll be uploaded Monday.@
+
+h3. GETTING IT
+
+Best thing to do is this:
+
+ $ gem install daemons
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases/
+
+h3. WHAT'S FIXED
+
+* Fixes a failure of -P to find PID files.
+* Changes the RailsHandler so that only passes GET or HEAD requests to the DirHandler for page caching.
+* Confirms that the new send_file and upload to tempfile works on win32.  More tests with big files uploaded on win32 are needed.
+* Lots of documentation on installing, with more to come.  Full Apache documentation and information on writing your own snazzy handlers and filters.
+* François SIMOND suggested a check for allow_concurrency and to avoid locking Rails if that's set to true.  I tried it, had to change the patch but I left it in.  Read below.
+* Moved some of the "change to user/group" code around so that any Mongrel command can use it.
+* Various code clean-ups and big improvements on the unit test coverage and reporting.  Check out "the coverage report":http://mongrel.rubyforge.org/coverage/
+* Lots of thrashing and code review, not much more will come for 0.3.13 unless an obviously broken piece needs work.
+
+
+h3. KATANA SUICIDE CONCURRENCY
+
+I resisted doing this, but it's going to come down sooner or later now that
+François SIMOND figured it out.  Mongrel was protecting the world from the
+allow_concurrency "feature" but now it lets you kill yourself in obscenely
+horrible ways.
+
+If you set ActionController::Base.allow_concurrency=true in your
+config/environments/* then Mongrel will *NOT* guard the Rails Dispatcher.  This
+means that you'll get full threaded madness thrashing
+your Rails controllers until they die horribly slicing
+themselves into tiny little bits leaving you breathless
+with the destruction.
+
+Mongrel will obnoxiously warn you about this, and people who try it will NOT
+get support from me without mad amounts of dough.  If you turn this on, and
+your world comes crashing around your head, then I warned you.  Otherwise, go
+ahead and give it a try and see if that improves things for you.
+
+Enjoy the release, and "report those bugs":http://rubyforge.org/tracker/?atid=5145&group_id=1306&func=browse
+
+
+h2. May 11:  Mongrel 0.3.13 Pre-Release -- Out of Hibernation
+
+This release is the long awaited 0.3.13 with the fancy
+file upload and conditional response code.  It's also
+the start to the big push toward 0.4 Mongrel Enterprisey Edition 1.2.
+
+The big fixes and features in 0.3.13 are:
+
+* Lots of documentation being written or already written.
+* Large file uploads are streamed to a temp file rather than ram. (Thanks Why!)
+* Conditional HTTP responses for static files. (Thanks Dan Kubb!)
+* A fix to the start command's --help so that --num-procs and --timeout are more clear.
+* A fix to the -B option since some idiot decided that they can change the object_id of an object to take a parameter.
+* No longer spews tons of junk to mongrel.log related to invalid parsing or closed client sockets.
+* Documented HttpRequest's escape, unescape, and query_parse (which were stolen from Camping).
+* Removed some compiler warnings for unused variables in the C extension.
+* Rake now aborts with an obvious message if the http11 extension doesn't build.
+* Requires 'resolv-replace' by default to prevent DNS queries from blocking Mongrel.
+
+This release is right now in pre-release state while I work on the
+documentation.  Please grab it and test it with the following:
+
+  gem install daemons
+  gem install mongrel --source=http://mongrel.rubyforge.org/releases/
+
+As usual, win32 folks will have to wait while I test out this build
+on Windows.
+
+
+h2. Apr-10:  Mongrel 0.3.12.4 -- Relaxed Parser, Date Fix
+
+This release is a small change over the previous one.  It mostly is for
+people who want to use Mongrel for webdav which needs its own set of
+request types (what people like to annoyingly call "verbs").  It also
+fixes a date formatting error where the month wasn't three characters long.
+
+* Corrects the date format returned so that months are three chars only.
+* Fixes a problem where DirHandler wasn't returning Last-Modified and Etag
+headers for unknown MIME types.
+* Implements a default mime type for anything it doesn't know about, and
+lets you set it via an attribute in DirHandler if you want different.
+* Cleans up the file serving code in DirHandler a bit.
+* Relaxes the parser to that it will accept any request methods as long as
+they are upper case, digits, safe chars ($ - _ .) and with length from 1-20
+characters.  Anything outside this restriction is still rejected with a
+close.
+
+You can get it from the gem repository like normal.  People who are on
+win32 should have no problems but there will be another small release
+that cleans up the win32 code in the near future.
+
+
+h2. Apr-3:  Mongrel 0.3.12.2 -- Thread Debugging
+
+This release has a small fix for a big problem where people uploading
+files or using multipart forms would not receive the CONTENT_TYPE and
+get garbage in their request parameters.
+
+It also adds a few things to help people debug their use of threads
+within their Ruby on Rails applications.  When you run mongrel_rails
+with the -B (debugging) option Mongrel will report all active threads
+between each request to log/mongrel_debug/thread.log.  If you see
+reports of Mongrel being overloaded, threads getting killed, or having
+to wait for Mongrel to shutdown then turn on debugging and look in this
+log. You most likely are doing something that keeps the thread from
+exiting.
+
+Mongrel also deals with dead threads much better.  First the graceful shutdown
+will wait 10 seconds for a request to finish before aborting it
+during the shutdown process.  Second it will find processing threads which have
+taken longer than 60+timeout seconds and kill them.  Finally, you
+can put a value into your own Thread.current and when you use the thread.log
+you can figure out which controller's and actions are creating the
+bad threads.
+
+For example, lets say you see a thread leak.  Many times this is caused
+by trying to make a connection to a remote resource that isn't there,
+but you're not sure.  What you do is put this into the suspected
+controller's action:
+
+ Thread.current[:bad_controller_action] = true
+
+Or some of other tag to differentiate it with the other threads.  Then
+run Mongrel with -B and if you see this in the KEYS list then you know
+that this is the controller.
+
+Finally, there seems to be a bug in Rails where it is constantly dropping
+the connection to MySQL.  I've found this error on nearly everything and
+it's worse when you run WEBrick.  It seems to get a little better when
+you set *ActionController::Base.allow_concurrency* in your config/environments
+the problem is lessened especially if you run Mongrel.
+
+I'm still trying to determine the cause of this, but if you see this problem
+please report it to me with what system you are running and how often
+you see it.  *Remember, this is a Rails problem not a Mongrel problem
+since I see it with WEBrick, FastCGI, SCGI, and on Win32, FreeBSD, OSX, and Linux.*
+
+
+h2. Apr-3:  Mongrel 0.3.12.2 -- Iron Mongrel
+
+!/images/iron_mongrel.jpg!
+
+This is the Iron Mongrel release.  It is the result of trying to trash Mongrel
+until it can't move and then fixing anything that comes up.  The testing
+methods used are:
+
+# Increased the number of unit tests against the main C parts.
+# Write several tests against Mongrel's parser which throw it tons of random data.
+# Use "Peach Fuzz":http://peachfuzz.sourceforge.net/ to thrash several live apps with randomness.
+# Wrote several extensive little scripts to explore the edges of death for Mongrel.
+# Heavy code audits covering as much code as possible to find any possible loose ends.
+
+The end result is a lot of little fixes which make Mongrel more robust against
+badly behaving clients and possibly against many potential security risks in
+the future.  In general Mongrel 0.3.12.2 behaves more consistently compared
+to past releases when given random data or maliciously formatted data.
+
+The main changes are related to how IO is processed and how the HTTP parser rejects
+"bad" input.  What the parser now blocks is:
+
+* Any header over 112k.
+* Any query string over 10k.
+* Any header field value over 80k.
+* Any header field name over 256 bytes.
+* Any request URI greater than 512 bytes.
+
+As soon as these conditions are detected the client is disconnected immediately and a
+log message is printed out listing the IP address, the exact cause, and the data that caused it. I'll
+remove the data dump later, but I want people to shoot me valid requests that cause parser
+errors.
+
+That's not all though.  I've started a "security":security.html page where I'll publish
+the results of security threats, tests, and improvements as well as any advice for
+folks.
+
+This release also features a few little features here and there:
+
+* Initial support for a "config script".  I'll be documenting this more, but it basically lets you use the Mongrel::RailsConfigurator to augment your application's config via a small script.  Just pass "-S config/mongrel.rb" and put any Mongrel::RailsConfigurator statements that are reasonable.
+* Mongrel will report the correct REMOTE_ADDR variable, but it does a little trick where if there
+is an X-FORWARDED-FOR header then it sets REMOTE_ADDR to that.
+* Fixes for little bugs like double log messages, but not a lot of changes to the overall core.
+
+Go ahead and install the usual way:  gem install mongrel *or* gem upgrade
+
+The logo is courtesy court3nay from "caboose":http://caboo.se/
+
+h2. Mar-30:   Mongrel 0.3.12 -- OFFICIAL Release
+
+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 a whole raft of
+improvements to existing functionality plus some new stuff.  The big points of this
+release are:
+
+* The Mongrel::Configurator and Mongrel::Rails::Configurator for simple configuration (mostly for frameworks to use).
+* Dynamically loadable handlers from the GemPlugins system.  Next release will let you write and add your own handlers.
+* Chained handlers.  That's right, you can stack a series of handlers on any URIs and they'll be processed in order.  This gives you an advanced and fast pipe-lined processing system and is already used to implement the extensive debugging support Mongrel has.
+* Debugging, Debugging, Debugging.  Try the -B option and then look in the log/mongrel_debug logs.  I'll be beefing this up to insane usefulness for 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 is experimental but already gives a 20% boost on static files.
+* Additional proper headers for static files from the DirHandler in order to allow browsers to cache the content.  People using Mongrel for development or small sites will love this combined with the sendfile support.
+* Lots and lots of little tweaks to improve speed.  Mongrel is 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 not Mongrel*.  Typo is being frantically fixed so be patient.
+* Fix for a bad typo on Win32 that prevented people from using additional 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 for using Mongrel with Camping like crazy).
+* A handy -C option for the mongrel_rails script that lets you specify the options you'd normally do on the command line as a YAML hash.  More on this later.
+
+Everyone can go "download 0.3.12":http://rubyforge.org/frs/?group_id=1306 like normal or do the usual
+"gem install mongrel" or "gem update" to get the latest and greatest.
+
+ If you followed pre-release please uninstall first.
+
+Enjoy and report those bugs!
+
+h3. Next Stop, Funded
+
+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 getting *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 Mongrel can handle the required role and will not ever crash.  I'll be spending the next few weeks putting out less features and doing more stability and speed tweaks.  Stay tuned.  Should be fun.
+
+h2. Mar-27:   Mongrel 0.3.12 -- Pre-Release
+
+This release is a little different as it's larger than previous releases and
+therefore needs to have more testing before I put it on the regular gem
+servers.  People interested in testing will install using:
+
+ $ gem uninstall mongrel
+ $ gem uninstall gem_plugin
+ $ gem install mongrel --source=http://mongrel.rubyforge.org/releases/
+
+Windows people may need to uninstall their services and re-install them.  Please let me
+know if this happens to you.  Otherwise test this with your apps and tell me how it works.
+
+Adventurous people on FreeBSD or Linux (maybe Solaris) might want to do "gem install sendfile"
+as well to see if they get faster static file serving.  Worked for me on FreeBSD no problems.
+
+This release features an insane number of changes, too frequent to mention
+in just this little new snippet, but here's the big ones:
+
+* A more complete "Mongrel::Configurator":http://mongrel.rubyforge.org/rdoc/classes/Mongrel/Configurator.html and "Mongrel::Rails::RailsConfigurator":http://mongrel.rubyforge.org/rdoc/classes/Mongrel/Rails/RailsConfigurator.html
+* The mongrel_rails script is implemented using the new Configurator scheme and works much better.
+* Win32 start-up scripts are adapted to the new setup but not using the Configurator.
+* You can pass a config file to mongrel_rails start and it will load that (command line options override).
+* Graceful restart works more reliably (not in Win32 since it uses services).
+* Reload works better and doesn't break the restart.
+* More logging of the start-up process.
+* There is a wicked nice debugging framework that logs object counts, open files, and request params.  Try mongrel_rails start -B and look in log/mongrel_debug.
+* The Rails specific components are now in Mongrel::Rails modules.
+* More examples using the Mongrel::Configurator.
+* Dramatic speed improvements on FreeBSD, especially if you install the ruby18-nopthreads version.
+* Slight speed improvements on Mac OSX.
+* Platforms that can install "ruby-sendfile":http://rubyforge.org/projects/ruby-sendfile will get an estimated 20% speed boost in static file serving.  This is currently FreeBSD, Linux, and Solaris.
+* Lots of little bug fixes and minor speed tweaks.
+
+I'm holding the official 0.3.12 release until after Rails 1.1 is officially released so I can test it.
+
+Please do the install process and try out your applications for me.  I'll be posting some hand
+
+h2. Mar-15:   Mongrel 0.3.11 -- Edge Rails Compliant
+
+The main thing with this release is that it works with edge Rails
+and has all the right dependencies.  There was a nasty bug with
+how RubyGems loads auto required gems when any dependency is loaded.
+In order to avoid this GemPlugins will now require the init.rb for
+the plugin directly rather than through RubyGems.  There are also
+other little tweaks to clean up how Rails runs.
+
+The second thing for this release is full Win32 support for all tweaks
+including the nice TCP hack from Sean Treadway, the new GemPlugins system,
+and a *nice* mongrel_config setup. The new mongrel_config lets you manage
+all of your Mongrel Rails services from one web page and doesn't require
+any Rails to run.
+
+"Download 0.3.11":http://rubyforge.org/frs/?group_id=1306
+
+h2. Mar-12:   Mongrel 0.3.10.1 -- Big Release Day
+
+This release is a bigger release than those in the
+past but it was necessary as it touched many little
+parts of the code base and includes a more complete
+GemPlugin functionality.  This release features the
+following changes:
+
+* GemPlugin now supports including and easily finding resources and config files
+  you package with your gems.
+* GemPlugin loading doesn't use any deprecated RubyGems APIs.
+* GemPlugin comes with a generator called *gpgen* that will make it easy to start off
+  a plugin project.
+* A complete document on "Writing A Mongrel Plugin":/docs/gem_plugin.html that
+  also explains how they work.
+* The "Mongrel Config Tool":/images/config_tool_snap.png that demonstrates
+  building a useful command for controlling a Mongrel server.
+** It uses a "Camping":http://camping.rubyforge.org/ to present an interface.
+** Demonstrates combining Camping handlers with Mongrel handlers.
+** Shows how to use the new GemPlugin resources API to include ERB templates, images,
+   and CSS stylesheets which are loaded out of the gem (no external install needed).
+* Restructuring of the project source a bit to support testing all the
+  default plugins and to make building much easier.
+* Properly loads any gems that depend on Rails (including GemPlugins) until the
+  very last minute after Rails is loaded and configured.
+* A slight hack courtesy of Sean Treadway which jacks up the default server
+  listen queue from 5 to 1024.  This should work on all platforms where
+  available and should improve concurrency for everyone.
+* A more complete and useful Camping postamble that makes it the same size
+  as the WEBrick one.  Also makes sure that Camping handlers and Mongrel
+  handlers can live in peace together.
+
+There's also a bunch of bug fixes:
+
+* Should work well with edge rails now and tries to be very nice.
+* It holds of Rails configuration until the absolute latest time to
+  avoid having the daemonize call from closing log files Rails opens.
+* Tweaks to the API docs in various places and cleaned out dead code.
+* Lots of fixes to the build.  If you get the source and are on Unix
+  you can just do "rake install" to install the whole thing via gems.
+
+This release has been tested on Linux, OSX, and FreeBSD with only
+light testing on Win32.  I'll be making the 0.3.11 release Win32
+specific so that the config tool can be useful for those folks too.
+
+Otherwise this is a large release so please grab it and test like
+mad.
+
+"Download 0.3.10":http://rubyforge.org/frs/?group_id=1306
+
+
+h2.  Mar-06:  Mongrel 0.3.9 -- Gem Based Plugins
+
+This release features the beginning of a plugin system based
+on RubyGems to dynamically load installed plugins for Mongrel.
+The gist of it is that plugin authors create gems that users
+install via *gem install snazzy_plugin*.  Users then automagically
+get that plugin for Mongrel.
+
+What I've done with this release is break out this functionality
+into a new sub-project called "GemPlugin":gem_plugin_rdoc and
+released it with a Ruby license (rather than LGPL like Mongrel).
+This will let anyone else who needs a similar plugin system to
+*steal* this blind and use it.
+
+A sample plugin is available that you can install after this update.
+Just do:
+
+ $ gem install mongrel_status
+
+If you run mongrel_rails now you'll see a new command "status".
+Change to a Rails application directory where you have a daemon
+running and it'll print out the PID.
+
+There will be tons of documentation coming out, and the ability
+to write Handlers and Filters this way as well.  Feel free
+to write any Mongrel commands you want.
+
+A final note:  This isn't hooked into win32 yet.  That should
+come tomorrow.
+
+"Download 0.3.9":http://rubyforge.org/frs/?group_id=1306
+
+h2.  Mar-04:  Mongrel 0.3.8 -- Bug Fix Release
+
+A small release that fixes a few bugs reported to the tracker and adds
+one enhancement that was requested.  Rails applications can now access
+the RailsHandler that is being used and then work with the DirHandler
+that is responsible for serving files.  For example:
+
+   render_text @request.cgi.handler.files.can_serve(@request['PATH_INFO'])
+
+Will return the physical location of the given URI.  This will be the basis
+of an improved send_file and possibly file-upload system.
+
+* Fix for mongrel_rails_service -n parameter name clash.
+* Fix for giving mongrel_rails_service paths with spaces in the name.
+* Fix for a compiler warning in the C extension on Debian.
+* Improvement to the Rakefile for cleanly building win32 and regular gems.
+* Access to RailsHandler from within Rails applications.
+* Tested Platforms:  Linux, Win32, FreeBSD, OSX
+
+"Download 0.3.8":http://rubyforge.org/frs/?group_id=1306
+
+
+h2.  Mar-03:  Mongrel 0.3.7.1 -- Solid Rails, Win32, SwitchTower, Docs
+
+A slightly longer time between releases but this is packed with lots of good
+things for people who want to run Mongrel.  We're talking Win32 CPU affinity,
+better service, POSIX signal control for SwitchTower, more tested platforms,
+little bug fixes, and documentation on deployment best practices.
+
+This release has also been tested on tons of platforms:  Linux, NetBSD, FreeBSD,
+Windows, and Mac OSX.  Under FreeBSD Mongrel seems to ignore signals unless
+you do one more network connection, but the other platforms work great.
+
+* Initial beginning of the plugin support that will let people write
+  their own handlers and other things for Mongrel.
+* Timeout now works again but couldn't find an alternative to the buggy Timeout class.
+* SwitchTower friendly signal handling for mongrel_rails.
+* Win32: New option that lets you set a mongrel service's CPU affinity.
+* Win32: Indicates default environment used for the services.
+* Win32: Avoids touching signals when on windows.
+* A fix for CGI encoding redirects wrong when SERVER_PORT isn't specified.
+* Tested on: Linux, Win32, FreeBSD, NetBSD, OSX.
+
+"Download 0.3.7":http://rubyforge.org/frs/?group_id=1306
+
+
+h2.  Feb-22:  Mongrel 0.3.6 -- Win32 Services Galore
+
+Thanks to Luis Lavena we have an almost complete win32 service
+runner and management script that lets you setup services in windows for
+all the different rails apps you have.  This means you can control the
+services from the command line or from the Services console.
+"Check the Win32 HOWTO":docs/win32.html for more information on using it.
+It still has some problems with stopping, but otherwise it's great.
+
+"Download 0.3.6":http://rubyforge.org/frs/?group_id=1306
+
+h2.  Feb-18: Mongrel 0.3.5 -- CGI Actually Works
+
+The CGIWrapper code I had written was complete and utter crap, so
+I rewrote it and now it should be very correct.  After looking at
+more CGI code I think I'll set my sights on the CGI::process, CGI::Cookie::process,
+and read_multipart functions as the next place to put my efforts.  These
+three functions are so full of hand coded parsing that rewriting them with
+a Ragel processor would be a huge gain.
+
+"Download 0.3.5":http://rubyforge.org/frs/?group_id=1306
+
+h2.  Feb-16: Mongrel 0.3.4 -- Win32 Pre-built Gems
+
+This release has pre-built win32 gems thanks to Wilson Bilkovich attacking the
+Rakefile and hooking up some build instructions for me.  You should now be able
+to install on win32 without a build system just like with other projects.
+
+I've also managed to clean up the CGIWrapper so that it works better with Mongrel
+to Rails integration.  It should be much more stable and serve files correctly, and
+it's been tested with eXPlain PMT as well as Typo.  The next release will involve
+automated tests against as many Rails applications as I can find.
+
+Finally, there is a fix for the command subsystem for a nil error when you didn't
+give mongrel_rails a command.  It now lists the commands.
+
+There is a small warning message I threw in that I want people to report if they
+see.  You'll know it if you see it in the log/mongrel.log file or on the console.
+
+"Download 0.3.4":http://rubyforge.org/frs/?group_id=1306
+
+
+h2.  Feb-14: Mongrel 0.3.3 Released
+
+This is a very small release that does nothing but add a one line fix
+for a major bug.  Basically, the 0.3.2 release works great with Rails,
+but other runners will have problems since I didn't require the timeout
+library needed.  Everyone should upgrade.
+
+"Download 0.3.3":http://rubyforge.org/frs/?group_id=1306
+
+h2.  Feb-13: Mongrel 0.3.2 Released
+
+Lots of little things people asked for in 0.3.1 release.  Changes are:
+
+* FAQ questions answered on threading and deployment scenarios.
+* Added some additional text to make the side icons a little clearer.
+* Created a "dogs":/dogs.html page with some people's favorite pets.
+* Write out a better message for *mongrel_rails start* giving the environment and other stuff.
+* Default to using ENV['RAILS_ENV'] or "default" as environment.
+* Removed the restriction on the environments so people can have custom ones.
+* Added options for:
+** _-n_ Number of processor threads.
+** _-t_ Timeout for each processor before it kills a request.
+** _-m_ Specify additional MIME type mappings in YAML format.
+** _-c_ Change to directory before starting (both for start and stop commands)
+** _-r_ Use a different document root from "public"
+* Use "rb" as open mode on all platforms (for windows binary files)
+* Fixed bug in DirHandler which prevented people from altering MIME mapping.
+
+"Download 0.3.2":http://rubyforge.org/frs/?group_id=1306
+
+h2. Feb-12: Mongrel 0.3.1 Released
+
+This release improves the support for Ruby On Rails, creates a new
+Command/Plugin functionality, and fixes a huge nasty bug in how content
+was served with Rails.  If you saw weird file serving such as broken
+images and other bad downloads then this is the fix for you.
+
+"Download 0.3.1":http://rubyforge.org/frs/?group_id=1306
+
+
+h2. Feb-12: New site created.
+
+This is kind of an experiment in seeing what type of site is possible
+using just Creative Commons licensed content.  See the "attributions":attributions.html
+page for more information.
+
+
+