Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
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`.