<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>ab6c66bc8a1ec928e4c3eb0f0b97323879db84dc</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/4cc6af9b4f0b633b076f27d3a76bf86ebf9fe64e</url>
    <id>4cc6af9b4f0b633b076f27d3a76bf86ebf9fe64e</id>
    <committed-date>2009-12-11T14:44:07-08:00</committed-date>
    <authored-date>2009-12-11T14:44:07-08:00</authored-date>
    <message>ignore rackup log output</message>
    <tree>192f70db35a70a77ae0c6b4ea434980696086f91</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>78ae5ef9c7e8c9410f18063bcb130e70666a0489</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/ab6c66bc8a1ec928e4c3eb0f0b97323879db84dc</url>
    <id>ab6c66bc8a1ec928e4c3eb0f0b97323879db84dc</id>
    <committed-date>2009-12-11T14:42:37-08:00</committed-date>
    <authored-date>2009-12-11T14:42:37-08:00</authored-date>
    <message>NullLogger should actually be a middleware</message>
    <tree>60e9546751d960ea8dbad82abc8f3a885c7aa79e</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>45c3d819eaa9849265280858acf5fd4c461cf049</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/78ae5ef9c7e8c9410f18063bcb130e70666a0489</url>
    <id>78ae5ef9c7e8c9410f18063bcb130e70666a0489</id>
    <committed-date>2009-12-11T14:40:57-08:00</committed-date>
    <authored-date>2009-12-11T14:40:57-08:00</authored-date>
    <message>Simple rack logger middleware that wraps rack.errors</message>
    <tree>8e748a34fdef6a0a0eea64d1a8f4989864a4d272</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>df22480a10063d3735374a394154658e72780c35</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/45c3d819eaa9849265280858acf5fd4c461cf049</url>
    <id>45c3d819eaa9849265280858acf5fd4c461cf049</id>
    <committed-date>2009-12-11T14:29:43-08:00</committed-date>
    <authored-date>2009-12-11T14:29:43-08:00</authored-date>
    <message>Nop NullLogger</message>
    <tree>77b14bff62f40b20a8b93073d46b34f172b37327</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>981f182bcfa1b848aa9e66c72500d855f6ee77ff</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/df22480a10063d3735374a394154658e72780c35</url>
    <id>df22480a10063d3735374a394154658e72780c35</id>
    <committed-date>2009-12-11T14:18:41-08:00</committed-date>
    <authored-date>2009-12-11T14:18:41-08:00</authored-date>
    <message>rack.logger specification</message>
    <tree>b2acc018e0ea3b675f8b527793d5f01c5b1395f0</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>37195bedbc6d1f02a47fea5712ad792aad5c1d4b</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/981f182bcfa1b848aa9e66c72500d855f6ee77ff</url>
    <id>981f182bcfa1b848aa9e66c72500d855f6ee77ff</id>
    <committed-date>2009-12-11T14:03:39-08:00</committed-date>
    <authored-date>2009-12-11T14:03:39-08:00</authored-date>
    <message>Import Ryan's Sendfile from contrib into core</message>
    <tree>af921775f8bc453c028f41570602b1c5f62729e5</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>7077d4b6d3eb25c856c83b7c8a22210216fde645</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/37195bedbc6d1f02a47fea5712ad792aad5c1d4b</url>
    <id>37195bedbc6d1f02a47fea5712ad792aad5c1d4b</id>
    <committed-date>2009-12-11T14:00:57-08:00</committed-date>
    <authored-date>2009-12-11T14:00:57-08:00</authored-date>
    <message>Import runtime middleware by paul (Paul Sadauskas) into core</message>
    <tree>9e6e6ab54f604b6d395ec226686ee82f0624f428</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a1534a5d7b48812e1e67d7ff02ef53b70e3ea492</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/7077d4b6d3eb25c856c83b7c8a22210216fde645</url>
    <id>7077d4b6d3eb25c856c83b7c8a22210216fde645</id>
    <committed-date>2009-12-11T13:52:08-08:00</committed-date>
    <authored-date>2009-12-11T13:52:08-08:00</authored-date>
    <message>Import etag middleware from contrib into core</message>
    <tree>684ddae4c1dffee7a2ffa5808a5829fa076619db</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5c4bd17d791d97310667acf6b458456aa1f8af0d</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/a1534a5d7b48812e1e67d7ff02ef53b70e3ea492</url>
    <id>a1534a5d7b48812e1e67d7ff02ef53b70e3ea492</id>
    <committed-date>2009-12-11T13:40:08-08:00</committed-date>
    <authored-date>2009-12-11T13:40:08-08:00</authored-date>
    <message>Import Config by jcrosby (Jon Crosby) into core</message>
    <tree>b6f956e06a7d1822c5dbc2c77709ddd984d172a8</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0f1bd2526b3972e131dccad32c7f7ea96a675880</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/5c4bd17d791d97310667acf6b458456aa1f8af0d</url>
    <id>5c4bd17d791d97310667acf6b458456aa1f8af0d</id>
    <committed-date>2009-12-10T19:52:38-08:00</committed-date>
    <authored-date>2009-12-10T19:52:38-08:00</authored-date>
    <message>Reverse hash for looking up status codes by symbol</message>
    <tree>f13ffb22bc1eefaa5085a5a7f46800af66f52dda</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>038ea40cbcc55f2cdb8fa31b19b4e224836534df</id>
      </parent>
    </parents>
    <author>
      <name>Eric Wong</name>
      <email>normalperson@yhbt.net</email>
    </author>
    <url>http://github.com/rack/rack/commit/0f1bd2526b3972e131dccad32c7f7ea96a675880</url>
    <id>0f1bd2526b3972e131dccad32c7f7ea96a675880</id>
    <committed-date>2009-12-10T19:35:12-08:00</committed-date>
    <authored-date>2009-12-10T19:35:12-08:00</authored-date>
    <message>HeaderHash#each yields Lint-OK multivalue headers

