Skip to content

Update http&rake for Ruby 3 support

Aleksei Lipniagov requested to merge alipniagov-update-http-and-rake into master

We are having gem dependency issues and possibly a keyword-args issue in QA jobs on our Ruby 3 branch: gitlab!70798 (closed)

Failing job example: https://gitlab.com/gitlab-org/gitlab/-/jobs/1616163212

Bumping gem versions should solve the dependency issue, we just need to make sure that it won't break the QA.
http to v5 is the main update, rake to v13 is a dependency coming from it.

There are a few breaking changes in the gems, but because we use it in QA, I expect that the failure will be visible early? (it's sort of self-validation)

Gem Changelog Notes

http: https://github.com/httprb/http

Link: https://github.com/httprb/http/blob/main/CHANGES.md

Diff: https://my.diffend.io/gems/rake/12.2.0/13.0.6

## 5.0.2 (2021-09-10)

* [#686](https://github.com/httprb/http/pull/686)
  Correctly reset the parser.
  ([@bryanp])

* [#684](https://github.com/httprb/http/pull/684)
  Don't set Content-Length for GET, HEAD, DELETE, or CONNECT requests without a BODY.
  ([@jyn514])

* [#679](https://github.com/httprb/http/pull/679)
  Use features on redirected requests.
  ([@nomis])

* [#678](https://github.com/schwern)
  Restore `HTTP::Response` `:uri` option for backwards compatibility.
  ([@schwern])

* [#676](https://github.com/httprb/http/pull/676)
  Update addressable because of CVE-2021-32740.
  ([@matheussilvasantos])

* [#653](https://github.com/httprb/http/pull/653)
  Avoid force encodings on frozen strings.
  ([@bvicenzo])

* [#638](https://github.com/httprb/http/pull/638)
  DNS failover handling.
  ([@midnight-wonderer])  

## 5.0.1 (2021-06-26)

* [#670](https://github.com/httprb/http/pull/670)
  Revert `Response#parse` behavior introduced in [#540].
  ([@DannyBen])

* [#669](https://github.com/httprb/http/pull/669)
  Prevent bodies from being resubmitted when following unsafe redirects.
  ([@odinhb])

* [#664](https://github.com/httprb/http/pull/664)
  Bump llhttp-ffi to 0.3.0.
  ([@bryanp])

## 5.0.0 (2021-05-12)

* [#656](https://github.com/httprb/http/pull/656)
  Handle connection timeouts in `Features`
  ([@semenyukdmitry])

* [#651](https://github.com/httprb/http/pull/651)
  Replace `http-parser` with `llhttp`
  ([@bryanp])

* [#647](https://github.com/httprb/http/pull/647)
  Add support for `MKCALENDAR` HTTP verb
  ([@meanphil])

* [#632](https://github.com/httprb/http/pull/632)
  Respect the SSL context's `verify_hostname` value
  ([@colemannugent])

* [#625](https://github.com/httprb/http/pull/625)
  Fix inflator with empty responses
  ([@LukaszMaslej])

* [#599](https://github.com/httprb/http/pull/599)
  Allow passing `HTTP::FormData::{Multipart,UrlEncoded}` object directly.
  ([@ixti])

* [#593](https://github.com/httprb/http/pull/593)
  [#592](https://github.com/httprb/http/issues/592)
  Support informational (1XX) responses.
  ([@ixti])

* [#590](https://github.com/httprb/http/pull/590)
  [#589](https://github.com/httprb/http/issues/589)
  Fix response headers paring.
  ([@Bonias])

* [#587](https://github.com/httprb/http/pull/587)
  [#585](https://github.com/httprb/http/issues/585)
  Fix redirections when server responds with multiple Location headers.
  ([@ixti])

* [#581](https://github.com/httprb/http/pull/581)
  [#582](https://github.com/httprb/http/issues/582)
  Add Ruby 2.7.x support.
  ([@janko])

* [#577](https://github.com/httprb/http/pull/577)
  Fix `Chainable#timeout` with frozen Hash.
  ([@antonvolkoff])

* [#576](https://github.com/httprb/http/pull/576)
  [#524](https://github.com/httprb/http/issues/524)
  Preserve header names casing.
  ([@joshuaflanagan])

* [#540](https://github.com/httprb/http/pull/540)
  [#538](https://github.com/httprb/http/issues/538)
  **BREAKING CHANGE**
  Require explicit MIME type for Response#parse
  ([@ixti])

* [#532](https://github.com/httprb/http/pull/532)
  Fix pipes support in request bodies.
  ([@ixti])

* [#530](https://github.com/httprb/http/pull/530)
  Improve header fields name/value validation.
  ([@Bonias])

* [#506](https://github.com/httprb/http/pull/506)
  [#521](https://github.com/httprb/http/issues/521)
  Skip auto-deflate when there is no body.
  ([@Bonias])

* [#489](https://github.com/httprb/http/pull/489)
  Fix HTTP parser.
  ([@ixti], [@fxposter])

* [#546](https://github.com/httprb/http/pull/546)
  **BREAKING CHANGE**
  Provide initiating `HTTP::Request` object on `HTTP::Response`.
  ([@joshuaflanagan])

* [#571](https://github.com/httprb/http/pull/571)
  Drop Ruby 2.3.x support.
  ([@ixti])

* [3ed0c31](https://github.com/httprb/http/commit/3ed0c318eab6a8c390654cda17bf6df9e963c7d6)
  Drop Ruby 2.4.x support.


## 4.4.0 (2020-03-25)

* Backport [#587](https://github.com/httprb/http/pull/587)
  Fix redirections when server responds with multiple Location headers.
  ([@ixti])

* Backport [#599](https://github.com/httprb/http/pull/599)
  Allow passing HTTP::FormData::{Multipart,UrlEncoded} object directly.
  ([@ixti])

rake: https://github.com/ruby/rake

Link: https://github.com/ruby/rake/blob/master/History.rdoc

Diff: https://my.diffend.io/gems/http/4.2.0/5.0.2

=== 13.0.6

* Additional fix for #389
  Pull request #390 by hsbt

=== 13.0.5

* Fixed the regression of #388
  Pull request #389 by hsbt

=== 13.0.4

* Fix rake test loader swallowing useful error information.
  Pull request #367 by deivid-rodriguez
* Add -C/--directory option the same as GNU make.
  Pull request #376 by nobu

=== 13.0.3

* Fix breaking change of execution order on TestTask.
  Pull request #368 by ysakasin

=== 13.0.2

==== Enhancements

* Fix tests to work with current FileUtils
  Pull Request #358 by jeremyevans
* Simplify default rake test loader
  Pull Request #357 by deivid-rodriguez
* Update rdoc
  Pull Request #366 by bahasalien
* Update broken links to rake articles from Avdi in README
  Pull Request #360 by svl7

=== 13.0.1

==== Bug fixes

* Fixed bug: Reenabled task raises previous exception on second invokation 
  Pull Request #271 by thorsteneckel
* Fix an incorrectly resolved arg pattern
  Pull Request #327 by mjbellantoni

=== 13.0.0

==== Enhancements

* Follows recent changes on keyword arguments in ruby 2.7.
  Pull Request #326 by nobu
* Make `PackageTask` be able to omit parent directory while packing files 
  Pull Request #310 by tonytonyjan
* Add order only dependency
  Pull Request #269 by take-cheeze

==== Compatibility changes

* Drop old ruby versions(< 2.2)

=== 12.3.3

==== Bug fixes

* Use the application's name in error message if a task is not found.
  Pull Request #303 by tmatilai

==== Enhancements:

* Use File.open explicitly.

=== 12.3.2

==== Bug fixes

* Fixed test fails caused by 2.6 warnings.
  Pull Request #297 by hsbt

==== Enhancements:

* Rdoc improvements.
  Pull Request #293 by colby-swandale
* Improve multitask performance.
  Pull Request #273 by jsm
* Add alias `prereqs`.
  Pull Request #268 by take-cheeze

=== 12.3.1

==== Bug fixes

* Support did_you_mean >= v1.2.0 which has a breaking change on formatters.
  Pull request #262 by FUJI Goro.

==== Enhancements:

* Don't run task if it depends on already invoked but failed task.
  Pull request #252 by Gonzalo Rodriguez.
* Make space trimming consistent for all task arguments.
  Pull request #259 by Gonzalo Rodriguez.
* Removes duplicated inclusion of Rake::DSL in tests.
  Pull request #254 by Gonzalo Rodriguez.
* Re-raise a LoadError that didn't come from require in the test loader.
  Pull request #250 by Dylan Thacker-Smith.

=== 12.3.0

==== Compatibility Changes

* Bump `required_ruby_version` to Ruby 2.0.0. Rake has already
  removed support for Ruby 1.9.x.

==== Enhancements:

* Support `test-bundled-gems` task on ruby core.

=== 12.2.1

==== Bug fixes

* Fixed to break Capistrano::Application on capistrano3.
Edited by Aleksei Lipniagov

Merge request reports