<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2018. This page is made available under license. For full details see: http://www.eclipse.org/legal/notice.html">
<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">
<title>Eclipse Photon - New and Noteworthy</title>
</head>
<body>

  <h1>Eclipse Photon - New and Noteworthy</h1>

  <div style="text-align: right">
  <p>
    <i>Out of all possible curves, photons always select the one which will take them most quickly to their goal.</i><br>
    <strong>Max Planck</strong>
  </p>
  </div>

  <p>
    Welcome to the Eclipse SDK project!
  </p>
  <p>
    The Eclipse SDK project is part of <a href="https://www.eclipse.org/photon/">Photon</a>, the Eclipse Foundation's thirteenth yearly Simultaneous Release, available June 27, 2018. The Eclipse SDK and related resources can be downloaded from the <a href="http://download.eclipse.org/eclipse/downloads/">Eclipse Project downloads page</a>.
  </p>
  <p>Here are some of the more noteworthy items available in the eighteenth annual release of the Eclipse SDK project.</p>

  <blockquote>
    <ul>
      <li><a href="platform.php">New features in the Platform</a></li>
      <li><a href="jdt.php">New features for Java developers</a></li>
      <li><a href="platform_isv.php">New APIs in the Platform and Equinox</a></li>
      <li><a href="pde.php">New features for plug-in developers</a></li>
    </ul>
  </blockquote>

</body>
</html>
