...
- No intentional backwards incompatible breaking changes should occur within a MM.YY release cycle
- 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 a full quarterly release cycle.
- Examples of such changes:
- Changing the required JDK. (such as when we went form Java 8 to Java 11).
- 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.