Rack v2.1.0 Release Notes
Release Date: 2020-01-10 // over 4 years ago-
➕ Added
- ➕ Add support for
SameSite=None
cookie value. (@hennikul) - ➕ Add trailer headers. (@eileencodes)
- ➕ Add MIME Types for video streaming. (@styd)
- ➕ Add MIME Type for WASM. (@buildrtech)
- ➕ Add
Early Hints(103)
to status codes. (@egtra) - ➕ Add
Too Early(425)
to status codes. ([@y-yagi]((https://github.com/y-yagi))) - ➕ Add
Bandwidth Limit Exceeded(509)
to status codes. (@CJKinni) - ➕ Add method for custom
ip_filter
. (@svcastaneda) - ➕ Add boot-time profiling capabilities to
rackup
. (@tenderlove) - ➕ Add multi mapping support for
X-Accel-Mappings
header. (@yoshuki) - ➕ Add
sync: false
option toRack::Deflater
. (Eric Wong) - ➕ Add
Builder#freeze_app
to freeze application and all middleware instances. (@jeremyevans) - ➕ Add API to extract cookies from
Rack::MockResponse
. (@petercline)
🔄 Changed
- Don't propagate nil values from middleware. (@ioquatix)
- Lazily initialize the response body and only buffer it if required. (@ioquatix)
- 🛠 Fix deflater zlib buffer errors on empty body part. (@felixbuenemann)
- Set
X-Accel-Redirect
to percent-encoded path. (@diskkid) - ✂ Remove unnecessary buffer growing when parsing multipart. (@tainoe)
- Expand the root path in
Rack::Static
upon initialization. (@rosenfeld) - 👉 Make
ShowExceptions
work with binary data. (@axyjo) - 📜 Use buffer string when parsing multipart requests. (@janko-m)
- 👌 Support optional UTF-8 Byte Order Mark (BOM) in config.ru. (@mikegee)
- 🖐 Handle
X-Forwarded-For
with optional port. (@dpritchett) - 👉 Use
Time#httpdate
format for Expires, as proposed by RFC 7231. (@nanaya) - 👉 Make
Utils.status_code
raise an error when the status symbol is invalid instead of500
. (@adambutler) - Rename
Request::SCHEME_WHITELIST
toRequest::ALLOWED_SCHEMES
. - 📜 Make
Multipart::Parser.get_filename
accept files with+
in their name. (@lucaskanashiro) - ➕ Add Falcon to the default handler fallbacks. (@ioquatix)
- Update codebase to avoid string mutations in preparation for
frozen_string_literals
. (@pat) - 🔄 Change
MockRequest#env_for
to rely on the input optionally responding to#size
instead of#length
. (@janko) - 🗄 Rename
Rack::File
->Rack::Files
and add deprecation notice. (@postmodern). - Prefer Base64 “strict encoding” for Base64 cookies. (@ioquatix)
✂ Removed
- 💥 BREAKING CHANGE: Remove
to_ary
from Response (@tenderlove) - 🗄 Deprecate
Rack::Session::Memcache
in favor ofRack::Session::Dalli
from dalli gem (@fatkodima)
🛠 Fixed
- ⚠ Eliminate warnings for Ruby 2.7. (@osamtimizer)
📚 Documentation
- 📚 Update broken example in
Session::Abstract::ID
documentation. (tonytonyjan) - ➕ Add Padrino to the list of frameworks implementing Rack. (@wikimatze)
- ✂ Remove Mongrel from the suggested server options in the help output. (@tricknotes)
- Replace
HISTORY.md
andNEWS.md
withCHANGELOG.md
. (@twitnithegirl) - ⚡️ CHANGELOG updates. (@drenmi, @p8)
- ➕ Add support for