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.
  • Important Bug Fixes, Enhancements and API changes:
    • Permissions, Owner and Group of remote files on DStore, SSH and FTP connections can now be shown in the Property sheet and the Table view. There is also a new Property page to modify Permissions, Owner and Group if that is supported by the file service. New API was introduced to support this [209593].
    • Lazy Loading of Filter Pools accounts for improved RSE startup time and decreased memory footprint due to fewer plugins being loaded [197036].
    • The RSE "Link with Editor" action has been fixed. A new IViewLinker API as well as extensions to the ISystemTree API were made to get this done [187711].
    • Filters are now connection-private by default [160403].
    • SSH Keepalive added to avoid connections time out. The keepalive is hardcoded to 5 minutes for now and will be made user-configurable in the future [155026].
    • A Connection Timeout Preference has been added for dstore [216596].
    • In the optional Terminal Input Field, field assist (Ctrl+Space) has been added to easily access commands that were entered previously [211659].
    • API: SystemRegistry is now accessible for non-UI plugins without starting RSEUIPlugin before (there still is a dependency into SWT only, which we hope to remove with the next milestone) [215820].
    • API: Nested Property Sets are now supported for more complex descriptions of hosts [217715].
    • Several smaller bug fixes have been made for search results, archive handling, and thread-safety.
  • At least 46 bugs were fixed: Use this query to show the list of bugs fixed since the last milestone, TM 3.0M4 [build notes].
  • For details on checkins, see 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]
    • 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 - cri - [efs] Deadlock when launching Eclipse on a Workspace with efs-shared files
  • bug 198395 - maj - [dstore] Can connect to DStore with expired password
  • bug 208185 - maj - [terminal][serial] terminal can hang the UI when text is entered while the backend side is not reading characters
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.