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: