Changelog
v0.4.3
- Fixed supervisor crash report during normal connection shutdown
- Removed
GenStage
dependency - GOAWAY error logger messages now disabled by default.
Re-enable with
config :kadabra, debug_log?: true
v0.4.2
- Fixed
{:closed, pid}
task race condition during connection cleanup - Everything is supervised under
Kadabra.Application
again, instead of handling supervision yourself
v0.4.1
- Send exactly number of allowed bytes on initial connection WINDOW_UPDATE
- Default settings use maximum values for MAX_FRAME_SIZE and INITIAL_WINDOW_SIZE
- Incoming PING and WINDOW_UPDATE frames are now validated, closing the connection if an error is encountered
- Fixed: can no longer accidentally send 0-size WINDOW_UPDATE frames
- Fixed: don’t send WINDOW_UPDATE frames larger than remote server’s available connection flow window
v0.4.0
- Support for
http
URIs - Requests are now buffered with GenStage
- Added
Kadabra.head/2
andKadabra.delete/2
Kadabra.open/3
replaced withKadabra.open/2
.- Scheme, host and port are now automatically parsed from the URI string. See the README for examples.
- Socket options passed as
:tcp
/:ssl
, respectively
- Removed
:reconnect
functionality
v0.3.8
- Fixed: Streams properly killed if hpack table crashes
- Removed unused
Scribe
dependency
v0.3.7
- Fixed:
noproc
crash caused by race condition on recv GOAWAY
v0.3.6
- Fixed: ES flag properly set on certain HEADERS frames
v0.3.5
- Fixed: Memory leak on connection crashes
- New supervision structure.
Kadabra.open/2
now returns a supervisor pid, but the API for making requests remains unchanged.
v0.3.4
- Fixed: Connections properly respect settings updates
v0.3.3
- Fixed: Hpack memory leak on connection close
v0.3.2
- Fixed: Connection settings defaults are now actually default
v0.3.1
- Fixed: Sending payloads larger than the stream window
v0.3.0
- Minimum requirements are now Elixir 1.4/OTP 19
- Performance improvements for individual streams
- Fixed: multiple connections now supported per host
- Request responses now return with new
%Stream.Response{}
struct - Push promises can be intercepted with
{:push_promise, %Stream.Response{}}
messages
v0.2.2
Connection
now respectsmax_concurrent_streams
- Fixed: proper WINDOW_UPDATE responses on received DATA frames
v0.2.1
- Fixed: calling
Kadabra.open/3
withreconnect: false
to disable automatic reconnect on socket close