<!-- 
	DO NOT EDIT THIS FILE WITH HTML EDITORS
-->

<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>

<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
   <title>Eclipse Platform Build Notes - Text</title>
</head>

<body>
<h1>
Eclipse Platform Build Notes<br>
Text</h1>
To see which bugs have been addressed in one of the builds simply open the <a href="http://bugs.eclipse.org/bugs/query.cgi?short_desc_type=allwordssubstr&amp;product=Platform&amp;component=Text&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;changedin=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;namedcmd=Assigned&amp;newqueryname=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Platform-Text bugzilla query page</a>, select status, resolution and the time frame.
<br>
<br>
<br>
========== Eclipse Build Input August 12th 2003 ==========<br>
<pre>
- the marker annotation specification can now be used to specify if the annotation
  should allow to be a navigation target. For details read the documentation of
  org.eclipse.workbench.texteditor.markerAnnotationSpecification extension point.
- several bugs fixed
</pre>
<br>
<br>
========== Eclipse Build Input July 29th 2003 ==========<br>
<pre>
- several bugs fixed
</pre>
<br>
<br>
========== Eclipse Build Input July 22th 2003 ==========<br>
<pre>
- several bugs fixed
</pre>
<br>
<br>
========== Eclipse Build Input July 16th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
- Improvements and framework changes for the light weight change indication. Change indication
  can now happen in the line number ruler or a dedicated change ruler column.
</pre>
<br>
<br>
========== Eclipse Build Input July 8th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
- The TextViewer sends out time-out based selection changed events for
  caret position changes for clients registered as post selection changed listeners.
- The default text editor supports a light weight change indicator integrated with the line number ruler. 
  Can be globally enabled on the Text Editor preference page. Can be enabled/disabled for the current editor
  in the editor's context menu or using the short cut "Ctrl+Shift+Q".
- Text frameworks have been extended to support light weight diffing.
</pre>
<br>
<br>
========== Eclipse Build Input June 17th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
- The TextViewer sends out time-out based selection changed events for caret position changes.
- added extension interfaces which allow completion proposals to specify their custom
   information control creator
</pre>
<br>
<br>
========== Eclipse Build Input June 4th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
- The TextViewer sends out time-out based selection changed events for caret position changes.
- added extension interfaces which allow text hovers and information providers to specify their custom
   information control creator
- text editors support three typing modes: Overwrite, Insert, Smart Insert
	- typing modes are toggled by INS in the default key binding
	- each mode is represented with its own caret
	- modes can be disabled per editor, i.e. when toggling insert modes, disabled modes will not be selected
- status line contribution items can now be associated with an action that is called when double clicking the status item
</pre>
<br>
<br>
========== Eclipse Build Input May 13th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
- released new features:
	- Insert new line above the caret line (ui name: "Smart Enter (Inverse)", default key binding: Ctrl+Shift+Enter)
	- Insert new line after the caret line (ui name: "Smart Enter", default key binding: Shift+Enter)
	- Move selected lines upwards (ui name: "Move Lines Up", default key binding: Alt+Arrow_UP)
	- Move selected lines down (ui name: "Move Lines Down", default key binding: Alt+Arrow_Down)
	- Change case of selection to upper case (ui name: "To Upper Case", default key binding: Ctrl+Shift+X)
	- Change case of selection to lower case (ui name: "To Lower Case", default key binding: Ctrl+Shift+Y)
</pre>
<br>
<br>
========== Eclipse Build Input April 29th 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
</pre>
<br>
<br>
========== Eclipse Build Input April 22nd 2003 ==========<br>
<!-- Add what's new below and end each line with br tag -->
<pre>
- several bugs fixed
</pre>
<br>
<br>
</body></html>