Skip to content
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

Support Java 21 in Open Liberty #24613

Closed
12 of 49 tasks
jgrassel opened this issue Mar 8, 2023 · 8 comments
Closed
12 of 49 tasks

Support Java 21 in Open Liberty #24613

jgrassel opened this issue Mar 8, 2023 · 8 comments
Assignees
Labels
Epic Used to track Feature Epics that are following the UFO process focalApproved:demo Approval that a Demo has been scheduled focalApproved:externals Focal Approval granted for APIs/Externals for the feature focalApproved:fat Focal Approval granted for FAT for the feature focalApproved:globalization Focal Approval granted for Globalization for the feature focalApproved:id Focal Approval granted for ID for the feature ID Required - Trivial Signifies that ID agrees that the requested ID work for a Feature is trivial in:JDK Infrastructure Java 21 No Design Approved release:230010 target:beta The Epic or Issue is targetted for the next beta target:230010-beta target:230010 team:Zombie Apocalypse

Comments

@jgrassel
Copy link
Contributor

jgrassel commented Mar 8, 2023

Description

This issue requests that support for Java 21 be added to Open Liberty. Java 21 is projected to be available in Sep 2023.

Beta Blog - Link to Beta Blog Post GH Issue

See the Java 21 page for details on what's new -> https://openjdk.java.net/projects/jdk/21/

Check for official updates here -> https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Link to previous (Java 20) issue for reference -> #23141


Documents

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


Process Overview

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

  • Feature added to the "New" column of the Open Liberty project board
    • Epics can be added to the board in one of two ways:
      • From this issue, use the "Projects" section to select the appropriate project board.
      • From the appropriate project board click "Add card" and select your Feature Epic issue
  • Priority assigned
    • Attend the Liberty Backlog Prioritization meeting

Design (Complete Before Development Starts)

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.

Design Preliminaries

Design

  • POC Design / UFO review requested.
    • Owner adds label Design Review Request
  • POC Design / UFO review scheduled.
    • Follow the instructions in POC-Forum repo
  • POC Design / UFO review completed.
  • POC / UFO Review follow-ons completed.
  • POC Design / UFO approval requested.
    • Owner adds label Design Approval Request
  • Design / UFO approved. (OpenLiberty/chief-architect) or N/A
    • (OpenLiberty/chief-architect) adds label Design Approved
    • Add the public link to the UFO in Box to the Documents section.
    • The UFO must always accurately reflect the final implementation of the feature. Any changes must be first approved. Afterwards, update the UFO by creating a copy of the original approved slide(s) at the end of the deck and prepend "OLD" to the title(s). A single updated copy of the slide(s) should take the original's place, and have its title(s) prepended with "UPDATED".

No Design

  • No Design requested.
    • Owner adds label No Design Approval Request
  • No Design / No UFO approved. (OpenLiberty/chief-architect) or N/A
    • Approver adds label No Design Approved
  • Feature / Capability stabilization or discontinuation or N/A
    • Owner adds label Product Management Approval Request and notifies OpenLiberty/product-management
    • Approver adds label Product Management Approved (OpenLiberty/product-management)
    • Note: For stabilized, superseded, and discontinued feature/capability, skip the Beta section of the template (you may delete it). Otherwise, proceed as normal.

FAT Documentation


Implementation

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

  • Add the In Progress label

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)

  • Changed or new open source libraries are cleared and approved, or N/A. (Legal Release Services/Cass Tucker/Release PM).
  • Licenses and Certificates of Originality (COOs) are updated, or N/A

Translation (Complete 1 week before Feature Complete Date)

  • PII updates are merged, or N/A. Note timing with translation shipments.

Innovation (Complete 1 week before Feature Complete Date)

  • Consider whether any aspects of the feature may be patentable. If any identified, disclosures have been submitted.