Rack::Lint does not allow header values yielded by #each to be
non-String objects, so we join them like we do in #to_hash.
This finally allows HeaderHash to be passed in the Rack response
as a header without needing #to_hash.

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;</message>
    <tree>294aec828fc658d59fd7cd5ec9df8c09dda2805d</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>8f836f406ca10274c6465e17c2b5646257a8412b</id>
      </parent>
    </parents>
    <author>
      <name>Eric Wong</name>
      <email>normalperson@yhbt.net</email>
    </author>
    <url>http://github.com/rack/rack/commit/038ea40cbcc55f2cdb8fa31b19b4e224836534df</url>
    <id>038ea40cbcc55f2cdb8fa31b19b4e224836534df</id>
    <committed-date>2009-12-10T19:34:50-08:00</committed-date>
    <authored-date>2009-12-10T19:34:50-08:00</authored-date>
    <message>CommonLogger uses HeaderHash to lookup Content-Length

Since HeaderHash is cheaper to use now, encourage its usage
instead of reinventing a way to lookup header values with
an enforced O(n) overhead.

Under best conditions, this can now be done in O(1) time if the
rest of our middleware stack already uses (and passes)
HeaderHash.  This does make things slower if CommonLogger is the
only middleware in the stack, however that's probably not too
common.

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;</message>
    <tree>4bfd524ed4c191e599df6fa7055131099960e248</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>cdf13618445fa7065c07d62b115907856d6d1095</id>
      </parent>
    </parents>
    <author>
      <name>Eric Wong</name>
      <email>normalperson@yhbt.net</email>
    </author>
    <url>http://github.com/rack/rack/commit/8f836f406ca10274c6465e17c2b5646257a8412b</url>
    <id>8f836f406ca10274c6465e17c2b5646257a8412b</id>
    <committed-date>2009-12-10T19:34:17-08:00</committed-date>
    <authored-date>2009-12-10T19:34:17-08:00</authored-date>
    <message>avoid HeaderHash#to_hash in middlewares

