Skip to content

Omnibus release of dooooooooom

Latest
Compare
Choose a tag to compare
@mpalmer mpalmer released this 30 Nov 23:50
· 30 commits to main since this release
095edc9

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 by Rack::Signals.

  • A stub CHANGELOG.md, pointing to the canonical source of release notes, has
    been added.

  • Thread safety issues in Rack::Access, Rack::CommonCookies, and Rack::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 rescues JSON::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 and Rack::NestedParams.

  • The length calculation in Rack::JSONP has been made simpler.