Difference between revisions of "Mylyn/Porting Guide"

From Eclipsepedia

Jump to: navigation, search
(Notable API changes in 3.4)
(Notable API changes in 3.4)
Line 22: Line 22:
 
* {{bug|255003}} <code>AbstractRepositorySettingsPage</code> has an option to allow empty passwords.
 
* {{bug|255003}} <code>AbstractRepositorySettingsPage</code> has an option to allow empty passwords.
 
* {{bug|297254}} <code>AbstractRepositoryConnector</code> allows disabling of repository creation for a connector
 
* {{bug|297254}} <code>AbstractRepositoryConnector</code> allows disabling of repository creation for a connector
 +
* {{bug|164221}} <code>AbstractRepositoryConnectorUi.findHyperlinks()</code> now has a task parameter.
 +
* {{bug|311634}} Connectors can provide an alternate editor input by implementing <code>AbstractRepositoryConnectorUi.getEditorInput()</code>.
 +
* {{bug|296963}} Connectors can specify a URL when tasks are opened or task details are copied to supply authentication details.
 +
* {{bug|298156}} <code>WebUtils.releaseConnection()</code> can be used for canceling HTTP requests without blocking.
 +
* {{bug|304086}} The dependency from <code>org.eclpise.mylyn.tasks.ui</code> on <code>org.eclipse.search</code> has been extracted to <code>org.eclipse.mylyn.tasks.search</code>.
 +
* {{bug|302907}} Connectors can specify categories for task repositories.
 +
* {{bug|294957}} The support extension is now public API.
 +
 +
''Commons''
 +
 +
* {{bug|304755}} The <code>org.eclipse.mylyn.commons</code> feature provides all <code>org.eclipse.mylyn.commons.*</code> plug-ins.
 +
* {{bug|308737}} The <code>org.eclipse.mylyn.xmlrpc</code> provides a generic XML-RPC transport layer.
  
 
= Notable API changes in 3.3 =
 
= Notable API changes in 3.3 =

Revision as of 00:25, 7 June 2010


Contents

General

Mylyn follows the Eclipse conventions for version numbering and guarantees binary backwards compatibility for minor releases. Internals are binary backwards compatible between service releases.

API enhancements can be tracked by searching the source code for the corresponding @since JavaDoc tags or by querying for bugs that have [api] in their summary.


Pending changes for 3.5

None.


Notable API changes in 3.4

API enhancements in 3.4

Tasks Framework

  • bug 238006 TaskAttributeMapper.getDefaultOption() has been deprecated since it is not used.
  • bug 216557 TaskAttachmentPage supports an option for showing a "Replace existing attachment of the same name" checkbox.
  • bug 255003 AbstractRepositorySettingsPage has an option to allow empty passwords.
  • bug 297254 AbstractRepositoryConnector allows disabling of repository creation for a connector
  • bug 164221 AbstractRepositoryConnectorUi.findHyperlinks() now has a task parameter.
  • bug 311634 Connectors can provide an alternate editor input by implementing AbstractRepositoryConnectorUi.getEditorInput().
  • bug 296963 Connectors can specify a URL when tasks are opened or task details are copied to supply authentication details.
  • bug 298156 WebUtils.releaseConnection() can be used for canceling HTTP requests without blocking.
  • bug 304086 The dependency from org.eclpise.mylyn.tasks.ui on org.eclipse.search has been extracted to org.eclipse.mylyn.tasks.search.
  • bug 302907 Connectors can specify categories for task repositories.
  • bug 294957 The support extension is now public API.

Commons

  • bug 304755 The org.eclipse.mylyn.commons feature provides all org.eclipse.mylyn.commons.* plug-ins.
  • bug 308737 The org.eclipse.mylyn.xmlrpc provides a generic XML-RPC transport layer.

Notable API changes in 3.3

API enhancements in 3.3


Notable API changes in 3.2

API enhancements in 3.2

Context Framework

  • bug 274904 AbstractContextListener uses a single contextChanged(ContextChangeEvent) method instead of separate methods for each event type. The old notification methods have been deprecated.

