github.com/outbrain/consul@v1.4.5/website/source/docs/compatibility.html.md (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Consul Protocol Compatibility Promise"
     4  sidebar_current: "docs-upgrading-compatibility"
     5  description: |-
     6    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.
     7  ---
     8  
     9  # Protocol Compatibility Promise
    10  
    11  We expect Consul to run in large clusters of long-running agents. Because
    12  safely upgrading agents in this sort of environment relies heavily on backwards
    13  compatibility, we have a strong commitment to keeping different Consul
    14  versions protocol-compatible with each other.
    15  
    16  We promise that every subsequent release of Consul will remain backwards
    17  compatible with _at least_ one prior version. Concretely: version 0.5 can
    18  speak to 0.4 (and vice versa) but may not be able to speak to 0.1.
    19  
    20  Backwards compatibility is automatic unless otherwise noted. Consul agents by
    21  default will speak the latest protocol but can understand earlier ones.
    22  
    23  -> **Note:** If speaking an earlier protocol, _new features may not be available_.
    24  
    25  The ability for an agent to speak an earlier protocol is to ensure that any agent
    26  can be upgraded without cluster disruption. Consul agents can be updated one
    27  at a time, one version at a time.
    28  
    29  For more details on the specifics of upgrading, see the [upgrading page](/docs/upgrading.html).
    30  
    31  ## Protocol Compatibility Table
    32  
    33  <table class="table table-bordered table-striped">
    34    <tr>
    35      <th>Consul Version</th>
    36      <th>Protocol Compatibility</th>
    37    </tr>
    38    <tr>
    39      <td>0.1 - 0.3</td>
    40      <td>1</td>
    41    </tr>
    42    <tr>
    43      <td>0.4</td>
    44      <td>1, 2</td>
    45    </tr>
    46    <tr>
    47      <td>0.5</td>
    48      <td>1, 2. 0.5.X servers cannot be mixed with older servers.</td>
    49    </tr>
    50    <tr>
    51      <td>0.6</td>
    52      <td>1, 2, 3</td>
    53    </tr>
    54    <tr>
    55      <td>>= 0.7</td>
    56      <td>2, 3. Will automatically use protocol > 2 when speaking to compatible agents</td>
    57    </tr>
    58  </table>
    59  
    60  -> **Note:** Raft Protocol is versioned separately, but maintains compatibility with at least one prior version. See [here](https://www.consul.io/docs/upgrade-specific.html#raft-protocol-version-compatibility) for details.