Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


This page lists what to do when an incompatible change is introduced in a MicroProfile Specification.

What is an incompatible change

Incompatible changes mean backward incompatible changes, e.g. an API method was deleted or modified, etc. with an incompatible change, microservices developed using the old version of an API will cease to compile or result in behaviour changes. Sometimes, an incompatible change has no direct link to a particular API but alters the pervious stated behaviour.

How can I handle the incompatible changes

If an incompatible change is introduced in a MP spec, a subsection within the release note must document what the incompatible changes are, and what the migration path is.

It's up to individual specifications to determine if they want to provide a solution for reverting to the behaviour of the previous version.

For an instance, MicroProfile Metrics 2.0 changes @Counted(monotonic=true) to be @Counted, while the previous old behaviour of @Counted can be achieved via '@ConcurrentGauge`.

Back to the top