View Source Changelog

v0.18.0 (2024-02-09)


  • Add Finch name to telemetry events #252

Bug Fixes

  • Fix several minor dialyzer errors and run dialyzer in CI #259, #261

v0.17.0 (2024-01-07)


  • Add support for async requests #228, #231
  • Add stream example to docs #230
  • Fix calls to deprecated Logger.warn/2 #232
  • Fix typos #233
  • Docs: do not use streams with async_request #238
  • Add Finch.stream_while/5 #239
  • Set MIX_ENV=test on CI #241
  • Update HTTP/2 pool log level to warning for retried action #240
  • Split trailers from headers #242
  • Introduce :request_timeout option #244
  • Support ALPN over HTTP1 pools #250
  • Deprecate :protocol in favour of :protocols #251
  • Implement pool telemetry #248

v0.16.0 (2023-04-13)


v0.15.0 (2023-03-16)


  • allow usage with nimble_options 1.0 #218
  • allow usage with castore 1.0 #210

v0.14.0 (2022-11-30)


  • Improve error message for pool timeouts #126
  • Relax nimble_options version to allow usage with 0.5.0 #204

v0.13.0 (2022-07-26)


  • Define Finch.child_spec/1 which will automatically use the Finch :name as the :id, allowing users to start multiple instances under the same Supervisor without any additional configuration #202
  • Include the changelog in the generated HexDocs #201
  • Fix typo in Finch.Telemetry docs #198

v0.12.0 (2022-05-03)


  • Add support for private request metadata #180
  • Hide docs for deprecated Finch.request/6 #195
  • Add support for Mint.UnsafeProxy connections #184

Bug Fixes

  • In v0.11.0 headers and status codes were added to Telemetry events in a way that made invalid assumptions regarding the shape of the response accumulator, this has been resolved in #196

Breaking Changes

  • Telemetry updates #176
    • Rename the telemetry event :request to :send and :response to :recv.
    • Introduce a new :request field which contains the full Finch.Request.t() in place of the :scheme, :host, :port, :path, :method fields wherever possible. The new :request field can be found on the :request, :queue, :send, and :recv events.
    • Rename the meta data field :error to :reason for all :exception events to follow the standard introduced in telemetry
    • Introduce a new [:finch, :request, :start | :stop | :exception] telemetry event that emits whenever Finch.request/3 or are called.

v0.11.0 (2022-03-28)

  • Add :pool_max_idle_time option to enable termination of idle HTTP/1 pools.
  • Add :conn_max_idle_time and deprecate :max_idle_time to make the distinction from :pool_max_idle_time more obvious.
  • Add headers and status code to Telemetry events.

v0.10.2 (2022-01-12)

  • Complete the typespec for Finch.Request.t()
  • Fix the typespec for
  • Update deps

v0.10.1 (2021-12-27)

  • Fix handling of iodata in HTTP/2 request streams.

v0.10.0 (2021-12-12)

  • Add ability to stream the request body for HTTP/2 requests.
  • Check and respect window sizes during HTTP/2 requests.

v0.9.1 (2021-10-17)

  • Upgrade NimbleOptions dep to 0.4.0.

v0.9.0 (2021-10-17)

  • Add support for unix sockets.

v0.8.3 (2021-10-15)

  • Return Error struct when HTTP2 connection is closed and a timeout occurs.
  • Do not leak messages/connections when cancelling streaming requests.

v0.8.2 (2021-09-09)

  • Demonitor http/2 connections when the request is done.

v0.8.1 (2021-07-27)

  • Update mix.exs to allow compatibility with Telemetry v1.0
  • Avoid appending "?" to request_path when query string is an empty string

v0.8.0 (2021-06-23)

  • HTTP2 connections will now always return Exceptions.

v0.7.0 (2021-05-10)

  • Add support for SSLKEYLOGFILE.
  • Drop HTTPS options for default HTTP pools to avoid :badarg errors.

v0.6.3 (2021-02-22)

  • Return more verbose errors when finch is configured with bad URLs.

v0.6.2 (2021-02-19)

  • Fix incorrect type spec for stream/5
  • Add default transport options for keepalive, timeouts, and nodelay.

v0.6.1 (2021-02-17)

  • Update Mint to 1.2.1, which properly handles HTTP/1.0 style responses that close the connection at the same time as sending the response.
  • Update NimblePool to 0.2.4 which includes a bugfix that prevents extra connections being opened.
  • Fix the typespec for
  • Fix assertion that was not actually being called in a test case.

v0.6.0 (2020-12-15)

  • Add ability to stream the request body for HTTP/1.x requests.

v0.5.2 (2020-11-10)

  • Fix deprecation in nimble_options.

v0.5.1 (2020-10-27)

  • Fix crash in http2 pools when a message is received in disconnected state.

v0.5.0 (2020-10-26)

  • Add :max_idle_time option for http1 pools
  • Optimize http2 connection closing.
  • Use new lazy pools in NimblePool
  • Additional idle_time measurements for all http1 connection telemetry

v0.4.0 (2020-10-2)

  • Update all dependencies. This includes bug fixes for Mint.

v0.3.2 (2020-09-18)

  • Add metadata to connection start telemetry in http/2 pools

v0.3.1 (2020-08-29)

  • Add HTTP method to telemetry events
  • BUGFIX - Include query parameters in HTTP/2 requests

v0.3.0 (2020-06-24)

  • HTTP/2 support
  • Streaming support for both http/1.1 and http/2 pools
  • New api for building and making requests
  • typespec fixes

v0.2.0 (2020-05-06)

  • Response body now defaults to an empty string instead of nil

v0.1.1 (2020-05-04)

  • Accepts a URI struct in request/3/4/5/6, Todd Resudek
  • Fix http_method() typespec, Ryan Johnson

v0.1.0 (2020-04-25)

  • Initial Release