You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add automated API compatibility checking to CI to detect source-incompatible
and binary-incompatible changes before they are released.
Motivation
In 1.5.0, PR #1800 changed MetricWithFixedMetadata.getMetadata() from protected to public — a source-incompatible change that was not caught
during review (see #1897).
japicmp — Maven plugin that
compares two versions of a JAR and reports binary/source incompatibilities.
Catches changes like visibility narrowing, method removal, signature
changes, etc.
Animal Sniffer — checks
that code only uses APIs from a defined API signature. Useful for enforcing
a stable public API baseline.
Acceptance criteria
japicmp integrated into CI, failing on binary/source-incompatible
changes to public/protected API
Animal Sniffer integrated into CI, checking against a defined API
signature baseline
Mechanism to explicitly allow intentional breaking changes (e.g.,
baseline file or annotation)
Activity
zeitlinger commentedon Jun 2, 2026
fixed in #2174