Skip to content

Commit

Permalink
*: version compatibility notes (#2966)
Browse files Browse the repository at this point in the history
Add section in the `README.md` detailing how Charon versioning works, and how versions are compatible between themselves.

category: docs
ticket: none
  • Loading branch information
gsora authored Mar 18, 2024
1 parent 08e0920 commit e4573a5
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,16 @@ There is always the [charon godocs](https://pkg.go.dev/github.com/obolnetwork/ch
## Project Status

See [dvt.obol.tech](https://dvt.obol.tech/) for the latest status of the Obol Network including which upstream consensus clients and which downstream validators are supported.

## Version compatibility

Considering (semver)[https://semver.org] as the project's versioning scheme, two given versions of Charon are:
- **compatible** if their `MAJOR` number is the same, `MINOR` and `PATCH` numbers differ
- **incompatible** if their `MAJOR` number differs

There are several reasons to justify a new `MAJOR` release, for example:
- a new Ethereum hardfork
- an old Ethereum hardfork is removed due to network inactivity
- modifications to the internal P2P network or consensus mechanism requiring deep changes to the codebase

The `charon dkg` subcommand **is more restrictive** than this general compatibility promise; all peers should use matching`MAJOR` and`MINOR` versions of Charon for the DKG process, patch versions may differ though it is recommended to use the latest patch of any version.

0 comments on commit e4573a5

Please sign in to comment.