Skip to content

Latest commit

 

History

History
532 lines (445 loc) · 31.9 KB

architecture.asciidoc

File metadata and controls

532 lines (445 loc) · 31.9 KB

Architecture

The MicroProfile pom will identify the contents of each MicroProfile release. The contents include those features and versions agreed to by the MicroProfile community. These features may be external to the MicroProfile community, like those provided by Jakarta EE Core Profile or the Cloud Native Computing Foundation (like Open Telemetry), or they are component specifications of the MicroProfile project (such as Config).

Since the MicroProfile repo is an "umbrella" project, no individual API or TCK is generated for this specification. This specification documents the component specification contents of each release.

The specifications for each release are listed in reverse chronological order.

MicroProfile 6.0

MicroProfile 6.0 replaces required individual Jakarta specifications in prior releases like Jakarta Restful in Web Services and JSON Binding with Jakarta EE 10 Core Profile.

Based on MicroProfile’s time-boxed release process, this is a major release that includes backward incompatible changes. This release requires Jakarta EE Core Profile 10, which uses the jakarta namespace introduced in Jakarta EE 9.

If you are still dependent on Jakarta EE 8, please consider using the 4.1 release of MicroProfile. If you are still dependent on Java EE 8, please consider using the 3.3 release of MicroProfile. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

The complete list of MicroProfile 6.0 specifications includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 5.0

MicroProfile 5.0 aligns with the following specifications from Jakarta EE 9.1:

  • Jakarta Contexts and Dependency Injection 3.0

  • Jakarta Annotations 2.0

  • Jakarta RESTful Web Services 3.0

  • Jakarta JSON Binding 2.0

  • Jakarta JSON Processing 2.0

Based on MicroProfile’s time-boxed release process, this is a major release that includes backwards incompatible changes. This means that this release will not work with previous versions of Jakarta EE, such as Jakarta EE 8, due to the namespace change from javax to jakarta in the code. This release contains no other functional updates when compared to MicroProfile Release 4.1.

If you are still dependent on Jakarta EE 8, please consider using the 4.1 release of MicroProfile. If you are still dependent on Java EE 8, please consider using the 3.3 release of MicroProfile. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

The complete list of MicroProfile 5.0 specifications includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 4.1

MicroProfile 4.1 aligns with the following specifications from Jakarta EE 8:

  • Jakarta Contexts and Dependency Injection 2.0

  • Jakarta Annotations 1.3

  • Jakarta RESTful Web Services 2.1

  • Jakarta JSON Binding 1.0

  • Jakarta JSON Processing 1.1

Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to MicroProfile Health 3.1

If you are still dependent on Java EE 8, please consider using the 3.3 release of MicroProfile. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

The complete list of MicroProfile 4.1 specifications includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 4.0 (Q42020)

MicroProfile 4.0 is based on Jakarta EE 8, the first MicroProfile release to be based on Jakarta EE (replacing the role of Java EE). Although Jakarta EE 8 is API backwards compatible with Java EE 8, Jakarta EE replaces Java EE dependencies with Jakarta EE dependencies for all MicroProfile specifications.

The following specifications include API incompatible changes:

If you are still dependent on Java EE 8, please consider using the 3.3 release of MicroProfile. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

The complete list of MicroProfile 4.0 specifications includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 3.3 (Q12020)

MicroProfile 3.3 is the 13th platform release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to MicroProfile Config 1.4, MicroProfile Fault Tolerance 2.1, MicroProfile Health 2.2, MicroProfile Metrics 2.3, and MicroProfile Rest Client 1.4.

MicroProfile 3.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 3.3 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 3.2 (3Q2019)

MicroProfile 3.2 is the 12th platform release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to MicroProfile Metrics 2.2

MicroProfile 3.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 3.2 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 3.1 (3Q2019)

MicroProfile 3.1 is the 11th platform release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to MicroProfile Health 2.1 and MicroProfile Metrics 2.1.0

MicroProfile 3.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 3.1 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 3.0 (2Q2019)

MicroProfile 3.0 is the tenth platform release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to MicroProfile Health 2.0, MicroProfile Metrics 2.0.0, and MicroProfile Rest Client 1.3.

Note: Health 2.0 and Metrics 2.0.0 introduce breaking API changes in their respective releases. Thus, the overall MicroProfile platform release also increased the major version number to 3.0. Please consult the individual Component release documentation for information on the breaking changes. If these changes cause an issue with your applications, you may want to consider staying on MicroProfile 2.2 (1Q2019).

MicroProfile 3.x and 2.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 3.0 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 2.2 (1Q2019)

MicroProfile 2.2 is the ninth platform release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to Fault Tolerance 2.0, OpenAPI 1.1, OpenTracing 1.3, and Rest Client 1.2.0. MicroProfile 2.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 2.2 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 2.1 (4Q2018)

MicroProfile 2.1 is the eighth release for the Eclipse MicroProfile project. Based on MicroProfile’s time-boxed release process, this is an incremental release that includes an update to OpenTracing 1.2. MicroProfile 2.x releases build upon a small subset of Java EE 8 features. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Thus, the complete list of functional components for MicroProfile 2.1 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 2.0.1 (3Q2018)

MicroProfile 2.0.1 is the seventh release for the Eclipse MicroProfile project. This is a patch release to correct an issue with the JSON-B maven dependency in the pom.xml. The defined content for MicroProfile 2.0 did not change — MicroProfile 2.0 was a major release since the subset of Java EE dependencies are now based on Java EE 8. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.

MicroProfile 2.0 (2Q2018)

MicroProfile 2.0 is the sixth release for the Eclipse MicroProfile project. This is a major new release for MicroProfile since the subset of Java EE dependencies are now based on Java EE 8. If you are still dependent on Java EE 7, please consider using the 1.4 release of MicroProfile.

Based on our time-boxed process, the content for MicroProfile 2.0 will be MicroProfile 1.4 plus Java EE 8. Thus, the complete list of functional components for MicroProfile 2.0 includes:

The Maven coordinates for this Eclipse release are as follows:

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

Here is the link to the github repository for this Eclipse-based project.