Besu : Using CalVer for Besu Releases

On 17 Sep 2020 the Hyperledger TSC voted to Allow projects to use CalVer or SemVer.  

General background on Calendar Versioning (CalVer) - https://calver.org/

CalVer taxonomy: YY.M.patch

  • YY: Year (20, 21, 22, etc.)
  • M: Month (1, 2, 3, ..., 11, 12). 
  • Patch: Fortnightly releases, or whenever sub-month releases happen.
  • YY.M.patch: The year and month are from the current month.

Breaking Changes Policy

  • No intentional backwards incompatible breaking changes should occur without 3 months of prior notice via the deprecation policy.
    • Java Plugin APIs
    • CLI flags and configuration files
    • On-disk storage compatibility
    • JSON-RPC APIs
  • Patches may introduce forwards compatible changes, such as (but not limited to) new features, new fork or chain support, and new JSON-RPC apis.
  • A notice for an intentional breaking change should be in the CHANGELOG.md file for at least 3 months. 
  • Examples of such changes:
    • Changing the required JDK.  (such as when we went form Java 17 to Java 21).
    • Removing storage formats, or required migrations.
    • Dropping obsolete CLI flags, such as the whitelist series flags (replaced by the allowlist series)
  • This breaking change policy will not prohibit rapid release of security related updates.