-
Notifications
You must be signed in to change notification settings - Fork 73
25.0.0.7-beta staging #4419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: staging
Are you sure you want to change the base?
25.0.0.7-beta staging #4419
Changes from all commits
6a6f45b
6470505
3e1fe21
e18962e
379a923
632c958
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,227 @@ | ||||||||||||||||||||||||||
--- | ||||||||||||||||||||||||||
layout: post | ||||||||||||||||||||||||||
title: "Microprofile 7.1 and updates to its component specifications in 25.0.0.7-beta" | ||||||||||||||||||||||||||
# Do NOT change the categories section | ||||||||||||||||||||||||||
categories: blog | ||||||||||||||||||||||||||
author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 | ||||||||||||||||||||||||||
author_github: https://github.com/navaneethsnair1 | ||||||||||||||||||||||||||
seo-title: Microprofile 7.1 and updates to its component specifications in 25.0.0.7-beta - OpenLiberty.io | ||||||||||||||||||||||||||
seo-description: This beta release introduces support for Microprofile 7.1, which updates two component specifications- Microprofile Telemetry and Microprofile OpenAPI. | ||||||||||||||||||||||||||
blog_description: This beta release introduces support for Microprofile 7.1, which updates two component specifications- Microprofile Telemetry and Microprofile OpenAPI. | ||||||||||||||||||||||||||
open-graph-image: https://openliberty.io/img/twitter_card.jpg | ||||||||||||||||||||||||||
open-graph-image-alt: Open Liberty Logo | ||||||||||||||||||||||||||
--- | ||||||||||||||||||||||||||
= Microprofile 7.1 and updates to its component specifications in 25.0.0.7-beta | ||||||||||||||||||||||||||
Navaneeth S Nair <https://github.com/navaneethsnair1> | ||||||||||||||||||||||||||
:imagesdir: / | ||||||||||||||||||||||||||
:url-prefix: | ||||||||||||||||||||||||||
:url-about: / | ||||||||||||||||||||||||||
//Blank line here is necessary before starting the body of the post. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
This beta release introduces support for Microprofile 7.1, which updates two component specifications- Microprofile Telemetry and Microprofile OpenAPI. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
// Change the RELEASE_SUMMARY to an introductory paragraph. This sentence is really | ||||||||||||||||||||||||||
// important because it is supposed to grab the readers attention. Make sure to keep the blank lines | ||||||||||||||||||||||||||
// | ||||||||||||||||||||||||||
// Throughout the doc, replace 25.0.0.7-beta with the version number of Open Liberty, eg: 22.0.0.2-beta | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
The link:{url-about}[Open Liberty] 25.0.0.7-beta includes the following beta features (along with link:{url-prefix}/docs/latest/reference/feature/feature-overview.html[all GA features]): | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
* <<microprofile, MicroProfile 7.1>> | ||||||||||||||||||||||||||
* <<telemetry, MicroProfile Telemetry 2.1>> | ||||||||||||||||||||||||||
* <<openapi, MicroProfile OpenAPI 4.1>> | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
See also link:{url-prefix}/blog/?search=beta&key=tag[previous Open Liberty beta blog posts]. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||||||||||||||||||||||||||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/31807 | ||||||||||||||||||||||||||
// Contact/Reviewer: Emily-Jiang | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
[#microprofile] | ||||||||||||||||||||||||||
== MicroProfile 7.1 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
MicroProfile 7.1 (`MP 7.1`) is a minor release. It has the following MicroProfile component specifications and works with Jakarta EE 10 Core Profile: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
- link:https://jakarta.ee/specifications/coreprofile/10/[Jakarta EE 10 Core Profile] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-config/releases/tag/3.1[MicroProfile Config 3.1] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-fault-tolerance/releases/tag/4.1[MicroProfile Fault Tolerance 4.1] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-health/releases/tag/4.0[MicroProfile Health 4.0] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-telemetry/releases/tag/2.1[MicroProfile Telemetry 2.1] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-open-api/releases/tag/4.1[MicroProfile OpenAPI 4.1] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-jwt-auth/releases/tag/2.1[MicroProfile JWT Authentication 2.1] | ||||||||||||||||||||||||||
- link:https://github.com/eclipse/microprofile-rest-client/releases/tag/4.0[MicroProfile Rest Client 4.0] | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
In this, MicroProfile Telemetry 2.1 and MicroProfile OpenAPI 4.1 have updates while the other three specifications remain unchanged. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
To enable MicroProfile 7.1, add the feature to your `server.xml`: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
```xml | ||||||||||||||||||||||||||
<featureManager> | ||||||||||||||||||||||||||
<feature>microProfile-7.1</feature> | ||||||||||||||||||||||||||
</featureManager> | ||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||||||||||||||||||||||||||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/31805 | ||||||||||||||||||||||||||
// Contact/Reviewer: yasmin-aumeeruddy | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
[#telemetry] | ||||||||||||||||||||||||||
== MicroProfile Telemetry 2.1 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
MicroProfile Telemetry 2.1(`mpTelemetry-2.1`) provides developers with updated Open Telemetry technology as the feature now uses OpenTelemetry-1.48.0, which was updated from 1.39.0. APIs are now stable. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
```xml | ||||||||||||||||||||||||||
<featureManager> | ||||||||||||||||||||||||||
<feature>mpTelemetry-2.1</feature> | ||||||||||||||||||||||||||
</featureManager> | ||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
If third-party API visibility was enabled for no other purpose than to manually instrument the application code to collect traces or to define custom metrics with versions of mpTelemetry before 2.1, it is recommended to remove them from the `server.xml`: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
```xml | ||||||||||||||||||||||||||
<webApplication id="app-name" location="app-name.war"> | ||||||||||||||||||||||||||
<classloader apiTypeVisibility="+third-party"/> | ||||||||||||||||||||||||||
</webApplication> | ||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||
Comment on lines
+83
to
+89
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
For more information about MicroProfile Telemetry, see the following links: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
- https://github.com/eclipse/microprofile-telemetry[MicroProfile Telemetry] | ||||||||||||||||||||||||||
- https://github.com/open-telemetry/opentelemetry-specification[specification] | ||||||||||||||||||||||||||
- https://openliberty.io/docs/latest/docs/latest/microprofile-telemetry.html[documentation] | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// // // // DO NOT MODIFY THIS COMMENT BLOCK <GHA-BLOG-TOPIC> // // // // | ||||||||||||||||||||||||||
// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/31811 | ||||||||||||||||||||||||||
// Contact/Reviewer: Azquelt | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
[#openapi] | ||||||||||||||||||||||||||
== MicroProfile OpenAPI 4.1 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
OpenAPI is a standardized way of documenting REST APIs in a JSON or YAML format. MicroProfile OpenAPI helps to generate and serve OpenAPI documentation for REST applications that are built by using JAX-RS or Jakarta restfulWS. This can be useful for developers to test out the API during development, or for people who uses API in production. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
In this beta, the new MicroProfile OpenAPI 4.1 is introduced. To use it, first add the feature to your `server.xml`: | ||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't like the repetition suggested by @is273, how about this instead:
Suggested change
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
```xml | ||||||||||||||||||||||||||
<featureManager> | ||||||||||||||||||||||||||
<feature>mpOpenAPI-4.1</feature> | ||||||||||||||||||||||||||
</featureManager> | ||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Then, deploy rest application and then see `/openapi` on liberty server to view the OpenAPI documentation, or go to `/openapi/ui` for a user interface that lets to browse through it. To enhance the documentation, use link:https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/[annotations] in code to add things like textual descriptions to each method. The annotations are available as a maven dependency: | ||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you're going to take out "Then" here, then I think you should also take out "First" in the previous paragraph. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have to be honest, I don't understand these suggestions at all. This is a sequence of steps which follows on from the previous paragraph, why are we removing "then" from the start of one of the steps but leaving it on the other? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, here's my suggestion: "Next deploy any rest application. Then, in a web browser, go to
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
```xml | ||||||||||||||||||||||||||
<dependency> | ||||||||||||||||||||||||||
<groupId>org.eclipse.microprofile.openapi</groupId> | ||||||||||||||||||||||||||
<artifactId>microprofile-openapi-api</artifactId> | ||||||||||||||||||||||||||
<version>4.1</version> | ||||||||||||||||||||||||||
<scope>provided</scope> | ||||||||||||||||||||||||||
</dependency> | ||||||||||||||||||||||||||
``` | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
MicroProfile OpenAPI 4.1 is a very small release, which adds: | ||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Get rid of "very" and the comma There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we not call it a very small release? It would be harder for it to be smaller, the only reason for this release is that we missed one property from the API in 4.0. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Azquelt We try not to use words like "really" which seems like a filler word. To a user, what is the difference between a very small release and a small release. |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
- The ability to set the link:https://spec.openapis.org/oas/v3.1.0.html#fixed-fields[`jsonSchemaDialect` field on the OpenAPI object] using the link:https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/org.eclipse.microprofile.openapi/org/eclipse/microprofile/openapi/models/OpenAPI.html#setJsonSchemaDialect(java.lang.String)[model API] | ||||||||||||||||||||||||||
- New methods `hasExtension` and `getExtension` on link:https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/org.eclipse.microprofile.openapi/org/eclipse/microprofile/openapi/models/Extensible.html[`Extensible`] in the model API | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
More information about MicroProfile OpenAPI can be found in | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
- the liberty link:https://openliberty.io/guides/microprofile-openapi.html[guide] | ||||||||||||||||||||||||||
- the liberty link:https://openliberty.io/docs/latest/documentation-openapi.html[documentation] | ||||||||||||||||||||||||||
- the link:https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/[javadoc] | ||||||||||||||||||||||||||
- the link:https://download.eclipse.org/microprofile/microprofile-open-api-4.1/microprofile-openapi-spec-4.1.html[specification] | ||||||||||||||||||||||||||
Comment on lines
+133
to
+138
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I should have put "Open Liberty" here instead of "liberty"
Suggested change
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
// DO NOT MODIFY THIS LINE. </GHA-BLOG-TOPIC> | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
=== Try it now | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
To try out these features, update your build tools to pull the Open Liberty All Beta Features package instead of the main release. The beta works with Java SE 21, Java SE 17, Java SE 11, and Java SE 8. | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
// In the preceding section: | ||||||||||||||||||||||||||
// Check if a new non-LTS Java SE version is supported that needs to be added to the list (21, 17, 11, and 8 are LTS and will remain for a while) | ||||||||||||||||||||||||||
// https://openliberty.io/docs/latest/java-se.html | ||||||||||||||||||||||||||
// | ||||||||||||||||||||||||||
// In the following section: | ||||||||||||||||||||||||||
// Check if a new MicroProfile or Jakarta version is in beta that could replace the example values in the codeblock | ||||||||||||||||||||||||||
// // // // // // // // | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
If you're using link:{url-prefix}/guides/maven-intro.html[Maven], you can install the All Beta Features package using: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
[source,xml] | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
<plugin> | ||||||||||||||||||||||||||
<groupId>io.openliberty.tools</groupId> | ||||||||||||||||||||||||||
<artifactId>liberty-maven-plugin</artifactId> | ||||||||||||||||||||||||||
<version>3.11.4</version> | ||||||||||||||||||||||||||
<configuration> | ||||||||||||||||||||||||||
<runtimeArtifact> | ||||||||||||||||||||||||||
<groupId>io.openliberty.beta</groupId> | ||||||||||||||||||||||||||
<artifactId>openliberty-runtime</artifactId> | ||||||||||||||||||||||||||
<version>25.0.0.7-beta</version> | ||||||||||||||||||||||||||
<type>zip</type> | ||||||||||||||||||||||||||
</runtimeArtifact> | ||||||||||||||||||||||||||
</configuration> | ||||||||||||||||||||||||||
</plugin> | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
You must also add dependencies to your pom.xml file for the beta version of the APIs that are associated with the beta features that you want to try. For example, the following block adds dependencies for two example beta APIs: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
[source,xml] | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
<dependency> | ||||||||||||||||||||||||||
<groupId>org.example.spec</groupId> | ||||||||||||||||||||||||||
<artifactId>exampleApi</artifactId> | ||||||||||||||||||||||||||
<version>7.0</version> | ||||||||||||||||||||||||||
<type>pom</type> | ||||||||||||||||||||||||||
<scope>provided</scope> | ||||||||||||||||||||||||||
</dependency> | ||||||||||||||||||||||||||
<dependency> | ||||||||||||||||||||||||||
<groupId>example.platform</groupId> | ||||||||||||||||||||||||||
<artifactId>example.example-api</artifactId> | ||||||||||||||||||||||||||
<version>11.0.0</version> | ||||||||||||||||||||||||||
<scope>provided</scope> | ||||||||||||||||||||||||||
</dependency> | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Or for link:{url-prefix}/guides/gradle-intro.html[Gradle]: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
[source,gradle] | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
buildscript { | ||||||||||||||||||||||||||
repositories { | ||||||||||||||||||||||||||
mavenCentral() | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
dependencies { | ||||||||||||||||||||||||||
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.4' | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
apply plugin: 'liberty' | ||||||||||||||||||||||||||
dependencies { | ||||||||||||||||||||||||||
libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[25.0.0.7-beta,)' | ||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Or if you're using link:{url-prefix}/docs/latest/container-images.html[container images]: | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
[source] | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
FROM icr.io/appcafe/open-liberty:beta | ||||||||||||||||||||||||||
---- | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Or take a look at our link:{url-prefix}/downloads/#runtime_betas[Downloads page]. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
If you're using link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA], link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code] or link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE], you can also take advantage of our open source link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty developer tools] to enable effective development, testing, debugging and application management all from within your IDE. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
For more information on using a beta release, refer to the link:{url-prefix}docs/latest/installing-open-liberty-betas.html[Installing Open Liberty beta releases] documentation. | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
[#feedback] | ||||||||||||||||||||||||||
== We welcome your feedback | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Let us know what you think on link:https://groups.io/g/openliberty[our mailing list]. If you hit a problem, link:https://stackoverflow.com/questions/tagged/open-liberty[post a question on StackOverflow]. If you hit a bug, link:https://github.com/OpenLiberty/open-liberty/issues[please raise an issue]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of
It
sayMicroProfile 7.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@is273 wont it be repetitive to frame it 'MicroProfile 7.1 has the following MicroProfile component specifications and works with Jakarta EE 10 Core Profile:'
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@is273 Can I frame it :
MicroProfile 7.1 has the following component specifications and works with Jakarta EE 10 Core Profile.
Still it sounds odd for me with the previous sentence
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@navaneethsnair1 It may sound repetitive but we refrain from using "it" to refer to something.