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.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/plashchynski/crono/pull/99
**Author:** [@dependabot[bot]](https://github.com/apps/dependabot)
**Created:** 5/27/2022
**Status:** ✅ Merged
**Merged:** 5/29/2022
**Merged by:** [@plashchynski](https://github.com/plashchynski)
**Base:** `master` ← **Head:** `dependabot/bundler/rack-2.2.3.1`
---
### 📝 Commits (1)
- [`a6f8354`](https://github.com/plashchynski/crono/commit/a6f8354e898287de1947792157c6f7a7ac3ebbb9) Bump rack from 2.2.3 to 2.2.3.1
### 📊 Changes
**1 file changed** (+1 additions, -1 deletions)
<details>
<summary>View changed files</summary>
📝 `Gemfile.lock` (+1 -1)
</details>
### 📄 Description
Bumps [rack](https://github.com/rack/rack) from 2.2.3 to 2.2.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rack/rack/blob/main/CHANGELOG.md">rack's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>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 <a href="https://keepachangelog.com/en/1.0.0/">Keep A Changelog</a>.</p>
<h2>[3.0.0] - Unreleased</h2>
<h3>Security</h3>
<ul>
<li>Do not use semicolon as GET parameter separator. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1733">#1733</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
</ul>
<h3>SPEC Changes</h3>
<ul>
<li>Response <code>status</code> must now be an integer greater than or equal to 100.</li>
<li>Response <code>headers</code> must now be an unfrozen hash.</li>
<li>Response header keys can no longer include uppercase characters.</li>
<li>Response header values can be an <code>Array</code> to handle multiple values (and no longer supports <code>\n</code> encoded headers).</li>
<li>Response body can now respond to <code>#call</code> (streaming body) instead of <code>#each</code> (enumerable body), for the equivalent of response hijacking in previous versions.</li>
<li>Middleware must no longer call <code>#each</code> on the body, but they can call <code>#to_ary</code> on the body if it responds to <code>#to_ary</code>.</li>
<li><code>rack.input</code> is no longer required to be rewindable.</li>
<li><code>rack.multithread/rack.multiprocess/rack.run_once</code> are no longer required environment keys.</li>
<li><code>SERVER_PROTOCOL</code> is now a required key, matching the HTTP protocol used in the request.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove <code>rack.multithread</code>/<code>rack.multiprocess</code>/<code>rack.run_once</code>. These variables generally come too late to be useful. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1720">#1720</a>, [<a href="https://github.com/ioquatix"><code>@ioquatix</code></a>], [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>]))</li>
<li>Remove deprecated Rack::Request::SCHEME_WHITELIST. ([<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>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. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1844">#1844</a>, [<a href="https://github.com/ioquatix"><code>@ioquatix</code></a>])</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>Rack::Headers</code> added to support lower-case header keys. ([<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li><code>Rack::Utils#set_cookie_header</code> now supports <code>escape_key: false</code> to avoid key escaping. ([<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li><code>Rack::RewindableInput</code> supports size. (<a href="https://github.com/ahorek"><code>@ahorek</code></a>)</li>
<li><code>Rack::RewindableInput::Middleware</code> added for making <code>rack.input</code> rewindable. ([<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>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. <code>Rack::Request.forwarded_priority</code> accessor has been added for configuring the priority of which header to check. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1423">#1423</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>Allow response headers to contain array of values. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1598">#1598</a>, [<a href="https://github.com/ioquatix"><code>@ioquatix</code></a>])</li>
</ul>
<h3>Changed</h3>
<ul>
<li>BREAKING CHANGE: Require <code>status</code> to be an Integer. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1662">#1662</a>, <a href="https://github.com/olleolleolle"><code>@olleolleolle</code></a>)</li>
<li>BREAKING CHANGE: Query parsing now treats parameters without <code>=</code> as having the empty string value instead of nil value, to conform to the URL spec. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1696">#1696</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>Relax validations around <code>Rack::Request#host</code> and <code>Rack::Request#hostname</code>. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1606">#1606</a>, <a href="https://github.com/pvande"><code>@pvande</code></a>)</li>
<li>Removed antiquated handlers: FCGI, LSWS, SCGI, Thin. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1658">#1658</a>, [<a href="https://github.com/ioquatix"><code>@ioquatix</code></a>])</li>
<li>Removed options from <code>Rack::Builder.parse_file</code> and <code>Rack::Builder.load_file</code>. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1663">#1663</a>, [<a href="https://github.com/ioquatix"><code>@ioquatix</code></a>])</li>
<li><code>Rack::HTTP_VERSION</code> has been removed and the <code>HTTP_VERSION</code> env setting is no longer set in the CGI and Webrick handlers. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/970">#970</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li><code>Rack::Request#[]</code> and <code>#[]=</code> now warn even in non-verbose mode. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1277">#1277</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>Decrease default allowed parameter recursion level from 100 to 32. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1640">#1640</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li>Attempting to parse a multipart response with an empty body now raises Rack::Multipart::EmptyContentError. (<a href="https://github-redirect.dependabot.com/rack/rack/issues/1603">#1603</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
<li><code>Rack::Utils.secure_compare</code> uses OpenSSL's faster implementation if available. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/1711">#1711</a>, <a href="https://github.com/bdewater"><code>@bdewater</code></a>)</li>
<li><code>Rack::Request#POST</code> now caches an empty hash if input content type is not parseable. (<a href="https://github-redirect.dependabot.com/rack/rack/pull/749">#749</a>, [<a href="https://github.com/jeremyevans"><code>@jeremyevans</code></a>])</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rack/rack/commit/925a4a6599ab26b4f3455b525393fe155d443655"><code>925a4a6</code></a> update changelog</li>
<li><a href="https://github.com/rack/rack/commit/70c0a24ea2c03352fca287dc502ffbabf4e1aea1"><code>70c0a24</code></a> bump version</li>
<li><a href="https://github.com/rack/rack/commit/434413f5cff1ca36d70c3e5a3544c5c2d7b636bf"><code>434413f</code></a> Escape untrusted text when logging</li>
<li><a href="https://github.com/rack/rack/commit/a872bcce127a6f4a0f16af8f28b686955ba32814"><code>a872bcc</code></a> Restrict broken mime parsing</li>
<li>See full diff in <a href="https://github.com/rack/rack/compare/2.2.3...2.2.3.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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/plashchynski/crono/network/alerts).
</details>
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/plashchynski/crono/pull/99
Author: @dependabot[bot]
Created: 5/27/2022
Status: ✅ Merged
Merged: 5/29/2022
Merged by: @plashchynski
Base:
master← Head:dependabot/bundler/rack-2.2.3.1📝 Commits (1)
a6f8354Bump rack from 2.2.3 to 2.2.3.1📊 Changes
1 file changed (+1 additions, -1 deletions)
View changed files
📝
Gemfile.lock(+1 -1)📄 Description
Bumps rack from 2.2.3 to 2.2.3.1.
Changelog
Sourced from rack's changelog.
... (truncated)
Commits
925a4a6update changelog70c0a24bump version434413fEscape untrusted text when logginga872bccRestrict broken mime parsingDependabot 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill 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 labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.