jaeyson / ex_typesense

Typesense client for Elixir with support for importing your Ecto schemas.
https://hexdocs.pm/ex_typesense
MIT License
25 stars 7 forks source link

Bump req from 0.3.12 to 0.4.14 #9

Closed dependabot[bot] closed 3 months ago

dependabot[bot] commented 3 months ago

Bumps req from 0.3.12 to 0.4.14.

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.14 (2024-03-15)

  • [redirect]: Return [Req.TooManyRedirectsError] exception.

    Previously we always raised a RuntimeError. Besides changing the exception struct, now it is returned:

    iex> Req.get("https://httpbin.org/redirect/4", max_redirects: 3)
    # 07:08:06.868 [debug] redirecting to /relative-redirect/3
    # 07:08:06.988 [debug] redirecting to /relative-redirect/2
    # 07:08:07.109 [debug] redirecting to /relative-redirect/1
    {:error, %Req.TooManyRedirectsError{max_redirects: 3}}
    

    When users where using functions like Req.get!, the exception will of course still be raised.

  • Relax nimble_ownership version requirement

  • [Req.Test]: Allow plug stub to be a module or {module, options}

  • [Req.Test]: Document stubbing with Broadway

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]].

... (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 3 months ago

The following labels could not be found: hex, dependencies.