The list of changes in this release is long, and should serve as a warning to me to
make releases more often, as it cuts down on typing. Thanks to everyone who made
PRs, checked PRs, merged PRs, and... renewed PRs. Special thanks to Andrew Konchin
(@andrykonchin) who is responsible for over half the changes in this monster release,
and who has come on board as a maintainer.
This release removes the Rack::Runtime
and Rack::Config
middleware.
This may seem like a foolhardy thing to do in a minor release, but rack
itself ships with functionally identical versions. Compatibility
has been maintained by having require "rack/contrib/<thing>"
still work, but
that should be changed to require "rack/<thing>"
instead.
-
A
#close
method was added to the body that is returned byRack::Signals
. -
A stub
CHANGELOG.md
, pointing to the canonical source of release notes, has
been added. -
Thread safety issues in
Rack::Access
,Rack::CommonCookies
, andRack::Deflect
have been fixed. Additionally, the need for a thread-safe external cache object in
Rack::LazyConditionalGet
has been documented. -
A SPEC violation in
Rack::CSSHTTPRequest
has been fixed. -
Case-sensitive header problems in a whole bunch of middlewares have been fixed.
-
Rack::JSONBodyParser
now only rescuesJSON::ParserError
if it is raised within
the middleware's own code. Exceptions raised by the application itself will now
be left alone to be handled elsewhere. -
All string literals are now frozen.
-
Residual ye olde Ruby compatibility checks were removed from
Rack::Backstage
,
Rack::MailExceptions
andRack::NestedParams
. -
The length calculation in
Rack::JSONP
has been made simpler.