The general philosophy behind Besu release numbering is as follows.

We bump the milestone when a release is big enough (such as full Mainnet compliance).

We do a quarterly release where we upgrade all dependencies with a RC release.

Feature development is done on the main branch in GitHub. Significant features should include a feature flag so that the feature can be disabled by default.

We don’t do feature branches.

We do patch releases on a fortnightly cadence to allow access to bug fixes without delay.


As for numbering itself, the following approach is used:

  • "Major Version" means a version of the Software identified by a change in the digit to the left of the left-most decimal point (X.x.x).
  • "Minor Version" means a version of the Software identified by a change in the middle number in between the two decimal points (x.X.x).
  • "Maintenance Version" means a version of the Software identified by a change in the digit to the right of the rightmost decimal point (x.x.X).
  • We are not using semantic versioning.