|
16 | 16 | // See the License for the specific language governing permissions and
|
17 | 17 | // limitations under the License.
|
18 | 18 |
|
| 19 | +[[release_notes_40]] |
| 20 | +== Release Notes for MicroProfile OpenAPI 4.0 |
| 21 | + |
| 22 | +A full list of changes delivered in the 4.0 release can be found at link:https://github.com/eclipse/microprofile-open-api/milestone/6?closed=1[MicroProfile OpenAPI 4.0 Milestone] |
| 23 | + |
| 24 | +[[incompatible_changes_40]] |
| 25 | +=== Incompatible Changes |
| 26 | + |
| 27 | +* `/openapi` endpoint now serves documentation in OpenAPI v3.1 format (https://github.com/eclipse/microprofile-open-api/issues/333[333]) |
| 28 | +* Incompatible changes to the `Schema` model API, reflecting changes in the OpenAPI v3.1 document format (https://github.com/eclipse/microprofile-open-api/issues/584[584]) |
| 29 | +** `type` property type changed from `SchemaType` to `List<SchemaType>` |
| 30 | +** `exclusiveMinimum` and `exclusiveMaximum` property types changed from `Boolean` to `BigDecimal` |
| 31 | +** `nullable` property removed (replaced by the addition of `NULL` to `SchemaType`) |
| 32 | +* `@RequestBody.required` changed to `true` to reflect that this is the much more common case where a RESTful resource method accepts a request body (https://github.com/eclipse/microprofile-open-api/issues/349[349]) |
| 33 | +* Minimum Java version increased to 11 |
| 34 | + |
| 35 | +[[api_changes_40]] |
| 36 | +=== API/SPI changes |
| 37 | + |
| 38 | +* Model API changes, reflecting changes in the OpenAPI v3.1 document format |
| 39 | +** New `OpenAPI` property: `webhooks` (https://github.com/eclipse/microprofile-open-api/issues/583[583]) |
| 40 | +** New `Components` property: `pathItems` (https://github.com/eclipse/microprofile-open-api/issues/437[437]) |
| 41 | +** New `Info` property: `summary` (https://github.com/eclipse/microprofile-open-api/issues/435[435]) |
| 42 | +** New `License` property: `identifier` (https://github.com/eclipse/microprofile-open-api/issues/436[436]) |
| 43 | +** New `Schema` properties: `booleanSchema`, `comment`, `constValue`, `contains`, `contentEncoding`, `contentMediaType`, `contentSchema`, `dependentRequired`, `dependentSchemas`, `elseSchema`, `examples`, `ifSchema`, `maxContains`, `minContains`, `patternProperties`, `prefixItems`, `propertyNames`, `schemaDialect`, `thenSchema`, `unevaluatedItems`, `unevaluatedProperties` (https://github.com/eclipse/microprofile-open-api/issues/584[584]), (https://github.com/eclipse/microprofile-open-api/issues/567[567]) |
| 44 | +** New `Schema.SchemaType` enum value: `NULL` (https://github.com/eclipse/microprofile-open-api/issues/584[584]) |
| 45 | +** New `SecuritySchema.Type` enum value: `MUTUALTLS` (https://github.com/eclipse/microprofile-open-api/issues/582[582]) |
| 46 | +* Annotation API changes, reflecting changes in the OpenAPI v3.1 document format |
| 47 | +** New `@OpenAPIDefinition` property: `webhooks` (https://github.com/eclipse/microprofile-open-api/issues/583[583]) |
| 48 | +** New `@Components` property: `pathItems` (https://github.com/eclipse/microprofile-open-api/issues/437[437]) |
| 49 | +** New annotation `@PathItem` (https://github.com/eclipse/microprofile-open-api/issues/437[437]) |
| 50 | +** New annotation `@PathItemOperation` (https://github.com/eclipse/microprofile-open-api/issues/437[437]) |
| 51 | +** New `@Callback` property: `pathItemRef` (https://github.com/eclipse/microprofile-open-api/issues/437[437]) |
| 52 | +** New `@Info` property: `summary` (https://github.com/eclipse/microprofile-open-api/issues/435[435]) |
| 53 | +** New `@License` property: `identifier` (https://github.com/eclipse/microprofile-open-api/issues/436[436]) |
| 54 | +** New `@Schema` properties: `comment`, `constValue`, `contains`, `contentEncoding`, `contentMediaType`, `contentSchema`, `dependentRequired`, `dependentSchemas`, `elseSchema`, `examples`, `ifSchema`, `maxContains`, `minContains`, `patternProperties`, `prefixItems`, `propertyNames`, `thenSchema` (https://github.com/eclipse/microprofile-open-api/issues/584[584]), (https://github.com/eclipse/microprofile-open-api/issues/567[567]) |
| 55 | +** New `@SchemaProperty` properties: `additionalProperties`, `comment`, `constValue`, `contains`, `contentEncoding`, `contentMediaType`, `contentSchema`, `dependentRequired`, `dependentSchemas`,`elseSchema`, `examples`, `ifSchema`, `maxContains`, `minContains`, `patternProperties`, `prefixItems`, `propertyNames`, `thenSchema` (https://github.com/eclipse/microprofile-open-api/issues/584[584]) |
| 56 | +** New annotations supporting the new `@Schema` properties: `@DependentRequired`, `@DependentSchema`, `@PatternProperty` (https://github.com/eclipse/microprofile-open-api/issues/584[584]), (https://github.com/eclipse/microprofile-open-api/issues/567[567]) |
| 57 | +** New `SecuritySchemeType` enum value: `MUTUALTLS` (https://github.com/eclipse/microprofile-open-api/issues/582[582]) |
| 58 | +* Added `module-info` to the API jar (https://github.com/eclipse/microprofile-open-api/pull/577[577]) |
| 59 | + |
| 60 | +[[other_changes_40]] |
| 61 | +=== Other changes |
| 62 | + |
| 63 | +* Update references to the OpenAPI spec to point to v3.1 (https://github.com/eclipse/microprofile-open-api/pull/606[606]) |
| 64 | +* Update documentation and TCKs to reflect changes in OpenAPI v3.1 which don't affect the model API |
| 65 | +** All security schemes may define required roles (https://github.com/eclipse/microprofile-open-api/issues/590[590]) |
| 66 | +** Summary and description are now valid when `$ref` is set (https://github.com/eclipse/microprofile-open-api/issues/589[589]) |
| 67 | +** Operation.requestBody permitted for HTTP methods which don't allow a request body (https://github.com/eclipse/microprofile-open-api/issues/591[591]) |
| 68 | +** Only one of Paths, Components, or Webhooks is required (https://github.com/eclipse/microprofile-open-api/issues/592[592]) |
| 69 | +** New encoding options for `multipart/form-data` (https://github.com/eclipse/microprofile-open-api/issues/587[587]) |
| 70 | +** New parameter style values valid for object type (https://github.com/eclipse/microprofile-open-api/issues/586[586]) |
| 71 | +** Operation no longer requires responses (https://github.com/eclipse/microprofile-open-api/issues/585[585]) |
| 72 | +* Replace references to "JAX-RS" with "Jakarta RESTful Web Services" (https://github.com/eclipse/microprofile-open-api/issues/574[574]) |
| 73 | + |
19 | 74 | [[release_notes_31]]
|
20 | 75 | == Release Notes for MicroProfile OpenAPI 3.1
|
21 | 76 |
|
|
0 commit comments