Beta

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 fence the functionality
    • kind=beta, ibm:beta, ProductInfo.getBetaEdition()
  • Beta development complete and feature ready for inclusion in a beta release
    • Add label target:beta and the appropriate target:YY00X-beta (where YY00X is the targeted beta version).
  • Feature delivered into beta

Beta Blog (Complete 1.5 weeks before beta eGA)

  • Beta blog issue created and populated using the Open Liberty BETA blog post template.
    • Add a link to the beta blog issue in the Documents section.
    • Note: This is for inclusion into the overall beta release blog post. If, in addition, you'd also like to create a dedicated blog post about your feature, then follow the "Standalone Feature Blog Post" instructions under the Other Deliverables section.

GA

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

Feature Complete

  • Feature implementation and tests completed.
    • All PRs are merged.
    • All epic and child issues are closed.
    • All stop ship issues are completed.
  • Legal: all necessary approvals granted.
  • Translation: All messages translated or sent for translation for upcoming release
  • GA development complete and feature ready for inclusion in a GA release
    • Add label target:ga and the appropriate target:YY00X (where YY00X is the targeted GA version).
    • Inclusion in a release requires the completion of all Focal Point Approvals.

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

  • APIs/Externals Externals have been reviewed or N/A. (OpenLiberty/externals-approvers)
    • Approver adds label focalApproved:externals
  • Demo Demo is scheduled for an upcoming EOI or N/A. (OpenLiberty/demo-approvers)
    • Add comment @OpenLiberty/demo-approvers Demo scheduled for EOI [Iteration Number] to this issue.
    • Approver adds label focalApproved:demo.
  • FAT All Tests complete and running successfully in SOE or N/A. (OpenLiberty/fat-approvers)
    • Approver adds label focalApproved:fat.
  • Globalization Translation and TVT are complete or N/A. (OpenLiberty/globalization-approvers)
    • Approver adds label focalApproved:globalization.

Design Approved Features

  • Accessibility Accessibility testing completed or N/A. (OpenLiberty/accessibility-approvers)
    • Approver adds label focalApproved:accessibility.
  • ID Documentation is complete or N/A. (OpenLiberty/id-approvers)
    • Approver adds label focalApproved:id.
    • NOTE: If only trivial documentation changes are required, you may reach out to the ID Feature Focal to request a ID Required - Trivial label. Unlike features with regular ID requirement, those with ID Required - Trivial label do not have a hard requirement for a Design/UFO.

  • Performance Performance testing is complete or N/A. (OpenLiberty/performance-approvers)
    • Approver adds label focalApproved:performance.
  • Serviceability Serviceability has been addressed or N/A. (OpenLiberty/serviceability-approvers)
    • Approver adds label focalApproved:sve.
  • STE Skills Transfer Education chart deck is complete or N/A. (OpenLiberty/ste-approvers)
    • Approver adds label focalApproved:ste.
  • SVT System Verification Test is complete or N/A. (OpenLiberty/svt-approvers)
    • Approver adds label focalApproved:svt.

Remove Beta Fencing (Complete by Feature Complete Date)

  • Beta guards are removed, or N/A
    • Only after all necessary Focal Point Approvals have been granted.

GA Blog (Complete by Feature Complete Date)

  • GA Blog issue created and populated using the Open Liberty GA release blog post template.
    • Add a link to the GA Blog issue in the Documents section.
    • Note: This is for inclusion into the overall release blog post. If, in addition, you'd also like to create a dedicated blog post about your feature, then follow the "Standalone Feature Blog Post" instructions under the Other Deliverables section.

Post GA


Other Deliverables


@jgrassel jgrassel added team:Zombie Apocalypse in:JDK Infrastructure Epic Used to track Feature Epics that are following the UFO process team:Blizzard Java 21 labels Mar 8, 2023
@gjwatts gjwatts added No Design Approval Request Must NOT need: SVT/Perf testing, new UI, Servicibility considerations, major doc updates In Progress Items that are in active development. and removed In Progress Items that are in active development. labels Mar 8, 2023
@gjwatts
Copy link
Member

