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.4.13 #110

Closed dependabot[bot] closed 7 months ago

dependabot[bot] commented 8 months ago

Bumps req from 0.3.9 to 0.4.13.

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.4.13 (2024-03-07)

  • [run_finch]: Default to connect_options: [protocols: [:http1]] due to regression with HTTP/2 requests over HTTP/1 connections (protocols: [:http1, :http2]) with request body size exceeding 64kib.

v0.4.12 (2024-03-06)

  • [Req]: Add response body streaming via into: :self, Req.parse_message/2, and Req.cancel_async_response/1.

  • [Req]: Deprecate Req.update/2 in favour of [Req.merge/2]

  • [Req.Test]: Add [Req.Test.allow/3]

  • [compressed]: Default compressed: false when streaming response body

  • [put_base_url]: Allow :base_url to be a 0-arity function or MFArgs

  • [put_plug]: Do not leak Plug.Test messages

v0.4.11 (2024-02-19)

  • [Req.Test.json/2]: Don't crash compilation when Plug is not available

v0.4.10 (2024-02-19)

  • [run_finch]: Default to connect_options: [protocols: [:http1, :http2]].

  • [run_finch]: Change version requirement to ~> 0.17, that is all versions up to 1.0.

  • [put_aws_sigv4]: Support streaming request body.

  • [auth]: Always update authorization header.

  • [decode_body]: Gracefully handle multiple content-type values.

  • [Req.Request.new/1]: Use URI.parse for now.

v0.4.9 (2024-02-14)

  • [retry]: Raise on invalid return from :retry_delay function

  • [run_finch]: Update to Finch 0.17

  • [run_finch]: Deprecate connect_options: [protocol: ...] in favour of connect_options: [protocols: ...]] which defaults to [:http1, :http2], that is, make request using HTTP/1 but if negotiated switch to HTTP/2 over the HTTP/1 connection.

  • New step: [put_aws_sigv4] - signs request with AWS Signature Version 4.

... (truncated)

Commits
  • 67344bc Release v0.4.13
  • 7898f14 Remove temporary test
  • cc2f368 run_finch: Default to connect_options: [protcols: [:http1]] for now
  • 667fbe8 Release v0.4.12
  • 830332a Disable flaky tests for now
  • 5493343 Update CHANGELOG.md
  • 160190b Rename into: pid to into: :self
  • 7c04f79 put_plug: Do not leak Plug.Test messages, closes #316
  • 3023ac9 checksum: Cannot use with into: pid
  • d960e0b Update CHANGELOG.md
  • Additional commits viewable in compare view


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 7 months ago

Superseded by #111.