Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


For example, Besu's policy would be:

  • Besu has triannual to quarterly major releases. These are numbered YY.QM.0, such as 20.39.0.
    • These releases undergo a two week beta and two week RC cycle,
    • All supported public networks are synchronized and validated to stay in sync
  • Besu has fortnightly patch releases. These are numbered YY.QM.PATCH, such as 20.39.1
    • These releases come off of continuous integration releases
    • A smaller number of select networks are re-synchronized, and previously nodes are upgraded and observed for 24 hours prior to release.
  • Breaking changes are only introduced in quarterly changes
    • These should have an entire quarter of notice, for example if notice of a breaking change is given in 20.12.4 then 20.25.0 should not implement the change but instead warn that 20.38.0 will implement the change
    • These must be placed prominently at the top of the CHANGELOG for the quarterly release and each patch release for the notice period should reference it.
  • If Besu exposes external libraries (such as JNI libraries for cryptography), those should continue to use SemVer. 
  • Internal versioning of build modules will use CalVer, providing a clear delineation as to what is an API and what isn't.