lostisland / faraday

Simple, but flexible HTTP client library, with support for multiple backends.
https://lostisland.github.io/faraday
MIT License
5.7k stars 971 forks source link

Update rack requirement from ~> 2.2 to ~> 3.0 #1549

Closed dependabot[bot] closed 5 months ago

dependabot[bot] commented 5 months ago

Updates the requirements on rack to permit the latest version.

Release notes

Sourced from rack's releases.

v3.0.8

What's Changed

New Contributors

Full Changelog: https://github.com/rack/rack/compare/v3.0.7...v3.0.8

Changelog

Sourced from rack's changelog.

[3.0.8] - 2023-06-14

[3.0.7] - 2023-03-16

[3.0.6.1] - 2023-03-13

  • [CVE-2023-27539] Avoid ReDoS in header parsing

[3.0.6] - 2023-03-13

  • Add QueryParser#missing_value for handling missing values + tests. (#2052, [@​ioquatix])

[3.0.5] - 2023-03-13

[3.0.4.2] - 2023-03-02

  • [CVE-2023-27530] Introduce multipart_total_part_limit to limit total parts

[3.0.4.1] - 2023-01-17

  • [CVE-2022-44571] Fix ReDoS vulnerability in multipart parser
  • [CVE-2022-44570] Fix ReDoS in Rack::Utils.get_byte_ranges
  • [CVE-2022-44572] Forbid control characters in attributes (also ReDoS)

[3.0.4] - 2023-01-17

  • Rack::Request#POST should consistently raise errors. Cache errors that occur when invoking Rack::Request#POST so they can be raised again later. (#2010, [@​ioquatix])
  • Fix Rack::Lint error message for HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH. (#2007, @​byroot)
  • Extend Rack::MethodOverride to handle QueryParser::ParamsTooDeepError error. (#2006, @​byroot)

[3.0.3] - 2022-12-27

Fixed

[3.0.2] -2022-12-05

Fixed

  • Utils.build_nested_query URL-encodes nested field names including the square brackets.
  • Allow Rack::Response to pass through streaming bodies. (#1993, [@​ioquatix])

[3.0.1] - 2022-11-18

... (truncated)

Commits


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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@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)
olleolleolle commented 5 months ago

@dependabot rebase

olleolleolle commented 5 months ago

This is the failing test:


Failures:

  1) Faraday::NestedParamsEncoder encodes rack compat
     Failure/Error: expect(result).to match_array(expected)

       expected collection contained:  ["a%5B%5D%5Bone%5D=1", "a%5B%5D%5Btwo%5D=2", "a%5B%5D=", "a%5B%5D=3"]
       actual collection contained:    ["a[]=", "a[]=3", "a[][one]=1", "a[][two]=2"]
       the missing elements were:      ["a%5B%5D%5Bone%5D=1", "a%5B%5D%5Btwo%5D=2", "a%5B%5D=", "a%5B%5D=3"]
       the extra elements were:        ["a[]=", "a[]=3", "a[][one]=1", "a[][two]=2"]
     # ./spec/faraday/params_encoders/nested_spec.rb:66:in `block (2 levels) in <top (required)>'
     # ./vendor/bundle/ruby/3.4.0+0/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
iMacTia commented 5 months ago

The behaviour of the build_nested_query method changed in this PR: https://github.com/rack/rack/pull/1989