gjwatts commented Mar 10, 2023

Need to wait for the next version of ASM that supports Java 21 before we can do much.

@gjwatts gjwatts added Epic Used to track Feature Epics that are following the UFO process and removed Epic Used to track Feature Epics that are following the UFO process labels Mar 27, 2023
@NottyCode NottyCode added No Design Approved and removed No Design Approval Request Must NOT need: SVT/Perf testing, new UI, Servicibility considerations, major doc updates labels May 29, 2023
@malincoln malincoln added the In Progress Items that are in active development. label Jun 9, 2023
@gjwatts
Copy link
Member

gjwatts commented Aug 10, 2023

@OpenLiberty/demo-approvers Demo scheduled for EOI 23.17

@tevans78 tevans78 added target:beta The Epic or Issue is targetted for the next beta target:230010-beta labels Aug 30, 2023
@cbridgha cbridgha added the focalApproved:externals Focal Approval granted for APIs/Externals for the feature label Sep 5, 2023
@gjwatts gjwatts added the ID Required - Trivial Signifies that ID agrees that the requested ID work for a Feature is trivial label Sep 7, 2023
@tevans78 tevans78 added the focalApproved:demo Approval that a Demo has been scheduled label Sep 14, 2023
@gjwatts gjwatts added target:ga The Epic is ready for focal approvals, after which it can GA. target:230010 labels Sep 24, 2023
@LifeIsGood524 LifeIsGood524 added the focalApproved:globalization Focal Approval granted for Globalization for the feature label Sep 25, 2023
@ayoho ayoho added the focalApproved:fat Focal Approval granted for FAT for the feature label Sep 25, 2023
@bmarwell
Copy link
Contributor

Need to wait for the next version of ASM that supports Java 21 before we can do much.

ASM 9.5 is here since March. Java 21 is released. Does Liberty 23.0.0.9 support Java 21?

@gjwatts
Copy link
Member

gjwatts commented Sep 28, 2023

@bmarwell Hi Benjamin. No, but we did release beta support for Java 21 in Open Liberty 23.0.0.10-beta.

@bmarwell
Copy link
Contributor

Great! Really looking forward to images on icr.io with the recently released Semeru 21-m0 milestone (OpenJ9 0.42.0).

@LifeIsGood524 LifeIsGood524 added release:230010 and removed target:ga The Epic is ready for focal approvals, after which it can GA. labels Oct 3, 2023
@chirp1
Copy link
Contributor

chirp1 commented Oct 9, 2023

Corresponding docs technically reviewed at OpenLiberty/docs#6856 . Approving.

@chirp1 chirp1 added the focalApproved:id Focal Approval granted for ID for the feature label Oct 9, 2023
@gjwatts
Copy link
Member

gjwatts commented Oct 17, 2023

@bmarwell FYI, Java 21 support was released today with Open Liberty 23.0.0.10 -> https://openliberty.io/blog/2023/10/17/23.0.0.10.html

@malincoln malincoln removed the In Progress Items that are in active development. label Oct 18, 2023
@gjwatts
Copy link
Member

gjwatts commented Oct 23, 2023

This feature is complete now, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Used to track Feature Epics that are following the UFO process focalApproved:demo Approval that a Demo has been scheduled focalApproved:externals Focal Approval granted for APIs/Externals for the feature focalApproved:fat Focal Approval granted for FAT for the feature focalApproved:globalization Focal Approval granted for Globalization for the feature focalApproved:id Focal Approval granted for ID for the feature ID Required - Trivial Signifies that ID agrees that the requested ID work for a Feature is trivial in:JDK Infrastructure Java 21 No Design Approved release:230010 target:beta The Epic or Issue is targetted for the next beta target:230010-beta target:230010 team:Zombie Apocalypse
Projects
Status: 23.0.0.10
Development

No branches or pull requests