<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="copyright" content="Copyright (c) Eclipse contributors and others 2018, 2019. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
<meta http-equiv="Content-Language" content="en-us"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="STYLESHEET" href="news.css" type="text/css"/>
<style type="text/css">
body {max-width: 900px;}
table.news col.title {width: 30%;}
/*img {max-width: 520px;}*/
table.news {table-layout: fixed; border-collapse: collapse; width: 100%;}
table.news td {border-top: solid thin black; padding: 10px; overflow: visible;}
table.news tr {vertical-align: top;}
table.news tr td.section {font-size: 20px; font-weight: bold;}
table.news tr td.title {vertical-align: top; font-weight: bold;}
table.news tr td.content {vertical-align: top;}
ul {padding-left: 13px;}
</style>
<title>Eclipse Project 4.25 - New and Noteworthy</title>
</head>

<body>
<h2>Java development tools</h2>
<ul>
	<li><a href="#Java19">Java&trade; 19 Support</a></li>
	<li><a href="#JUnit">JUnit</a></li>
	<li><a href="#JavaEditor">Java Editor</a></li>
	<!--<li><a href="#JavaViewsAndDialogs">Java Views and Dialogs</a></li>-->
	<!--<li><a href="#JavaFormatter">Java Formatter</a></li>-->
	<li><a href="#Debug">Debug</a></li>
	<!--<li><a href="#JDTDev">JDT Developers</a></li>-->
</ul>

