Gun 1.3.0
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 @@
 
 == 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 @@
 
 = 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 @@
 
 == 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 @@
 
 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 @@
 
 == 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]},