diff --git a/Documentation/contributor-guide/dependency_management.md b/Documentation/contributor-guide/dependency_management.md index 4fd0369814f..494a2254ddc 100644 --- a/Documentation/contributor-guide/dependency_management.md +++ b/Documentation/contributor-guide/dependency_management.md @@ -12,6 +12,7 @@ - [Rotation worksheet](#rotation-worksheet) - **[Stable branches](#stable-branches)** - **[Golang versions](#golang-versions)** +- **[Core dependencies mappings](#core-dependencies-mappings)** ## Main branch @@ -126,3 +127,21 @@ For an example of how to update etcd to a new patch release of Go refer to issue References: - + +## Core dependencies mappings + +[bbolt](https://github.com/etcd-io/bbolt) and [raft](https://github.com/etcd-io/raft) are two core dependencies of etcd. + +Both etcd 3.4.x and 3.5.x depend on bbolt 1.3.x, and etcd 3.6.x (`main` branch) depends on bbolt 1.4.x. + +raft is included in the etcd repository for release-3.4 and release-3.5 branches, so etcd 3.4.x and 3.5.x do not depend on any +external raft module. We moved raft into [a separate repository](https://github.com/etcd-io/raft) starting from 3.6 (`main` branch), and the first raft +release will be v3.6.0, so etcd 3.6.x will depend on raft 3.6.x. + +Please see the table below: + +| etcd versions | bbolt versions | raft versions | +|---------------|----------------|---------------| +| 3.4.x | v1.3.x | N/A | +| 3.5.x | v1.3.x | N/A | +| 3.6.x | v1.4.x | v3.6.x |