Tasks Framework

  • bug 269407 TaskDataModel.getChangedOldAttributes() has been implemented and the list of changed attributes is now passed to AbstractTaskDataHandler.postTaskData() to support incremental updates to tasks.
  • bug 278298 To make use of the private section in the editor setNeedsPrivateSection(true) needs to be invoked in the constructor of classes extending AbstractTaskEditorPage. To suppress the planning page AbstractTaskEditorPageFactory.getConflictingIds() needs to return new String[] { ITasksUiConstants.ID_PAGE_PLANNING }.
  • bug 274790 To enable the submit button in the header toolbar of the Task Editor setNeedsSubmitButton(true) needs to be invoked in the constructor of classes extending AbstractTaskEditorPage.
  • bug 278708 Classes extending AbstractTaskEditorPage that do not support submission are encouraged to invoke setNeedsSubmit(false) in their constructor. This flag may be used in the future to hide submit button contributions and to disable key-bindings for submitting.
  • bug 276651 Severity and version have been added to the common task schema. Connectors are encouraged to map TaskAttribute.SEVERITY and TaskAttribute.VERSION in TaskAttributeMapper.mapToRepositoryKey().

Integrated Support

  • bug 150278 The org.eclipse.mylyn.tasks.bugs plug-in specifies an extension point for contributing a mapping from plug-in ids to task repositories or custom support handlers.

WikiText 1.1

WikiText 1.1 was released as part of Mylyn 3.2. WikiText 1.1 has several new API additions which can be found in the source by searching for @since 1.1. All API additions are non-breaking changes unless your project subclasses WikiText classes. When porting to WikiText 1.1 care should be taken to review these additions where subclassing is used.

The following changes should be noted when porting, as they may cause warnings in your projects:

  • Several methods in WikiText have been marked as @noreference. These methods were previously marked as Not API in the javadoc, however @noreference is more explicit and works well with the PDT API tools. More information about these changes can be found on bug 280614
    • org.eclipse.mylyn.wikitext.ui.viewer.HtmlViewer.getStylesheet()
    • org.eclipse.mylyn.wikitext.ui.viewer.HtmlViewer.setStylesheet(Stylesheet)
    • org.eclipse.mylyn.wikitext.ui.viewer.HtmlViewerConfiguration.createAnnotationHyperlinkDetector()
    • org.eclipse.mylyn.wikitext.tasks.ui.editor.MarkupTaskEditorExtension.TaskMarkupViewerConfiguration.createAnnotationHyperlinkDetector()


Notable API changes in 3.1

API enhancements in 3.1

Commons

  • bug 240446 To ensure proper closing of idle connection the use of the shared connection manager provided by WebUtil.getConnectionManager() is encouraged when creating instances of HttpClient.

Context Framework

  • bug 250072 IUserAttentionListener.userAttentionGained() is now only fired once when user activity has been detected.

Tasks Framework

  • bug 167941 Implementations of AbstractRepositoryConnectorUi.findHyperlinks() should now return all detected hyperlinks to support proper highlighting in the Task Editor. This also applies to custom hyperlink detectors that are contributed to the Task Editor. It is recommended to extend AbstractTaskHyperlinkDetector for that purpose.
  • bug 244653 Additional sections can now be contributed to AbstractRepositorySettingsPage through an extension point.
  • AbstractRepositoryConnectorUi.getAddExistingTaskWizard() now returns null.
  • AbstractTaskEditorPage.getEditor() now returns TaskEditor and should be used instead of AbstractTaskEditorPage.getTaskEditor()
  • AttributeEditorFactory needs to be constructed with an instance of IServiceLocator<code> to enable the WikiText task editor extensions.
  • If an association between a resource and repository is cleared <code>AbstractTaskRepositoryLinkProvider.setTaskRepository() is invoked with the repository set to null.

Breaking changes

  • The label constants in AbstractRepositorySettingsPage have changed to support internationalization.


Porting from 2.0 to 3.0

See the Mylyn/Porting Guide/3.0


Porting from 1.0 to 2.0

See the Mylyn Porting Guide 2.0