Changelog History
-
v1.2.0
๐ Bug fixes and improvements
- Fix a few bugs with passing the Mint connection around.
- Add IPv6 support with
inet6: true
in the transport options. - Cache the
:cacertfile
option for faster certificate lookup and decoding. - Add TLS 1.3 to default versions.
-
v1.1.0
๐ Bug fixes and improvements
- Concatenate values in one
cookie
header if thecookie
header is provided more than once in HTTP/2. - Fix headers merging in
Mint.UnsafeProxy
. - Remove some
Logger.debug/1
calls from the codebase. - Assume the HTTP/2 protocol on TCP connections if using
Mint.HTTP2
. - Fix a bug where we would send
WINDOW_UPDATE
frames with an increment of0
in HTTP/2. - Make the empty body chunk a no-op for
Mint.HTTP.stream_request_body/3
(only for HTTP/1). - Add the
Mint.HTTP.is_connection_message/2
guard. - Fix wildcard certifcate verification in OTP 23.
- Concatenate values in one
-
v1.0.0
October 28, 2019๐ฅ Breaking changes
- Remove the deprecated
Mint.HTTP.request/4
,Mint.HTTP1.request/4
, andMint.HTTP2.request/4
.
- Remove the deprecated
-
v0.5.0
October 28, 2019๐ Bug fixes and improvements
- Deprecate
Mint.HTTP.request/4
in favor of explicitly passing the body every time inMint.HTTP.request/5
. Same forMint.HTTP1
andMint.HTTP2
. - Don't include port in the
authority
header if it's the default port for the used protocol. - Add a default
content-length
header in HTTP/2 - Allow passing headers to proxies with the
:proxy_headers
option. - Fix a bug with HTTP/1 chunking.
- Deprecate
-
v0.4.0
July 17, 2019๐ Bug fixes and improvements
- Fix a small bug with double "wrapping" of some
Mint.TransportError
s. - Prevent unnecessary buffer allocations in the connections (less memory waste!).
- Add support for chunked transfer-encoding in HTTP/1 requests when you don't use
content-encoding
/transfer-encoding
yourself. - Add support for trailing headers in HTTP/* requests through
stream_request_body/3
. - Add a page about decompressing responses in the guides.
- Fix a small bug with double "wrapping" of some
-
v0.3.0
๐ฅ Breaking changes
- Remove
Mint.HTTP1.get_socket/1
,Mint.HTTP2.get_socket/1
, andMint.HTTP.get_socket/1
.
๐ Bug fixes and improvements
Downcase all headers in HTTP/2 to mimic the behavior in HTTP/1.1.
Add
Mint.HTTP.set_mode/2
,Mint.HTTP1.set_mode/2
, andMint.HTTP2.set_mode/2
to change the mode of a socket between active and passive.Add a
:mode
option to theconnect/4
functions to start the socket in active or passive mode.Add
Mint.HTTP.recv/3
,Mint.HTTP1.recv/3
, andMint.HTTP2.recv/3
to receive data from a passive socket in a blocking way.Add
Mint.HTTP.controlling_process/2
,Mint.HTTP1.controlling_process/2
, andMint.HTTP2.controlling_process/2
to change the controlling process of a connection.Support trailing response headers in HTTP/2 connections.
- Remove
-
v0.2.1
April 23, 2019๐ Bug fixes and improvements
Fix a bug with requests exceeding the window size in HTTP/2. We were sending the headers of a request even if the body was larger than the window size. Now, if the body is larger than the window size, we error out right away.
Fix a bug in the HTTP/2 handshake that would crash the connection in case the server sent unforeseen frames.
Improve buffering of body chunks in HTTP/1.
-
v0.2.0
April 09, 2019๐ฅ Breaking changes
- Add the
Mint.TransportError
andMint.HTTPError
exceptions. Change all the connection functions so that they return these error structs instead of generic terms. - Remove
Mint.HTTP2.get_setting/2
in favour ofMint.HTTP2.get_server_setting/2
andMint.HTTP2.get_client_setting/2
.
๐ Bug fixes and enhancements
- Add support for HTTP/2 server push with the new
:push_promise
response. - Add
Mint.HTTP2.cancel_request/5
. - Add
Mint.HTTP2.get_window_size/2
. - Add
open_request_count/1
function toMint.HTTP
, andMint.HTTP1
,Mint.HTTP2
. - Add
open?/2
function toMint.HTTP
, andMint.HTTP1
,Mint.HTTP2
. - Make the
Mint.HTTP2.HPACK
module private. - Take into account the max header list size advertised by the server in HTTP/2 connections.
- Improve error handling in a bunch of
Mint.HTTP2
functions. - Fix flow control on
WINDOW_UPDATE
frames at the connection level inMint.HTTP2
. - Correctly return timeout errors when connecting.
- Treat HTTP/1 header keys as case-insensitive.
- Prohibit users from streaming on unknown requests in HTTP/2.
- Prohibit the server from violating the client's max concurrent streams setting in HTTP/2.
- Strip whitespace when parsing the
content-length
header in HTTP/1. - Fix path validation when building HTTP/1 requests, fixes paths with
%NN
escapes.
- Add the
-
v0.1.0
February 26, 2019