Build Notes for TM @buildId@
@dateLong@

New and Noteworthy
  • TM @buildId@ requires Eclipse 3.3 later for the SSH component. Other components may work with earlier Eclipse versions, but these have not been tested. Platform Runtime is the minimum requirement for core RSE and Terminal. Discovery needs EMF, and the RemoteCDT integration needs CDT.
    Building the RSE SSH service requires Eclipse 3.4M6 or later for the fix of bug 224799; the fix also requires 3.4M6 at runtime, but the code contains a backward compatibility fallback to also run on Eclipse 3.3 if that particular fix is not required.
  • Important Bug Fixes, Enhancements and API changes:
    • API: Several SystemMessages and Shared Resource Strings have been moved from RSEUIPlugin to non-UI [216252].
    • A new downloadable package is now available for the RSE User Actions framework [187395].
    • A new downloadable package is now available for Windows CE connectivity. Thanks to Radoslav Gerganov for contributing this new functionality [214887].
    • The optional terminal input line is now resizeable [196447].
    • Tgz and tar.gz files are now supported by the DSore and Local archive handlers. Thanks to Johnson Ma for contributing this new functionality [195402].
    • API: RSE Early Startup and initialization behavior was improved. New API was added for clients to register initialization handlers, or to query when initialization is complete [197167].
    • API: RSE SystemMessage objects can now be constructed more easily with the new SimpleSystemMessage API. Contents of these messages typically comes from standard Eclipse NLS property files, rather than the RSE-specific monolithic systemmessages.xml file. This accounts for better modularity and Platform integration; but it also means breaking API changes where clients had re-used RSE messages for themselves. Such re-use is now no longer supported [211067] [216252].
  • At least 81 bugs were fixed: Use this query to show the list of bugs fixed since the last milestone, TM 3.0M5 [build notes].
  • For details on checkins, see TM SearchCVS, the RSE CVS changelog, and the TM Core CVS changelog.
  • For other questions, please check the TM and RSE FAQ as well as the TM 3.0 Known Issues and Workarounds.
Getting Started

The RSE User Documentation now has a Tutorial that guides you through installation, first steps, connection setup and important tasks.

If you want to know more about future directions of the Target Management Project, developer documents, architecture or how to get involved,
the online Getting Started page as well as the TM and RSE FAQ are the best places for you to get started.

API Status

For the upcoming TM 3.0 release, some API changes will be inevitable, especially in order to support improved componentization and UI/Non-UI splitting. Although we completed a great deal of API cleanup for TM 2.0, we decided to still mark all API as provisional since we expect more work to do. If anyhow possible, we will avoid breaking API changes after TM 2.0, but please be prepared for future changes, and especially take care of API marked as @deprecated in the Javadoc. Such API is prime candidate to be removed in the future. All API changes will be voted by committers on the dsdp-tm-dev developer mailing list, and documented in a migration guide for future releases. Early migration information can also be found right in the bug reports. Look for those that are tagged [api][breaking].

