Skip to content

Add japicmp-maven-plugin for API compatibility checks#3244

Merged
velo merged 1 commit intomasterfrom
add-japicmp-plugin
Feb 26, 2026
Merged

Add japicmp-maven-plugin for API compatibility checks#3244
velo merged 1 commit intomasterfrom
add-japicmp-plugin

Conversation

@velo
Copy link
Copy Markdown
Member

@velo velo commented Feb 26, 2026

Summary

  • Add japicmp-maven-plugin to enforce binary and source compatibility against the latest released version
  • Fix binary incompatibility in Client.Proxied (superclass changed from Client.Default to DefaultClient)
  • Remove unnecessary shade, really-executable-jar, and docker plugins from apt-test-generator module
  • Mark all graphql module classes as @Experimental

Details

japicmp configuration:

  • Breaks the build on binary/source incompatible modifications
  • Enforces semantic versioning
  • Excludes example modules, benchmark, @feign.Experimental annotated classes, and feign.graphql package
  • Skipped for apt-test-generator (build tool, not a library)
  • Already respected by quickbuild profile (japicmp.skip=true)

Binary compatibility fix:

  • Client.Proxied now extends Client.Default again (instead of DefaultClient directly), preserving the class hierarchy from 13.9

apt-test-generator cleanup:

  • Removed shade plugin, really-executable-jar plugin, docker plugin, and docker resource config (dead code — docker directory doesn't even exist)

GraphQL module:

  • Added @Experimental to all public classes since the module's API is still evolving

Test plan

  • mvn verify -DskipTests passes across all modules (except pre-existing form lombok issue)
  • mvn test -pl core,graphql passes

Signed-off-by: Marvin Froeder <velo.br@gmail.com>
@velo velo merged commit 6cfad77 into master Feb 26, 2026
4 checks passed
@velo velo deleted the add-japicmp-plugin branch February 26, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant