Eclipse MicroProfile

What is Eclipse MicroProfile?

The MicroProfile project was launched in June 2016 as a collaborative effort between Java application server vendors and the enterprise Java community to enable fast innovation.

MicroProfile is a specification which provides a set of APIs focused on microservices. The complete MicroProfile API is provided as a Bill Of Materials(BOM) which can be used by developers as a generic dependency provided by a vendor of their choice.

Payara has been part of the MicroProfile project from its inception and, therefore, supports all specifications of the MicroProfile Umbrella project.

Payara Support for MicroProfile

Version 4.1

Version 4.1 of MicroProfile is a minor release that updates Health Check. This is supported by both Payara Server and Payara Micro from release 5.2021.6

Version 4.0

Version 4.0 of MicroProfile is a major release that updates Config, Fault Tolerance, Health Check, JWT-Auth, Metrics, OpenAPI, OpenTracing and Rest Client. It is also the first version of MicroProfile to be based on Jakarta EE 8. All of the Java EE dependencies are replaced with Jakarta EE dependencies for all MicroProfile specifications. This is supported by both Payara Server and Payara Micro from release 5.2021.1.

Version 3.3

Version 3.3 of MicroProfile updates Config, Health Check, Fault Tolerance, Metrics, and Rest Client. This is supported by both Payara Server and Payara Micro from release 5.2020.2.

Version 3.2

Version 3.2 of MicroProfile is a minor release that updates Metrics to maintain backwards compatibility. This is supported by both Payara Server and Payara Micro from release 5.194.

Version 3.1

Version 3.1 of MicroProfile provides updates to Metrics and Health Check. This version of the MicroProfile API contained an unintentional breaking change in the Metrics API, so should not be used and is not supported by Payara Server or Payara Micro.

Version 3.0

Version 3.0 of MicroProfile brings in another Java EE API: JSON-P 1.1. This version also includes updates to Metrics, Health Check, and Rest Client. This is partially supported by both Payara Server and Payara Micro from release 5.193, the updated APIs supported in this version are: Metrics.

Version 2.2

Version 2.2 of MicroProfile includes an update to FaultTolerance, the RestClient, OpenAPI and OpenTracing. This is supported by both Payara Server and Payara Micro from release 5.192

Version 2.1

Version 2.1 of MicroProfile includes an update to OpenTracing, bringing it up to version 1.2. This is supported by both Payara Server and Payara Micro from release 5.191

Version 2.0

Version 2.0 of MicroProfile brings in Java EE 8 technology updates: CDI 2.0, JAX-RS 2.1, JSON-P 1.1, Commons Annotation 1.3, and JSON-B 1.0. This version also includes updates present in 1.4: Fault Tolerance 1.1, JWT-Auth 1.1, and OpenTracing 1.1. This is supported by both Payara Server and Payara Micro from release 5.183

Version 1.3

Version 1.3 of MicroProfile includes 3 new APIs, and updates to the existing Metrics and Config APIs. This is supported by both Payara Server and Payara Micro from release 4.1.2.182 and 5.182

Version 1.2

Version 1.2 of MicroProfile includes 4 new APIs and an update to the existing config API and is supported by both Payara Server and Payara Micro from release 4.1.2.181 and 5.181

Version 1.1

Version 1.1 of the MicroProfile specification includes the Config 1.0 API and is supported by both Payara Server and Payara Micro from release 4.1.2.173

Version 1.0

Since version 1.0 of MicroProfile only included existing specifications already supported by Payara Server and Payara Micro, an application targeting version 1.0 of MicroProfile can be run on any release of Payara Server or Payara Micro.

What does each specification contain?

Version Specifications Maven

4.1

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>4.1</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

4.0

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>4.0.1</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

Due to a known issue with Microprofile 4.0 release, 4.0.1 release should be used instead.

3.3

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>3.3</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

3.2

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>3.2</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

3.1

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>3.1</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

3.0

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>3.0</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

2.2

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>2.2</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

2.1

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>2.1</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

2.0

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>2.0.1</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

1.3

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>1.3</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

1.2

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>1.2</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

1.1

<dependency>
    <groupId>org.eclipse.microprofile</groupId>
    <artifactId>microprofile-bom</artifactId>
    <version>1.1.0</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

1.0

  • JAX-RS 2.0

  • CDI 1.1

  • JSON-P 1.0

<dependency>
    <groupId>io.microprofile</groupId>
    <artifactId>microprofile</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>