Documentation/upgrades: add client upgrade check list for 3.2.10
@@ -46,6 +46,37 @@ import clientv3yaml "github.com/coreos/etcd/clientv3/yaml"
clientv3yaml.NewConfig
```
+### Client upgrade checklists (>=3.2.10)
+
+>=3.2.10 upgrades `grpc/grpc-go` to >=v1.7.x from v1.2.1, which introduces some breaking changes.
+
+Previously, `grpc.ErrClientConnTimeout` error is returned on client dial time-outs. >=3.2.10 instead returns `context.DeadlineExceeded` (see [#8504](https://github.com/coreos/etcd/issues/8504)).
+
+Before
+
+```go
+// expect dial time-out on ipv4 blackhole
+_, err := clientv3.New(clientv3.Config{
+ Endpoints: []string{"http://254.0.0.1:12345"},
+ DialTimeout: 2 * time.Second
+})
+if err == grpc.ErrClientConnTimeout {
+ // handle errors
+}
+```
+
+After
+
+```go
+_, err := clientv3.New(clientv3.Config{
+ Endpoints: []string{"http://254.0.0.1:12345"},
+ DialTimeout: 2 * time.Second
+})
+if err == context.DeadlineExceeded {
+ // handle errors
+}
+```
+
### Server upgrade checklists
#### Upgrade requirements
