2014-02-07 16:41:03 -08:00
---
2020-04-07 14:55:19 -04:00
layout: docs
page_title: Consul Protocol Compatibility Promise
description: >-
We expect Consul to run in large clusters of long-running agents. Because
safely upgrading agents in this sort of environment relies heavily on
backwards compatibility, we have a strong commitment to keeping different
Consul versions protocol-compatible with each other.
2014-02-07 16:41:03 -08:00
---
# Protocol Compatibility Promise
2015-02-17 14:29:00 -05:00
We expect Consul to run in large clusters of long-running agents. Because
safely upgrading agents in this sort of environment relies heavily on backwards
compatibility, we have a strong commitment to keeping different Consul
versions protocol-compatible with each other.
2014-02-07 16:41:03 -08:00
2014-02-18 17:37:23 -08:00
We promise that every subsequent release of Consul will remain backwards
2014-02-07 16:41:03 -08:00
compatible with _at least_ one prior version. Concretely: version 0.5 can
2015-02-17 14:29:00 -05:00
speak to 0.4 (and vice versa) but may not be able to speak to 0.1.
2014-02-07 16:41:03 -08:00
2015-02-17 14:29:00 -05:00
Backwards compatibility is automatic unless otherwise noted. Consul agents by
2016-11-25 11:00:02 -05:00
default will speak the latest protocol but can understand earlier ones.
-> **Note:** If speaking an earlier protocol, _new features may not be available_.
2014-02-07 16:41:03 -08:00
2015-02-17 14:29:00 -05:00
The ability for an agent to speak an earlier protocol is to ensure that any agent
can be upgraded without cluster disruption. Consul agents can be updated one
at a time, one version at a time.
2020-04-09 19:46:54 -04:00
For more details on the specifics of upgrading, see the [upgrading page](/docs/upgrading).
2014-02-07 16:41:03 -08:00
## Protocol Compatibility Table
2020-04-07 19:56:08 -04:00
| Consul Version | Protocol Compatibility |
| -------------- | ---------------------------------------------------------------------------- |
| 0.1 - 0.3 | 1 |
| 0.4 | 1, 2 |
| 0.5 | 1, 2. 0.5.X servers cannot be mixed with older servers. |
| 0.6 | 1, 2, 3 |
| >= 0.7 | 2, 3. Will automatically use protocol > 2 when speaking to compatible agents |
2017-04-03 09:07:45 -07:00
2022-01-10 15:36:16 -08:00
-> **Note:** Raft Protocol is versioned separately, but maintains compatibility with at least one prior version. See [here](/docs/upgrading/upgrade-specific#raft-protocol-version-compatibility) for details.