<!-- ****************** START OF N&N TABLE ****************** -->
<table class="news">
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>

 <!-- ******************* Java 19 Support ************************************* -->
  <tr>
    <td id="Java19" class="section" colspan="2">
    <h2>Java&trade; 19 Support </h2>
    </td>
  </tr>
  <tr id="Java_19"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=575752 -->
      <td class="title">Java 19</td>
      <td class="content">
          <a href="http://jdk.java.net/19/">Java 19</a> is out and Eclipse JDT supports Java 19 in 4.25 via 
          <a href="https://marketplace.eclipse.org/content/java-19-support-eclipse-2022-09-425/"> Marketplace</a>. 
          <p></p>
          <p>
          The release notably includes the following Java 19 features:
           <br/>
           <a href="https://openjdk.java.net/jeps/405"> JEP 405: Record Patterns (Preview)</a>.
           <br/>
           <a href="https://openjdk.java.net/jeps/427"> JEP 427: Pattern Matching for Switch (Third Preview)</a>.
           <br/>
           <a href="https://openjdk.java.net/jeps/425"> JEP 425: Virtual Threads (Preview)</a>.
           <br/>
           <a href="https://openjdk.java.net/jeps/428"> JEP 428: Structured Concurrency (Incubator)</a>.
           </p>
           <p>
           Please note that preview option should be on for <a href="http://openjdk.java.net/projects/jdk/19/"> preview language features</a>.
           For an informal introduction of the support, 
           please refer to <a href="https://wiki.eclipse.org/Java19/Examples"> Java 19 Examples wiki</a>. 
           </p>
      </td>
  </tr>
  <!-- ******************* End of Java 19 Support ************************************* -->

  <!-- ******************* JUnit ************************************* -->
  <tr>
    <td id="JUnit" class="section" colspan="2">
    <h2>JUnit</h2>
    </td>
  </tr>

  <tr id="junit5-test-suite-wizard-support"> <!-- https://github.com/eclipse-jdt/eclipse.jdt.ui/pull/168 -->
    <td class="title"><a href="#junit5-test-suite-wizard-support">Test Suite wizard supports JUnit 5</a></td>
    <td class="content">
      The <b>New JUnit Test Suite Wizard</b> has been enhanced to now allow the creation of a JUnit 5 test suite using the <b>@Suite</b> annotation. 
      To open the <b>New JUnit Test Suite Wizard</b> for the current package, go to <b>New &gt; Other &gt; Java &gt; JUnit &gt; JUnit Test Suite</b>.

      <p>
        The following shows what the wizard now looks like:
      </p>
      <p><img src="images/test-suite-wizard-junit5.png" alt="Test Suite Wizard"/></p>
      <p>
        The result of this is:
      </p>
      <p><img src="images/test-suite-wizard-result.png" alt="JUnit 5 Test Suite"/></p>
    </td>
  </tr>

  <!-- ******************* End of JUnit ************************************* -->

  <!-- ******************* Java Editor ************************************* -->
  <tr>
    <td id="JavaEditor" class="section" colspan="2">
    <h2>Java Editor </h2>
    </td>
  </tr>

  <tr id="while-to-enhanced-for"> <!-- https://github.com/eclipse-jdt/eclipse.jdt.ui/pull/55 -->
    <td class="title"><a href="#while-to-enhanced-for">Convert while loops to enhanced for loops</a></td>
    <td class="content">
      The clean-up to convert to enhanced 'for' loops where possible has been enhanced to convert eligible while statements that use an iterator into enhanced for loops. 
      The current clean-up already supports converting 'for' loops using an iterator into an enhanced 'for' loop.
      <p>
        To apply the cleanup, select the Java 5 <b>Convert to enhanced 'for' loops</b> checkbox on the <b>Java Feature</b> tab in your cleanup profile.
      </p>
      <p>
        With the cleanup, the following:
      </p>
      <p><img src="images/while-to-for-before.png" alt="Before"/></p>
      <p>
        Is changed to:
      </p>
      <p><img src="images/while-to-for-after.png" alt="After"/></p>
      <p>The secondary option: <b>Only if loop variable used</b> applies as normal with loops that do not access the loop variable being ignored.
      </p>
    </td>
  </tr>

  <tr id="convert-to-switch-expression"> <!-- https://github.com/eclipse-jdt/eclipse.jdt.ui/pull/106 -->
    <td class="title"><a href="#convert-to-switch-expression">Convert to switch expression</a></td>
    <td class="content">
      The clean-up to convert to a switch expression where possible has been enhanced to recognize switch statements that have every case either end in a return statement or a throw of an exception. 
      In such a case the switch statement is converted into a return of a switch expression.
      <p>
        To apply the cleanup, select the Java 14 <b>Convert to switch expression where possible</b> checkbox on the <b>Java Feature</b> tab in your cleanup profile.
      </p>
      <p>
        With the cleanup, the following:
      </p>
      <p><img src="images/convert-to-switch-expression-before.png" alt="Before"/></p>
      <p>
        is changed to:
      </p>
      <p><img src="images/convert-to-switch-expression-after.png" alt="After"/></p>
    </td>
  </tr>

  <!-- ******************* End of Java Editor ************************************* -->

  <!-- *********************** Debug ******************************** -->
  <tr>
    <td id="Debug" class="section" colspan="2">
    <h2>Debug</h2>
    </td>
  </tr>

  <tr id="doubleclick-in-debug-popups"> <!-- https://github.com/eclipse-jdt/eclipse.jdt.ui/pull/85 -->
    <td class="title"><a href="#doubleclick-in-debug-popups">Double click in "All References and "All Instances" pop-up to navigate to Type</a></td>
    <td class="content">
       Previously, clicking on any of the shown items in the "All References" and "All Instances" popup wasn't acted upon. 
       This is now improved - if the selected variable or field type's source code is available, the editor tries to open it, and navigate to the declaration.
      <p><img src="images/all-references-popup.png" alt="Popup"/></p>
    </td>
  </tr>

  <!--************************ End of Debug ******************************** -->

  <tr><td colspan="2"/></tr>
</tbody>
</table>
<!-- ****************** END OF N&N TABLE ****************** -->

<script type="text/javascript" src="scripts.js"></script>
  <p style="text-align:center">
    <a href="platform.php">Previous</a> <a style="margin:1em" href=".">Up</a> <a href="platform_isv.php">Next</a>
  </p>
</body>
</html>
