<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../wtp.xsl"?>
<!DOCTYPE html [
<!ENTITY adopter-unresolved-table SYSTEM "../../plans/1.0/adopter-unresolved-table.xml">
]>

<html>
	<head>
		<meta name="root" content="../../../" />
		<title>web tools platform 1.0 release notes</title>
	</head>
	<body>
		<h1>WTP 1.0 Release Notes</h1>

		<h2>Introduction</h2>
		<p>
			This document contains information about the WTP 1.0
			Release.
		</p>
		<h3>
			<a href="#press-release">Press Release</a>
		</h3>
		<h3>
			<a href="#new-and-noteworthy">New and Noteworthy</a>
		</h3>
		<h3>
			<a href="#known-problems">Known Problems</a>
		</h3>

		<h2>
			<a name="press-release" />
			Press Release
		</h2>
		<h4>
			Eclipse Foundation Announces Web Tools Platform 1.0; Eclipse
			WTP Project Ships Platform API for Independent Extension
		</h4>

		<p>
			OTTAWA--(BUSINESS WIRE)--Dec. 19, 2005--The Eclipse
			Foundation, an open source community committed to
			implementation of a universal development platform, will
			make the Eclipse Web Tools Platform (WTP) 1.0 release
			generally available the week of Dec 19th, 2005. Eclipse WTP
			1.0 is an extensible, standards-based tool platform for
			developing J2EE and Web applications. WTP has already been
			adopted by the leading J2EE suppliers, including BEA,
			Borland, IBM, JBoss and ObjectWeb. This full version release
			solidifies the platform API for 3rd party extension, and
			accompanying major documentation improvements make WTP ready
			for the next-level of vendor adoption.
		</p>

		<p>
			"This release really starts to deliver on the vision of the
			Web Tools Platform," said Mike Milinkovich, executive
			director of the Eclipse Foundation. "Providing a strong
			platform for companies to leverage when building Web and
			J2EE tools is a critical component of Eclipse's strategy for
			providing a universal development platform for tools
			integration."
		</p>

		<p>
			"The new features of WTP 1.0 are designed to create a more
			vendor ready platform for Web and J2EE development," said
			Tim Wagner, the PMC Lead of the Web Tools Project from BEA
			Systems. "Working together with the diverse member companies
			in the project and the community has helped immensely to
			produce these platform APIs, which can help to better enable
			other commercial vendors to leverage WTP tools for their
			products."
		</p>

		<p>
			This release focuses on two of the three major goals
			outlined in the WTP roadmap: defining the WTP API, and
			keeping current with the underlying Eclipse platform. Future
			releases will focus more on the third roadmap goal of
			currency with Web and J2EE standards like Java 5.0 and WSDL
			2.0. Building atop the Eclipse 3.1.1 maintenance release,
			WTP 1.0 upgrades the original 0.7 release to a state that is
			suitable for adoption by tool vendors and debuts several new
			features:
			<ul>
				<li>
					Promote selected provisional APIs to platform status
					based on vendor requirements;
				</li>

				<li>
					Componentize WTP into features to enable adopters to
					select subsets of functionality appropriate to their
					requirements;
				</li>

				<li>
					Enhance and extend the wide array of out-of-the-box
					developer tools introduced in the 0.7 release;
				</li>

				<li>
					"Future-proof" WTP by aligning its project model
					with Eclipse platform changes planned for version
					3.2 (the "Callisto" release);
				</li>

				<li>
					Major document and help system contributions from
					IBM that include both end-user and adopter
					documentation; and
				</li>

				<li>
					Fix important bugs, with an emphasis on stability,
					adoption issues, performance and scalability.
				</li>
			</ul>
		</p>

		<p>
			Inclusion of feedback from the community will ultimately
			help address the challenge of producing the right platform
			APIs for a demanding vendor community; input from many
			sources is not only welcome but necessary. The project
			already has attracted the active participation of major
			vendors like BEA, who leads the project, ObjectWeb and IBM
			who helped initiate the project, JBoss and Oracle. The
			adoption and use of WTP 1.0 in commercial products like BEA
			Workshop(TM) and IBM Rational(R) Application Developer for
			WebSphere(R) Software can help to accelerate the adoption
			curve by other vendors, as improvements derived from their
			usage can help to lower the risk for other vendors wishing
			to leverage WTP technology. Downloads are available now at
			the project website, located at
			<a href="http://download.eclipse.org/webtools/downloads">
				http://download.eclipse.org/webtools/downloads
			</a>
			.
		</p>


		<h2>
			<a name="new-and-noteworthy" />
			New and Noteworthy
		</h2>

		<h3>
			<a
				href="../../jst/components/ws/1.0/news/jst-ws-1.0news.html">
				Web Services Tools
			</a>
		</h3>
		<h3>
			<a
				href="../../wst/components/xml/1.0/new_and_noteworthy/wst-xml-1.0news.html">
				XML Tools
			</a>
		</h3>

		<h2>
			<a name="known-problems" />
			Known Problems
		</h2>
		<h3>
			<a
				href="https://bugs.eclipse.org/bugs/query.cgi?classification=WebTools&amp;product=Web+Tools&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED">
				Bugzilla
			</a>
		</h3>
		<p>
			All known problems are recorded in the Eclipse Bugzilla
			system under:
			<ul>
				<li>
					Classification =
					<code>WebTools</code>
				</li>
				<li>
					Product =
					<code>Web Tools</code>
				</li>
				<li>
					Status =
					<code>NEW</code>
					or
					<code>ASSIGNED</code>
					or
					<code>REOPENED</code>
				</li>
			</ul>
		</p>
		<p>Check for suggested workarounds in the bug comments.</p>
		<h3>
			<a href="../../plans/1.0/adopter-hotlist-report.html">
				Adopter Hot Bug List
			</a>
		</h3>
		<p>
			WTP 1.0 adopters have requested that the following known
			problems be given high priority in the coming releases:
		</p>
		&adopter-unresolved-table;
	</body>
</html>
