Starting with tag: [TAG 0.2 Christian Neukirchen **20070516150700] [Credit Luc Heinrich Christian Neukirchen **20070516173422] [Better running of lighttpd for testing Christian Neukirchen **20070517120637] [Make Rack::Response possibly close the body Christian Neukirchen **20070531163615 Proposed by Jonathan Buch ] [Make Rack::File serve files with URL encoded filenames Christoffer Sawicki **20070614203451] [Add LiteSpeed handler Christian Neukirchen **20070712090234 Courtesy of Adrian Madrid ] [pool.rb - local session storage hash pool w/ tests Scytrin dai Kinthra **20070811172831] [Mention PUT as allowed request method in the spec Christian Neukirchen **20070912091554] [Fix Cookie dates accordingly to RFC 2109 Christian Neukirchen **20071009143528] [Make Rack::Builder#to_app nondestructive Christian Neukirchen **20071115161032] [Fix warning Christian Neukirchen **20071115161151] [Update AUTHORS and thanks Christian Neukirchen **20071115162027] [Fix SCRIPT_NAME in nested URLMaps Christian Neukirchen **20071115162136] [lib/rack/auth/openid.rb: openid login authenticator Scytrin dai Kinthra **20070817070944] [lib/rack/handler/fastcgi.rb - :Port and :File options for opening sockets Scytrin dai Kinthra **20070822041702] [Addition of credits, #for to allow app context change, and addition of a #key accessor Scytrin dai Kinthra **20070828231413] [addition of Last-Modified http header to Rack::File Scytrin dai Kinthra **20070830132821] [addition of js -> text/javascript to file types Scytrin dai Kinthra **20070830133007] [Errors now method calls rather than constants. Scytrin dai Kinthra **20071118044229] [Addition of Rack::Utils::Context Scytrin dai Kinthra **20071118044507 Allows the use of a rack app in different contexts using a proc. ] [Cleanup of code, errant error call Scytrin dai Kinthra **20071118045037] [Addition of request to provide a default return url Scytrin dai Kinthra **20071118045320] [Addition of post-run block for extensibility Scytrin dai Kinthra **20071118045433] [Inclusion of the openid result for the post-run block Scytrin dai Kinthra **20071118045756] [session/pool.rb - Updated to use Rack::Utils::Context Scytrin dai Kinthra **20071118050812] [lib/rack.rb - Addition of new Session::Pool and Memcache Scytrin dai Kinthra **20071118074510] [lib/rack.rb - Addition of Auth::OpenID Scytrin dai Kinthra **20071118074650] [lib/rack/auth/openid.rb - removal of rubygems require Scytrin dai Kinthra **20071118184539] [Minor tweaks in blink's code Christian Neukirchen **20071118192053] [Reformat and representation of mapping selection routine. Scytrin dai Kinthra **20070828230207] [lib/rack/urlmap.rb - Restyle of host matching from 'and' and 'or' to && and || Scytrin dai Kinthra **20071118191611] [Small fix for the new FastCGI options Christian Neukirchen **20071118195145] [lib/rack/auth/openid.rb - removal of block functionality Scytrin dai Kinthra **20071118195435 The block argumentn functionality was causing a few complications and was removed in favour of storing the openid status object in the environment. A wrapping proc oor rack app can now achieve the same functionality as the block could, in a cleaner manner. ] [lib/rack/auth/openid.rb - updates to reflect rack styling Scytrin dai Kinthra **20071118200329] [lib/rack/auth/openid.rb - typo! Scytrin dai Kinthra **20071118200908] [Make Rack::Lint actually check what the spec says. Christian Neukirchen **20071209164837] [Remove uses of base64 for Ruby 1.9 support Christian Neukirchen **20071231183408] [Remove Rack::Adapter::Rails autoload Christian Neukirchen **20080110152954] [Conform to RFC 2109 regarding multiple values for same cookie Aman Gupta **20080121022706] [Fix syntax for toggle() in ShowExceptions m.fellinger@gamil.com**20080122042354] [Add SCGI handler, by Jeremy Evans Christian Neukirchen **20080125083628] [HTTP status 201 can contain a body Christian Neukirchen **20080203170059] [Update lint to not check for 201 status headers Christian Neukirchen **20080203171400] [Don't create invalid header lines when only deleting a cookie Christian Neukirchen **20080218211807 Reported by Andreas Zehnder ] [Let Rack::Builder#use accept blocks Christian Neukirchen **20080224175153 Contributed by Corey Jewett. ] [Fix cookie parsing Christian Neukirchen **20080224184600] [Fix test cases that used 201 as a status where Content-Type is not allowed Christian Neukirchen **20080224184815] [Don't use autoloads in the test suite Christian Neukirchen **20080224193706] [Update README and docs Christian Neukirchen **20080226122832] [TAG 0.3 Christian Neukirchen **20080226122947] [Changed urlmap.rb's uri check to successive conditionals rather than one big one Scytrin dai Kinthra **20080310151814] [Addition of #add, #<<, and #include? to Cascade, allowing iterative addition of apps Scytrin dai Kinthra **20080311063124] [Alteration of Mongrel.run for Mongrel based routing Scytrin dai Kinthra **20080311075137 With the passing of the :map option Mongrel.run will handle the passing of a Hash or URLMap rather than a standard rack app. The mapping provided by the passed object will be used to register uris with the mongrel instance. Hashes should only have absolute paths for keys and apps for values. URLMaps will be filtered if the :Host options is specified, or the mapping's host is set. ] [pool.rb - removal of blocks for #context Scytrin dai Kinthra **20080311111155 Before you could pass a block to Pool#context that would be passed the env before performing a call on the passed app. This has been removed in deference to the practice setting up the block as the passed app, which should subsequently call the intended app. Seems more in accordance with Rack's prescribed behaviour. ] [pool.rb - moved inline hash to DEFAULT_OPTIONS Scytrin dai Kinthra **20080311112557] [pool.rb - exported generation of a new session id Scytrin dai Kinthra **20080311112941] [pool.rb - altered session metadata storage and session commit point Scytrin dai Kinthra **20080311115216] [pool.rb - exported session to pool commit Scytrin dai Kinthra **20080311115633] [pool.rb - exported assignment of session id cookie Scytrin dai Kinthra **20080311115920] [pool.rb - cleanup and portability revisions Scytrin dai Kinthra **20080311120229] [Fix that Request assumes form-data even when Content-Type says otherwise r@tomayko.com**20080315135144 Fixes cases where accessing Request#params causes the body to be read and processed as form-data improperly. For example, consider the following request: PUT /foo/bar?baz=bizzle HTTP/1.1 Content-Type: text/plain This is not form-data. When Rack::Request gets ahold of the corresponding environment, and the application attempts to access the "baz" query string param, the body is read and interpreted as form-data. If the body is an IOish object, this causes the offset to be forwarded to the end of file. The patch prevents the Request#POST method from going into the body unless the media type is application/x-www-form-urlencoded, multipart/form-data, or not specified. While here, added a few unrelated helper methods to Request that I've found particularly useful in Rack apps: #content_length, #head?, and #content_charset. Tests and doc included for all changes. ] [Require time in rack/file.rb Christian Neukirchen **20080317105627 Reported by Stephen Bannasch. ] [pool.rb - faster session id generation from apeiros Scytrin dai Kinthra **20080314235733] [pool.rb - moved cookie building back to #commit_session Scytrin dai Kinthra **20080316045910] [pool.rb - addition of thread safety Scytrin dai Kinthra **20080316082126] [pool.rb - cleanup and THANKS Scytrin dai Kinthra **20080316082307] [pool.rb - saner metadata storage Scytrin dai Kinthra **20080316082616] [pool.rb - setup of expiry not using defined?, from apeiros Scytrin dai Kinthra **20080316083308] [pool.rb - documentation revision, addition of @mutex accessor Scytrin dai Kinthra **20080316090152] [pool.rb - documentation update and collision warnings Scytrin dai Kinthra **20080316115510] [utils.rb - Utils::Context - addition of introspection methods Scytrin dai Kinthra **20080316132351] [pool.rb - addition of session freshness check and upkeep routines Scytrin dai Kinthra **20080316143019] [updated and addition to tests for pool.rb for expiration and thread safety Scytrin dai Kinthra **20080316143145 Running the freshness tests sleeps for 4 seconds to allow a session's expiration point to pass. ] [pool.rb, id.rb - creation of abstract id based session handler Scytrin dai Kinthra **20080317091232 Allows simpler implementation of various storage based sessioning. More stringent type checks in id.rb ] [pool.rb - explicit require for thread stdlib Scytrin dai Kinthra **20080317111945] [urlmap.rb - alteration of path selection routines, with updated tests Scytrin dai Kinthra **20080317152607 Previous implementation would append an extra '/' if PATH_NAME would otherwise be empty. ] [Don't lose empty headers in HeaderHash Christian Neukirchen **20080317155100] [URLMap tweaks and more tests Christian Neukirchen **20080317155122] [pool.rb - cleanup of session merging and threading collision checks Scytrin dai Kinthra **20080317155913] [urlmap.rb - update test in allowance of non-destructive HeaderHash Scytrin dai Kinthra **20080317160353] [Changes to get lighttpd setup and running when rake fulltest is run; also added some doc to the readme about running tests stephen.bannasch@gmail.com**20080317232818] [Small README tweak Christian Neukirchen **20080318105455] [Make fulltest chmod the executables Christian Neukirchen **20080318105534] [Update Rakefile Christian Neukirchen **20080318105724] [Update History Christian Neukirchen **20080318105948] [openid.rb - documentation and check on using ruby-openid 1.x.x Scytrin dai Kinthra **20080318040422] [Rack::Reloader is not loaded in rackup development mode anymore Christian Neukirchen **20080320160636] [memcache.rb - memcached based session management Scytrin dai Kinthra **20080319114332] [Run Rack::Session::Memcache tests in fulltest only Christian Neukirchen **20080320161154] [abstract/id.rb - Added check on correctness of response. Scytrin dai Kinthra **20080325111509] [memcache.rb - Fixed immortal key bug, updated tests Scytrin dai Kinthra **20080329043246 Old multithread behaviour was to merge sessions, which would never delete keys, even if deleted in the current session. ] [Bug fix for Tempfile POST bodies under Ruby 1.8 Adam Harper **20080327110953 The Tempfile class in Ruby 1.8 doesn't implement the == method correctly. This causes Rack::Requests to re-parse the input (when the input is a Tempfile) each time the POST method is called, this in turn raises an EOFError because the input has already been read. One example of when this happens is when handling large POST requests (e.g. file uploads) under Mongrel. This issue only effects Ruby 1.8 (tested against 1.8.6). Ruby 1.9 does not suffer from this issue (presumably due to changes in the Delegate implementation.) ] [handle EOFError exception in Request#params ryan@wonko.com**20080410202632] [Open multipart tempfiles in binary mode Christian Neukirchen **20080418101254] [spec_rack_utils.rb - Added another test for parse_query Christoffer Sawicki **20080502210443] [utils.rb - Cleaned up parse_query Christoffer Sawicki **20080502205339] [utils.rb, spec_rack_utils.rb - Added build_query, the inverse of parse_query Christoffer Sawicki **20080502210537] [Merge josh/daemonize Christian Neukirchen **20080510151027] [Merge 'josh/rack-mirror' Christian Neukirchen **20080518150512] [Merge walf443/rack-mirror Christian Neukirchen **20080524122210] [Allow handlers to register themselves with Rack::Handler. Christian Neukirchen **20080524155410] [Add Rack.release for the version of the release. Christian Neukirchen **20080525143240] [Convert Rakefile to use Git Christian Neukirchen **20080525143330] [utils.rb - addition of recontexting from a Context Scytrin dai Kinthra **20080329195858] [directory.rb - serves html index for nonfile paths Scytrin dai Kinthra **20080425235542 Rack::File similar processing of paths. On directory lookups it will serve a html index of it's contents. Entries begining with '.' are not presented. On lookups that result in a file, it will pass an unmodified env to the provided app. If an app is not provided, a Rack::File with the same root is used. ] [session/abstract/id.rb - removal of gratuitous debug output Scytrin dai Kinthra **20080426213715]