<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved-->

<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved-->

−

* email: dbhole at redhat dot com

+

* email: omajid at redhat dot com

== Current status ==

== Current status ==

* Targeted release: [[Releases/19 | Fedora 19]]

* Targeted release: [[Releases/19 | Fedora 19]]

−

* Last Updated: 2013-01-17

+

* Last Updated: 2013-03-12

−

* Percentage of completion: 0%

+

* Percentage of completion: 90%

== Detailed Description ==

== Detailed Description ==

Line 22:

Line 22:

The current Java implementation in Fedora comes from OpenJDK.

The current Java implementation in Fedora comes from OpenJDK.

−

Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates.

+

Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates. This preview will be an in-development version of Java 8. It will contain new Java 8 APIs, but they will not be stable (and will be subject to change) until the official Java 8 release.

== Benefit to Fedora ==

== Benefit to Fedora ==

Line 30:

Line 30:

== Scope ==

== Scope ==

<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->

<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->

−

Since Java 8 will be a tech preview, the primary JDK in Fedora 19 will continue to be OpenJDK7. OpenJDK8 is not expected to be the primary Java until Fedora 20.

+

The current development version of OpenJDK 8 will be packaged and added to Fedora. It will be a stand alone package and will not impact existing OpenJDK 7 packages.

+

+

Since this will be a tech preview, the primary JDK in Fedora 19 will continue to be OpenJDK7. OpenJDK8 is not expected to be the primary Java until Fedora 20 at least.

Two problems would generally be expected with a major JDK update based on past experience:

Two problems would generally be expected with a major JDK update based on past experience:

+

* FTFBS failures due to packages having a hard-coded JDK version dependency.

* FTFBS failures due to packages having a hard-coded JDK version dependency.

** This was dealt with when OpenJDK7 was introduced over Fedora 16 and Fedora 17. Now all Java dependent packages should require java >= 1.6.0, and therefore this issue will not be a problem any more.

** This was dealt with when OpenJDK7 was introduced over Fedora 16 and Fedora 17. Now all Java dependent packages should require java >= 1.6.0, and therefore this issue will not be a problem any more.

+

* There may be packages that rely on API that is deprecated in Java 8

* There may be packages that rely on API that is deprecated in Java 8

** Such packages cannot be identified until we actually start to build with Java 8. Since Java 7 will continue to remain the primary version of Java in Fedora 19, any API deprecation issues will be a secondary problem as the main JVM will continue to be able to run everything correctly. We expect to have everything resolved well before Java 8 is to become the primary Java version in Fedora (F20 or later).

** Such packages cannot be identified until we actually start to build with Java 8. Since Java 7 will continue to remain the primary version of Java in Fedora 19, any API deprecation issues will be a secondary problem as the main JVM will continue to be able to run everything correctly. We expect to have everything resolved well before Java 8 is to become the primary Java version in Fedora (F20 or later).

Line 54:

Line 58:

-->

-->

−

* Install {{package|java-1.8.0-openjdk}}

+

* Install java-1.8.0-openjdk

* Run (as root) 'alternatives --config java' and select the 1.8 version

* Run (as root) 'alternatives --config java' and select the 1.8 version

* Run 'java -version' to ensure that it is correct

* Run 'java -version' to ensure that it is correct

−

== User Experience ==

== User Experience ==

Line 82:

Line 85:

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

+

This release of Fedora includes a technological preview of Java 8, offered through the java-1.8.0-openjdk and java-1.8.0-openjdk-devel packages.

+

+

Java 7 continues to remain the default JDK for this release. The inclusion of Java 8/OpenJDK8 will allow developers to develop and test their applications for the next version of Java in parallel while everyone can continue using the stable Java 7 for daily use.

== Comments and Discussion ==

== Comments and Discussion ==

* See [[Talk:Features/Java8TechPreview]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->

* See [[Talk:Features/Java8TechPreview]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->

Owner

Current status

Detailed Description

The current Java implementation in Fedora comes from OpenJDK.

Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates. This preview will be an in-development version of Java 8. It will contain new Java 8 APIs, but they will not be stable (and will be subject to change) until the official Java 8 release.

Benefit to Fedora

Fedora users will have access to all the new language and feature enhancements provided by Java 8. Additionally, developers can start developing applications early on for Java 8.

Scope

The current development version of OpenJDK 8 will be packaged and added to Fedora. It will be a stand alone package and will not impact existing OpenJDK 7 packages.

Since this will be a tech preview, the primary JDK in Fedora 19 will continue to be OpenJDK7. OpenJDK8 is not expected to be the primary Java until Fedora 20 at least.

Two problems would generally be expected with a major JDK update based on past experience:

FTFBS failures due to packages having a hard-coded JDK version dependency.

This was dealt with when OpenJDK7 was introduced over Fedora 16 and Fedora 17. Now all Java dependent packages should require java >= 1.6.0, and therefore this issue will not be a problem any more.

There may be packages that rely on API that is deprecated in Java 8

Such packages cannot be identified until we actually start to build with Java 8. Since Java 7 will continue to remain the primary version of Java in Fedora 19, any API deprecation issues will be a secondary problem as the main JVM will continue to be able to run everything correctly. We expect to have everything resolved well before Java 8 is to become the primary Java version in Fedora (F20 or later).

How To Test

Install java-1.8.0-openjdk

Run (as root) 'alternatives --config java' and select the 1.8 version

Run 'java -version' to ensure that it is correct

User Experience

By default, users and developers will have access to all of the new features that version 8 of the language provides.

Dependencies

No new dependencies are expected for java-1.8.0-openjdk. This part will be updated if the situation changes.

Contingency Plan

Java 8 will be a tech preview. The primary version of Java will continue to be Java 7 as it is now, and therefore no contingency is needed.

Documentation

Release Notes

This release of Fedora includes a technological preview of Java 8, offered through the java-1.8.0-openjdk and java-1.8.0-openjdk-devel packages.

Java 7 continues to remain the default JDK for this release. The inclusion of Java 8/OpenJDK8 will allow developers to develop and test their applications for the next version of Java in parallel while everyone can continue using the stable Java 7 for daily use.