Browse code

Merge pull request #33888 from thaJeztah/enable-version-negotiation

Always perform version-negotiation

Victor Vieux authored on 2017/07/04 00:46:35
Showing 1 changed files
... ...
@@ -260,8 +260,13 @@ func (cli *Client) NegotiateAPIVersionPing(p types.Ping) {
260 260
 		p.APIVersion = "1.24"
261 261
 	}
262 262
 
263
-	// if server version is lower than the current cli, downgrade
264
-	if versions.LessThan(p.APIVersion, cli.ClientVersion()) {
263
+	// if the client is not initialized with a version, start with the latest supported version
264
+	if cli.version == "" {
265
+		cli.version = api.DefaultVersion
266
+	}
267
+
268
+	// if server version is lower than the maximum version supported by the Client, downgrade
269
+	if versions.LessThan(p.APIVersion, api.DefaultVersion) {
265 270
 		cli.version = p.APIVersion
266 271
 	}
267 272
 }