Automattic / wpcom.ex

WordPress.com Elixir API client
https://hex.pm/packages/wpcom
MIT License
9 stars 2 forks source link

Bump req from 0.3.9 to 0.5.4 #127

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 2 months ago

Bumps req from 0.3.9 to 0.5.4.

Release notes

Sourced from req's releases.

v0.4.0

Req v0.4.0 changes headers to be maps, adds request & response streaming, and improves steps.

Change Headers to be Maps

Previously headers were lists of name/value tuples, e.g.:

[{"content-type", "text/html"}]

This is a standard across the ecosystem (with minor difference that some Erlang libraries use charlists instead of binaries.)

There are some problems with this particular choice though:

  • We cannot use headers[name]
  • We cannot use pattern matching

In short, this representation isn't very ergonomic to use.

Now headers are maps of string names and lists of values, e.g.:

%{"content-type" => ["text/html"]}

This allows headers[name] usage:

response.headers["content-type"]
#=> ["text/html"]

and pattern matching:

case Req.request!(req) do
  %{headers: %{"content-type" => ["application/json" <> _]}} ->
    # handle JSON response
end

This is a major breaking change. If you cannot easily update your app or your dependencies, do:

# config/config.exs
config :req, legacy_headers_as_lists: true

This legacy fallback will be removed on Req 1.0.

... (truncated)

Changelog

Sourced from req's changelog.

v0.5.4 (2024-07-18)

  • [run_finch], [Req.parse_message/2]: Gracefully handle process messages not meant for the asynchronous response. In that case, Req.parse_message/2 returns :unknown.

v0.5.3 (2024-07-18)

  • [Req.Test]: Fix using shared mode

  • [encode_body]: Add :form_multipart option

  • [put_aws_sigv4]: Try detecting the service

  • [run_finch]: Fix setting :finch option

v0.5.2 (2024-07-08)

  • [put_aws_sigv4]: Fix bug when using custom headers

  • [put_aws_sigv4]: Add :token option

  • [redirect]: Cancel async request before redirecting

  • [decode_body]: Support application/zstd and .zst

v0.5.1 (2024-06-24)

  • [retry]: Default :retry_log_level to :warning

  • [put_path_params]: Add :path_params_style option

  • [put_aws_sigv4]: Fix path encoding

  • [decode_body]: Improve tar detection

  • [run_finch]: Fix defaulting to using just HTTP/1

v0.5.0 (2024-05-28)

Req v0.5.0 brings testing enhancements, errors standardization, %Req.Response.Async{}, and more improvements and bug fixes.

Testing Enhancements

In previous releases, we could only create test stubs (using [Req.Test.stub/2]), that is, fake HTTP servers which had predefined behaviour. Let's say we're integrating with a third-party weather service and we might create a stub for it like below:

Req.Test.stub(MyApp.Weather, fn conn ->
  Req.Test.json(conn, %{"celsius" => 25.0})
</tr></table> 

... (truncated)

Commits


Dependabot compatibility score

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)
dependabot[bot] commented 1 month ago

Superseded by #128.