All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference Keep A Changelog.
[3.0.0] - Unreleased
Security
Do not use semicolon as GET parameter separator. (#1733, [@jeremyevans])
SPEC Changes
Response status must now be an integer greater than or equal to 100.
Response headers must now be an unfrozen hash.
Response header keys can no longer include uppercase characters.
Response header values can be an Array to handle multiple values (and no longer supports \n encoded headers).
Response body can now respond to #call (streaming body) instead of #each (enumerable body), for the equivalent of response hijacking in previous versions.
Middleware must no longer call #each on the body, but they can call #to_ary on the body if it responds to #to_ary.
rack.input is no longer required to be rewindable.
rack.multithread/rack.multiprocess/rack.run_once are no longer required environment keys.
SERVER_PROTOCOL is now a required key, matching the HTTP protocol used in the request.
Removed
Remove rack.multithread/rack.multiprocess/rack.run_once. These variables generally come too late to be useful. (#1720, [@ioquatix], [@jeremyevans]))
Remove internal cookie deletion using pattern matching, there are very few practical cases where it would be useful and browsers handle it correctly without us doing anything special. (#1844, [@ioquatix])
Added
Rack::Headers added to support lower-case header keys. ([@jeremyevans])
Rack::Utils#set_cookie_header now supports escape_key: false to avoid key escaping. ([@jeremyevans])
Rack::RewindableInput::Middleware added for making rack.input rewindable. ([@jeremyevans])
The RFC 7239 Forwarded header is now supported and considered by default when looking for information on forwarding, falling back to the X-Forwarded-* headers. Rack::Request.forwarded_priority accessor has been added for configuring the priority of which header to check. (#1423, [@jeremyevans])
Allow response headers to contain array of values. (#1598, [@ioquatix])
BREAKING CHANGE: Query parsing now treats parameters without = as having the empty string value instead of nil value, to conform to the URL spec. (#1696, [@jeremyevans])
Relax validations around Rack::Request#host and Rack::Request#hostname. (#1606, @pvande)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/MagLev/maglev/network/alerts).
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps rack from 1.3.2 to 1.6.13.
Changelog
Sourced from rack's changelog.
... (truncated)
Commits
47a1fd7
bump versionb8dc520
Handle case where session id key is requested but it is missing698a060
Merge pull request #1462 from jeremyevans/sessionid-to_sde902e4
Merge branch '1-6-sec' into 1-6-stableb7d6546
Bump versiond3e2f88
making diff smaller99a8a87
fix memcache tests on 1.6f2cb48e
fix tests on 1.67ff635c
Introduce a new base class to avoid breaking when upgrading3232f93
Add a version prefix to the private id to make easier to migrate old valuesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/MagLev/maglev/network/alerts).