Since HeaderHash objects are valid header responses, avoid
converting the headers to Hash objects only to have it
reconverted back to HeaderHash in the next middleware.

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;</message>
    <tree>e7c4cacda1c39312871d9ca9479442b0cdc093ac</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a9440bc752be9b3093669614c6b56bf78d592958</id>
      </parent>
    </parents>
    <author>
      <name>Eric Wong</name>
      <email>normalperson@yhbt.net</email>
    </author>
    <url>http://github.com/rack/rack/commit/cdf13618445fa7065c07d62b115907856d6d1095</url>
    <id>cdf13618445fa7065c07d62b115907856d6d1095</id>
    <committed-date>2009-12-10T19:33:53-08:00</committed-date>
    <authored-date>2009-12-10T19:33:53-08:00</authored-date>
    <message>HeaderHash.new avoids unnecessary object creation

Creating a new HeaderHash is an O(n) operation in addition to
the cost of allocating a new object.  When using multiple pieces
of middleware, this can lead to unnecessary memory allocation
and iteration overhead.   We now explicitly define the
HeaderHash.new class method to return its original argument if
it is already a HeaderHash to avoid repeating work.

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;</message>
    <tree>a0b6b919f56f6b8b30bc5dc7b54b401e26a32a9e</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0a90548942409e6d8166a4fb636c30045273a541</id>
      </parent>
    </parents>
    <author>
      <name>Derek and Matt</name>
      <email>drat@gdis-imac-2.local</email>
    </author>
    <url>http://github.com/rack/rack/commit/a9440bc752be9b3093669614c6b56bf78d592958</url>
    <id>a9440bc752be9b3093669614c6b56bf78d592958</id>
    <committed-date>2009-12-10T19:28:48-08:00</committed-date>
    <authored-date>2009-11-16T10:50:27-08:00</authored-date>
    <message>Fixed multipart parameter parsing for when a field's body ends at the same time as a chunk (i.e. we've reached EOL and buffer is empty)</message>
    <tree>48e86108eb5dc1facfc78b6ecbe27759c9a23568</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d4906ef283949d9fe656bd869f46e2c72b401bf8</id>
      </parent>
    </parents>
    <author>
      <name>Bosko Milekic</name>
      <email>bmilekic@tesla.(none)</email>
    </author>
    <url>http://github.com/rack/rack/commit/0a90548942409e6d8166a4fb636c30045273a541</url>
    <id>0a90548942409e6d8166a4fb636c30045273a541</id>
    <committed-date>2009-12-10T19:28:10-08:00</committed-date>
    <authored-date>2009-11-05T13:00:10-08:00</authored-date>
    <message>Introduce failing test case for multipart parser when it slices exactly on a boundary and patch multipart parser so it passes it - the failing test case comes with a sample payload specific to the fact that the default bufsize used by the multipart parser is exactly 16384.  should this default be changed, the test will no longer apply.</message>
    <tree>4277f81b099c458571ec8311782149b2c4fb8a37</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ec8e0696bcd991d6bd5ea12799af6d3edee302ef</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/d4906ef283949d9fe656bd869f46e2c72b401bf8</url>
    <id>d4906ef283949d9fe656bd869f46e2c72b401bf8</id>
    <committed-date>2009-12-10T19:08:01-08:00</committed-date>
    <authored-date>2009-12-10T19:08:01-08:00</authored-date>
    <message>Tell people to report bugs to lighthouse</message>
    <tree>aa69cc7f08c527e5409ea5f92ecce3a9ab32cefe</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>324a89f2d803252e5e9013c63a4ef735863ca9af</id>
      </parent>
    </parents>
    <author>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/ec8e0696bcd991d6bd5ea12799af6d3edee302ef</url>
    <id>ec8e0696bcd991d6bd5ea12799af6d3edee302ef</id>
    <committed-date>2009-12-10T19:03:32-08:00</committed-date>
    <authored-date>2009-12-10T19:03:32-08:00</authored-date>
    <message>Don't delete PATH_INFO from env in fastcgi, mongrel, and webrick
