//////////////////////////////////////////
* Copyright (c) 2015, 2017 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*    Wayne Beaton (Eclipse Foundation)- initial API and implementation
//////////////////////////////////////////

:toc:
:toc-placement: auto
:icons: font

:jeePackageUrl: https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr
:cdtPackageUrl: https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr
:pdtPackageUrl: https://www.eclipse.org/downloads/packages/eclipse-php-developers/marsr

= Eclipse IDE, Oxygen Edition New and Noteworthy

include::jdt.adoc[]

include::buildship.adoc[]

[[sources]]
== Sources

Content for this document were harvested from multiple sources, including:

* http://www.eclipse.org/eclipse/news/4.7/jdt.php[Eclipse Java development tools 4.7 New and Noteworthy]
* https://projects.eclipse.org/projects/tools.buildship/releases/2.1.0/review[Eclipse Buildship 2.1 New and Noteworthy]

== Notices

Eclipse is a trademark of the Eclipse Foundation. Java is a registered trademark of Oracle. 