OpenLiberty / open-liberty

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment
https://openliberty.io
Eclipse Public License 2.0
1.15k stars 590 forks source link

MP70: Implement MicroProfile 7.0 #27106

Open Emily-Jiang opened 10 months ago

Emily-Jiang commented 10 months ago

Description

Implement MicroProfile 7.0. MicroProfile 7.0 has the following update (the content might change).

MP Open API 4.0 MP Telemetry 2.0 MP Fault Tolerance 4.1 MP Rest Client 4.0

This MP Compatibility issue also needs resolving before GA: https://github.com/OpenLiberty/open-liberty/issues/28980


Documents

When available, add links to required feature documents. Use "N/A" to mark particular documents which are not required by the feature.

General Instructions

The process steps occur roughly in the order as presented. Process steps occasionally overlap.

Each process step has a number of tasks which must be completed or must be marked as not applicable ("N/A").

Unless otherwise indicated, the tasks are the responsibility of the Feature Owner or a Delegate of the Feature Owner.

If you need assistance, reach out to the OpenLiberty/release-architect.

Important: Labels are used to trigger particular steps and must be added as indicated.


Prioritization (Complete Before Development Starts)

The (OpenLiberty/chief-architect) and area leads are responsible for prioritizing the features and determining which features are being actively worked on.

Prioritization

Design preliminaries determine whether a formal design, which will be provided by an Upcoming Feature Overview (UFO) document, must be created and reviewed. A formal design is required if the feature requires any of the following: UI, Serviceability, SVT, Performance testing, or non-trivial documentation/ID. Furthermore, each identified item places a blocking requirement on another team so it must be identified early in the process. The feature owner may check-off the item if they know it doesn't apply, but otherwise they should work with the focal point to determine what work, if any, will be necessary and make them aware of it.

Design Preliminaries

Design

No Design

FAT Documentation

A feature must be prioritized before any implementation work may begin to be delivered (inaccessible/no-ship). However, a design focused approach should still be applied to features, and developers should think about the feature design prior to writing and delivering any code.
Besides being prioritized, a feature must also be socialized (or No Design Approved) before any beta code may be delivered. All new Liberty content must be inaccessible in our GA releases until it is Feature Complete by either marking it kind=noship or beta fencing it.
Code may not GA until this feature has obtained the Design Approved or No Design Approved label, along with all other tasks outlined in the GA section.

Feature Development Begins

Legal and Translation

In order to avoid last minute blockers and significant disruptions to the feature, the legal items need to be done as early in the feature process as possible, either in design or as early into the development as possible. Similarly, translation is to be done concurrently with development. Both MUST be completed before Beta or GA is requested.

Legal (Complete before Feature Complete Date)

Innovation (Complete 1 week before Feature Complete Date)

Translation (Complete by Feature Complete Date)

In order to facilitate early feedback from users, all new features and functionality should first be released as part of a beta release.

Beta Code

Beta Blog (Complete by beta eGA)

A feature is ready to GA after it is Feature Complete and has obtained all necessary Focal Point Approvals.

Feature Complete

Focal Point Approvals (Complete by Feature Complete Date)

These occur only after GA of this feature is requested (by adding a target:ga label). GA of this feature may not occur until all approvals are obtained.

All Features

Design Approved Features

Remove Beta Fencing (Complete by Feature Complete Date)

GA Blog (Complete by Friday after GM)

Post GM (Complete before GA)

Post GA

idlewis commented 3 months ago

Comments from the UFO socialization below. Some of these were addressed during the socialization.

Emily-Jiang commented 1 month ago

Comments from the UFO socialization below. Some of these were addressed during the socialization.

* Q. Slide 7: Should the mp-7 convenience feature rely on the version-less Jakarta Core Profile feature?
  A. No, this was discussed on the UFO socialization for the version-less features

* Q. Slide 8: When EE12 is released, will the MP7 features be updated to work with it?
  A. Maybe, it will depend on whether they are compatible or not. A new MP release may be needed

* Slide 9: The colours are a little unclear

updated

  • Slide 11: 'Trace system such as prometheus' should be 'Metrics system such as prometheus'

reworked

  • Slide 13: 'Support multiparts' is a little unclear, it isn't a change to the API

updated

  • Slide 14: Would be good to add tempo/Grafana for traces on the RHS.

done

  • Slide 26: SVT needs to include MP Metrics 5.1

done

  • Slide 28: It isn't clear which Java versions are needed to ratify the specification

This is not related to this UFO. For releasing the spec, Java 11, 17 and 21 are needed to ratify the specification.

  • Slide 28: Are the existing Liberty MP zip packages going to be deprecated in favour of the 7.0 zip package?

done

  • Slide 32: Migration impact - customers will need to add metrics 5.1 feature when they didn't previously done
Emily-Jiang commented 2 days ago

This is a umbrella feature for MicroProfile. There is no new functionalities delivered under this feature. STE is not needed. Please add n/a for this one. @tngiang73

Emily-Jiang commented 2 days ago

Id issue is here