Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.6.3] - 2026-07-01
Fixed
- Hostname verification now accepts wildcard certificates (e.g.
*.googleapis.com) by settingcustomize_hostname_checkfor RFC 6125 wildcard matching. (#60)
[0.6.2] - 2026-02-22
Fixed
[0.6.1] - 2024-08-30
Fixed
- Removed Elixir compile warnings.
[0.6.0] - 2021-03-04
Security
- Verify CA certificates with
:certifi(~> 2.5) by default. This is considered a breaking change for anyone using Kadabra for anything other than Pigeon.
[0.5.0] - 2021-01-10
Changed
- Minimum Elixir version bumped to 1.6.
Fixed
- Removed Elixir 1.11 compile warnings.
[0.4.5] - 2020-04-08
- Removed some compile warnings.
[0.4.4] - 2018-10-13
- Fixed ArithmeticError when calculating how many streams to request on infinite stream sets.
[0.4.3] - 2018-07-28
- Fixed supervisor crash report during normal connection shutdown.
- Removed
GenStagedependency. - GOAWAY error logger messages now disabled by default.
Re-enable with
config :kadabra, debug_log?: true.
[0.4.2] - 2018-05-25
- Fixed
{:closed, pid}task race condition during connection cleanup. - Everything is supervised under
Kadabra.Applicationagain, instead of handling supervision yourself.
[0.4.1] - 2018-05-10
- 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.
[0.4.0] - 2018-04-04
- Support for
httpURIs. - Requests are now buffered with GenStage.
- Added
Kadabra.head/2andKadabra.delete/2. Kadabra.open/3replaced 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
:reconnectfunctionality.
[0.3.8] - 2018-02-25
- Fixed: Streams properly killed if hpack table crashes.
- Removed unused
Scribedependency.
[0.3.7] - 2018-01-07
- Fixed:
noproccrash caused by race condition on recv GOAWAY.
[0.3.6] - 2017-12-18
- Fixed: ES flag properly set on certain HEADERS frames.
[0.3.5] - 2017-12-04
- Fixed: Memory leak on connection crashes.
- New supervision structure.
Kadabra.open/2now returns a supervisor pid, but the API for making requests remains unchanged.
[0.3.4] - 2017-10-31
- Fixed: Connections properly respect settings updates.
[0.3.3] - 2017-10-23
- Fixed: Hpack memory leak on connection close.
[0.3.2] - 2017-09-16
- Fixed: Connection settings defaults are now actually default.
[0.3.1] - 2017-08-26
- Fixed: Sending payloads larger than the stream window.
[0.3.0] - 2017-08-11
- 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.
[0.2.2] - 2017-08-03
Connectionnow respectsmax_concurrent_streams.- Fixed: proper WINDOW_UPDATE responses on received DATA frames.
[0.2.1] - 2017-08-01
- Fixed: calling
Kadabra.open/3withreconnect: falseto disable automatic reconnect on socket close.