API Changes since TM 2.0 - newest changest first
The following lists those API changes that are not backward compatible and require user attention. A short hint on what needs to change is given directly in the list. More information can be found in the associated bugzilla items.
  • TM @buildId@ Breaking API Changes [query]
    • SystemFileTransferModeRegistry has been moved to internal class. ISystemFileTransferModeRegistry can now be accessed by calling new API RemoteFileUtility.getSystemFileTransferModeRegistry() instead [220020].
    • Several SystemMessages and Shared Resource Strings have been moved to different packages in order to allow better integration with other Eclipse projects and better UI/Non-UI splitting. A list of related breaking API changes is attached to bug [216252].
    • Some deprecated or not correctly working methods have been removed but should not have been used by any clients anyways [219975] [220041].
  • TM 3.0M5 Breaking API Changes [query]
    • Removed IServiceSubSystem and related types in order to simplify the code, and allow better lazy initialization. ISubSystem.getServiceType() is now used to know whether a given subsystem is based on a service or not. Implementers of IServiceSubSystem need to implement ISubSystem now; code that tested for instanceof IServiceSubSystem needs to use the dynamic check now [217556].
    • Removed ISystemProfile#createHost(IRSESystemType, String, String, String). Deprecated some other methods related to filter or host creation, in order to support lazy initialization of filter pools. Replacement methods are mentioned in the deprecation text [197036].
    • Made the TerminalConnectorId mandatory in terminal connector plugin.xml, because it is essentially API allowing to talk to a given connector [199285].
    • Removed deprecated ISystemViewInputProvider#getShell() [218524].
    • Moved some methods from ISystemRegistry into ISystemRegistryUI in order to facilitate moving SystemRegistry implementation to non-UI. Making this change also required adding an SWT dependency for rse.core, which we hope to get rid again later. The SystemRegistry logfile can now be found in the rse.core plugin rather than the rse.ui plugin [215820].
    • IRSESystemType.isEnabled() has been added instead of RSESystemTypeAdapter.isEnabled(), in order to provide enablement info to non-UI plugins as well. The adapter method has been made final in order to warn extenders that they need to move their code to non-UI. [218655].
  • TM 3.0M4 Breaking API Changes
    • IRemoteObjectResolver.getObjectWithAbsoluteName() now takes an additional IProgressMonitor parameter, in order to support cancellation of deferred queries. The old method has been deprecated and will be removed for 3.0. Especially custom Subsystem implementations will need to be changed to implement the new method instead of the old one [211472].
    • IFileService.getOutputStream() now takes an additional int options parameter, in order to support opening streams which append to existing files. This was required in order to properly fulfill the EFS APIs. The corresponding old method has been deprecated and will be removed for 3.0. Custom File Service implementations should be changed to implement the new method instead of the old one [208778].
    • Removed the now obsolete IFileService.list(...) methods in favor of the new API from bug 207178. Clients of IRemoteFileSubSystem and IFileService need to be changed, though the change is simple and compiler will mark error positions [209552].
    • Archive Handler API has been changed to support background operation and cancellation. To facilitate this, an additional ISystemOperationMonitor interface was added as last parameter of most method calls in ISystemArchiveHandler. In addition to that, VirtualChild#getExtractedFile() was also changed [160775].
    • Removed obsolete method RSESystemTypeAdapter#acceptContextMenuActionContribution() [199032].
  • TM 3.0M3 Breaking API Changes
    • Optimized IFileService for multi-queries. This is not a breaking API change for clients that extend AbstractFileService rather than implementing IFileService directly. But the now deprecated methods getFiles(), getFolders() and getFilesAndFolders() may be removed soon in favor of the new list() API [207178].
    • Changed ISubSystem#checkIsConnected() to accept an IProgressMonitor argument [207095].
    • Changed the mountPathMappers extension point: ISystemMountPathMapper#getWorkspaceMappingFor() has been changed to accept an additional parameter of type IRemoteFileSubSystem [195285].
    • Removed some deprecated APIs:
      • ISubSystem#connect() API without progress or callback [186363].
      • obsolete SystemSelectConnection* classes [196938].
      • obsolete classes ISystemConnectionWizardPropertyPage and SystemSubSystemsPropertiesWizardPage [197129].
      • obsolete methods in IRemoteCmdSubSystem and IRemoteSystemEnvVar [208813].
Use this query to show the full list of API changes since TM 2.0, and this query to show the list of additional API changes proposed for TM 3.0.
Known Problems and Workarounds
The following critical or major bugs are currently known. We'll strive to fix these as soon as possible.
  • bug 218387 - maj - [efs] Eclipse hangs on startup of a Workspace with a large efs-shared file system on a slow connection
  • bug 208185 - maj - [terminal][serial] terminal can hang the UI when text is entered while the backend side is not reading characters
  • bug 198395 - maj - [dstore] Can connect to DStore with expired password
  • bug 197027 - maj - [persistence] Can lose data if close Eclipse before saving profile completes
  • bug 219934 - maj - [regression][dnd] Cannot Copy & Paste / Drag&Drop remote to Resource Navigator
  • bug 222380 - maj - [persistence][migration][team] Subsystem association is lost when creating connection with an installation that does not have subsystem impl
Use this query for an up-to-date list of major or critical bugs.

The TM 3.0 Known Issues and Workarounds Wiki page gives an up-to-date list of the most frequent and obvious problems, and describes workarounds for them.
If you have other questions regarding TM or RSE, please check the TM and RSE FAQ

Click here for a complete up-to-date bugzilla status report, or here for a report on bugs fixed so far.