Skip to content

Breaking Change Policy

Sebastian Schuberth edited this page Apr 14, 2026 · 9 revisions

Note

This is a start without claim for completeness.

Note

This is not an official document approved by the TSC yet. Once it is, it will probably move to the contribution guidelines.

For the scope of this document, "API" refers to code that is used programmatically, not other ways to "interface" with ORT.

These must be breaking changes:

  • Changes to user-facing configuration files (config.yml, .ort.yml, etc.) that are not backward-compatible.
  • API changes to public functions in the core of ORT (not plugins).
  • Changes to the API of plugins. (Some of which already are separate Gradle modules.)
  • Changes to the configuration of plugins that are not backward-compatible.
  • Change in behavior or output that might contradict (past) user expectations.
    • Note: This is a case-by-case decision.
  • Changes to published Maven artifacts that require programmatic users to adapt.
    • Examples: Compiling to Java 25 bytecode, dependency updates that require downstream user to align.
    • Note: This is a case-by-case decision.

These must not be breaking changes:

  • Changes to the format of the ORT result serialization.
  • Pure code changes (even to public functions) of ORT plugins.

Clone this wiki locally