-
Notifications
You must be signed in to change notification settings - Fork 78
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
Concurrency 3.0 release review #449
Changes from 5 commits
0374eed
ae43432
e3255b9
1d520db
c3cc59e
e9d00b3
61bc406
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 |
---|---|---|
@@ -1,31 +1,61 @@ | ||
--- | ||
title: "Jakarta Concurrency 3.0 (Under Development)" | ||
date: 2021-05-20 | ||
title: "Jakarta Concurrency 3.0" | ||
date: 2022-04-27 | ||
summary: "Jakarta EE 10 Release" | ||
--- | ||
Jakarta Concurrency provides a specification for using concurrency from application components without compromising container integrity while still preserving the Jakarta EE platform's fundamental benefits. | ||
|
||
|
||
# Plan | ||
Jakarta Concurrency 3.0 will target the Jakarta EE 10 platform release. | ||
|
||
Jakarta Concurrency 3.0 will aim to contain. | ||
Jakarta Concurrency 3.0 contains the following features: | ||
|
||
* Asynchronous methods | ||
* Context-aware completion stages and completable futures | ||
* Context propagation to parallel streams operations | ||
* Modernization of the Trigger mechanism and Cron support | ||
* Propagation of third party context types | ||
* Resource definition annotations | ||
|
||
Features identified by the community on GitHub tagged with 3.0 see 3.0 Milestone (github.com) | ||
|
||
Bug Fixes as they arise during the release cycle | ||
# Release Information | ||
|
||
Documentation clean up as identified during the release cycle | ||
* [Jakarta Concurrency 3.0 Release Record](https://projects.eclipse.org/projects/ee4j.cu/releases/3.0.0) | ||
* [Jakarta Concurrency 3.0 Release Plan](https://projects.eclipse.org/projects/ee4j.cu/releases/3.0/plan) | ||
* [Jakarta EE Platform 10 Release Plan](https://eclipse-ee4j.github.io/jakartaee-platform/jakartaee10/JakartaEE10ReleasePlan) | ||
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. This should be a pointer to the PMI plan (you are welcome to keep this link, but the PMI link is what is asked for in the checklist): https://projects.eclipse.org/projects/ee4j.cu/releases/3.0/plan 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. Adding the link that you mentioned, but without removing either of the other links because it is unclear to me which was unnecessary and the 2.0 release review appears to have them both. |
||
* [Jakarta Concurrency 3.0 Specification Document](./jakarta-concurrency-spec-3.0.pdf) (PDF) | ||
* [Jakarta Concurrency 3.0 Specification Document](./jakarta-concurrency-spec-3.0.html) (HTML) | ||
* [Jakarta Concurrency 3.0 Javadoc](./apidocs) | ||
|
||
Any updates required to meet the Java version requirements of Jakarta EE 10 | ||
|
||
Any requirements identified by other specifications or the Jakarta EE 10 platform projects during the release cycle. | ||
* [Jakarta Concurrency 3.0 TCK](https://download.eclipse.org/ee4j/cu/jakartaee10/promoted/eftl/concurrency-tck-3.0.0.zip), [sha](https://download.eclipse.org/ee4j/cu/jakartaee10/promoted/eftl/concurrency-tck-3.0.0.info) 2fe905b8adfab903a6c5954453e67fbc3ed583b0e313edef7f09d18b7eddd0ee, [pub](https://raw.githubusercontent.com/jakartaee/specification-committee/master/jakartaee-spec-committee.pub)) | ||
* Signature tests are included with the TCK and run automatically as part of it | ||
* Maven coordinates | ||
* [jakarta.enterprise.concurrent:jakarta.enterprise.concurrent-api:3.0.0](https://search.maven.org/artifact/jakarta.enterprise.concurrent/jakarta.enterprise.concurrent-api/3.0.0/jar) Currently located on [staging](https://jakarta.oss.sonatype.org/content/groups/staging/jakarta/enterprise/concurrent/jakarta.enterprise.concurrent-api/3.0.0/) until release is approved, and then we will push it to Maven. | ||
|
||
* [Jakarta Concurrency 3.0 Release Record](https://projects.eclipse.org/projects/ee4j.cu/releases/3.0) | ||
|
||
# Compatible Implementations | ||
|
||
* [Open Liberty 22.0.0.5-beta](https://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/beta/22.0.0.5-beta/openliberty-22.0.0.5-beta.zip) | ||
|
||
# Ballots | ||
|
||
## Release Review | ||
|
||
The Release Review Specification Committee Ballot needs to be started after the above is completely filled in. Results need to be reported below. | ||
|
||
| | Yes | No | Abstain | | ||
|-----------------------|---------|---------|----------| | ||
|Fujitsu | | | | | ||
|IBM | | | | | ||
|Oracle | | | | | ||
|Payara | | | | | ||
|Red Hat | | | | | ||
|Tomitribe | | | | | ||
|EE4J PMC | | | | | ||
|Participant Members | | | | | ||
|Committer Members | | | | | ||
|
||
## Plan Review | ||
|
||
The Specification Committee Ballot concluded successfully on 2021-05-21 with the following results: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Manifest-Version: 1.0 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
artifactId=jakarta.enterprise.concurrent-api | ||
groupId=jakarta.enterprise.concurrent | ||
version=3.0.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,272 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
|
||
Copyright (c) 2012, 2022 Oracle and/or its affiliates. All rights reserved. | ||
|
||
This program and the accompanying materials are made available under the | ||
terms of the Eclipse Public License v. 2.0, which is available at | ||
http://www.eclipse.org/legal/epl-2.0. | ||
|
||
This Source Code may also be made available under the following Secondary | ||
Licenses when the conditions for such availability set forth in the | ||
Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | ||
version 2 with the GNU Classpath Exception, which is available at | ||
https://www.gnu.org/software/classpath/license.html. | ||
|
||
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | ||
|
||
--> | ||
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
|
||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>jakarta.enterprise.concurrent</groupId> | ||
<artifactId>jakarta.enterprise.concurrent.parent</artifactId> | ||
<version>3.0.0</version> | ||
</parent> | ||
|
||
<artifactId>jakarta.enterprise.concurrent-api</artifactId> | ||
|
||
<name>Jakarta Concurrency</name> | ||
<description>Jakarta Concurrency API Module</description> | ||
|
||
<properties> | ||
|
||
<api_package>jakarta.enterprise.concurrent</api_package> | ||
<non.final>false</non.final> <!-- switch back to true once release is completed --> | ||
<last.spec_version>2.0</last.spec_version> | ||
<next.spec_version>3.0</next.spec_version> | ||
<spec.version>${next.spec_version}</spec.version> | ||
<new.spec.version>3.1</new.spec.version> | ||
<build_number /> | ||
<packages.export>jakarta.enterprise.concurrent.*; version=${spec.bundle.version}</packages.export> | ||
</properties> | ||
|
||
<build> | ||
<plugins> | ||
<!-- First sets properties for the maven-bundle-plugin and later checks if they are indeed used. --> | ||
<plugin> | ||
<groupId>org.glassfish.build</groupId> | ||
<artifactId>spec-version-maven-plugin</artifactId> | ||
<version>2.1</version> | ||
<configuration> | ||
<spec> | ||
<specVersion>${spec.version}</specVersion> | ||
<specImplVersion>3.0.0</specImplVersion> | ||
<apiPackage>${api_package}</apiPackage> | ||
|
||
<nonFinal>${non.final}</nonFinal> | ||
<newSpecVersion>${new.spec.version}</newSpecVersion> | ||
<specBuild>${build_number}</specBuild> | ||
</spec> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>set-spec-properties</goal> | ||
<goal>check-module</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<!-- | ||
This plugin is reponsible for packaging artifacts | ||
as OSGi bundles. Please refer to | ||
http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html | ||
for more information about how to use this plugin. | ||
--> | ||
<plugin> | ||
<groupId>org.apache.felix</groupId> | ||
<artifactId>maven-bundle-plugin</artifactId> | ||
<version>3.0.1</version> | ||
<extensions>true</extensions> | ||
<configuration> | ||
<instructions> | ||
<Bundle-Version>${spec.bundle.version}</Bundle-Version> | ||
<Bundle-SymbolicName>${spec.bundle.symbolic-name}</Bundle-SymbolicName> | ||
<Extension-Name>${spec.extension.name}</Extension-Name> | ||
<Implementation-Version>${spec.implementation.version}</Implementation-Version> | ||
<Specification-Version>${spec.specification.version}</Specification-Version> | ||
<specversion>${spec.specification.version}</specversion> | ||
<Export-Package>${packages.export}</Export-Package> | ||
</instructions> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>bundle-manifest</id> | ||
<phase>process-classes</phase> | ||
<goals> | ||
<goal>manifest</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<configuration> | ||
<source>1.8</source> | ||
<target>1.8</target> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-jar-plugin</artifactId> | ||
<configuration> | ||
<useDefaultManifestFile>true</useDefaultManifestFile> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.codehaus.mojo</groupId> | ||
<artifactId>buildnumber-maven-plugin</artifactId> | ||
<configuration> | ||
<format>{0,date,MM/dd/yyyy hh:mm aa}</format> | ||
<items> | ||
<item>timestamp</item> | ||
</items> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<phase>validate</phase> | ||
<goals> | ||
<goal>create</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-javadoc-plugin</artifactId> | ||
<version>3.3.1</version> | ||
<configuration> | ||
<archive> | ||
<manifest> | ||
<addDefaultEntries>false</addDefaultEntries> | ||
</manifest> | ||
</archive> | ||
<source>11</source> | ||
<doclint>none</doclint> | ||
<notimestamp>true</notimestamp> | ||
<docfilessubdirs>true</docfilessubdirs> | ||
<quiet>true</quiet> | ||
<header><![CDATA[<br>Jakarta Concurrency API v${project.version}]]></header> | ||
<bottom> | ||
<![CDATA[Copyright (c) 2020, 2022 Eclipse Foundation. | ||
Use is subject to | ||
<a href="{@docRoot}/doc-files/speclicense.html" target="_top">license terms</a>. | ||
]]> | ||
</bottom> | ||
<groups> | ||
<group> | ||
<title>Jakarta(tm) Concurrency API Documentation</title> | ||
<packages>jakarta.enterprise.concurrent</packages> | ||
</group> | ||
</groups> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.codehaus.mojo</groupId> | ||
<artifactId>build-helper-maven-plugin</artifactId> | ||
<version>3.2.0</version> | ||
<executions> | ||
<execution> | ||
<id>add-resource</id> | ||
<phase>generate-resources</phase> | ||
<goals> | ||
<goal>add-resource</goal> | ||
</goals> | ||
<configuration> | ||
<resources> | ||
<resource> | ||
<directory>..</directory> | ||
<targetPath>META-INF</targetPath> | ||
<includes> | ||
<include>LICENSE.md</include> | ||
<include>NOTICE.md</include> | ||
</includes> | ||
</resource> | ||
</resources> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-source-plugin</artifactId> | ||
<executions> | ||
<execution> | ||
<id>attach-sources</id> | ||
<phase>validate</phase> | ||
<goals> | ||
<goal>jar-no-fork</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-jxr-plugin</artifactId> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>jxr</goal> | ||
</goals> | ||
<phase>validate</phase> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-checkstyle-plugin</artifactId> | ||
<version>3.1.2</version> | ||
<configuration> | ||
<outputDirectory>${project.build.directory}/checkstyle</outputDirectory> | ||
<outputFile>${project.build.directory}/checkstyle/checkstyle-result.xml</outputFile> | ||
<configLocation>etc/config/checkstyle.xml</configLocation> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>checkstyle</goal> | ||
</goals> | ||
<phase>validate</phase> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>junit</groupId> | ||
<artifactId>junit</artifactId> | ||
<version>4.13</version> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
|
||
<profiles> | ||
<profile> | ||
<id>release</id> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-gpg-plugin</artifactId> | ||
<version>1.6</version> | ||
<executions> | ||
<execution> | ||
<id>sign-artifacts</id> | ||
<phase>verify</phase> | ||
<goals> | ||
<goal>sign</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</profile> | ||
</profiles> | ||
</project> |
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.
Rather than remove the plan I'd recommend either changing this to a list of accomplishments (and move it above the set of release pointers) or, you can refer readers to the Release Record link. If the latter, I would recommend you update the Release Record to state the list of accomplishments/changes. It might be helpful to summarize why this is a major release and provide references to any potential issues that would impact users who intend to upgrade. (Either here, or in the Release Record if you want to just refer readers to that.)
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.
Sorry about that. I had removed the Plan section because it was absent in the 2.0 release review which I was using as a guide, but now I realize it was a bad idea to copy from that because 2.0 didn't actually have any new function and was just the jakarta package rename.
To correct this, I'm following your first option and restoring the Plan section with a list of new features included just prior to the release information.