diff options
author | Loïc Hoguin <[email protected]> | 2025-04-11 14:34:51 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2025-04-11 14:34:51 +0200 |
commit | eb808a3f8bbd97d2a2ea0114b43b708a17b44066 (patch) | |
tree | fc142e5b11792af4f84d8634d9a8809f32344634 /_build | |
parent | 25e93c91878b7f8536764b06d2cb72020031acd1 (diff) | |
download | ninenines.eu-master.tar.gz ninenines.eu-master.tar.bz2 ninenines.eu-master.zip |
Diffstat (limited to '_build')
-rw-r--r-- | _build/content/articles/gun-2.2.0.asciidoc | 57 | ||||
-rw-r--r-- | _build/data/projects/cowlib.toml | 4 | ||||
-rw-r--r-- | _build/data/projects/gun.toml | 4 |
3 files changed, 61 insertions, 4 deletions
diff --git a/_build/content/articles/gun-2.2.0.asciidoc b/_build/content/articles/gun-2.2.0.asciidoc new file mode 100644 index 00000000..c4b6dcbd --- /dev/null +++ b/_build/content/articles/gun-2.2.0.asciidoc @@ -0,0 +1,57 @@ ++++ +date = "2025-04-11T07:00:00+01:00" +title = "Gun 2.2" + ++++ + +Gun `2.2.0` has been released! + +Gun 2.2 contains many features and fixes, including +an experimental HTTP/3 implementation. + +Gun 2.2 is the first release that includes an +experimental support for the HTTP/3 protocol. +Note that unlike Cowboy, Gun 2.2 does not yet +support Websocket over HTTP/3. + +Gun 2.2 now sets the appropriate ssl options to +perform wildcard certificate matching, which is +a requirement for HTTP and previously had to be +configured by users. + +Gun 2.2 also enables users to send HTTP/2 pings +directly, including over tunnels, enabling use +cases such as measuring the latency with the +server. These pings are separate from the +keepalive functionality. + +Gun 2.2 also contains various fixes, the most +significant of which is a better handling of +TLS 1.3 alerts in mTLS scenarios. TLS 1.3 may +perform certificate validation after the handshake +has completed, leading to the alerts often arriving +asynchronously. When an ssl function call returns +`{error, closed}` or equivalent, Gun will now check +whether the closure was a result of a TLS alert, +and in that case propagate the alert as the error +reason to the user. This has also been made to work +over tunnels. + +HTTP/2 tunneling has also seen a number of +improvements. + +Gun 2.0 requires Erlang/OTP 24.0 or greater and is tested +and supported on Linux, macOS and Windows. + +A complete +list of changes can be found in the migration guide: +https://ninenines.eu/docs/en/gun/2.2/guide/migrating_from_2.1/[Migrating from Gun 2.1 to 2.2]. + +I will now focus on implementing HTTP/3 WebTransport +in Cowboy and Gun. + +You can donate to this project via +https://github.com/sponsors/essen[GitHub Sponsors]. + +As usual, feedback is appreciated, and issues or +questions should be sent via Github tickets. Thanks! diff --git a/_build/data/projects/cowlib.toml b/_build/data/projects/cowlib.toml index d2cca1a7..8a29a7c0 100644 --- a/_build/data/projects/cowlib.toml +++ b/_build/data/projects/cowlib.toml @@ -3,7 +3,7 @@ catchphrase = "Support library for the Web." description = "The Web toolbox for HTTP/1.1, HTTP/2, Websocket, Multipart, Cookies, URL encoding..." name = "cowlib" repository = "https://github.com/ninenines/cowlib" -versions = ["2.14", "2.13", "2.12", "2.11", "2.10", "2.9", "2.8"] -branches = ["2.14.0", "2.13.0", "2.12.1", "2.11.0", "2.10.1", "2.9.1", "2.8.0"] +versions = ["2.15", "2.14", "2.13", "2.12", "2.11", "2.10", "2.9", "2.8"] +branches = ["2.15.0", "2.14.0", "2.13.0", "2.12.1", "2.11.0", "2.10.1", "2.9.1", "2.8.0"] has_source = true has_manual = true diff --git a/_build/data/projects/gun.toml b/_build/data/projects/gun.toml index 2aed64f5..1fbbfba1 100644 --- a/_build/data/projects/gun.toml +++ b/_build/data/projects/gun.toml @@ -3,8 +3,8 @@ catchphrase = "The smoking gun of HTTP clients." description = "Asynchronous client with support for HTTP/1.1, HTTP/2, Websocket and more." name = "gun" repository = "https://github.com/ninenines/gun" -versions = ["2.1", "2.0", "1.3", "1.2", "1.1", "1.0"] -branches = ["e2ff7181186ca1e53c1d9386aed295e7b7239f09", "2.0.1", "1.3.1", "1.2.0", "1.1.0", "1.0.0"] +versions = ["2.2", "2.1", "2.0", "1.3", "1.2", "1.1", "1.0"] +branches = ["fa9f4663f219a9d7c7dcd7dc33ded323cce4cfcb", "e2ff7181186ca1e53c1d9386aed295e7b7239f09", "2.0.1", "1.3.1", "1.2.0", "1.1.0", "1.0.0"] has_source = true has_guide = true has_manual = true |