<html>
<body>
  <h1>WTP 1.0 to 1.5 API Delta Report</h1>
  
In general, due to the restricted scope of the 1.5 release, API changes versus 1.0 have
been minimized. RDB and server areas in particular had no changes at all.

Some areas where changes have occurred:
<ol>
  <li>The "navigator" framework that was not API in WTP was officially moved and has become API in the base eclipse ui component. 
(The WTP "internal" navigator plugins have been removed).

  <li>The "tabbed property pages" that was not API in WTP was officially moved and has become API in the base eclipse ui component. 
(The WTP "internal" tabbed properties pages have not been removed, because one adopter said they could not yet migrate in a timely way 
(they need some functionality that was in the WTP version to also be migrated to the base version), so 
we will keep these around as deprecated until the WTP 2.0 (2007) release). 

  <li>In the JSP Component, we added a "JSP - as - CSS" content type. This is mostly for "tolerance" in WTP 1.5, so its not misinterpreted 
as JSP-HTML or JSP-XML, but adopters might have to be aware that its no longer true that just because something is a "kind of" JSP, 
that its automatically some form of HTML or XML (with was true in WTP 1.0). 

  <li>The SSE family of editors have added some partition types as "public" API's, but we still need to add some more partition types 
in 2.0 release, so the exact behavior of "how a document is partitioned" will change a little then, if anyone depends on exact details of 
how documents are partitioned. 

</ol>
  
</body>
</html>
