aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README.asciidoc4
-rw-r--r--doc/src/guide/book.asciidoc2
-rw-r--r--doc/src/guide/migrating_from_1.2.asciidoc39
-rw-r--r--doc/src/manual/gun.asciidoc2
-rw-r--r--doc/src/manual/gun.info.asciidoc19
-rw-r--r--ebin/gun.app2
7 files changed, 64 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 6012c04..00a4c5d 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
PROJECT = gun
PROJECT_DESCRIPTION = HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
-PROJECT_VERSION = 1.2.0
+PROJECT_VERSION = 1.3.0
# Options.
diff --git a/README.asciidoc b/README.asciidoc
index 115f8cf..7421830 100644
--- a/README.asciidoc
+++ b/README.asciidoc
@@ -24,8 +24,8 @@ http://www.leofs.org[LeoFS Cloud Storage].
== Online documentation
-* https://ninenines.eu/docs/en/gun/1.2/guide[User guide]
-* https://ninenines.eu/docs/en/gun/1.2/manual[Function reference]
+* https://ninenines.eu/docs/en/gun/1.3/guide[User guide]
+* https://ninenines.eu/docs/en/gun/1.3/manual[Function reference]
== Offline documentation
diff --git a/doc/src/guide/book.asciidoc b/doc/src/guide/book.asciidoc
index 821401b..b374c7a 100644
--- a/doc/src/guide/book.asciidoc
+++ b/doc/src/guide/book.asciidoc
@@ -20,6 +20,8 @@ include::websocket.asciidoc[Using Websocket]
= Additional information
+include::migrating_from_1.2.asciidoc[Migrating from Gun 1.2 to 1.3]
+
include::migrating_from_1.1.asciidoc[Migrating from Gun 1.1 to 1.2]
include::migrating_from_1.0.asciidoc[Migrating from Gun 1.0 to 1.1]
diff --git a/doc/src/guide/migrating_from_1.2.asciidoc b/doc/src/guide/migrating_from_1.2.asciidoc
new file mode 100644
index 0000000..a870858
--- /dev/null
+++ b/doc/src/guide/migrating_from_1.2.asciidoc
@@ -0,0 +1,39 @@
+[appendix]
+== Migrating from Gun 1.2 to 1.3
+
+Gun 1.3 improves the support for CONNECT requests
+introduced in the previous version and documents
+Websocket protocol negotiation.
+
+== Features added
+
+* The `protocols` CONNECT destination option has been added
+ as a replacement for the now deprecated `protocol` option.
+
+* Add built-in support for Websocket protocol negotiation
+ through the Websocket option `protocols`. The interface
+ of the handler module currently remains undocumented and
+ must be set to `gun_ws_h`.
+
+* Add the h2specd HTTP/2 test suite from the h2spec project.
+
+=== Bugs fixed
+
+* Fix connecting to HTTP/2 over TLS origin servers via
+ HTTP/1.1 CONNECT proxies.
+
+* Do not send the HTTP/1.1 keepalive while waiting for
+ a response to a CONNECT request.
+
+* Do not crash on HTTP/2 HEADERS frames with the
+ PRIORITY flag set.
+
+* Do not crash on HTTP/2 HEADERS frames when the
+ END_HEADERS flag is not set.
+
+* Do not crash on unknown HTTP/2 frame types.
+
+* Reject HTTP/2 WINDOW_UPDATE frames when they would
+ cause the window to overflow.
+
+* Send a GOAWAY frame on closing the HTTP/2 connection.
diff --git a/doc/src/manual/gun.asciidoc b/doc/src/manual/gun.asciidoc
index 020c8b3..a210635 100644
--- a/doc/src/manual/gun.asciidoc
+++ b/doc/src/manual/gun.asciidoc
@@ -313,6 +313,8 @@ undocumented and must be set to `gun_ws_h`.
== Changelog
+* *1.3*: Add the CONNECT destination's `protocols` option and
+ deprecate the previously introduced `protocol` option.
* *1.2*: Introduce the type `connect_destination()`.
== See also
diff --git a/doc/src/manual/gun.info.asciidoc b/doc/src/manual/gun.info.asciidoc
index ca7e47a..afb2333 100644
--- a/doc/src/manual/gun.info.asciidoc
+++ b/doc/src/manual/gun.info.asciidoc
@@ -12,8 +12,21 @@ info(ConnPid) -> Info
ConnPid :: pid()
Info :: #{
- sock_ip => inet:ip_address(),
- sock_port => inet:port_number()
+ socket => inet:socket() | ssl:sslsocket(),
+ transport => tcp | tls,
+ protocol => http | http2 | ws,
+ sock_ip => inet:ip_address(),
+ sock_port => inet:port_number(),
+ origin_host => inet:hostname() | inet:ip_address(),
+ origin_port => inet:port_number(),
+ intermediaries => [Intermediary]
+}
+Intermediary :: #{
+ type => connect,
+ host => inet:hostname() | inet:ip_address(),
+ port => inet:port_number(),
+ transport => tcp | tls,
+ protocol => http | http2
}
----
@@ -32,6 +45,8 @@ the connection.
== Changelog
+* *1.3*: The values `socket`, `transport`, `protocol`, `origin_host`,
+ `origin_port` and `intermediaries` were added.
* *1.0*: Function introduced.
== Examples
diff --git a/ebin/gun.app b/ebin/gun.app
index 80cbc7e..d21abcf 100644
--- a/ebin/gun.app
+++ b/ebin/gun.app
@@ -1,6 +1,6 @@
{application, 'gun', [
{description, "HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP."},
- {vsn, "1.2.0"},
+ {vsn, "1.3.0"},
{modules, ['gun','gun_app','gun_content_handler','gun_data_h','gun_http','gun_http2','gun_sse_h','gun_sup','gun_tcp','gun_tls','gun_ws','gun_ws_h']},
{registered, [gun_sup]},
{applications, [kernel,stdlib,ssl,cowlib]},