Page tree
Skip to end of metadata
Go to start of metadata

Proposal for an off-cycle release process.

Feedback is welcome.


The Merge exposed some problems with the current Besu release process when it comes to critical bugs or hotfixes. Multiple off-cycle and cherry-picked releases caused frustration for contributors and confusion for some users. This document intends to create a proposal for a new hotfix (off-cycle) release process.

Process Proposal

Off-cycle releases - a new release category.

An off-cycle release is defined as: 

  • A release outside of the scheduled times here
  • A release not on the typical Wednesday or Thursday slots
  • A cherry-picked release (not off main branch)


  • Any besu contributor may bring forth the need for an off-cycle release
    • including justification of why the release is warranted
    • via the besu-contributors channel in Discord
  • Scope for the release also needs to be agreed.
    • via the besu-release channel in Discord
  • If the contributor that brought forth the need has the support of one external group (defined as a contributor outside of their own organization, i.e. ConsenSys), the release can continue at an agreed upon time
  • If no consensus is reached after 24 hours, a singular organization or group of contributors may propose a release, and request approval following normal PR review process
  • Ideally, consensus is reached. Allow a 48 hour voting period to allow for objections. 
    • Justification must be given if objecting to the release
    • If there are no objections, the release can continue at an agreed upon time.
    • Any objection and the justification given must be seriously considered and weighed against the reasons for the release.
    • This discussion must happen in the besu-release channel in Discord.

Justification for release (examples)

  • critical bug affecting a number of users which requires a patch
  • regular release process will not address the issue in time

Justification for objection (examples)

  • technology X introduced is bad for Y reasons
  • No labels