Skip to content

Stuck at home? Why not release your favourite collection of Rack contributions!

Compare
Choose a tag to compare
@mpalmer mpalmer released this 31 Mar 21:15
143055e

A healthy crop of fixes and new features in this release. Thanks to
everyone who contributed, and welcome to Andrew Konchin, as the newest
recipient of a commit bit.

  • New middleware Rack::JSONBodyParser: a better-designed replacement for
    Rack::PostBodyContentTypeParser, with a more appropriate name (given
    that they both only handle JSON natively, having JSON in the name seems
    like a good idea), and with a better set of default behaviours and knobs.
    It is also significantly faster than PostBodyContentTypeParser.

  • Rack::PostBodyContentTypeParser: this middleware's interface is a
    bit of a mess, which makes it nearly impossible to improve in a
    backwards-compatible manner. As a result, its use has been deprecated, in
    favour of Rack::JSONBodyParser.

  • Several middlewares that set Content-Length headers were fixed to use
    String#bytesize, instead of String#size, which makes multibyte characters
    much happier. (Chris Frank)

  • Rack::ResponseCache: Make header detection case-insensitive. (Chris Frank)

  • A lot of broken tests and deprecation warnings in the test suite were
    fixed. (Andrew Konchin)

  • Rack::Locale: significant correctness fixes, including q=0 handling,
    case insensitivity where appropriate, and better handling of whitespace.
    (Andrew Konchin)

  • Rack::StaticCache: several correctness fixes, such as setting a Date
    response header, use UTC in timestamps, and improving the robustness of
    the date rendering.

Share and enjoy!