Forum: Ruby [ANN] Rack 1.5.0, a modular Ruby webserver interface

Posted by unknown (Guest)
on 2013-01-22 08:46
(Received via mailing list)
Hello,

Today we are proud to announce the release of Rack 1.5.0.

= Rack, a modular Ruby webserver interface

Rack provides a minimal, modular and adaptable interface for developing 
web applications in Ruby.  By wrapping HTTP requests and responses in 
the simplest way possible, it unifies and distills the API for web 
servers, web frameworks, and software in between (the so-called 
middleware) into a single method call.
The exact details of this are described in the Rack specification, which 
all Rack applications should conform to.

== Changes

Please note that this release includes a few potentially breaking 
changes.
Of particular note are:

 * SessionHash is no longer a Hash sublcass
 * Rack::File cache_control parameter is removed in place of headers 
options

Additonally, SPEC has been updated in several areas and is now at 1,2.

A new SPEC section was introduced that provides two server-optional IO 
hijacking
APIs. Further information on these APIs will be made available by the 
community
in good time. In the mean time, some information can be found in the 
original
pull request: https://github.com/rack/rack/pull/481

* January 21st, 2013: Thirty third public release 1.5.0
  * Introduced hijack SPEC, for before-response and after-response 
hijacking
  * SessionHash is no longer a Hash subclass
  * Rack::File cache_control parameter is removed, in place of headers 
options
  * Rack::Auth::AbstractRequest#scheme now yields strings, not symbols
  * Rack::Utils cookie functions now format expires in RFC 2822 format
  * Rack::File now has a default mime type
  * rackup -b 'run Rack::File.new(".")', option provides command line 
configs
  * Rack::Deflater will no longer double encode bodies
  * Rack::Mime#match? provides convenience for Accept header matching
  * Rack::Utils#q_values provides splitting for Accept headers
  * Rack::Utils#best_q_match provides a helper for Accept headers
  * Rack::Handler.pick provides convenience for finding available 
servers
  * Puma added to the list of default servers (preferred over Webrick)
  * Various middleware now correctly close body when replacing it
  * Rack::Request#params is no longer persistent with only GET params
  * Rack::Request#update_param and #delete_param provide persistent 
operations
  * Rack::Request#trusted_proxy? now returns true for local unix sockets
  * Rack::Response no longer forces Content-Types
  * Rack::Sendfile provides local mapping configuration options
  * Rack::Utils#rfc2109 provides old netscape style time output
  * Updated HTTP status codes
  * Ruby 1.8.6 likely no longer passes tests, and is no longer fully 
supported

== Where can I get it?

You can download Rack at
        http://chneukirchen.org/releases/rack-1.5.0.tar.gz   (upload 
pending at time of writing)
                  http://rubyforge.org/projects/rack

Alternatively, you can checkout from the development repository with:
    git clone git://github.com/rack/rack.git
cd rack && git checkout rack-1.5   # for this release

Happy hacking and have a nice day,

James Tucker
on behalf of the Rack Core Team.

9f506c84a6edbeb8c98f381e8edce15e7ae08324  rack-1.5.0.tar.gz
71b6627efbc8795bd3077eff9850fcb508d57ea3  rack-1.5.0.gem
Posted by raggi (Guest)
on 2013-01-22 08:47
(Received via mailing list)
My sincerest apologies, this was not a SEC release.
Posted by Eric Wong (Guest)
on 2013-01-22 11:08
(Received via mailing list)
jftucker@gmail.com wrote:
> Additonally, SPEC has been updated in several areas and is now at 1,2.

SPEC still says this:

  <tt>rack.version</tt>:: The Array [1,1], representing this version of 
Rack.

I take it 1,2-compliant servers should set [1,2] there instead?

> A new SPEC section was introduced that provides two server-optional IO hijacking
> APIs. Further information on these APIs will be made available by the community
> in good time. In the mean time, some information can be found in the original
> pull request: https://github.com/rack/rack/pull/481

Cool.  Should be easy for unicorn, and some configurations of 
Rainbows!/zbatery.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.