zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

CHANGELOG.md (6171B)


      1 # Changelog
      2 
      3 ## v1.4.2
      4 
      5 ### Bug fixes and improvements
      6 
      7   * Properly handle interim responses (informational `1xx` status codes) in
      8     HTTP/2. Now you might get zero or more sequences of `:status` and `:headers`
      9     responses with status `1xx` before the *final response* (with status
     10     non-`1xx`).
     11 
     12 ## v1.4.1
     13 
     14 ### Bug fixes and improvements
     15 
     16   * Emit the remaining buffer as a `:data` response when switching protocols
     17     from HTTP/1.
     18   * Respect closed-for-writing when streaming data frames in HTTP/2.
     19   * Fix handling of HTTP/2 frames of an unknown type.
     20 
     21 ## v1.4.0
     22 
     23 ### Bug fixes and improvements
     24 
     25   * Add support for `SETTINGS_ENABLE_CONNECT_PROTOCOL` HTTP/2 server setting.
     26   * Omit the `:scheme` and `:path` pseudo headers for HTTP/2 CONNECT.
     27   * Fix invalid connection state when data can't be sent.
     28   * Skip expired certs in partial chain hook.
     29   * Add `Mint.HTTP.get_proxy_headers/1`.
     30   * Add `Mint.HTTP.module/1`.
     31 
     32 ## v1.3.0
     33 
     34 ### Bug fixes and improvements
     35 
     36   * Improve compatibility with OTP 24.
     37   * Support HTTP/1 pipelining when streaming requests.
     38   * Add `Mint.HTTP.get_socket/1` for returning the connection socket.
     39   * Improve compatibility with TLS 1.3.
     40 
     41 ## v1.2.1
     42 
     43 ### Bug fixes and improvements
     44 
     45   * Fix a bug where we were not ignoring the return value of `:ssl.close/1` and `:gen_tcp.close/1`.
     46   * Fix a bug where we were not properly handling transport errors when doing ALPN protocol negotiation.
     47   * Fix a bug where we were not handling connection closed errors in a few places.
     48 
     49 ## v1.2.0
     50 
     51 ### Bug fixes and improvements
     52 
     53   * Fix a few bugs with passing the Mint connection around.
     54   * Add IPv6 support with `inet6: true` in the transport options.
     55   * Cache the `:cacertfile` option for faster certificate lookup and decoding.
     56   * Add TLS 1.3 to default versions.
     57 
     58 ## v1.1.0
     59 
     60 ### Bug fixes and improvements
     61 
     62   * Concatenate values in one `cookie` header if the `cookie` header is provided more than once in HTTP/2.
     63   * Fix headers merging in `Mint.UnsafeProxy`.
     64   * Remove some `Logger.debug/1` calls from the codebase.
     65   * Assume the HTTP/2 protocol on TCP connections if using `Mint.HTTP2`.
     66   * Fix a bug where we would send `WINDOW_UPDATE` frames with an increment of `0` in HTTP/2.
     67   * Make the empty body chunk a no-op for `Mint.HTTP.stream_request_body/3` (only for HTTP/1).
     68   * Add the `Mint.HTTP.is_connection_message/2` guard.
     69   * Fix wildcard certificate verification in OTP 23.
     70 
     71 ## v1.0.0
     72 
     73 ### Breaking changes
     74 
     75   * Remove the deprecated `Mint.HTTP.request/4`, `Mint.HTTP1.request/4`, and `Mint.HTTP2.request/4`.
     76 
     77 ## v0.5.0
     78 
     79 ### Bug fixes and improvements
     80 
     81   * Deprecate `Mint.HTTP.request/4` in favor of explicitly passing the body every time in `Mint.HTTP.request/5`. Same for `Mint.HTTP1` and `Mint.HTTP2`.
     82   * Don't include port in the `authority` header if it's the default port for the used protocol.
     83   * Add a default `content-length` header in HTTP/2
     84   * Allow passing headers to proxies with the `:proxy_headers` option.
     85   * Fix a bug with HTTP/1 chunking.
     86 
     87 ## v0.4.0
     88 
     89 ### Bug fixes and improvements
     90 
     91   * Fix a small bug with double "wrapping" of some `Mint.TransportError`s.
     92   * Prevent unnecessary buffer allocations in the connections (less memory waste!).
     93   * Add support for chunked transfer-encoding in HTTP/1 requests when you don't use `content-encoding`/`transfer-encoding` yourself.
     94   * Add support for trailing headers in HTTP/* requests through `stream_request_body/3`.
     95   * Add a page about decompressing responses in the guides.
     96 
     97 ## v0.3.0
     98 
     99 ### Breaking changes
    100 
    101   * Remove `Mint.HTTP1.get_socket/1`, `Mint.HTTP2.get_socket/1`, and `Mint.HTTP.get_socket/1`.
    102 
    103 ### Bug fixes and improvements
    104 
    105   * Downcase all headers in HTTP/2 to mimic the behavior in HTTP/1.1.
    106 
    107   * Add `Mint.HTTP.set_mode/2`, `Mint.HTTP1.set_mode/2`, and `Mint.HTTP2.set_mode/2` to change the mode of a socket between active and passive.
    108 
    109   * Add a `:mode` option to the `connect/4` functions to start the socket in active or passive mode.
    110 
    111   * Add `Mint.HTTP.recv/3`, `Mint.HTTP1.recv/3`, and `Mint.HTTP2.recv/3` to receive data from a passive socket in a blocking way.
    112 
    113   * Add `Mint.HTTP.controlling_process/2`, `Mint.HTTP1.controlling_process/2`, and `Mint.HTTP2.controlling_process/2` to change the controlling process of a connection.
    114 
    115   * Support trailing response headers in HTTP/2 connections.
    116 
    117 ## v0.2.1
    118 
    119 ### Bug fixes and improvements
    120 
    121   * 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.
    122 
    123   * Fix a bug in the HTTP/2 handshake that would crash the connection in case the server sent unforeseen frames.
    124 
    125   * Improve buffering of body chunks in HTTP/1.
    126 
    127 ## v0.2.0
    128 
    129 ### Breaking changes
    130 
    131   * Add the `Mint.TransportError` and `Mint.HTTPError` exceptions. Change all the connection functions so that they return these error structs instead of generic terms.
    132   * Remove `Mint.HTTP2.get_setting/2` in favour of `Mint.HTTP2.get_server_setting/2` and `Mint.HTTP2.get_client_setting/2`.
    133 
    134 ### Bug fixes and enhancements
    135 
    136   * Add support for HTTP/2 server push with the new `:push_promise` response.
    137   * Add `Mint.HTTP2.cancel_request/5`.
    138   * Add `Mint.HTTP2.get_window_size/2`.
    139   * Add `open_request_count/1` function to `Mint.HTTP`, and `Mint.HTTP1`, `Mint.HTTP2`.
    140   * Add `open?/2` function to `Mint.HTTP`, and `Mint.HTTP1`, `Mint.HTTP2`.
    141   * Make the `Mint.HTTP2.HPACK` module private.
    142   * Take into account the max header list size advertised by the server in HTTP/2 connections.
    143   * Improve error handling in a bunch of `Mint.HTTP2` functions.
    144   * Fix flow control on `WINDOW_UPDATE` frames at the connection level in `Mint.HTTP2`.
    145   * Correctly return timeout errors when connecting.
    146   * Treat HTTP/1 header keys as case-insensitive.
    147   * Prohibit users from streaming on unknown requests in HTTP/2.
    148   * Prohibit the server from violating the client's max concurrent streams setting in HTTP/2.
    149   * Strip whitespace when parsing the `content-length` header in HTTP/1.
    150   * Fix path validation when building HTTP/1 requests, fixes paths with `%NN` escapes.