handlers because PATH_INFO must not be nil according to SPEC
[#75 state:resolved]</message>
    <tree>55ae39f42263adf26b25006b8173d558a3bcad3a</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>c64d7520e5cd48ec51029a96f1dfe684b5d30370</id>
      </parent>
      <parent>
        <id>e89ef8f95389c4d95b1f02a7e64b29ae09b4763d</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/324a89f2d803252e5e9013c63a4ef735863ca9af</url>
    <id>324a89f2d803252e5e9013c63a4ef735863ca9af</id>
    <committed-date>2009-12-03T13:10:28-08:00</committed-date>
    <authored-date>2009-12-03T13:10:28-08:00</authored-date>
    <message>Merge branch 'memcache-session-bugfix'

* memcache-session-bugfix:
  Test-fix for shallow copy change checks
  Added test for deep hash checks, prevent shallow copy check failure
  Session::Memcache fixes
  Updating Session::Memcache test
  Inlining of #merge_sessions</message>
    <tree>c7b09c771e0ba1225324f808e571e0d64202cf7a</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ed3db52a936624b15c5b8d69aa7f3005dec48240</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/e89ef8f95389c4d95b1f02a7e64b29ae09b4763d</url>
    <id>e89ef8f95389c4d95b1f02a7e64b29ae09b4763d</id>
    <committed-date>2009-12-03T13:07:46-08:00</committed-date>
    <authored-date>2009-12-03T13:07:46-08:00</authored-date>
    <message>Test-fix for shallow copy change checks
Simplification of new/missing session keys</message>
    <tree>c7b09c771e0ba1225324f808e571e0d64202cf7a</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2a79d6ff0921ee4193fcd3739df604808c0adce1</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/ed3db52a936624b15c5b8d69aa7f3005dec48240</url>
    <id>ed3db52a936624b15c5b8d69aa7f3005dec48240</id>
    <committed-date>2009-12-03T13:04:16-08:00</committed-date>
    <authored-date>2009-12-03T13:04:16-08:00</authored-date>
    <message>Added test for deep hash checks, prevent shallow copy check failure
Rewording variables for clarity</message>
    <tree>d042a3203d3600c60ddbcab8fa7d3798b3a1eb0e</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9cd37ca45503c1d1e6432e95d5444328ab4d6015</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/2a79d6ff0921ee4193fcd3739df604808c0adce1</url>
    <id>2a79d6ff0921ee4193fcd3739df604808c0adce1</id>
    <committed-date>2009-12-02T20:01:08-08:00</committed-date>
    <authored-date>2009-11-22T20:15:28-08:00</authored-date>
    <message>Session::Memcache fixes

Restructing logical branches to be less inlince
Uniform naming of variables
Fix of of inline session merging</message>
    <tree>b0398291dd102e1809379ff054272171825fd033</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>50fc8eb0f1c35b9d0b8b4b83b603ae15c2fe0c18</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/9cd37ca45503c1d1e6432e95d5444328ab4d6015</url>
    <id>9cd37ca45503c1d1e6432e95d5444328ab4d6015</id>
    <committed-date>2009-12-02T20:01:07-08:00</committed-date>
    <authored-date>2009-11-22T20:12:04-08:00</authored-date>
    <message>Updating Session::Memcache test

Pointless instantiation removed
Moved bad connection check above good connection check
A blank string for the server specification uses defaults, fixed</message>
    <tree>45138e527d0604b1a1ef1f209880c867b2743607</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>c64d7520e5cd48ec51029a96f1dfe684b5d30370</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/50fc8eb0f1c35b9d0b8b4b83b603ae15c2fe0c18</url>
    <id>50fc8eb0f1c35b9d0b8b4b83b603ae15c2fe0c18</id>
    <committed-date>2009-12-02T20:01:07-08:00</committed-date>
    <authored-date>2009-11-22T18:08:53-08:00</authored-date>
    <message>Inlining of #merge_sessions</message>
    <tree>fc92fddd4a19229a3e24dde08b4547e6f3b0145a</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>35b562e3df70de7f0b494fd1c7d5af653caa2abb</id>
      </parent>
      <parent>
        <id>fb4f2b5fe26a0e3821ac0f6361a3885bd88b42ca</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/c64d7520e5cd48ec51029a96f1dfe684b5d30370</url>
    <id>c64d7520e5cd48ec51029a96f1dfe684b5d30370</id>
    <committed-date>2009-12-02T19:54:36-08:00</committed-date>
    <authored-date>2009-12-02T19:54:36-08:00</authored-date>
    <message>Merge branch 'quoted-string-cookies'

* quoted-string-cookies:
  Test added to check to ensure that quoted values are properly parsed</message>
    <tree>9dbc6647ba08512933708fcc3a986b4101daa638</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>35b562e3df70de7f0b494fd1c7d5af653caa2abb</id>
      </parent>
    </parents>
    <author>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/fb4f2b5fe26a0e3821ac0f6361a3885bd88b42ca</url>
    <id>fb4f2b5fe26a0e3821ac0f6361a3885bd88b42ca</id>
    <committed-date>2009-12-02T19:52:11-08:00</committed-date>
    <authored-date>2009-12-02T19:32:56-08:00</authored-date>
    <message>Test added to check to ensure that quoted values are properly parsed
Using a regular expression to identify quoted string values, could be optimized</message>
    <tree>9dbc6647ba08512933708fcc3a986b4101daa638</tree>
    <committer>
      <name>Scytrin dai Kinthra</name>
      <email>scytrin@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ac57058c067d343123e4f87932474114f250b89d</id>
      </parent>
    </parents>
    <author>
      <name>mig-hub</name>
      <email>mig@mypeplum.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/35b562e3df70de7f0b494fd1c7d5af653caa2abb</url>
    <id>35b562e3df70de7f0b494fd1c7d5af653caa2abb</id>
    <committed-date>2009-12-01T11:16:57-08:00</committed-date>
    <authored-date>2009-11-24T04:35:04-08:00</authored-date>
    <message>Fix typo on lib/rack/session/pool.rb</message>
    <tree>0841b1b97ac0f7729763ed1ec9fab4aa5bac90f2</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>8b71767d1934bec6eb4afeb69bfad36414e4947b</id>
      </parent>
    </parents>
    <author>
      <name>Geoffrey Grosenbach</name>
      <email>boss@topfunky.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/ac57058c067d343123e4f87932474114f250b89d</url>
    <id>ac57058c067d343123e4f87932474114f250b89d</id>
    <committed-date>2009-12-01T11:16:35-08:00</committed-date>
    <authored-date>2009-12-01T10:47:38-08:00</authored-date>
    <message>Added mime type for .manifest (HTML5 offline storage)</message>
    <tree>6439a65c258fc9304b533660d009829ab3ac8096</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>adf996587aecdd604eff441b8b69e4c47a8c2617</id>
      </parent>
    </parents>
    <author>
      <name>Chris Wanstrath</name>
      <email>chris@ozmm.org</email>
    </author>
    <url>http://github.com/rack/rack/commit/8b71767d1934bec6eb4afeb69bfad36414e4947b</url>
    <id>8b71767d1934bec6eb4afeb69bfad36414e4947b</id>
    <committed-date>2009-12-01T11:15:24-08:00</committed-date>
    <authored-date>2009-11-16T21:02:04-08:00</authored-date>
    <message>Response should call #to_i on the status, as per the spec.

&quot;The status, if parsed as integer (to_i), must be greater than or equal
to 100.&quot;</message>
    <tree>b61ad4f317ede1956205bdd4259575468a4e05c3</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>1a5d7356e3c256d28d9675bcfde39184bbd0c554</id>
      </parent>
    </parents>
    <author>
      <name>Carl Lerche</name>
      <email>carllerche@mac.com</email>
    </author>
    <url>http://github.com/rack/rack/commit/adf996587aecdd604eff441b8b69e4c47a8c2617</url>
    <id>adf996587aecdd604eff441b8b69e4c47a8c2617</id>
    <committed-date>2009-11-23T15:45:38-08:00</committed-date>
    <authored-date>2009-11-23T15:06:30-08:00</authored-date>
    <message>Extract the option parser

Signed-off-by: Joshua Peek &lt;josh@joshpeek.com&gt;</message>
    <tree>13834789380959ec739ae3fb3d3245aefcd0ea35</tree>
    <committer>
      <name>Joshua Peek</name>
      <email>josh@joshpeek.com</email>
    </committer>
  </commit>
</commits>
