MicroProfile aligned with Jakarta EE 10 (MicroProfile 6.1 versions)

In  microprofile

Overview

This issue is about upgrading to most parts of MicroProfile Platform 6.1, which is aligned with Jakarta EE 10. 'most' is used since a decision has been made to not include the new MicroProfile Metrics version, as the inclusion of Micrometer tracked by WFLY-14947 / WFLY-17144 provides our observability strategy.

The below table shows the versions of each specification in MicroProfile Platform 5, the current versions included in WildFly, and the planned version for MicroProfile Platform 6. Only the minor versions are included, we will use the latest micro versions of each at the time of release. It also contains a column indicating whether something changes the functionality provided by a specification. Note that we are just pointing out the minor versions of specifications here. There may be micro updates, as pointed out in the Hard Requirements section later.

Spec MP 5 Spec Version Current Spec WildFly Version MP 6.1 Spec Version Updated Functionality (y/n)

Config

3.0

3.0

3.1

n

Fault Tolerance

4.0

4.0

4.0

n

Health

4.0

4.0

4.0

n

JWT

2.0

2.0

2.1

y WFLY-17594

Metrics
Will not include

4.0

4.0

5.1

y

OpenAPI

3.0

3.0

3.1

y (trivial) WFLY-17601

OpenTracing
Dropped in MP 6

3.0

3.0

-

-

Rest Client

3.0

3.0

3.0

n WFLY-17664

Telemetry
New in MP 6.0, with an update to 1.1 in MP 6.1

-

-

1.1

y

There will be a separate RFEs for:

  • Removal of MicroProfile Metrics (WFLY-17138). The functional replacement is Micrometer, listed below.

  • Removal of MicroProfile OpenTracing (WFLY-17510). The functional replacement is Micrometer, listed below.

  • Addition of MicroProfile Telemetry (WFLY-17156)

  • Addition of Micrometer (WFLY-14947)

Issue Metadata

Issue

  • WFLY-17137 - Provide Support for MicroProfile.Next version that Aligns with Jakarta EE 10

  • EAP7-1861 - Provide Support for MicroProfile.Next version that Aligns with Jakarta EE 10

  • WFLY-17138 - Convert MP Metrics subsystem to Legacy Mode

  • WFLY-17156 - Implement Support for MicroProfile Telemetry

  • WFLY-17510 - Removal of MicroProfile OpenTracing

  • WFLY-14947 - Addition of Micrometer

  • WFLY-17144 - Add Micrometer to WildFly

  • WFLY-18446 - Upgrade MP Config API to 3.1 (MP 6.1)

  • WFLY-18447 - Upgrade MP Telemetry API to 1.1 (MP 6.1)

Issues upgrading SmallRye components where there are spec changes

Note these are the current planned versions. If the SmallRye versions increase in the meantime, we will go with the latest compatible versions.

  • WFLY-17594 - Upgrade SmallRye JWT from 4.0.0 to 4.2.0

  • WFLY-17601 - Upgrade smallrye-open-api to 3.2.0

  • WFLY-17664 - Upgrade RESTEasy MicroProfile to 2.1.0.Final

  • WFLY-18448 - Update SmallRye OpenTelemetry to version compatible with MP Telemetry 1.1

Dev Contacts

QE Contacts

Testing By

  • Engineering

  • QE

Affected Projects or Components

WildFly will be updated to pull in the corresponding versions of the Eclipse Microprofile specification jars, as well as the SmallRye jars and dependencies needed to implement each version.

Other Interested Projects

Relevant Installation Types

  • Traditional standalone server (unzipped or provisioned by Galleon)

  • Managed domain

  • OpenShift s2i

  • Bootable jar

Requirements

Hard Requirements

  • All components will be upgraded to the latest micro versions of the Eclipse Microprofile specification jars, as well as the SmallRye jars and dependencies needed to implement each version, as indicated in the table in the Overview.

    • Upgrading the components will provide the latest TCKs

  • The MicroProfile Metrics subsystem will be converted to 'legacy mode', containing a migrate operation to remove it (WFLY-17138)

  • The MicroProfile OpenTracing subsystem will be converted to 'legacy mode', containing a migrate operation to remove it (WFLY-17510)

Nice-to-Have Requirements

Non-Requirements

  • MP Metrics will no longer be included, and thus not upgraded be to MP Metrics 5.1 (WFLY-17138)

  • As MicroProfile OpenTracing is removed from MicroProfile Platform 6, it will be dropped (WFLY-17510)

Backwards Compatibility

  • Users will no longer be able to use:

    • MicroProfile Metrics APIs and annotations

    • MicroProfile OpenTracing APIs and annotations

Default Configuration

  • MicroProfile Metrics and MicroProfile OpenTracing will be removed from shipped configurations that currently include it.

Importing Existing Configuration

  • A user will not be able to use a configuration containing the following subsystems except in an admin-only server, or a domain-mode Domain Controller that manages secondary Host Controllers running previous releases:

    • MicroProfile Metrics

    • MicroProfile OpenTracing

Deployments

  • Deployments will no longer:

    • expose data via MicroProfile Metrics

    • be able to configure tracing spans via MP OpenTracing.

Test Plan

  • TCKs will be updated to the latest corresponding version. Having checked the upgrades to the individual specifications, the respective TCKs tests cover the added/changed functionality, apart from the exceptions listed below:

    • MicroProfile JWT:

      • The TCK does not cover the use of the new mp.jwt.verify.clock.skew property. A test will be provided in the jwt module of testsuite/integration/microprofile in the WildFly testsuite. This is tracked in WFLY-17661. The TCK covers use of the other new property, mp.jwt.verify.token.age and its coverage is deemed satisfactory.

    • Micrometer (WFLY-14947) and MicroProfile Telemetry (WFLY-17156) will add test coverage beyond what is in their TCKs to ensure that we have a similar level of coverage as in the tests removed in order to remove MicroProfile Metrics (WFLY-17138) and MicroProfile OpenTracing (WFLY-17510). See the Micrometer and MicroProfile Telemetry analysis documents and test plans for further details.

Community Documentation

  • Community documentation for the subsystems in question will be updated to reflect the new versions, and any potential differences in behaviour.

Release Note Content

MicroProfile specifications have been updated to the versions that are part of MicroProfile Platform 6.1, with the exception of MicroProfile Metrics which has been droppped. MicroProfile Metrics has been dropped in favour of integration with Micrometer, which offers improved observability functionality.

MicroProfile OpenTracing has been removed from the MicroProfile 6 platform, in favour of MicroProfile Telemetry.