View Source Changelog
v0.19.0 (2024-09-04)
Enhancements
- Update @mint_tls_opts in pool_manager.ex #266
- Document there is no backpressure on HTTP2 #283
- Fix test: compare file size instead of map #284
- Finch.request/3: Use improper list and avoid Enum.reverse #286
- Require Mint 1.6 #287
- Remove castore dependency #274
- Fix typos and improve language in docs and comments #285
- fix logo size in README #275
Bug Fixes
- Tweak Finch supervisor children startup order #289, fixes #277
- implement handle_cancelled/2 pool callback #268, fixes #257
- type Finch.request_opt() was missing the :request_timeout option #278
v0.18.0 (2024-02-09)
Enhancements
- 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)
Enhancements
- 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)
Enhancements
- add
Finch.request!/3
#219 - allow usage with nimble_pool 1.0 #220
v0.15.0 (2023-03-16)
Enhancements
- allow usage with nimble_options 1.0 #218
- allow usage with castore 1.0 #210
v0.14.0 (2022-11-30)
Enhancements
- 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)
Enhancements
- Define
Finch.child_spec/1
which will automatically use theFinch
: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)
Enhancements
- 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 fullFinch.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 wheneverFinch.request/3
orFinch.stream/5
are called.
- Rename the telemetry event
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 Finch.build/5
- 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 Finch.stream/5.
- 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