Skip to content

Commit

Permalink
WFLY-19591 MicroProfile OpenAPI 4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pferraro committed Oct 22, 2024
1 parent a70a6ab commit 846872e
Showing 1 changed file with 150 additions and 0 deletions.
150 changes: 150 additions & 0 deletions microprofile/WFLY-19591_MicroProfile_OpenAPI_4.0.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
---
// Add any category for this proposal as a yaml list, e.g.
// - core
// - management
// if missing, add it to _data/wildfly-categories and use its id
categories:
- microprofile
// Specify the stability level of the feature.
// Values can be one of: experimental preview community default
stability-level: default
// Specify the Feature Development tracker issue for the feature.
// This must be an issue tracked in https://github.com/orgs/wildfly/projects/7/views/1.
// To create a Feature Development tracker issue, go to https://github.com/wildfly/wildfly-proposals/issues/new/choose
// and select 'Feature Development'
issue: https://github.com/wildfly/wildfly-proposals/issues/647
// Provide the github ids of the members of the feature team, organized by role.
// Provide a single id for the 'assignee' role. Use a yaml list for the 'sme' and
// 'outside-perspective' roles, even if there is only one person in a role.
feature-team:
developer: pferraro
sme:
- pferraro
outside-perspective:
-
// If this issue tracks the promotion to a higher stability level of a previously
// completed feature, provide the URL of the https://github.com/wildfly/wildfly-proposals/issues
// issue that was used to track the previous feature.
promotes:
// This should be blank during initial development of a feature. It may be used
// after the feature is completed if a subsequent issue is field to track promotion
// of this feature to a higher stability level
promoted-by:
---
= MicroProfile OpenAPI 4.0
:author: Paul Ferraro
:email: [email protected]
:toc: left
:icons: font
:idprefix:
:idseparator: -

== Overview

WildFly currently provides MicroProfile OpenAPI 3.1 support to applications.
This feature request upgrades support for this specification to version 4.0 as part of version 7.0 of the MicroProfile platform specification.

Most notably, this release of the [MicroProfile OpenAPI specification][spec] generates documentation conforming to [version 3.1 of the OpenAPI specification][openapi].

For details, see the [Release Notes][release_notes].

=== User Stories

A user would like to expose an endpoint providing an OpenAPI 3.1 document describing the Jakarta RESTful Web Services of their application.

== Issue Metadata

* https://issues.redhat.com/browse/WFLY-19591[Parent issue]

=== Related Issues

* https://issues.redhat.com/browse/WFLY-19588

=== Affected Projects or Components

* WildFly Quickstarts

=== Other Interested Projects

* https://github.com/eclipse/microprofile-open-api[Eclipse MicroProfile OpenAPI]
* https://github.com/smallrye/smallrye-open-api[SmallRye OpenAPI]

=== Relevant Installation Types

* Traditional standalone server (unzipped or provisioned by Galleon)
* Managed domain
* OpenShift Source-to-Image (S2I)
* Bootable jar

== Requirements

* Upgrade version of MicroProfile OpenAPI specification API to 4.0.
* Upgrade version of SmallRye OpenAPI to the version implementing the new spec version.

=== Changed requirements

N/A

=== Non-Requirements

N/A

=== Future Work

N/A

== Backwards Compatibility

=== Default Configuration

N/A

=== Importing Existing Configuration

N/A

=== Deployments

See [Release Notes][release_notes] for the list of incompatible changes between the current and previous versions of the MicroProfile OpenAPI specification.

=== Interoperability

N/A

== Implementation Plan

The implementation of MicroProfile OpenAPI 4.0 is provided by SmallRye OpenAPI 4.0.x.
The implemetation plan consist of simple version upgrade of the following components:

* org.eclipse.microprofile.openapi API
* org.eclipse.microprofile.openapi TCK
* io.smallrye.openapi

== Admin Clients

N/A

== Security Considerations

N/A

[[test_plan]]
== Test Plan

The following testsuites will be used to validate this feature:
* Version 4.0 of the MicroProfile OpenAPI TCK
* The existing MicroProfile OpenAPI tests within WildFly's MicroProfile integration testsuite.
* The MicroProfile OpenAPI tests from https://github.com/jboss-eap-qe/eap-microprofile-test-suite

== Community Documentation

References the MicroProfile OpenAPI and OpenAPI specifications need to be updated to reflect the current versions.

== Release Note Content

Support for the MicroProfile OpenAPI specification was updated from 3.1 to 4.0.

[openapi]: https://github.com/OAI/OpenAPI-Specification/blob/3.1.0/versions/3.1.0.md
[spec]: https://download.eclipse.org/microprofile/microprofile-open-api-4.0/microprofile-openapi-spec-4.0.html
[release_notes]: https://download.eclipse.org/microprofile/microprofile-open-api-4.0/microprofile-openapi-spec-4.0.html#release_notes_40

0 comments on commit 846872e

Please sign in to comment.